summaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmnLLDBDebugger.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmnLLDBDebugger.h')
-rw-r--r--tools/lldb-mi/MICmnLLDBDebugger.h172
1 files changed, 84 insertions, 88 deletions
diff --git a/tools/lldb-mi/MICmnLLDBDebugger.h b/tools/lldb-mi/MICmnLLDBDebugger.h
index 0d608997d959..6075fd85e535 100644
--- a/tools/lldb-mi/MICmnLLDBDebugger.h
+++ b/tools/lldb-mi/MICmnLLDBDebugger.h
@@ -8,15 +8,15 @@
//===----------------------------------------------------------------------===//
//++
-// File: MICmnLLDBDebugger.h
+// File: MICmnLLDBDebugger.h
//
-// Overview: CMICmnLLDBDebugger interface.
+// Overview: CMICmnLLDBDebugger 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
@@ -38,88 +38,84 @@ class CMIDriverBase;
class CMICmnLLDBDebuggerHandleEvents;
//++ ============================================================================
-// Details: MI proxy/adapter for the LLDB public SBDebugger API. The CMIDriver
-// requires *this object. Command classes make calls on *this object
-// to facilitate their work effort. The instance runs in its own worker
-// thread.
-// A singleton class.
-// Gotchas: None.
-// Authors: Illya Rudkin 26/02/2014.
-// Changes: None.
+// Details: MI proxy/adapter for the LLDB public SBDebugger API. The CMIDriver
+// requires *this object. Command classes make calls on *this object
+// to facilitate their work effort. The instance runs in its own worker
+// thread.
+// A singleton class.
+// Gotchas: None.
+// Authors: Illya Rudkin 26/02/2014.
+// Changes: None.
//--
-class CMICmnLLDBDebugger
-: public CMICmnBase
-, public CMIUtilThreadActiveObjBase
-, public MI::ISingleton< CMICmnLLDBDebugger >
+class CMICmnLLDBDebugger : public CMICmnBase, public CMIUtilThreadActiveObjBase, public MI::ISingleton<CMICmnLLDBDebugger>
{
- friend class MI::ISingleton< CMICmnLLDBDebugger >;
-
-// Methods:
-public:
- bool Initialize( void );
- bool Shutdown( void );
-
- bool SetDriver( const CMIDriverBase & vClientDriver );
- CMIDriverBase & GetDriver( void ) const;
- lldb::SBDebugger & GetTheDebugger( void );
- lldb::SBListener & GetTheListener( void );
-
- // MI Commands can use these functions to listen for events they require
- bool RegisterForEvent( const CMIUtilString & vClientName, const CMIUtilString & vBroadcasterClass, const MIuint vEventMask );
- bool UnregisterForEvent( const CMIUtilString & vClientName, const CMIUtilString & vBroadcasterClass );
- bool RegisterForEvent( const CMIUtilString & vClientName, const lldb::SBBroadcaster & vBroadcaster, const MIuint vEventMask );
- bool UnregisterForEvent( const CMIUtilString & vClientName, const lldb::SBBroadcaster & vBroadcaster );
-
-// Overridden:
-public:
- // From CMIUtilThreadActiveObjBase
- virtual const CMIUtilString & ThreadGetName( void ) const;
-
-// Overridden:
-protected:
- // From CMIUtilThreadActiveObjBase
- virtual bool ThreadRun( bool & vrIsAlive );
- virtual bool ThreadFinish( void );
-
-// Typedefs:
-private:
- typedef std::map< CMIUtilString, MIuint > MapBroadcastClassNameToEventMask_t;
- typedef std::pair< CMIUtilString, MIuint > MapPairBroadcastClassNameToEventMask_t;
- typedef std::map< CMIUtilString, MIuint > MapIdToEventMask_t;
- typedef std::pair< CMIUtilString, MIuint > MapPairIdToEventMask_t;
-
-// Methods:
-private:
- /* ctor */ CMICmnLLDBDebugger( void );
- /* ctor */ CMICmnLLDBDebugger( const CMICmnLLDBDebugger & );
- void operator=( const CMICmnLLDBDebugger & );
-
- bool InitSBDebugger( void );
- bool InitSBListener( void );
- bool InitStdStreams( void );
- bool MonitorSBListenerEvents( bool & vrbYesExit );
-
- bool BroadcasterGetMask( const CMIUtilString & vBroadcasterClass, MIuint & vEventMask ) const;
- bool BroadcasterRemoveMask( const CMIUtilString & vBroadcasterClass );
- bool BroadcasterSaveMask( const CMIUtilString & vBroadcasterClass, const MIuint vEventMask );
-
- MIuint ClientGetMaskForAllClients( const CMIUtilString & vBroadcasterClass ) const;
- bool ClientSaveMask( const CMIUtilString & vClientName, const CMIUtilString & vBroadcasterClass, const MIuint vEventMask );
- bool ClientRemoveTheirMask( const CMIUtilString & vClientName, const CMIUtilString & vBroadcasterClass );
- bool ClientGetTheirMask( const CMIUtilString & vClientName, const CMIUtilString & vBroadcasterClass, MIuint & vwEventMask );
-
-// Overridden:
-private:
- // From CMICmnBase
- /* dtor */ virtual ~CMICmnLLDBDebugger( void );
-
-// Attributes:
-private:
- CMIDriverBase * m_pClientDriver; // The driver that wants to use *this LLDB debugger
- lldb::SBDebugger m_lldbDebugger; // SBDebugger is the primordial object that creates SBTargets and provides access to them
- lldb::SBListener m_lldbListener; // API clients can register its own listener to debugger events
- const CMIUtilString m_constStrThisThreadId;
- MapBroadcastClassNameToEventMask_t m_mapBroadcastClassNameToEventMask;
- MapIdToEventMask_t m_mapIdToEventMask;
-};
+ friend class MI::ISingleton<CMICmnLLDBDebugger>;
+
+ // Methods:
+ public:
+ bool Initialize(void);
+ bool Shutdown(void);
+
+ bool SetDriver(const CMIDriverBase &vClientDriver);
+ CMIDriverBase &GetDriver(void) const;
+ lldb::SBDebugger &GetTheDebugger(void);
+ lldb::SBListener &GetTheListener(void);
+
+ // MI Commands can use these functions to listen for events they require
+ bool RegisterForEvent(const CMIUtilString &vClientName, const CMIUtilString &vBroadcasterClass, const MIuint vEventMask);
+ bool UnregisterForEvent(const CMIUtilString &vClientName, const CMIUtilString &vBroadcasterClass);
+ bool RegisterForEvent(const CMIUtilString &vClientName, const lldb::SBBroadcaster &vBroadcaster, const MIuint vEventMask);
+ bool UnregisterForEvent(const CMIUtilString &vClientName, const lldb::SBBroadcaster &vBroadcaster);
+
+ // Overridden:
+ public:
+ // From CMIUtilThreadActiveObjBase
+ virtual const CMIUtilString &ThreadGetName(void) const;
+
+ // Overridden:
+ protected:
+ // From CMIUtilThreadActiveObjBase
+ virtual bool ThreadRun(bool &vrIsAlive);
+ virtual bool ThreadFinish(void);
+
+ // Typedefs:
+ private:
+ typedef std::map<CMIUtilString, MIuint> MapBroadcastClassNameToEventMask_t;
+ typedef std::pair<CMIUtilString, MIuint> MapPairBroadcastClassNameToEventMask_t;
+ typedef std::map<CMIUtilString, MIuint> MapIdToEventMask_t;
+ typedef std::pair<CMIUtilString, MIuint> MapPairIdToEventMask_t;
+ // Methods:
+ private:
+ /* ctor */ CMICmnLLDBDebugger(void);
+ /* ctor */ CMICmnLLDBDebugger(const CMICmnLLDBDebugger &);
+ void operator=(const CMICmnLLDBDebugger &);
+
+ bool InitSBDebugger(void);
+ bool InitSBListener(void);
+ bool InitStdStreams(void);
+ bool MonitorSBListenerEvents(bool &vrbYesExit);
+
+ bool BroadcasterGetMask(const CMIUtilString &vBroadcasterClass, MIuint &vEventMask) const;
+ bool BroadcasterRemoveMask(const CMIUtilString &vBroadcasterClass);
+ bool BroadcasterSaveMask(const CMIUtilString &vBroadcasterClass, const MIuint vEventMask);
+
+ MIuint ClientGetMaskForAllClients(const CMIUtilString &vBroadcasterClass) const;
+ bool ClientSaveMask(const CMIUtilString &vClientName, const CMIUtilString &vBroadcasterClass, const MIuint vEventMask);
+ bool ClientRemoveTheirMask(const CMIUtilString &vClientName, const CMIUtilString &vBroadcasterClass);
+ bool ClientGetTheirMask(const CMIUtilString &vClientName, const CMIUtilString &vBroadcasterClass, MIuint &vwEventMask);
+
+ // Overridden:
+ private:
+ // From CMICmnBase
+ /* dtor */ virtual ~CMICmnLLDBDebugger(void);
+
+ // Attributes:
+ private:
+ CMIDriverBase *m_pClientDriver; // The driver that wants to use *this LLDB debugger
+ lldb::SBDebugger m_lldbDebugger; // SBDebugger is the primordial object that creates SBTargets and provides access to them
+ lldb::SBListener m_lldbListener; // API clients can register its own listener to debugger events
+ const CMIUtilString m_constStrThisThreadId;
+ MapBroadcastClassNameToEventMask_t m_mapBroadcastClassNameToEventMask;
+ MapIdToEventMask_t m_mapIdToEventMask;
+};