From 8970c40ce9a9a4e5f582b48f69b77bd90d8e678e Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Thu, 4 Apr 2024 23:29:08 +0200 Subject: Add DLL API --- deimos/core/os_win32.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'deimos/core/os_win32.cpp') diff --git a/deimos/core/os_win32.cpp b/deimos/core/os_win32.cpp index ca608d8..1c6b664 100644 --- a/deimos/core/os_win32.cpp +++ b/deimos/core/os_win32.cpp @@ -35,14 +35,30 @@ public: } }; +class Win32OsDllApiImpl : public OsDllApi +{ +public: + OsDll* Open(gsl::czstring name) override + { + return std::bit_cast(::LoadLibraryA(name)); + } + + void* GetSymbol(OsDll* dll, gsl::czstring name) override + { + return std::bit_cast(::GetProcAddress(std::bit_cast(dll), name)); + } +}; + class Win32OsApiImpl : public OsApi { Win32OsConsoleApiImpl m_console_api; + Win32OsDllApiImpl m_dll_api; public: Win32OsApiImpl() { console = &m_console_api; + dll = &m_dll_api; } }; -- cgit