#include "deimos/core/api_registry.h" #include "deimos/core/allocator.h" #include "deimos/core/hash.h" namespace deimos { AllocatorApi* BootstrapAllocatorApi(); struct ApiEntry { const ApiEntry* next{}; IdName name; void* impl; ApiEntry(const IdName& name, void* impl) : name{name}, impl{impl} {} }; class ApiRegistryImpl: public ApiRegistry { IAllocator* m_allocator; public: explicit ApiRegistryImpl(IAllocator* allocator) : m_allocator{allocator} {} void Set(const IdName& name, void* impl) final { } }; ApiRegistry* InitializeGlobalApiRegistry() { AllocatorApi* allocator_api = BootstrapAllocatorApi(); IAllocator* allocator = allocator_api->system; ApiRegistry* api_registry = allocator->New(); api_registry->Set(allocator_api); return api_registry; } } // namespace deimos