diff options
author | Ed Maste <emaste@FreeBSD.org> | 2015-02-06 21:38:51 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2015-02-06 21:38:51 +0000 |
commit | 205afe679855a4ce8149cdaa94d3f0868ce796dc (patch) | |
tree | 09bc83f73246ee3c7a779605cd0122093d2a8a19 /tools/lldb-mi/MICmnStreamStdin.h | |
parent | 0cac4ca3916ac24ab6139d03cbfd18db9e715bfe (diff) | |
download | src-205afe679855a4ce8149cdaa94d3f0868ce796dc.tar.gz src-205afe679855a4ce8149cdaa94d3f0868ce796dc.zip |
Import LLDB as of upstream SVN r225923 (git 2b588ecd)vendor/lldb/lldb-r225923
This corresponds with the branchpoint for the 3.6 release.
A number of files not required for the FreeBSD build have been removed.
Sponsored by: DARPA, AFRL
Notes
Notes:
svn path=/vendor/lldb/dist/; revision=278332
svn path=/vendor/lldb/lldb-r225923/; revision=278333; tag=vendor/lldb/lldb-r225923
Diffstat (limited to 'tools/lldb-mi/MICmnStreamStdin.h')
-rw-r--r-- | tools/lldb-mi/MICmnStreamStdin.h | 182 |
1 files changed, 91 insertions, 91 deletions
diff --git a/tools/lldb-mi/MICmnStreamStdin.h b/tools/lldb-mi/MICmnStreamStdin.h index edd79f60b8d4..a6779d531669 100644 --- a/tools/lldb-mi/MICmnStreamStdin.h +++ b/tools/lldb-mi/MICmnStreamStdin.h @@ -8,15 +8,15 @@ //===----------------------------------------------------------------------===// //++ -// File: MIUtilStreamStdin.h +// File: MIUtilStreamStdin.h // -// Overview: CMICmnStreamStdin interface. +// Overview: CMICmnStreamStdin interface. // -// Environment: Compilers: Visual C++ 12. -// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 -// Libraries: See MIReadmetxt. +// Environment: Compilers: Visual C++ 12. +// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 +// Libraries: See MIReadmetxt. // -// Copyright: None. +// Copyright: None. //-- #pragma once @@ -28,98 +28,98 @@ #include "MIUtilSingletonBase.h" //++ ============================================================================ -// Details: MI common code class. Used to handle stream data from Stdin. -// Singleton class using the Visitor pattern. A driver using the interface -// provide can receive callbacks when a new line of data is received. -// Each line is determined by a carriage return. -// A singleton class. -// Gotchas: None. -// Authors: Illya Rudkin 10/02/2014. -// Changes: Factored out OS specific handling of reading stdin - IOR 16/06/2014. +// Details: MI common code class. Used to handle stream data from Stdin. +// Singleton class using the Visitor pattern. A driver using the interface +// provide can receive callbacks when a new line of data is received. +// Each line is determined by a carriage return. +// A singleton class. +// Gotchas: None. +// 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 CMIUtilThreadActiveObjBase, public MI::ISingleton<CMICmnStreamStdin> { - // Give singleton access to private constructors - friend 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; + // 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 ) {}; - }; + /* 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; + //++ + // 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 ); - bool Shutdown( void ); - // - const CMIUtilString & GetPrompt( void ) const; - 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 ); - -// 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 + /* dtor */ virtual ~IOSStdinHandler(void){}; + }; -// Methods: -private: - /* ctor */ CMICmnStreamStdin( void ); - /* 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 + // Methods: + public: + bool Initialize(void); + bool Shutdown(void); + // + const CMIUtilString &GetPrompt(void) const; + 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: -private: - // From CMICmnBase - /* dtor */ virtual ~CMICmnStreamStdin( void ); + // Overridden: + public: + // From CMIUtilThreadActiveObjBase + virtual const CMIUtilString &ThreadGetName(void) const; -// 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; -}; + // Overridden: + protected: + // From CMIUtilThreadActiveObjBase + virtual bool ThreadRun(bool &vrIsAlive); + virtual bool + ThreadFinish(void); // Let this thread clean up after itself + + // Methods: + private: + /* ctor */ CMICmnStreamStdin(void); + /* 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 + /* dtor */ virtual ~CMICmnStreamStdin(void); + + // 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; +}; |