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 | |
| 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')
| -rw-r--r-- | dev/Kernel/KernelKit/DebugOutput.h | 71 | ||||
| -rw-r--r-- | dev/Kernel/KernelKit/DeviceMgr.h | 2 | ||||
| -rw-r--r-- | dev/Kernel/KernelKit/UserProcessScheduler.h | 12 |
3 files changed, 49 insertions, 36 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() diff --git a/dev/Kernel/KernelKit/DeviceMgr.h b/dev/Kernel/KernelKit/DeviceMgr.h index 1c9233b7..81684f02 100644 --- a/dev/Kernel/KernelKit/DeviceMgr.h +++ b/dev/Kernel/KernelKit/DeviceMgr.h @@ -79,7 +79,7 @@ namespace Kernel return !fOut || !fIn; } - private: + protected: Void (*fOut)(T Data) = {nullptr}; Void (*fIn)(T Data) = {nullptr}; }; diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.h b/dev/Kernel/KernelKit/UserProcessScheduler.h index 452a55a3..a08a5dc1 100644 --- a/dev/Kernel/KernelKit/UserProcessScheduler.h +++ b/dev/Kernel/KernelKit/UserProcessScheduler.h @@ -262,14 +262,14 @@ namespace Kernel ZKA_COPY_DEFAULT(UserProcessTeam); Array<UserThread, kSchedProcessLimitPerTeam>& AsArray(); - Ref<UserThread>& AsRef(); - ProcessID& Id() noexcept; + Ref<UserThread>& AsRef(); + ProcessID& Id() noexcept; public: Array<UserThread, kSchedProcessLimitPerTeam> mProcessList; - Ref<UserThread> mCurrentProcess; - ProcessID mTeamId{0}; - ProcessID mProcessCount{0}; + Ref<UserThread> mCurrentProcess; + ProcessID mTeamId{0}; + ProcessID mProcessCount{0}; }; using UserProcessRef = UserThread&; @@ -302,7 +302,7 @@ namespace Kernel public: Ref<UserThread>& GetCurrentProcess(); - const SizeT Run() noexcept; + const SizeT Run() noexcept; public: STATIC UserProcessScheduler& The(); |
