aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Target/OperatingSystem.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Target/OperatingSystem.h')
-rw-r--r--include/lldb/Target/OperatingSystem.h120
1 files changed, 57 insertions, 63 deletions
diff --git a/include/lldb/Target/OperatingSystem.h b/include/lldb/Target/OperatingSystem.h
index 74de5645da5a..24ded3f69723 100644
--- a/include/lldb/Target/OperatingSystem.h
+++ b/include/lldb/Target/OperatingSystem.h
@@ -1,4 +1,5 @@
-//===-- OperatingSystem.h ----------------------------------------------*- C++ -*-===//
+//===-- OperatingSystem.h ----------------------------------------------*- C++
+//-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,84 +15,77 @@
// C++ Includes
// Other libraries and framework includes
-#include "lldb/lldb-private.h"
#include "lldb/Core/PluginInterface.h"
+#include "lldb/lldb-private.h"
namespace lldb_private {
-
+
//----------------------------------------------------------------------
/// @class OperatingSystem OperatingSystem.h "lldb/Target/OperatingSystem.h"
/// @brief A plug-in interface definition class for halted OS helpers.
///
-/// Halted OS plug-ins can be used by any process to locate and create
-/// OS objects, like threads, during the lifetime of a debug session.
+/// Halted OS plug-ins can be used by any process to locate and create
+/// OS objects, like threads, during the lifetime of a debug session.
/// This is commonly used when attaching to an operating system that is
/// halted, such as when debugging over JTAG or connecting to low level
/// kernel debug services.
//----------------------------------------------------------------------
-class OperatingSystem :
- public PluginInterface
-{
+class OperatingSystem : public PluginInterface {
public:
- //------------------------------------------------------------------
- /// Find a halted OS plugin for a given process.
- ///
- /// Scans the installed OperatingSystem plug-ins and tries to find
- /// an instance that matches the current target triple and
- /// executable.
- ///
- /// @param[in] process
- /// The process for which to try and locate a halted OS
- /// plug-in instance.
- ///
- /// @param[in] plugin_name
- /// An optional name of a specific halted OS plug-in that
- /// should be used. If NULL, pick the best plug-in.
- //------------------------------------------------------------------
- static OperatingSystem*
- FindPlugin (Process *process, const char *plugin_name);
-
- //------------------------------------------------------------------
- // Class Methods
- //------------------------------------------------------------------
- OperatingSystem (Process *process);
-
- ~OperatingSystem() override;
-
- //------------------------------------------------------------------
- // Plug-in Methods
- //------------------------------------------------------------------
- virtual bool
- UpdateThreadList (ThreadList &old_thread_list,
- ThreadList &real_thread_list,
- ThreadList &new_thread_list) = 0;
-
- virtual void
- ThreadWasSelected (Thread *thread) = 0;
-
- virtual lldb::RegisterContextSP
- CreateRegisterContextForThread (Thread *thread, lldb::addr_t reg_data_addr) = 0;
-
- virtual lldb::StopInfoSP
- CreateThreadStopReason (Thread *thread) = 0;
-
- virtual lldb::ThreadSP
- CreateThread (lldb::tid_t tid, lldb::addr_t context)
- {
- return lldb::ThreadSP();
- }
-
- virtual bool
- IsOperatingSystemPluginThread (const lldb::ThreadSP &thread_sp);
+ //------------------------------------------------------------------
+ /// Find a halted OS plugin for a given process.
+ ///
+ /// Scans the installed OperatingSystem plug-ins and tries to find
+ /// an instance that matches the current target triple and
+ /// executable.
+ ///
+ /// @param[in] process
+ /// The process for which to try and locate a halted OS
+ /// plug-in instance.
+ ///
+ /// @param[in] plugin_name
+ /// An optional name of a specific halted OS plug-in that
+ /// should be used. If NULL, pick the best plug-in.
+ //------------------------------------------------------------------
+ static OperatingSystem *FindPlugin(Process *process, const char *plugin_name);
+
+ //------------------------------------------------------------------
+ // Class Methods
+ //------------------------------------------------------------------
+ OperatingSystem(Process *process);
+
+ ~OperatingSystem() override;
+
+ //------------------------------------------------------------------
+ // Plug-in Methods
+ //------------------------------------------------------------------
+ virtual bool UpdateThreadList(ThreadList &old_thread_list,
+ ThreadList &real_thread_list,
+ ThreadList &new_thread_list) = 0;
+
+ virtual void ThreadWasSelected(Thread *thread) = 0;
+
+ virtual lldb::RegisterContextSP
+ CreateRegisterContextForThread(Thread *thread,
+ lldb::addr_t reg_data_addr) = 0;
+
+ virtual lldb::StopInfoSP CreateThreadStopReason(Thread *thread) = 0;
+
+ virtual lldb::ThreadSP CreateThread(lldb::tid_t tid, lldb::addr_t context) {
+ return lldb::ThreadSP();
+ }
+
+ virtual bool IsOperatingSystemPluginThread(const lldb::ThreadSP &thread_sp);
protected:
- //------------------------------------------------------------------
- // Member variables.
- //------------------------------------------------------------------
- Process* m_process; ///< The process that this dynamic loader plug-in is tracking.
+ //------------------------------------------------------------------
+ // Member variables.
+ //------------------------------------------------------------------
+ Process
+ *m_process; ///< The process that this dynamic loader plug-in is tracking.
private:
- DISALLOW_COPY_AND_ASSIGN (OperatingSystem);
+ DISALLOW_COPY_AND_ASSIGN(OperatingSystem);
};
} // namespace lldb_private