impr: Refactor disassembler system to make it more modular

This commit is contained in:
WerWolv
2024-12-26 18:41:34 +01:00
parent f11205bba7
commit a76c6c653d
11 changed files with 570 additions and 323 deletions

View File

@@ -1391,4 +1391,23 @@ namespace hex {
}
namespace ContentRegistry::Disassembler {
namespace impl {
static AutoReset<std::map<std::string, impl::CreatorFunction>> s_architectures;
void addArchitectureCreator(impl::CreatorFunction function) {
const auto arch = function();
(*s_architectures)[arch->getName()] = std::move(function);
}
const std::map<std::string, impl::CreatorFunction>& getArchitectures() {
return *s_architectures;
}
}
}
}