diff options
author | Greg Clayton <gclayton@apple.com> | 2012-08-23 21:17:11 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-08-23 21:17:11 +0000 |
commit | b3e776008bff022410508f762d0a376f8708849d (patch) | |
tree | a62d99e89dc5bdcbea22f1d7091e800e0dd973db /lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h | |
parent | 845db1087c8190eb958091cd106bee03a126fc57 (diff) | |
download | bcm5719-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.h | 89 |
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 |