mFrame
載入中...
搜尋中...
無符合項目
ufm::term::TerminalHelper 類別 參考文件

終端機輔助類別,提供命令管理和執行功能 更多...

#include <TerminalHelper.h>

類別ufm::term::TerminalHelper的繼承圖:
ufm::lang::Object ufm::term::TerminalListener ufm::lang::Interface

公開方法(Public Methods)

 TerminalHelper (ufm::util::Collection< ufm::term::TerminalListener * > &listeners, const char *indexName="") noexcept
 建構一個新的 TerminalHelper 物件
 
virtual ~TerminalHelper (void) override
 解構 TerminalHelper 物件
 
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 鍵補全功能
 
void setIndexName (const char *indexName)
 設定命令索引名稱
 
const char * getIndexName (void) const
 取得目前的命令索引名稱
 
- 公開方法(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
 虛擬析構函式
 

詳細描述

終端機輔助類別,提供命令管理和執行功能

此類別作為終端機命令的輔助工具,負責管理多個終端機監聽器集合, 並提供統一的命令執行介面。它繼承自 Object 和 TerminalListener, 可以作為一個命令處理器來使用。

主要功能包括:

  • 管理終端機監聽器集合
  • 提供命令名稱和描述
  • 處理命令執行邏輯
  • 支援 Tab 補全功能
作者
ZxyKira
日期
2020
版本
1.0

建構子與解構子說明文件

◆ TerminalHelper()

ufm::term::TerminalHelper::TerminalHelper ( ufm::util::Collection< ufm::term::TerminalListener * > & listeners,
const char * indexName = "" )
noexcept

建構一個新的 TerminalHelper 物件

參數
listeners終端機監聽器集合的參考,用於管理多個命令處理器
indexName命令索引名稱,預設為空字串
此建構函式不會拋出例外
參閱
~TerminalHelper()

◆ ~TerminalHelper()

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

解構 TerminalHelper 物件

清理所有相關資源,確保物件安全銷毀。

這是虛擬解構函式,確保多型物件正確銷毀

函式成員說明文件

◆ getCommand()

virtual const char * ufm::term::TerminalHelper::getCommand ( void ) const
overridevirtual

取得命令名稱

回傳此終端機輔助工具所對應的命令名稱, 用於終端機系統識別和呼叫此命令。

傳回值
const char* 命令名稱字串,不可為 nullptr
此方法覆寫自 TerminalListener 介面
參閱
getIndexName()

實作 ufm::term::TerminalListener.

◆ getDescription()

virtual const char * ufm::term::TerminalHelper::getDescription ( void ) const
overridevirtual

取得命令描述

回傳此命令的詳細描述資訊,通常用於顯示說明或協助資訊。

傳回值
const char* 命令描述字串,不可為 nullptr
此方法覆寫自 TerminalListener 介面

實作 ufm::term::TerminalListener.

◆ getIndexName()

const char * ufm::term::TerminalHelper::getIndexName ( void ) const
inline

取得目前的命令索引名稱

回傳目前設定的命令索引名稱,用於識別此命令處理器。

傳回值
const char* 命令索引名稱,保證不為 nullptr
回傳值為內部儲存的指標,不應修改其內容
參閱
setIndexName()

◆ onCommand()

virtual bool ufm::term::TerminalHelper::onCommand ( ufm::util::LineReader & lineReader,
ufm::term::TerminalControl & control )
overridevirtual

執行命令處理邏輯

當使用者輸入對應的命令時,此方法會被呼叫來處理命令執行。 會根據輸入的參數來決定要執行的具體操作。

參數
lineReader當前行讀取器,提供命令列輸入的解析功能
control終端機控制介面,用於輸出結果和控制終端機行為
傳回值
true 命令執行成功
false 命令執行失敗或發生錯誤
此方法覆寫自 TerminalListener 介面
參閱
onTabComplete()

實作 ufm::term::TerminalListener.

◆ onTabComplete()

virtual bool ufm::term::TerminalHelper::onTabComplete ( ufm::util::LineReader & lineReader,
ufm::lang::Appendable & appendable,
ufm::term::TerminalControl & control )
overridevirtual

處理 Tab 鍵補全功能

當使用者按下 Tab 鍵時,此方法會被呼叫來提供輸入補全建議。 根據當前輸入的內容,提供可能的補全選項。

參數
lineReader當前行讀取器,提供目前輸入內容的解析
appendable用於輸出補全結果的可附加介面
control終端機控制介面
傳回值
true 補全處理成功,有提供補全建議
false 補全處理失敗或無法提供建議
此方法覆寫自 TerminalListener 介面
參閱
onCommand()

實作 ufm::term::TerminalListener.

◆ setIndexName()

void ufm::term::TerminalHelper::setIndexName ( const char * indexName)
inline

設定命令索引名稱

更新此終端機輔助工具的命令索引名稱。如果傳入 nullptr, 則會自動設定為空字串。

參數
indexName要設定的新命令索引名稱,可以為 nullptr
這是一個內聯函式,效能較佳
參閱
getIndexName()

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