diff options
Diffstat (limited to 'include/lldb/Core/PluginManager.h')
-rw-r--r-- | include/lldb/Core/PluginManager.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/lldb/Core/PluginManager.h b/include/lldb/Core/PluginManager.h index d9851e5ecfc1e..68e6ca20b2662 100644 --- a/include/lldb/Core/PluginManager.h +++ b/include/lldb/Core/PluginManager.h @@ -10,6 +10,7 @@ #ifndef liblldb_PluginManager_h_ #define liblldb_PluginManager_h_ +#include "lldb/Core/Architecture.h" #include "lldb/Utility/FileSpec.h" #include "lldb/Utility/Status.h" // for Status #include "lldb/lldb-enumerations.h" // for ScriptLanguage @@ -54,6 +55,21 @@ public: GetABICreateCallbackForPluginName(const ConstString &name); //------------------------------------------------------------------ + // Architecture + //------------------------------------------------------------------ + using ArchitectureCreateInstance = + std::unique_ptr<Architecture> (*)(const ArchSpec &); + + static void RegisterPlugin(const ConstString &name, + llvm::StringRef description, + ArchitectureCreateInstance create_callback); + + static void UnregisterPlugin(ArchitectureCreateInstance create_callback); + + static std::unique_ptr<Architecture> + CreateArchitectureInstance(const ArchSpec &arch); + + //------------------------------------------------------------------ // Disassembler //------------------------------------------------------------------ static bool RegisterPlugin(const ConstString &name, const char *description, |