summaryrefslogtreecommitdiff
path: root/include/lldb/Core/PluginManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Core/PluginManager.h')
-rw-r--r--include/lldb/Core/PluginManager.h16
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,