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

應用程式管理器,管理應用程式實例的完整生命週期。 更多...

#include <Application.h>

類別ufm::util::Application的繼承圖:
ufm::lang::Object ufm::lang::Updatable ufm::func::Runnable ufm::lang::Interface

複合項目

struct  Listener
 應用程式生命週期監聽介面,定義應用程式的基本生命週期方法。 更多...
 

公開方法(Public Methods)

 Application (ufm::util::PArraySet &&set)
 建構 Application Manager,指定 PArraySet。
 
virtual ~Application (void) override
 解構 Application Manager。
 
virtual void update (void) override
 更新物件狀態。
 
virtual void run (void) override
 執行預定義操作。
 
virtual bool enqueue (Application::Listener &application)
 加入應用程式至管理佇列。
 
virtual bool removeFromQueue (Application::Listener &application)
 移除指定應用程式。
 
virtual bool markForRemoval (Application::Listener &application)
 標記應用程式準備移除。
 
void setUserTask (ufm::func::Runnable *task)
 設定使用者任務。
 
- 公開方法(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
 虛擬析構函式
 

詳細描述

應用程式管理器,管理應用程式實例的完整生命週期。

Application 類別負責管理所有應用程式實例的生命週期,包括創建、初始化、 執行、停止、銷毀等階段。使用 PArraySet 儲存並管理應用程式實例, 支援動態加入和移除應用程式。

使用範例:
// 定義應用程式實作
class MyApp : public ufm::util::Application::Listener {
private:
public:
void onCreate(void) override {
// 初始化資源
}
bool onInitialize(void) override {
// 初始化邏輯
return true;
}
void onRun(void) override {
// 主要執行邏輯
}
bool onStop(void) override {
// 停止處理
return true;
}
void onDestroy(void) override {
// 清理資源
}
ufm::util::ApplicationHandle& getApplicationHandle(void) override {
return handle;
}
};
// 建立應用程式管理器
ufm::util::PArraySet appSet(10); // 最多管理 10 個應用程式
ufm::util::Application appManager(appSet); // 使用複製而非移動語義
// 建立並加入應用程式
MyApp app1, app2;
appManager.enqueue(app1);
appManager.enqueue(app2);
// 設定使用者任務
appManager.setUserTask(&appManager); // 使用自身作為任務
// 主執行迴圈
while (running) {
appManager.update(); // 更新所有應用程式狀態
appManager.run(); // 執行應用程式邏輯
}
// 移除特定應用程式
appManager.markForRemoval(app1); // 標記移除
appManager.update(); // 實際移除
應用程式處理器類別,負責管理應用程式的生命週期狀態與資源使用率。
Definition ApplicationHandle.h:107
應用程式管理器,管理應用程式實例的完整生命週期。
Definition Application.h:107
基於陣列的集合容器實作
Definition PArraySet.h:155
應用程式生命週期監聽介面,定義應用程式的基本生命週期方法。
Definition Application.h:294
參閱
ufm::util::Application::Listener
ufm::util::ApplicationHandle
ufm::util::PArraySet
1.0.0

建構子與解構子說明文件

◆ Application()

ufm::util::Application::Application ( ufm::util::PArraySet && set)

建構 Application Manager,指定 PArraySet。

參數
set應用程式儲存集合

函式成員說明文件

◆ enqueue()

virtual bool ufm::util::Application::enqueue ( Application::Listener & application)
virtual

加入應用程式至管理佇列。

參數
application應用程式實例
傳回值
true 成功;false 失敗

◆ markForRemoval()

virtual bool ufm::util::Application::markForRemoval ( Application::Listener & application)
virtual

標記應用程式準備移除。

參數
application應用程式實例
傳回值
true 成功;false 失敗

◆ removeFromQueue()

virtual bool ufm::util::Application::removeFromQueue ( Application::Listener & application)
virtual

移除指定應用程式。

參數
application應用程式實例
傳回值
true 成功;false 失敗

◆ run()

virtual void ufm::util::Application::run ( void )
overridevirtual

執行預定義操作。

實作 ufm::func::Runnable.

◆ setUserTask()

void ufm::util::Application::setUserTask ( ufm::func::Runnable * task)
inline

設定使用者任務。

參數
task使用者任務指標,若為 nullptr 則設為自身。

◆ update()

virtual void ufm::util::Application::update ( void )
overridevirtual

更新物件狀態。

實作 ufm::lang::Updatable.


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