mFrame
載入中...
搜尋中...
無符合項目
ufm::term::Terminal 類別 參考文件
類別ufm::term::Terminal的繼承圖:
ufm::lang::Object ufm::term::TerminalControl ufm::lang::Updatable ufm::util::Console::Event ufm::lang::Appendable ufm::lang::Interface

公開方法(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::Readablein (void) override
 取得終端機輸入資料流
 
virtual ufm::io::PrintStreamout (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::Readablereadable (void)
 取得資料讀取介面
 
ufm::io::PrintStreamprintStream (void)
 取得列印輸出串流
 
ufm::util::Scannerscanner (void)
 取得輸入解析掃描器
 
ufm::term::TerminalIndexindex (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::ObjectgetObject (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::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Appendable
int put (ufm::lang::Readable &&readable)
 從右值 Readable 附加資料
 
bool isFull (void) const
 檢查緩衝區是否已滿
 

建構子與解構子說明文件

◆ Terminal()

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緩衝區

◆ ~Terminal()

virtual ufm::term::Terminal::~Terminal ( void )
overridevirtual

解構終端機物件

釋放終端機物件佔用的系統資源

函式成員說明文件

◆ getHostName()

virtual const char * ufm::term::Terminal::getHostName ( void ) const
overridevirtual

取得終端機主機名稱

此方法用於獲取終端機的主機名稱識別字串, 通常用於終端機提示符顯示或系統識別用途。

傳回值
const char* 主機名稱字串指標,不可為空

實作 ufm::term::TerminalControl.

◆ in()

virtual ufm::lang::Readable & ufm::term::Terminal::in ( void )
overridevirtual

取得終端機輸入資料流

此方法返回終端機的輸入資料流介面,用於從終端機讀取輸入資料。 通常用於處理使用者輸入、指令接收等操作。

傳回值
ufm::lang::Readable& 可讀取的輸入資料流參考

實作 ufm::term::TerminalControl.

◆ index()

ufm::term::TerminalIndex & ufm::term::Terminal::index ( void )
inline

取得終端機索引

提供對終端機指令索引的直接存取,用於管理終端機命令與事件監聽器

傳回值
ufm::term::TerminalIndex& 終端機索引介面的參考

◆ isPasswd()

virtual bool ufm::term::Terminal::isPasswd ( void ) const
overridevirtual

檢查是否啟用密碼輸入模式

此方法用於檢查終端機目前是否處於密碼輸入模式。 在密碼模式下,輸入的字元通常不會在螢幕上顯示,以保護敏感資訊。

傳回值
true 目前處於密碼模式
false 目前為一般輸入模式

實作 ufm::term::TerminalControl.

◆ onControlKey()

virtual void ufm::term::Terminal::onControlKey ( ufm::util::Console::KeyControl key,
bool alt )
overridevirtual

處理鍵盤按鍵事件

參數
key按下的鍵
alt是否按下 Alt 鍵

實作 ufm::util::Console::Event.

◆ onFunctionKey()

virtual void ufm::term::Terminal::onFunctionKey ( ufm::util::Console::KeyFunction key,
bool alt )
overridevirtual

處理功能鍵事件

參數
key功能鍵
alt是否按下 Alt 鍵

實作 ufm::util::Console::Event.

◆ onKey()

virtual void ufm::term::Terminal::onKey ( char key,
bool alt )
overridevirtual

處理普通鍵事件

參數
key按下的普通鍵

實作 ufm::util::Console::Event.

◆ operator ufm::io::PrintStream &()

ufm::term::Terminal::operator ufm::io::PrintStream & ( void )
inline

型別轉換為列印串流物件

提供隱式轉換至 PrintStream 介面,允許終端機作為輸出串流使用

傳回值
ufm::io::PrintStream& 列印串流介面的參考

◆ operator ufm::lang::Readable &()

ufm::term::Terminal::operator ufm::lang::Readable & ( void )
inline

型別轉換為可讀取物件

提供隱式轉換至 Readable 介面,允許終端機作為資料讀取來源使用

傳回值
ufm::lang::Readable& 可讀取介面的參考

◆ operator ufm::util::Scanner &()

ufm::term::Terminal::operator ufm::util::Scanner & ( void )
inline

型別轉換為掃描器物件

提供隱式轉換至 Scanner 介面,允許終端機作為輸入解析器使用

傳回值
ufm::util::Scanner& 掃描器介面的參考

◆ out()

virtual ufm::io::PrintStream & ufm::term::Terminal::out ( void )
overridevirtual

取得終端機輸出列印資料流

此方法返回終端機的輸出列印資料流介面,用於向終端機輸出文字資料。 PrintStream 支援格式化輸出,可用於顯示訊息、提示、錯誤等資訊。

傳回值
ufm::io::PrintStream& 可寫入的輸出列印資料流參考

實作 ufm::term::TerminalControl.

◆ pause()

virtual void ufm::term::Terminal::pause ( ufm::func::Predicate< ufm::term::TerminalControl > * test,
ufm::util::Console::Event * consoleEvent = nullptr )
overridevirtual

暫時暫停終端機控制處理,直到指定條件滿足

此抽象方法會阻塞 TerminalControl 的後續執行, 直到提供的謂詞返回 true 為止。 在阻塞期間,會反覆呼叫 test->evaluate(this) 來判斷是否解除暫停,以便外部或內部邏輯控制恢復時機。

參數
test指向封裝測試邏輯的 Predicate 物件指標。 當 test->evaluate(this) 返回 true 時, 暫停結束,繼續執行後續操作。
consoleEvent可選的 Console::Event 物件指標, 用於處理終端機事件。

實作 ufm::term::TerminalControl.

◆ printStream()

ufm::io::PrintStream & ufm::term::Terminal::printStream ( void )
inline

取得列印輸出串流

提供對內部列印串流的直接存取,用於向終端機輸出格式化文字

傳回值
ufm::io::PrintStream& 列印串流介面的參考

◆ put() [1/2]

virtual int ufm::term::Terminal::put ( const void * pointer,
int length )
overridevirtual

從記憶體指標附加資料至緩衝區

根據指定長度,將 pointer 指向的資料寫入緩衝區

參數
pointer資料來源位址
length要寫入的字節數
傳回值
int 實際寫入的字節數

實作 ufm::lang::Appendable.

◆ put() [2/2]

virtual int ufm::term::Terminal::put ( ufm::lang::Readable & readable)
overridevirtual

從 Readable 物件附加資料至緩衝區

迴圈從 readable 讀取並寫入緩衝區,直到耗盡或空間不足

參數
readable可讀資料來源
傳回值
int 實際寫入的字節數

實作 ufm::lang::Appendable.

◆ putByte()

virtual int ufm::term::Terminal::putByte ( const char data)
overridevirtual

輸入單一字節至緩衝區

參數
data要寫入的字節
傳回值
int 寫入後緩衝區剩餘空間(字節數)

實作 ufm::lang::Appendable.

◆ readable()

ufm::lang::Readable & ufm::term::Terminal::readable ( void )
inline

取得資料讀取介面

提供對內部可讀取物件的直接存取,用於讀取終端機輸入資料

傳回值
ufm::lang::Readable& 可讀取介面的參考

◆ refreshLine()

virtual void ufm::term::Terminal::refreshLine ( bool nextLine = true)
overridevirtual

換到下一行並重新刷新主機名稱與緩衝區資料

此方法會將終端機游標換到下一行,然後重新輸出主機名稱提示字元, 並清空輸入緩衝區資料。

參數
nextLine是否換到下一行,預設為 true

實作 ufm::term::TerminalControl.

◆ remaining()

virtual int ufm::term::Terminal::remaining ( void ) const
overridevirtual

取得緩衝區剩餘空閒字節數。

傳回值
int 剩餘的空閒字節數。

實作 ufm::lang::Appendable.

◆ scanner()

ufm::util::Scanner & ufm::term::Terminal::scanner ( void )
inline

取得輸入解析掃描器

提供對內部掃描器的直接存取,用於解析終端機輸入的資料格式

傳回值
ufm::util::Scanner& 掃描器介面的參考

◆ setHostName()

virtual void ufm::term::Terminal::setHostName ( const char * hostName)
overridevirtual

設定終端機主機名稱

此方法用於設定終端機的主機名稱識別字串, 設定後會影響終端機提示符的顯示內容。

參數
hostName要設定的主機名稱字串,不可為空指標

實作 ufm::term::TerminalControl.

◆ setPasswd()

virtual void ufm::term::Terminal::setPasswd ( bool passwd)
overridevirtual

設定密碼輸入模式

此方法用於開啟或關閉終端機的密碼輸入模式。 當啟用密碼模式時,使用者輸入的字元將不會顯示在螢幕上, 以保護密碼或其他敏感資訊的安全性。

參數
passwdtrue 啟用密碼模式,false 關閉密碼模式

實作 ufm::term::TerminalControl.

◆ update()

virtual void ufm::term::Terminal::update ( void )
overridevirtual

物件狀態更新方法

當系統需要更新物件狀態時被呼叫。 此方法會處理終端機的輸入輸出緩衝區,並執行必要的狀態同步操作。 實現類應在此方法中進行必要的狀態更新邏輯。

實作 ufm::lang::Updatable.


此類別(class) 文件是由下列檔案中產生: