aboutsummaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmnStreamStdin.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmnStreamStdin.h')
-rw-r--r--tools/lldb-mi/MICmnStreamStdin.h72
1 files changed, 4 insertions, 68 deletions
diff --git a/tools/lldb-mi/MICmnStreamStdin.h b/tools/lldb-mi/MICmnStreamStdin.h
index a6779d531669..309c7d8eed2f 100644
--- a/tools/lldb-mi/MICmnStreamStdin.h
+++ b/tools/lldb-mi/MICmnStreamStdin.h
@@ -7,18 +7,6 @@
//
//===----------------------------------------------------------------------===//
-//++
-// File: MIUtilStreamStdin.h
-//
-// Overview: CMICmnStreamStdin interface.
-//
-// Environment: Compilers: Visual C++ 12.
-// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
-// Libraries: See MIReadmetxt.
-//
-// Copyright: None.
-//--
-
#pragma once
// In-house headers:
@@ -37,40 +25,11 @@
// Authors: Illya Rudkin 10/02/2014.
// Changes: Factored out OS specific handling of reading stdin - IOR 16/06/2014.
//--
-class CMICmnStreamStdin : public CMICmnBase, public CMIUtilThreadActiveObjBase, public MI::ISingleton<CMICmnStreamStdin>
+class CMICmnStreamStdin : public CMICmnBase, public MI::ISingleton<CMICmnStreamStdin>
{
// Give singleton access to private constructors
friend MI::ISingleton<CMICmnStreamStdin>;
- // Class:
- public:
- //++
- // Description: Visitor pattern. Driver(s) use this interface to get a callback
- // on each new line of data received from stdin.
- //--
- class IStreamStdin
- {
- public:
- virtual bool ReadLine(const CMIUtilString &vStdInBuffer, bool &vrwbYesExit) = 0;
-
- /* dtor */ virtual ~IStreamStdin(void){};
- };
-
- //++
- // Description: Specific OS stdin handling implementations are created and used by *this
- // class. Seperates out functionality and enables handler to be set
- // dynamically depended on the OS detected.
- //--
- class IOSStdinHandler
- {
- public:
- virtual bool InputAvailable(bool &vwbAvail) = 0;
- virtual const MIchar *ReadLine(CMIUtilString &vwErrMsg) = 0;
- virtual void InterruptReadLine(void){};
-
- /* dtor */ virtual ~IOSStdinHandler(void){};
- };
-
// Methods:
public:
bool Initialize(void);
@@ -80,22 +39,7 @@ class CMICmnStreamStdin : public CMICmnBase, public CMIUtilThreadActiveObjBase,
bool SetPrompt(const CMIUtilString &vNewPrompt);
void SetEnablePrompt(const bool vbYes);
bool GetEnablePrompt(void) const;
- void SetCtrlCHit(void);
- bool SetVisitor(IStreamStdin &vrVisitor);
- bool SetOSStdinHandler(IOSStdinHandler &vrHandler);
- void OnExitHandler(void);
-
- // Overridden:
- public:
- // From CMIUtilThreadActiveObjBase
- virtual const CMIUtilString &ThreadGetName(void) const;
-
- // Overridden:
- protected:
- // From CMIUtilThreadActiveObjBase
- virtual bool ThreadRun(bool &vrIsAlive);
- virtual bool
- ThreadFinish(void); // Let this thread clean up after itself
+ const char *ReadLine(CMIUtilString &vwErrMsg);
// Methods:
private:
@@ -103,11 +47,6 @@ class CMICmnStreamStdin : public CMICmnBase, public CMIUtilThreadActiveObjBase,
/* ctor */ CMICmnStreamStdin(const CMICmnStreamStdin &);
void operator=(const CMICmnStreamStdin &);
- bool MonitorStdin(bool &vrwbYesExit);
- const MIchar *ReadLine(CMIUtilString &vwErrMsg);
- bool
- InputAvailable(bool &vbAvail); // Bytes are available on stdin
-
// Overridden:
private:
// From CMICmnBase
@@ -115,11 +54,8 @@ class CMICmnStreamStdin : public CMICmnBase, public CMIUtilThreadActiveObjBase,
// Attributes:
private:
- const CMIUtilString m_constStrThisThreadname;
- IStreamStdin *m_pVisitor;
CMIUtilString m_strPromptCurrent; // Command line prompt as shown to the user
- volatile bool m_bKeyCtrlCHit; // True = User hit Ctrl-C, false = has not yet
bool m_bShowPrompt; // True = Yes prompt is shown/output to the user (stdout), false = no prompt
- bool m_bRedrawPrompt; // True = Prompt needs to be redrawn
- IOSStdinHandler *m_pStdinReadHandler;
+ static const int m_constBufferSize = 2048;
+ char *m_pCmdBuffer;
};