Timerクラス. [詳細]
#include <Timer.h>
構成 | |
struct | Task |
Public メソッド | |
Timer (TimeValue &interval) | |
コンストラクタ | |
virtual | ~Timer () |
virtual int | open (void *args) |
Timer 用スレッド生成. | |
virtual int | svc (void) |
Timer 用のスレッド実行関数. | |
void | start () |
Timer タスク開始. | |
void | stop () |
Timer タスク停止. | |
void | invoke () |
Timer タスク実行. | |
ListenerId | registerListener (ListenerBase *listener, TimeValue tm) |
リスナー登録 | |
template<class ListenerClass > | |
ListenerId | registerListenerObj (ListenerClass *obj, void(ListenerClass::*cbf)(), TimeValue tm) |
リスナー登録 | |
ListenerId | registerListenerFunc (void(*cbf)(), TimeValue tm) |
リスナー登録 | |
bool | unregisterListener (ListenerId id) |
リスナー登録解除 |
Timerクラス.
登録されたリスナーのコールバック関数を、設定された周期で定期的に呼び出す。
coil::Timer::Timer | ( | TimeValue & | interval | ) |
コンストラクタ
コンストラクタ
interval | タイマ起動周期 |
virtual coil::Timer::~Timer | ( | ) | [virtual] |
デストラクタ
void coil::Timer::invoke | ( | ) |
Timer タスク実行.
登録された各リスナの起動待ち時間からタイマ起動周期を減算する。 起動待ち時間がゼロとなったリスナが存在する場合は、 コールバック関数を呼び出す。
virtual int coil::Timer::open | ( | void * | args | ) | [virtual] |
Timer 用スレッド生成.
Timer 用の内部スレッドを生成し起動する。 これは ACE_Task サービスクラスメソッドのオーバーライド。
args | 通常は0 |
coil::Taskを再定義しています。
ListenerId coil::Timer::registerListener | ( | ListenerBase * | listener, | |
TimeValue | tm | |||
) |
リスナー登録
本 Timer から起動するコールバック関数用のリスナーを起動周期を指定して 登録する。 同一リスナーが既に登録済みの場合は、リスナーの起動周期を指定した値に 更新する。
listener | 登録対象リスナー | |
tm | リスナー起動周期 |
ListenerId coil::Timer::registerListenerFunc | ( | void(*)() | cbf, | |
TimeValue | tm | |||
) | [inline] |
リスナー登録
コールバック対象メソッドと起動周期を指定してリスナーを登録する。
cbf | コールバック対象メソッド | |
tm | リスナー起動周期 |
参照先 registerListener().
ListenerId coil::Timer::registerListenerObj | ( | ListenerClass * | obj, | |
void(ListenerClass::*)() | cbf, | |||
TimeValue | tm | |||
) | [inline] |
リスナー登録
コールバック対象オブジェクト、コールバック対象メソッドおよび起動周期を 指定してリスナーを登録する。
obj | コールバック対象オブジェクト | |
cbf | コールバック対象メソッド | |
tm | リスナー起動周期 |
参照先 registerListener().
virtual int coil::Timer::svc | ( | void | ) | [virtual] |
bool coil::Timer::unregisterListener | ( | ListenerId | id | ) |
リスナー登録解除
指定したIDのリスナーの登録を解除する。 指定したIDのリスナーが未登録の場合、false を返す。
id | 登録解除対象リスナーID |