![]() |
mFrame
|
終端機系統重啟命令類別 更多...
#include <TerminalCommandReboot.h>
公開方法(Public Methods) | |
| TerminalCommandReboot (const char *command=TEXT_COMMAND) noexcept | |
| 建構新的終端機系統重啟命令物件 | |
| virtual | ~TerminalCommandReboot (void) override |
| 解構終端機系統重啟命令物件 | |
| virtual const char * | getCommand (void) const override |
| 取得命令名稱。 | |
| virtual const char * | getDescription (void) const override |
| 取得命令描述。 | |
| virtual bool | onCommand (ufm::util::LineReader &lineReader, ufm::term::TerminalControl &control) override |
| 執行命令。 | |
| virtual bool | onTabComplete (ufm::util::LineReader &lineReader, ufm::lang::Appendable &appendable, ufm::term::TerminalControl &control) override |
| 當按下 Tab 鍵時執行自動補全功能 | |
| virtual bool | test (ufm::term::TerminalControl &t) override |
| 測試指定的終端機控制物件是否符合重啟條件 | |
| virtual void | onControlKey (ufm::util::Console::KeyControl key, bool alt) override |
| 處理控制鍵按鍵事件 | |
| virtual void | onFunctionKey (ufm::util::Console::KeyFunction key, bool alt) override |
| 處理功能鍵事件 | |
| virtual void | onKey (char key, bool alt) override |
| 處理一般字元鍵事件 | |
| bool | isRebooting (void) const |
| 檢查系統是否正在執行重啟程序 | |
| bool | cancelReboot (void) |
| 取消進行中的重啟操作 | |
公開方法(Public Methods) 繼承自 ufm::lang::Object | |
| void * | operator new (size_t n) |
| 使用運算子 new 分配記憶體 | |
| void * | operator new (size_t n, void *p) |
| 在指定記憶體上調用運算子 new | |
| virtual ufm::lang::Object & | getObject (void) override |
| 取得對應的 Object 物件 | |
| void | delay (int milliseconds) const |
| 延遲指定的毫秒數進行執行緒等待 | |
| bool | equals (Object *object) const |
| 判斷與另一物件是否為相同參照(指標型態比較) | |
| bool | equals (Object &object) const |
| 判斷與另一物件是否為相同參照(參照型態比較) | |
| void | wait (void) const |
| 使當前線程等待直到被通知 | |
| bool | wait (int timeout) const |
| 等待通知或超時 | |
| bool | yield (void) const |
| 讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
| int | lock (void) const |
| 核心鎖定,鎖定期間禁止線程切換 | |
| int | unlock (void) const |
| 核心解鎖 | |
| ufm::sys::Thread * | currentThread (void) const |
| 取得當前執行緒指標 | |
| virtual int | hashcode (void) const |
| 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
公開方法(Public Methods) 繼承自 ufm::lang::Interface | |
| virtual | ~Interface (void)=default |
| 虛擬析構函式 | |
靜態公開屬性 | |
| static constexpr const char *const | TEXT_COMMAND = "reboot" |
| 預設命令名稱 | |
終端機系統重啟命令類別
此類別實作了終端機的系統重啟功能,提供延遲重啟和立即重啟的命令。 繼承自多個介面:ufm::lang::Object、ufm::term::TerminalListener、 ufm::func::Predicate<ufm::term::TerminalControl> 和 ufm::util::Console::Event, 提供完整的重啟命令處理、條件判斷和鍵盤事件處理功能。
|
noexcept |
建構新的終端機系統重啟命令物件
初始化一個新的重啟命令物件,可以指定自訂的命令名稱。 如果未提供命令名稱,將使用預設的 "reboot" 命令。 同時初始化內部計時器和延遲相關變數。
| command | 命令字串,預設為 TEXT_COMMAND ("reboot") |
|
overridevirtual |
解構終端機系統重啟命令物件
清理物件資源並執行必要的清理作業。 此解構子為虛擬函式,確保正確的多型解構行為。
| bool ufm::term::TerminalCommandReboot::cancelReboot | ( | void | ) |
取消進行中的重啟操作
中止目前進行中的重啟程序,停止倒數計時並回到正常狀態。 只有在延遲重啟過程中才能成功取消。
|
overridevirtual |
|
overridevirtual |
| bool ufm::term::TerminalCommandReboot::isRebooting | ( | void | ) | const |
檢查系統是否正在執行重啟程序
檢查當前是否有進行中的重啟操作,包括延遲重啟的倒數狀態。
|
overridevirtual |
|
overridevirtual |
處理控制鍵按鍵事件
當使用者按下控制鍵(如 Ctrl+C 等)時,此方法會被呼叫。 可用於處理重啟過程中的中斷操作。
| key | 按下的控制鍵類型 |
| alt | 是否同時按下 Alt 鍵 |
|
overridevirtual |
處理功能鍵事件
當使用者按下功能鍵(如 F1-F12 等)時,此方法會被呼叫。 可用於提供重啟相關的快捷功能。
| key | 按下的功能鍵類型 |
| alt | 是否同時按下 Alt 鍵 |
|
overridevirtual |
處理一般字元鍵事件
當使用者按下一般字元鍵時,此方法會被呼叫。 可用於處理重啟過程中的使用者輸入。
| key | 按下的字元 |
| alt | 是否同時按下 Alt 鍵 |
|
overridevirtual |
當按下 Tab 鍵時執行自動補全功能
當使用者在終端機中按下 Tab 鍵時,此方法會被呼叫來提供命令補全功能。 可以根據當前輸入的內容提供適當的補全建議。
| lineReader | 當前行讀取器,包含使用者已輸入的內容 |
| appendable | 用於輸出補全結果的可附加介面 |
| control | 終端機控制介面,用於操作終端機狀態 |
|
overridevirtual |
測試指定的終端機控制物件是否符合重啟條件
檢查終端機控制物件的狀態,判斷是否可以執行重啟操作。 此方法實作 Predicate 介面,用於條件判斷。
| t | 要測試的終端機控制物件 |