From 00c0d78199fcfbbb20828be5e06fd2d271fa4c1e Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Sun, 24 Mar 2024 23:49:26 +0100 Subject: Initial commit --- deimos/core/api_registry.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 deimos/core/api_registry.h (limited to 'deimos/core/api_registry.h') diff --git a/deimos/core/api_registry.h b/deimos/core/api_registry.h new file mode 100644 index 0000000..2624935 --- /dev/null +++ b/deimos/core/api_registry.h @@ -0,0 +1,30 @@ +#pragma once + +#include "deimos/core/base.h" +#include "deimos/core/id_name.h" + +namespace deimos +{ + +class ApiRegistry +{ +public: + ApiRegistry() = default; + + deimos_NO_COPY_MOVE(ApiRegistry); + + virtual ~ApiRegistry() = default; + + virtual void Set(const IdName&, void* impl) = 0; + + template + void Set(Api* impl) + { + Set(Api::kApiName, impl); + } +}; + +ApiRegistry* InitializeGlobalApiRegistry(); + +} // namespace deimos + -- cgit