diff options
Diffstat (limited to 'deimos/core/os.h')
-rw-r--r-- | deimos/core/os.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/deimos/core/os.h b/deimos/core/os.h index 95b662b..88b1c55 100644 --- a/deimos/core/os.h +++ b/deimos/core/os.h @@ -2,6 +2,7 @@ #include "deimos/core/base.h"
#include "deimos/core/id_name.h"
+#include "deimos/core/io.h"
namespace deimos
{
@@ -21,7 +22,7 @@ public: virtual ~OsConsoleApi() = default;
- virtual void Write(OsConsoleType, Span<const char> data) = 0;
+ virtual void Write(OsConsoleType, Span<const std::byte> data) = 0;
};
class OsApi
@@ -32,5 +33,21 @@ public: OsConsoleApi* console{};
};
+class OsConsoleWriter : public IWriter
+{
+ OsConsoleApi* m_api;
+ OsConsoleType m_type;
+
+public:
+ constexpr OsConsoleWriter(OsConsoleApi* api, OsConsoleType type) :
+ m_api{api}, m_type{type}
+ {}
+
+ constexpr void Write(Span<const std::byte> data) override
+ {
+ m_api->Write(m_type, data);
+ }
+};
+
} // namespace deimos
|