summaryrefslogtreecommitdiff
path: root/deimos/core/os.h
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-04 23:29:08 +0200
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-04 23:29:08 +0200
commit8970c40ce9a9a4e5f582b48f69b77bd90d8e678e (patch)
tree4f79981115baee14a25228755cdc81088ade2431 /deimos/core/os.h
parentf3ba19b162a89b2081c0598b4a0bf126146e3671 (diff)
Add DLL API
Diffstat (limited to 'deimos/core/os.h')
-rw-r--r--deimos/core/os.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/deimos/core/os.h b/deimos/core/os.h
index 88b1c55..3cff6ba 100644
--- a/deimos/core/os.h
+++ b/deimos/core/os.h
@@ -17,20 +17,32 @@ class OsConsoleApi
{
public:
OsConsoleApi() = default;
-
deimos_NO_COPY_MOVE(OsConsoleApi);
-
virtual ~OsConsoleApi() = default;
virtual void Write(OsConsoleType, Span<const std::byte> data) = 0;
};
+struct OsDll;
+
+class OsDllApi
+{
+public:
+ OsDllApi() = default;
+ deimos_NO_COPY_MOVE(OsDllApi);
+ virtual ~OsDllApi() = default;
+
+ virtual OsDll* Open(gsl::czstring) = 0;
+ virtual void* GetSymbol(OsDll*, gsl::czstring) = 0;
+};
+
class OsApi
{
public:
static constexpr IdName kApiName{"deimos::OsApi"};
OsConsoleApi* console{};
+ OsDllApi* dll{};
};
class OsConsoleWriter : public IWriter