aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Core/PluginManager.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-01-02 19:26:05 +0000
commit14f1b3e8826ce43b978db93a62d1166055db5394 (patch)
tree0a00ad8d3498783fe0193f3b656bca17c4c8697d /include/lldb/Core/PluginManager.h
parent4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff)
downloadsrc-14f1b3e8826ce43b978db93a62d1166055db5394.tar.gz
src-14f1b3e8826ce43b978db93a62d1166055db5394.zip
Vendor import of lldb trunk r290819:vendor/lldb/lldb-trunk-r290819
Notes
Notes: svn path=/vendor/lldb/dist/; revision=311128 svn path=/vendor/lldb/lldb-trunk-r290819/; revision=311129; tag=vendor/lldb/lldb-trunk-r290819
Diffstat (limited to 'include/lldb/Core/PluginManager.h')
-rw-r--r--include/lldb/Core/PluginManager.h1002
1 files changed, 498 insertions, 504 deletions
diff --git a/include/lldb/Core/PluginManager.h b/include/lldb/Core/PluginManager.h
index 6f8001fbfd2b..e0de65a6bf16 100644
--- a/include/lldb/Core/PluginManager.h
+++ b/include/lldb/Core/PluginManager.h
@@ -14,523 +14,517 @@
// C++ Includes
// Other libraries and framework includes
// Project includes
-#include "lldb/lldb-private.h"
#include "lldb/Host/FileSpec.h"
+#include "lldb/lldb-private.h"
namespace lldb_private {
-class PluginManager
-{
+class PluginManager {
public:
- static void
- Initialize ();
-
- static void
- Terminate ();
-
- //------------------------------------------------------------------
- // ABI
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- ABICreateInstance create_callback);
-
- static bool
- UnregisterPlugin (ABICreateInstance create_callback);
-
- static ABICreateInstance
- GetABICreateCallbackAtIndex (uint32_t idx);
-
- static ABICreateInstance
- GetABICreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // Disassembler
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- DisassemblerCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (DisassemblerCreateInstance create_callback);
-
- static DisassemblerCreateInstance
- GetDisassemblerCreateCallbackAtIndex (uint32_t idx);
-
- static DisassemblerCreateInstance
- GetDisassemblerCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // DynamicLoader
- //------------------------------------------------------------------
- static bool
- RegisterPlugin(const ConstString &name,
- const char *description,
- DynamicLoaderCreateInstance create_callback,
- DebuggerInitializeCallback debugger_init_callback = nullptr);
-
- static bool
- UnregisterPlugin (DynamicLoaderCreateInstance create_callback);
-
- static DynamicLoaderCreateInstance
- GetDynamicLoaderCreateCallbackAtIndex (uint32_t idx);
-
- static DynamicLoaderCreateInstance
- GetDynamicLoaderCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // JITLoader
- //------------------------------------------------------------------
- static bool
- RegisterPlugin(const ConstString &name,
- const char *description,
- JITLoaderCreateInstance create_callback,
- DebuggerInitializeCallback debugger_init_callback = nullptr);
-
- static bool
- UnregisterPlugin (JITLoaderCreateInstance create_callback);
-
- static JITLoaderCreateInstance
- GetJITLoaderCreateCallbackAtIndex (uint32_t idx);
-
- static JITLoaderCreateInstance
- GetJITLoaderCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // EmulateInstruction
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- EmulateInstructionCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (EmulateInstructionCreateInstance create_callback);
-
- static EmulateInstructionCreateInstance
- GetEmulateInstructionCreateCallbackAtIndex (uint32_t idx);
-
- static EmulateInstructionCreateInstance
- GetEmulateInstructionCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // OperatingSystem
- //------------------------------------------------------------------
- static bool RegisterPlugin(const ConstString &name, const char *description,
- OperatingSystemCreateInstance create_callback,
- DebuggerInitializeCallback debugger_init_callback);
-
- static bool
- UnregisterPlugin (OperatingSystemCreateInstance create_callback);
-
- static OperatingSystemCreateInstance
- GetOperatingSystemCreateCallbackAtIndex (uint32_t idx);
-
- static OperatingSystemCreateInstance
- GetOperatingSystemCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // Language
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- LanguageCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (LanguageCreateInstance create_callback);
-
- static LanguageCreateInstance
- GetLanguageCreateCallbackAtIndex (uint32_t idx);
-
- static LanguageCreateInstance
- GetLanguageCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // LanguageRuntime
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- LanguageRuntimeCreateInstance create_callback,
- LanguageRuntimeGetCommandObject command_callback = nullptr);
-
- static bool
- UnregisterPlugin (LanguageRuntimeCreateInstance create_callback);
-
- static LanguageRuntimeCreateInstance
- GetLanguageRuntimeCreateCallbackAtIndex (uint32_t idx);
-
- static LanguageRuntimeGetCommandObject
- GetLanguageRuntimeGetCommandObjectAtIndex (uint32_t idx);
-
- static LanguageRuntimeCreateInstance
- GetLanguageRuntimeCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // SystemRuntime
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- SystemRuntimeCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (SystemRuntimeCreateInstance create_callback);
-
- static SystemRuntimeCreateInstance
- GetSystemRuntimeCreateCallbackAtIndex (uint32_t idx);
-
- static SystemRuntimeCreateInstance
- GetSystemRuntimeCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // ObjectFile
- //------------------------------------------------------------------
- static bool
- RegisterPlugin(const ConstString &name,
- const char *description,
- ObjectFileCreateInstance create_callback,
- ObjectFileCreateMemoryInstance create_memory_callback,
- ObjectFileGetModuleSpecifications get_module_specifications,
- ObjectFileSaveCore save_core = nullptr);
-
- static bool
- UnregisterPlugin (ObjectFileCreateInstance create_callback);
-
- static ObjectFileCreateInstance
- GetObjectFileCreateCallbackAtIndex (uint32_t idx);
-
- static ObjectFileCreateMemoryInstance
- GetObjectFileCreateMemoryCallbackAtIndex (uint32_t idx);
-
- static ObjectFileGetModuleSpecifications
- GetObjectFileGetModuleSpecificationsCallbackAtIndex (uint32_t idx);
-
- static ObjectFileCreateInstance
- GetObjectFileCreateCallbackForPluginName (const ConstString &name);
-
- static ObjectFileCreateMemoryInstance
- GetObjectFileCreateMemoryCallbackForPluginName (const ConstString &name);
-
- static Error
- SaveCore (const lldb::ProcessSP &process_sp, const FileSpec &outfile);
-
- //------------------------------------------------------------------
- // ObjectContainer
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- ObjectContainerCreateInstance create_callback,
- ObjectFileGetModuleSpecifications get_module_specifications);
-
- static bool
- UnregisterPlugin (ObjectContainerCreateInstance create_callback);
-
- static ObjectContainerCreateInstance
- GetObjectContainerCreateCallbackAtIndex (uint32_t idx);
-
- static ObjectContainerCreateInstance
- GetObjectContainerCreateCallbackForPluginName (const ConstString &name);
-
- static ObjectFileGetModuleSpecifications
- GetObjectContainerGetModuleSpecificationsCallbackAtIndex (uint32_t idx);
-
- //------------------------------------------------------------------
- // LogChannel
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- LogChannelCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (LogChannelCreateInstance create_callback);
-
- static LogChannelCreateInstance
- GetLogChannelCreateCallbackAtIndex (uint32_t idx);
-
- static LogChannelCreateInstance
- GetLogChannelCreateCallbackForPluginName (const ConstString &name);
-
- static const char *
- GetLogChannelCreateNameAtIndex (uint32_t idx);
-
- //------------------------------------------------------------------
- // Platform
- //------------------------------------------------------------------
- static bool
- RegisterPlugin(const ConstString &name,
- const char *description,
- PlatformCreateInstance create_callback,
- DebuggerInitializeCallback debugger_init_callback = nullptr);
-
- static bool
- UnregisterPlugin (PlatformCreateInstance create_callback);
-
- static PlatformCreateInstance
- GetPlatformCreateCallbackAtIndex (uint32_t idx);
-
- static PlatformCreateInstance
- GetPlatformCreateCallbackForPluginName (const ConstString &name);
-
- static const char *
- GetPlatformPluginNameAtIndex (uint32_t idx);
-
- static const char *
- GetPlatformPluginDescriptionAtIndex (uint32_t idx);
-
- static size_t
- AutoCompletePlatformName (const char *partial_name,
- StringList &matches);
- //------------------------------------------------------------------
- // Process
- //------------------------------------------------------------------
- static bool
- RegisterPlugin(const ConstString &name,
- const char *description,
- ProcessCreateInstance create_callback,
- DebuggerInitializeCallback debugger_init_callback = nullptr);
-
- static bool
- UnregisterPlugin (ProcessCreateInstance create_callback);
-
- static ProcessCreateInstance
- GetProcessCreateCallbackAtIndex (uint32_t idx);
-
- static ProcessCreateInstance
- GetProcessCreateCallbackForPluginName (const ConstString &name);
-
- static const char *
- GetProcessPluginNameAtIndex (uint32_t idx);
-
- static const char *
- GetProcessPluginDescriptionAtIndex (uint32_t idx);
-
- //------------------------------------------------------------------
- // ScriptInterpreter
- //------------------------------------------------------------------
- static bool
- RegisterPlugin(const ConstString &name, const char *description, lldb::ScriptLanguage script_lang,
- ScriptInterpreterCreateInstance create_callback);
-
- static bool
- UnregisterPlugin(ScriptInterpreterCreateInstance create_callback);
-
- static ScriptInterpreterCreateInstance
- GetScriptInterpreterCreateCallbackAtIndex(uint32_t idx);
-
- static lldb::ScriptInterpreterSP
- GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang,
- CommandInterpreter &interpreter);
-
- //------------------------------------------------------------------
- // SymbolFile
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- SymbolFileCreateInstance create_callback,
- DebuggerInitializeCallback debugger_init_callback = nullptr);
-
- static bool
- UnregisterPlugin (SymbolFileCreateInstance create_callback);
-
- static SymbolFileCreateInstance
- GetSymbolFileCreateCallbackAtIndex (uint32_t idx);
-
- static SymbolFileCreateInstance
- GetSymbolFileCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // SymbolVendor
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- SymbolVendorCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (SymbolVendorCreateInstance create_callback);
-
- static SymbolVendorCreateInstance
- GetSymbolVendorCreateCallbackAtIndex (uint32_t idx);
-
- static SymbolVendorCreateInstance
- GetSymbolVendorCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // UnwindAssembly
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- UnwindAssemblyCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (UnwindAssemblyCreateInstance create_callback);
-
- static UnwindAssemblyCreateInstance
- GetUnwindAssemblyCreateCallbackAtIndex (uint32_t idx);
-
- static UnwindAssemblyCreateInstance
- GetUnwindAssemblyCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // MemoryHistory
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- MemoryHistoryCreateInstance create_callback);
-
- static bool
- UnregisterPlugin (MemoryHistoryCreateInstance create_callback);
-
- static MemoryHistoryCreateInstance
- GetMemoryHistoryCreateCallbackAtIndex (uint32_t idx);
-
- static MemoryHistoryCreateInstance
- GetMemoryHistoryCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // InstrumentationRuntime
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- InstrumentationRuntimeCreateInstance create_callback,
- InstrumentationRuntimeGetType get_type_callback);
-
- static bool
- UnregisterPlugin (InstrumentationRuntimeCreateInstance create_callback);
-
- static InstrumentationRuntimeGetType
- GetInstrumentationRuntimeGetTypeCallbackAtIndex (uint32_t idx);
-
- static InstrumentationRuntimeCreateInstance
- GetInstrumentationRuntimeCreateCallbackAtIndex (uint32_t idx);
-
- static InstrumentationRuntimeCreateInstance
- GetInstrumentationRuntimeCreateCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // TypeSystem
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- TypeSystemCreateInstance create_callback,
- TypeSystemEnumerateSupportedLanguages enumerate_languages_callback);
-
- static bool
- UnregisterPlugin (TypeSystemCreateInstance create_callback);
-
- static TypeSystemCreateInstance
- GetTypeSystemCreateCallbackAtIndex (uint32_t idx);
-
- static TypeSystemCreateInstance
- GetTypeSystemCreateCallbackForPluginName (const ConstString &name);
-
- static TypeSystemEnumerateSupportedLanguages
- GetTypeSystemEnumerateSupportedLanguagesCallbackAtIndex (uint32_t idx);
-
- static TypeSystemEnumerateSupportedLanguages
- GetTypeSystemEnumerateSupportedLanguagesCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // REPL
- //------------------------------------------------------------------
- static bool
- RegisterPlugin (const ConstString &name,
- const char *description,
- REPLCreateInstance create_callback,
- REPLEnumerateSupportedLanguages enumerate_languages_callback);
-
- static bool
- UnregisterPlugin (REPLCreateInstance create_callback);
-
- static REPLCreateInstance
- GetREPLCreateCallbackAtIndex (uint32_t idx);
-
- static REPLCreateInstance
- GetREPLCreateCallbackForPluginName (const ConstString &name);
-
- static REPLEnumerateSupportedLanguages
- GetREPLEnumerateSupportedLanguagesCallbackAtIndex (uint32_t idx);
-
- static REPLEnumerateSupportedLanguages
- GetREPLSystemEnumerateSupportedLanguagesCallbackForPluginName (const ConstString &name);
-
- //------------------------------------------------------------------
- // Some plug-ins might register a DebuggerInitializeCallback
- // callback when registering the plug-in. After a new Debugger
- // instance is created, this DebuggerInitialize function will get
- // called. This allows plug-ins to install Properties and do any
- // other initialization that requires a debugger instance.
- //------------------------------------------------------------------
- static void
- DebuggerInitialize (Debugger &debugger);
-
- static lldb::OptionValuePropertiesSP
- GetSettingForDynamicLoaderPlugin (Debugger &debugger,
- const ConstString &setting_name);
-
- static bool
- CreateSettingForDynamicLoaderPlugin (Debugger &debugger,
- const lldb::OptionValuePropertiesSP &properties_sp,
- const ConstString &description,
- bool is_global_property);
-
- static lldb::OptionValuePropertiesSP
- GetSettingForPlatformPlugin (Debugger &debugger,
- const ConstString &setting_name);
-
- static bool
- CreateSettingForPlatformPlugin (Debugger &debugger,
- const lldb::OptionValuePropertiesSP &properties_sp,
- const ConstString &description,
- bool is_global_property);
-
- static lldb::OptionValuePropertiesSP
- GetSettingForProcessPlugin (Debugger &debugger,
- const ConstString &setting_name);
+ static void Initialize();
- static bool
- CreateSettingForProcessPlugin (Debugger &debugger,
- const lldb::OptionValuePropertiesSP &properties_sp,
- const ConstString &description,
- bool is_global_property);
+ static void Terminate();
- static lldb::OptionValuePropertiesSP
- GetSettingForSymbolFilePlugin (Debugger &debugger,
- const ConstString &setting_name);
+ //------------------------------------------------------------------
+ // ABI
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ ABICreateInstance create_callback);
+
+ static bool UnregisterPlugin(ABICreateInstance create_callback);
+
+ static ABICreateInstance GetABICreateCallbackAtIndex(uint32_t idx);
+
+ static ABICreateInstance
+ GetABICreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // Disassembler
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ DisassemblerCreateInstance create_callback);
+
+ static bool UnregisterPlugin(DisassemblerCreateInstance create_callback);
+
+ static DisassemblerCreateInstance
+ GetDisassemblerCreateCallbackAtIndex(uint32_t idx);
+
+ static DisassemblerCreateInstance
+ GetDisassemblerCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // DynamicLoader
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ DynamicLoaderCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback = nullptr);
+
+ static bool UnregisterPlugin(DynamicLoaderCreateInstance create_callback);
+
+ static DynamicLoaderCreateInstance
+ GetDynamicLoaderCreateCallbackAtIndex(uint32_t idx);
+
+ static DynamicLoaderCreateInstance
+ GetDynamicLoaderCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // JITLoader
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ JITLoaderCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback = nullptr);
+
+ static bool UnregisterPlugin(JITLoaderCreateInstance create_callback);
+
+ static JITLoaderCreateInstance
+ GetJITLoaderCreateCallbackAtIndex(uint32_t idx);
+
+ static JITLoaderCreateInstance
+ GetJITLoaderCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // EmulateInstruction
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ EmulateInstructionCreateInstance create_callback);
+
+ static bool
+ UnregisterPlugin(EmulateInstructionCreateInstance create_callback);
+
+ static EmulateInstructionCreateInstance
+ GetEmulateInstructionCreateCallbackAtIndex(uint32_t idx);
+
+ static EmulateInstructionCreateInstance
+ GetEmulateInstructionCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // OperatingSystem
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ OperatingSystemCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback);
+
+ static bool UnregisterPlugin(OperatingSystemCreateInstance create_callback);
+
+ static OperatingSystemCreateInstance
+ GetOperatingSystemCreateCallbackAtIndex(uint32_t idx);
+
+ static OperatingSystemCreateInstance
+ GetOperatingSystemCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // Language
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ LanguageCreateInstance create_callback);
+
+ static bool UnregisterPlugin(LanguageCreateInstance create_callback);
+
+ static LanguageCreateInstance GetLanguageCreateCallbackAtIndex(uint32_t idx);
+
+ static LanguageCreateInstance
+ GetLanguageCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // LanguageRuntime
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ LanguageRuntimeCreateInstance create_callback,
+ LanguageRuntimeGetCommandObject command_callback = nullptr);
+
+ static bool UnregisterPlugin(LanguageRuntimeCreateInstance create_callback);
+
+ static LanguageRuntimeCreateInstance
+ GetLanguageRuntimeCreateCallbackAtIndex(uint32_t idx);
+
+ static LanguageRuntimeGetCommandObject
+ GetLanguageRuntimeGetCommandObjectAtIndex(uint32_t idx);
+
+ static LanguageRuntimeCreateInstance
+ GetLanguageRuntimeCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // SystemRuntime
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ SystemRuntimeCreateInstance create_callback);
+
+ static bool UnregisterPlugin(SystemRuntimeCreateInstance create_callback);
+
+ static SystemRuntimeCreateInstance
+ GetSystemRuntimeCreateCallbackAtIndex(uint32_t idx);
- static bool
- CreateSettingForSymbolFilePlugin (Debugger &debugger,
- const lldb::OptionValuePropertiesSP &properties_sp,
- const ConstString &description,
- bool is_global_property);
+ static SystemRuntimeCreateInstance
+ GetSystemRuntimeCreateCallbackForPluginName(const ConstString &name);
- static lldb::OptionValuePropertiesSP
- GetSettingForJITLoaderPlugin (Debugger &debugger,
+ //------------------------------------------------------------------
+ // ObjectFile
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ ObjectFileCreateInstance create_callback,
+ ObjectFileCreateMemoryInstance create_memory_callback,
+ ObjectFileGetModuleSpecifications get_module_specifications,
+ ObjectFileSaveCore save_core = nullptr);
+
+ static bool UnregisterPlugin(ObjectFileCreateInstance create_callback);
+
+ static ObjectFileCreateInstance
+ GetObjectFileCreateCallbackAtIndex(uint32_t idx);
+
+ static ObjectFileCreateMemoryInstance
+ GetObjectFileCreateMemoryCallbackAtIndex(uint32_t idx);
+
+ static ObjectFileGetModuleSpecifications
+ GetObjectFileGetModuleSpecificationsCallbackAtIndex(uint32_t idx);
+
+ static ObjectFileCreateInstance
+ GetObjectFileCreateCallbackForPluginName(const ConstString &name);
+
+ static ObjectFileCreateMemoryInstance
+ GetObjectFileCreateMemoryCallbackForPluginName(const ConstString &name);
+
+ static Error SaveCore(const lldb::ProcessSP &process_sp,
+ const FileSpec &outfile);
+
+ //------------------------------------------------------------------
+ // ObjectContainer
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ ObjectContainerCreateInstance create_callback,
+ ObjectFileGetModuleSpecifications get_module_specifications);
+
+ static bool UnregisterPlugin(ObjectContainerCreateInstance create_callback);
+
+ static ObjectContainerCreateInstance
+ GetObjectContainerCreateCallbackAtIndex(uint32_t idx);
+
+ static ObjectContainerCreateInstance
+ GetObjectContainerCreateCallbackForPluginName(const ConstString &name);
+
+ static ObjectFileGetModuleSpecifications
+ GetObjectContainerGetModuleSpecificationsCallbackAtIndex(uint32_t idx);
+
+ //------------------------------------------------------------------
+ // LogChannel
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ LogChannelCreateInstance create_callback);
+
+ static bool UnregisterPlugin(LogChannelCreateInstance create_callback);
+
+ static LogChannelCreateInstance
+ GetLogChannelCreateCallbackAtIndex(uint32_t idx);
+
+ static LogChannelCreateInstance
+ GetLogChannelCreateCallbackForPluginName(const ConstString &name);
+
+ static const char *GetLogChannelCreateNameAtIndex(uint32_t idx);
+
+ //------------------------------------------------------------------
+ // Platform
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ PlatformCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback = nullptr);
+
+ static bool UnregisterPlugin(PlatformCreateInstance create_callback);
+
+ static PlatformCreateInstance GetPlatformCreateCallbackAtIndex(uint32_t idx);
+
+ static PlatformCreateInstance
+ GetPlatformCreateCallbackForPluginName(const ConstString &name);
+
+ static const char *GetPlatformPluginNameAtIndex(uint32_t idx);
+
+ static const char *GetPlatformPluginDescriptionAtIndex(uint32_t idx);
+
+ static size_t AutoCompletePlatformName(llvm::StringRef partial_name,
+ StringList &matches);
+ //------------------------------------------------------------------
+ // Process
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ ProcessCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback = nullptr);
+
+ static bool UnregisterPlugin(ProcessCreateInstance create_callback);
+
+ static ProcessCreateInstance GetProcessCreateCallbackAtIndex(uint32_t idx);
+
+ static ProcessCreateInstance
+ GetProcessCreateCallbackForPluginName(const ConstString &name);
+
+ static const char *GetProcessPluginNameAtIndex(uint32_t idx);
+
+ static const char *GetProcessPluginDescriptionAtIndex(uint32_t idx);
+
+ //------------------------------------------------------------------
+ // ScriptInterpreter
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ lldb::ScriptLanguage script_lang,
+ ScriptInterpreterCreateInstance create_callback);
+
+ static bool UnregisterPlugin(ScriptInterpreterCreateInstance create_callback);
+
+ static ScriptInterpreterCreateInstance
+ GetScriptInterpreterCreateCallbackAtIndex(uint32_t idx);
+
+ static lldb::ScriptInterpreterSP
+ GetScriptInterpreterForLanguage(lldb::ScriptLanguage script_lang,
+ CommandInterpreter &interpreter);
+
+ //------------------------------------------------------------------
+ // StructuredDataPlugin
+ //------------------------------------------------------------------
+
+ //------------------------------------------------------------------
+ /// Register a StructuredDataPlugin class along with optional
+ /// callbacks for debugger initialization and Process launch info
+ /// filtering and manipulation.
+ ///
+ /// @param[in] name
+ /// The name of the plugin.
+ ///
+ /// @param[in] description
+ /// A description string for the plugin.
+ ///
+ /// @param[in] create_callback
+ /// The callback that will be invoked to create an instance of
+ /// the callback. This may not be nullptr.
+ ///
+ /// @param[in] debugger_init_callback
+ /// An optional callback that will be made when a Debugger
+ /// instance is initialized.
+ ///
+ /// @param[in] filter_callback
+ /// An optional callback that will be invoked before LLDB
+ /// launches a process for debugging. The callback must
+ /// do the following:
+ /// 1. Only do something if the plugin's behavior is enabled.
+ /// 2. Only make changes for processes that are relevant to the
+ /// plugin. The callback gets a pointer to the Target, which
+ /// can be inspected as needed. The ProcessLaunchInfo is
+ /// provided in read-write mode, and may be modified by the
+ /// plugin if, for instance, additional environment variables
+ /// are needed to support the feature when enabled.
+ ///
+ /// @return
+ /// Returns true upon success; otherwise, false.
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ StructuredDataPluginCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback = nullptr,
+ StructuredDataFilterLaunchInfo filter_callback = nullptr);
+
+ static bool
+ UnregisterPlugin(StructuredDataPluginCreateInstance create_callback);
+
+ static StructuredDataPluginCreateInstance
+ GetStructuredDataPluginCreateCallbackAtIndex(uint32_t idx);
+
+ static StructuredDataPluginCreateInstance
+ GetStructuredDataPluginCreateCallbackForPluginName(const ConstString &name);
+
+ static StructuredDataFilterLaunchInfo
+ GetStructuredDataFilterCallbackAtIndex(uint32_t idx,
+ bool &iteration_complete);
+
+ //------------------------------------------------------------------
+ // SymbolFile
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ SymbolFileCreateInstance create_callback,
+ DebuggerInitializeCallback debugger_init_callback = nullptr);
+
+ static bool UnregisterPlugin(SymbolFileCreateInstance create_callback);
+
+ static SymbolFileCreateInstance
+ GetSymbolFileCreateCallbackAtIndex(uint32_t idx);
+
+ static SymbolFileCreateInstance
+ GetSymbolFileCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // SymbolVendor
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ SymbolVendorCreateInstance create_callback);
+
+ static bool UnregisterPlugin(SymbolVendorCreateInstance create_callback);
+
+ static SymbolVendorCreateInstance
+ GetSymbolVendorCreateCallbackAtIndex(uint32_t idx);
+
+ static SymbolVendorCreateInstance
+ GetSymbolVendorCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // UnwindAssembly
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ UnwindAssemblyCreateInstance create_callback);
+
+ static bool UnregisterPlugin(UnwindAssemblyCreateInstance create_callback);
+
+ static UnwindAssemblyCreateInstance
+ GetUnwindAssemblyCreateCallbackAtIndex(uint32_t idx);
+
+ static UnwindAssemblyCreateInstance
+ GetUnwindAssemblyCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // MemoryHistory
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(const ConstString &name, const char *description,
+ MemoryHistoryCreateInstance create_callback);
+
+ static bool UnregisterPlugin(MemoryHistoryCreateInstance create_callback);
+
+ static MemoryHistoryCreateInstance
+ GetMemoryHistoryCreateCallbackAtIndex(uint32_t idx);
+
+ static MemoryHistoryCreateInstance
+ GetMemoryHistoryCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // InstrumentationRuntime
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ InstrumentationRuntimeCreateInstance create_callback,
+ InstrumentationRuntimeGetType get_type_callback);
+
+ static bool
+ UnregisterPlugin(InstrumentationRuntimeCreateInstance create_callback);
+
+ static InstrumentationRuntimeGetType
+ GetInstrumentationRuntimeGetTypeCallbackAtIndex(uint32_t idx);
+
+ static InstrumentationRuntimeCreateInstance
+ GetInstrumentationRuntimeCreateCallbackAtIndex(uint32_t idx);
+
+ static InstrumentationRuntimeCreateInstance
+ GetInstrumentationRuntimeCreateCallbackForPluginName(const ConstString &name);
+
+ //------------------------------------------------------------------
+ // TypeSystem
+ //------------------------------------------------------------------
+ static bool RegisterPlugin(
+ const ConstString &name, const char *description,
+ TypeSystemCreateInstance create_callback,
+ TypeSystemEnumerateSupportedLanguages enumerate_languages_callback);
+
+ static bool UnregisterPlugin(TypeSystemCreateInstance create_callback);
+
+ static TypeSystemCreateInstance
+ GetTypeSystemCreateCallbackAtIndex(uint32_t idx);
+
+ static TypeSystemCreateInstance
+ GetTypeSystemCreateCallbackForPluginName(const ConstString &name);
+
+ static TypeSystemEnumerateSupportedLanguages
+ GetTypeSystemEnumerateSupportedLanguagesCallbackAtIndex(uint32_t idx);
+
+ static TypeSystemEnumerateSupportedLanguages
+ GetTypeSystemEnumerateSupportedLanguagesCallbackForPluginName(
+ const ConstString &name);
+
+ //------------------------------------------------------------------
+ // REPL
+ //------------------------------------------------------------------
+ static bool
+ RegisterPlugin(const ConstString &name, const char *description,
+ REPLCreateInstance create_callback,
+ REPLEnumerateSupportedLanguages enumerate_languages_callback);
+
+ static bool UnregisterPlugin(REPLCreateInstance create_callback);
+
+ static REPLCreateInstance GetREPLCreateCallbackAtIndex(uint32_t idx);
+
+ static REPLCreateInstance
+ GetREPLCreateCallbackForPluginName(const ConstString &name);
+
+ static REPLEnumerateSupportedLanguages
+ GetREPLEnumerateSupportedLanguagesCallbackAtIndex(uint32_t idx);
+
+ static REPLEnumerateSupportedLanguages
+ GetREPLSystemEnumerateSupportedLanguagesCallbackForPluginName(
+ const ConstString &name);
+
+ //------------------------------------------------------------------
+ // Some plug-ins might register a DebuggerInitializeCallback
+ // callback when registering the plug-in. After a new Debugger
+ // instance is created, this DebuggerInitialize function will get
+ // called. This allows plug-ins to install Properties and do any
+ // other initialization that requires a debugger instance.
+ //------------------------------------------------------------------
+ static void DebuggerInitialize(Debugger &debugger);
+
+ static lldb::OptionValuePropertiesSP
+ GetSettingForDynamicLoaderPlugin(Debugger &debugger,
const ConstString &setting_name);
- static bool
- CreateSettingForJITLoaderPlugin (Debugger &debugger,
- const lldb::OptionValuePropertiesSP &properties_sp,
- const ConstString &description,
- bool is_global_property);
+ static bool CreateSettingForDynamicLoaderPlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
+
+ static lldb::OptionValuePropertiesSP
+ GetSettingForPlatformPlugin(Debugger &debugger,
+ const ConstString &setting_name);
+
+ static bool CreateSettingForPlatformPlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
+
+ static lldb::OptionValuePropertiesSP
+ GetSettingForProcessPlugin(Debugger &debugger,
+ const ConstString &setting_name);
+
+ static bool CreateSettingForProcessPlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
+
+ static lldb::OptionValuePropertiesSP
+ GetSettingForSymbolFilePlugin(Debugger &debugger,
+ const ConstString &setting_name);
+
+ static bool CreateSettingForSymbolFilePlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
+
+ static lldb::OptionValuePropertiesSP
+ GetSettingForJITLoaderPlugin(Debugger &debugger,
+ const ConstString &setting_name);
+
+ static bool CreateSettingForJITLoaderPlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
+
+ static lldb::OptionValuePropertiesSP
+ GetSettingForOperatingSystemPlugin(Debugger &debugger,
+ const ConstString &setting_name);
+
+ static bool CreateSettingForOperatingSystemPlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
- static lldb::OptionValuePropertiesSP GetSettingForOperatingSystemPlugin(Debugger &debugger,
- const ConstString &setting_name);
+ static lldb::OptionValuePropertiesSP
+ GetSettingForStructuredDataPlugin(Debugger &debugger,
+ const ConstString &setting_name);
- static bool CreateSettingForOperatingSystemPlugin(Debugger &debugger,
- const lldb::OptionValuePropertiesSP &properties_sp,
- const ConstString &description, bool is_global_property);
+ static bool CreateSettingForStructuredDataPlugin(
+ Debugger &debugger, const lldb::OptionValuePropertiesSP &properties_sp,
+ const ConstString &description, bool is_global_property);
};
} // namespace lldb_private