summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2012-08-23 21:17:11 +0000
committerGreg Clayton <gclayton@apple.com>2012-08-23 21:17:11 +0000
commitb3e776008bff022410508f762d0a376f8708849d (patch)
treea62d99e89dc5bdcbea22f1d7091e800e0dd973db /lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
parent845db1087c8190eb958091cd106bee03a126fc57 (diff)
downloadbcm5719-llvm-b3e776008bff022410508f762d0a376f8708849d.tar.gz
bcm5719-llvm-b3e776008bff022410508f762d0a376f8708849d.zip
Added a hollowed out version of an OperatingSystem plugin that will use a class in python to get thread information for threads stored in memory.
llvm-svn: 162472
Diffstat (limited to 'lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h')
-rw-r--r--lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h89
1 files changed, 89 insertions, 0 deletions
diff --git a/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
new file mode 100644
index 00000000000..850ec648bff
--- /dev/null
+++ b/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
@@ -0,0 +1,89 @@
+//===-- OperatingSystemPython.h ---------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+#ifndef LLDB_DISABLE_PYTHON
+
+#ifndef liblldb_OperatingSystemPython_h_
+#define liblldb_OperatingSystemPython_h_
+
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+#include "lldb/Target/OperatingSystem.h"
+
+class DynamicRegisterInfo;
+
+class OperatingSystemPython : public lldb_private::OperatingSystem
+{
+public:
+ //------------------------------------------------------------------
+ // Static Functions
+ //------------------------------------------------------------------
+ static lldb_private::OperatingSystem *
+ CreateInstance (lldb_private::Process *process, bool force);
+
+ static void
+ Initialize();
+
+ static void
+ Terminate();
+
+ static const char *
+ GetPluginNameStatic();
+
+ static const char *
+ GetPluginDescriptionStatic();
+
+ //------------------------------------------------------------------
+ // Class Methods
+ //------------------------------------------------------------------
+ OperatingSystemPython (lldb_private::Process *process);
+
+ virtual
+ ~OperatingSystemPython ();
+
+ //------------------------------------------------------------------
+ // lldb_private::PluginInterface Methods
+ //------------------------------------------------------------------
+ virtual const char *
+ GetPluginName();
+
+ virtual const char *
+ GetShortPluginName();
+
+ virtual uint32_t
+ GetPluginVersion();
+
+ //------------------------------------------------------------------
+ // lldb_private::OperatingSystem Methods
+ //------------------------------------------------------------------
+ virtual bool
+ UpdateThreadList (lldb_private::ThreadList &old_thread_list,
+ lldb_private::ThreadList &new_thread_list);
+
+ virtual void
+ ThreadWasSelected (lldb_private::Thread *thread);
+
+ virtual lldb::RegisterContextSP
+ CreateRegisterContextForThread (lldb_private::Thread *thread);
+
+ virtual lldb::StopInfoSP
+ CreateThreadStopReason (lldb_private::Thread *thread);
+
+protected:
+
+ DynamicRegisterInfo *
+ GetDynamicRegisterInfo ();
+
+ lldb::ValueObjectSP m_thread_list_valobj_sp;
+ std::auto_ptr<DynamicRegisterInfo> m_register_info_ap;
+
+};
+
+#endif // #ifndef liblldb_OperatingSystemPython_h_
+#endif // #ifndef LLDB_DISABLE_PYTHON
OpenPOWER on IntegriCloud