diff options
Diffstat (limited to 'tools/lldb-mi/MICmnLLDBDebugger.h')
| -rw-r--r-- | tools/lldb-mi/MICmnLLDBDebugger.h | 134 | 
1 files changed, 0 insertions, 134 deletions
| diff --git a/tools/lldb-mi/MICmnLLDBDebugger.h b/tools/lldb-mi/MICmnLLDBDebugger.h deleted file mode 100644 index 29cf9416e153..000000000000 --- a/tools/lldb-mi/MICmnLLDBDebugger.h +++ /dev/null @@ -1,134 +0,0 @@ -//===-- MICmnLLDBDebugger.h -------------------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#pragma once - -// Third party headers -#include "lldb/API/SBDebugger.h" -#include "lldb/API/SBEvent.h" -#include "lldb/API/SBListener.h" -#include <condition_variable> -#include <map> -#include <mutex> - -// In-house headers: -#include "MICmnBase.h" -#include "MIUtilSingletonBase.h" -#include "MIUtilThreadBaseStd.h" - -// Declarations: -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. -//-- -class CMICmnLLDBDebugger : public CMICmnBase, -                           public CMIUtilThreadActiveObjBase, -                           public MI::ISingleton<CMICmnLLDBDebugger> { -  friend class MI::ISingleton<CMICmnLLDBDebugger>; - -  // Methods: -public: -  bool Initialize() override; -  bool Shutdown() override; - -  bool SetDriver(const CMIDriverBase &vClientDriver); -  CMIDriverBase &GetDriver() const; -  lldb::SBDebugger &GetTheDebugger(); -  lldb::SBListener &GetTheListener(); -  void WaitForHandleEvent(); -  bool CheckIfNeedToRebroadcastStopEvent(); -  void RebroadcastStopEvent(); - -  // 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 -  const CMIUtilString &ThreadGetName() const override; - -  // Overridden: -protected: -  // From CMIUtilThreadActiveObjBase -  bool ThreadRun(bool &vrIsAlive) override; -  bool ThreadFinish() override; - -  // 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(); -  /* ctor */ CMICmnLLDBDebugger(const CMICmnLLDBDebugger &); -  void operator=(const CMICmnLLDBDebugger &); - -  bool InitSBDebugger(); -  bool InitSBListener(); -  bool InitStdStreams(); -  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); -  bool LoadMIFormatters(lldb::SBTypeCategory miCategory); -  bool RegisterMISummaryProviders(); -  // Overridden: -private: -  // From CMICmnBase -  /* dtor */ ~CMICmnLLDBDebugger() override; - -  // 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; -  std::mutex m_mutexEventQueue; -  std::condition_variable m_conditionEventQueueEmpty; -  uint32_t m_nLastStopId; -}; | 
