diff options
Diffstat (limited to 'tools/lldb-mi/MICmnStreamStdin.h')
-rw-r--r-- | tools/lldb-mi/MICmnStreamStdin.h | 72 |
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; }; |