![]() |
mFrame
|
公開方法(Public Methods) | |
Terminal (ufm::lang::Readable &readable, ufm::io::PrintStream &printStream, ufm::util::Scanner &&scanner, ufm::lang::Memory indexSetBuffer) | |
建構終端機物件 | |
virtual | ~Terminal (void) override |
解構終端機物件 | |
operator ufm::lang::Readable & (void) | |
型別轉換為可讀取物件 | |
operator ufm::io::PrintStream & (void) | |
型別轉換為列印串流物件 | |
operator ufm::util::Scanner & (void) | |
型別轉換為掃描器物件 | |
virtual void | pause (ufm::func::Predicate< ufm::term::TerminalControl > *test, ufm::util::Console::Event *consoleEvent=nullptr) override |
暫時暫停終端機控制處理,直到指定條件滿足 | |
virtual ufm::lang::Readable & | in (void) override |
取得終端機輸入資料流 | |
virtual ufm::io::PrintStream & | out (void) override |
取得終端機輸出列印資料流 | |
virtual const char * | getHostName (void) const override |
取得終端機主機名稱 | |
virtual void | setHostName (const char *hostName) override |
設定終端機主機名稱 | |
virtual bool | isPasswd (void) const override |
檢查是否啟用密碼輸入模式 | |
virtual void | setPasswd (bool passwd) override |
設定密碼輸入模式 | |
virtual void | refreshLine (bool nextLine=true) override |
換到下一行並重新刷新主機名稱與緩衝區資料 | |
virtual void | update (void) 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 |
處理普通鍵事件 | |
virtual int | remaining (void) const override |
取得緩衝區剩餘空閒字節數。 | |
virtual int | putByte (const char data) override |
輸入單一字節至緩衝區 | |
virtual int | put (ufm::lang::Readable &readable) override |
從 Readable 物件附加資料至緩衝區 | |
virtual int | put (const void *pointer, int length) override |
從記憶體指標附加資料至緩衝區 | |
ufm::lang::Readable & | readable (void) |
取得資料讀取介面 | |
ufm::io::PrintStream & | printStream (void) |
取得列印輸出串流 | |
ufm::util::Scanner & | scanner (void) |
取得輸入解析掃描器 | |
ufm::term::TerminalIndex & | index (void) |
取得終端機索引 | |
![]() | |
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提供的那樣。 | |
![]() | |
virtual | ~Interface (void)=default |
虛擬析構函式 | |
![]() | |
int | put (ufm::lang::Readable &&readable) |
從右值 Readable 附加資料 | |
bool | isFull (void) const |
檢查緩衝區是否已滿 | |
ufm::term::Terminal::Terminal | ( | ufm::lang::Readable & | readable, |
ufm::io::PrintStream & | printStream, | ||
ufm::util::Scanner && | scanner, | ||
ufm::lang::Memory | indexSetBuffer ) |
建構終端機物件
readable | 可讀取資料來源 |
printStream | 列印串流物件 |
buffer | 內部緩衝區記憶體 |
indexSetBuffer | 指令索引Set緩衝區 |
|
overridevirtual |
解構終端機物件
釋放終端機物件佔用的系統資源
|
overridevirtual |
取得終端機主機名稱
此方法用於獲取終端機的主機名稱識別字串, 通常用於終端機提示符顯示或系統識別用途。
|
overridevirtual |
|
inline |
|
overridevirtual |
檢查是否啟用密碼輸入模式
此方法用於檢查終端機目前是否處於密碼輸入模式。 在密碼模式下,輸入的字元通常不會在螢幕上顯示,以保護敏感資訊。
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
取得終端機輸出列印資料流
此方法返回終端機的輸出列印資料流介面,用於向終端機輸出文字資料。 PrintStream 支援格式化輸出,可用於顯示訊息、提示、錯誤等資訊。
|
overridevirtual |
暫時暫停終端機控制處理,直到指定條件滿足
此抽象方法會阻塞 TerminalControl 的後續執行, 直到提供的謂詞返回 true 為止。 在阻塞期間,會反覆呼叫 test->evaluate(this) 來判斷是否解除暫停,以便外部或內部邏輯控制恢復時機。
test | 指向封裝測試邏輯的 Predicate 物件指標。 當 test->evaluate(this) 返回 true 時, 暫停結束,繼續執行後續操作。 |
consoleEvent | 可選的 Console::Event 物件指標, 用於處理終端機事件。 |
|
inline |
|
overridevirtual |
從記憶體指標附加資料至緩衝區
根據指定長度,將 pointer 指向的資料寫入緩衝區
pointer | 資料來源位址 |
length | 要寫入的字節數 |
|
overridevirtual |
從 Readable 物件附加資料至緩衝區
迴圈從 readable 讀取並寫入緩衝區,直到耗盡或空間不足
readable | 可讀資料來源 |
|
overridevirtual |
|
inline |
|
overridevirtual |
換到下一行並重新刷新主機名稱與緩衝區資料
此方法會將終端機游標換到下一行,然後重新輸出主機名稱提示字元, 並清空輸入緩衝區資料。
nextLine | 是否換到下一行,預設為 true |
|
overridevirtual |
|
inline |
|
overridevirtual |
設定終端機主機名稱
此方法用於設定終端機的主機名稱識別字串, 設定後會影響終端機提示符的顯示內容。
hostName | 要設定的主機名稱字串,不可為空指標 |
|
overridevirtual |
設定密碼輸入模式
此方法用於開啟或關閉終端機的密碼輸入模式。 當啟用密碼模式時,使用者輸入的字元將不會顯示在螢幕上, 以保護密碼或其他敏感資訊的安全性。
passwd | true 啟用密碼模式,false 關閉密碼模式 |
|
overridevirtual |
物件狀態更新方法
當系統需要更新物件狀態時被呼叫。 此方法會處理終端機的輸入輸出緩衝區,並執行必要的狀態同步操作。 實現類應在此方法中進行必要的狀態更新邏輯。