summaryrefslogtreecommitdiff
path: root/deimos/core/os.h
diff options
context:
space:
mode:
Diffstat (limited to 'deimos/core/os.h')
-rw-r--r--deimos/core/os.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/deimos/core/os.h b/deimos/core/os.h
new file mode 100644
index 0000000..af6a775
--- /dev/null
+++ b/deimos/core/os.h
@@ -0,0 +1,37 @@
+#pragma once
+
+#include "deimos/core/base.h"
+#include "deimos/core/id_name.h"
+
+namespace deimos
+{
+
+enum class OsConsoleType : uint8
+{
+ kStdOut,
+ kStdErr,
+};
+
+class OsConsoleApi
+{
+public:
+ OsConsoleApi() = default;
+
+ deimos_NO_COPY_MOVE(OsConsoleApi);
+
+ virtual ~OsConsoleApi() = default;
+
+ // @Todo Use span
+ virtual void Write(OsConsoleType, const char* data, int64 length) = 0;
+};
+
+class OsApi
+{
+public:
+ static constexpr IdName kApiName{"deimos::OsApi"};
+
+ OsConsoleApi* console{};
+};
+
+} // namespace deimos
+