diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-05 12:19:58 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-01-05 12:19:58 +0100 |
| commit | e0633b442140d49e08af6759bd07c89e16ef0e2a (patch) | |
| tree | c83a84f5df6b3f5d486a53e19cc8ad55cd082587 /dev/Kernel/KernelKit/DebugOutput.h | |
| parent | 5903f0c8eca69916c3acffcbe0a20a9af36fdf27 (diff) | |
ADD: Ran format command and refactors too.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/KernelKit/DebugOutput.h')
| -rw-r--r-- | dev/Kernel/KernelKit/DebugOutput.h | 71 |
1 files changed, 42 insertions, 29 deletions
diff --git a/dev/Kernel/KernelKit/DebugOutput.h b/dev/Kernel/KernelKit/DebugOutput.h index a3fc5a9d..490ffdec 100644 --- a/dev/Kernel/KernelKit/DebugOutput.h +++ b/dev/Kernel/KernelKit/DebugOutput.h @@ -38,8 +38,8 @@ namespace Kernel class TerminalDevice final ZKA_DEVICE<const Char*> { public: - TerminalDevice(void (*print)(const Char*), void (*get)(const Char*)) - : IDeviceObject<const Char*>(print, get) + TerminalDevice(void (*print)(const Char*), void (*gets)(const Char*)) + : IDeviceObject<const Char*>(print, gets) { } @@ -47,7 +47,7 @@ namespace Kernel /// @brief returns device name (terminal name) /// @return string type (const Char*) - virtual const Char* Name() const override + const Char* Name() const override { return ("TerminalDevice"); } @@ -59,35 +59,35 @@ namespace Kernel inline TerminalDevice end_line() { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - selfTerm.operator<<("\r"); - return selfTerm; + self.operator<<("\r"); + return self; } inline TerminalDevice carriage_return() { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - selfTerm.operator<<("\r"); - return selfTerm; + self.operator<<("\r"); + return self; } inline TerminalDevice tabulate() { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - selfTerm.operator<<("\t"); - return selfTerm; + self.operator<<("\t"); + return self; } /// @brief emulate a terminal bell, like the VT100 does. inline TerminalDevice bell() { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - selfTerm.operator<<("\a"); - return selfTerm; + self.operator<<("\a"); + return self; } namespace Detail @@ -151,30 +151,39 @@ namespace Kernel inline TerminalDevice hex_number(const Long& x) { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - Detail::_write_number_hex(x, selfTerm); - selfTerm.operator<<("h"); + Detail::_write_number_hex(x, self); + self.operator<<("h"); - return selfTerm; + return self; + } + + inline TerminalDevice number(const Char* x) + { + TerminalDevice self = TerminalDevice::The(); + + self << "?"; + + return self; } inline TerminalDevice number(const Long& x) { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - Detail::_write_number(x, selfTerm); + Detail::_write_number(x, self); - return selfTerm; + return self; } inline TerminalDevice get_console_in(Char* buf) { - TerminalDevice selfTerm = TerminalDevice::The(); + TerminalDevice self = TerminalDevice::The(); - selfTerm >> buf; + self >> buf; - return selfTerm; + return self; } typedef Char rt_debug_type[255]; @@ -185,14 +194,18 @@ namespace Kernel Int16 fPort[kDebugMaxPorts]; Int16 fBoundCnt; }; + + inline TerminalDevice& operator<<(TerminalDevice& src, auto number) + { + number(number, src); + return src; + } } // namespace Kernel #ifdef kcout #undef kcout #endif // ifdef kcout -#define kcout \ - (Kernel::TerminalDevice::The() << "\e[0;31m [Kernel] (Path: /" << __FILE__ << ") (Line: " << Kernel::number(__LINE__)); \ - (Kernel::TerminalDevice::The() << ") \e[0m" \ - << ": ") +#define kcout Kernel::TerminalDevice::The() << "\e[0;31m [ZKA] " << __FILE__ << " \e[0m: " + #define endl Kernel::TerminalDevice::The() << Kernel::end_line() |
