diff options
Diffstat (limited to 'Kernel/KernelKit')
| -rw-r--r-- | Kernel/KernelKit/DebugOutput.hxx | 36 | ||||
| -rw-r--r-- | Kernel/KernelKit/User.hxx | 12 |
2 files changed, 25 insertions, 23 deletions
diff --git a/Kernel/KernelKit/DebugOutput.hxx b/Kernel/KernelKit/DebugOutput.hxx index f0c4565a..4e01381c 100644 --- a/Kernel/KernelKit/DebugOutput.hxx +++ b/Kernel/KernelKit/DebugOutput.hxx @@ -29,9 +29,9 @@ namespace Kernel { class TerminalDevice; - inline TerminalDevice& end_line(); - inline TerminalDevice& number(const Long& x); - inline TerminalDevice& hex_number(const Long& x); + inline TerminalDevice end_line(); + inline TerminalDevice number(const Long& x); + inline TerminalDevice hex_number(const Long& x); // @brief Emulates a VT100 terminal. class TerminalDevice final : public DeviceInterface<const Char*> @@ -53,34 +53,34 @@ namespace Kernel NEWOS_COPY_DEFAULT(TerminalDevice); - static TerminalDevice& The() noexcept; + STATIC TerminalDevice The() noexcept; }; - inline TerminalDevice& end_line() + inline TerminalDevice end_line() { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); selfTerm << "\r"; return selfTerm; } - inline TerminalDevice& carriage_return() + inline TerminalDevice carriage_return() { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); selfTerm << "\r"; return selfTerm; } - inline TerminalDevice& tabulate() + inline TerminalDevice tabulate() { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); selfTerm << "\t"; return selfTerm; } /// @brief emulate a terminal bell, like the VT100 does. - inline TerminalDevice& bell() + inline TerminalDevice bell() { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); selfTerm << "\a"; return selfTerm; } @@ -144,9 +144,9 @@ namespace Kernel } } // namespace Detail - inline TerminalDevice& hex_number(const Long& x) + inline TerminalDevice hex_number(const Long& x) { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); selfTerm << "0x"; Detail::_write_number_hex(x, selfTerm); @@ -154,18 +154,18 @@ namespace Kernel return selfTerm; } - inline TerminalDevice& number(const Long& x) + inline TerminalDevice number(const Long& x) { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); Detail::_write_number(x, selfTerm); return selfTerm; } - inline TerminalDevice& get_console_in(Char* buf) + inline TerminalDevice get_console_in(Char* buf) { - TerminalDevice& selfTerm = TerminalDevice::The(); + TerminalDevice selfTerm = TerminalDevice::The(); selfTerm >> buf; diff --git a/Kernel/KernelKit/User.hxx b/Kernel/KernelKit/User.hxx index a7aaa508..169a8bce 100644 --- a/Kernel/KernelKit/User.hxx +++ b/Kernel/KernelKit/User.hxx @@ -57,7 +57,7 @@ namespace Kernel public: /// @brief Get software ring const RingKind& Ring() noexcept; - + /// @brief Get user name StringView& Name() noexcept; @@ -67,6 +67,8 @@ namespace Kernel /// @brief Is she a super user? Bool IsSuperUser() noexcept; + Bool TrySave(const Char* password) noexcept; + private: RingKind fRing{RingKind::kRingStdUser}; StringView fUserName; @@ -77,7 +79,7 @@ namespace Kernel class UserManager final { - UserManager() = default; + UserManager() = default; ~UserManager() = default; User* fCurrentUser = nullptr; @@ -90,9 +92,9 @@ namespace Kernel NEWOS_COPY_DELETE(UserManager); STATIC UserManager* The() noexcept; - Bool TryLogIn(User* user, const Char* password) noexcept; - User* GetCurrent() noexcept; - Void TryLogOff() noexcept; + Bool TryLogIn(User* user, const Char* password) noexcept; + User* GetCurrent() noexcept; + Void TryLogOff() noexcept; }; } // namespace Kernel |
