OpenRTM-aist
1.2.1
|
Timerクラス [詳解]
#include <Timer.h>
公開メンバ関数 | |
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) |
リスナー登録解除 [詳解] | |
![]() | |
Task () | |
コンストラクタ [詳解] | |
virtual | ~Task () |
デストラクタ [詳解] | |
virtual int | close (unsigned long flags=0) |
タスククローズ [詳解] | |
virtual void | activate () |
スレッドを生成する [詳解] | |
virtual int | wait (void) |
スレッド終了を待つ [詳解] | |
virtual int | suspend (void) |
タスク実行を中断する [詳解] | |
virtual int | resume (void) |
中断されているタスクを再開する [詳解] | |
virtual void | reset () |
タスク数リセット [詳解] | |
virtual void | finalize () |
タスク実行を終了する [詳解] | |
その他の継承メンバ | |
![]() | |
static void * | svc_run (void *args=0) |
スレッド実行を開始する [詳解] | |
Timerクラス
登録されたリスナーのコールバック関数を、設定された周期で定期的に呼び出す。
coil::Timer::Timer | ( | TimeValue & | interval | ) |
コンストラクタ
コンストラクタ
interval | タイマ起動周期 |
|
virtual |
デストラクタ
デストラクタ
void coil::Timer::invoke | ( | ) |
Timer タスク実行
登録された各リスナの起動待ち時間からタイマ起動周期を減算する。 起動待ち時間がゼロとなったリスナが存在する場合は、 コールバック関数を呼び出す。
|
virtual |
Timer 用スレッド生成
Timer 用の内部スレッドを生成し起動する。 これは ACE_Task サービスクラスメソッドのオーバーライド。
args | 通常は0 |
coil::Taskを再実装しています。
ListenerId coil::Timer::registerListener | ( | ListenerBase * | listener, |
TimeValue | tm | ||
) |
リスナー登録
本 Timer から起動するコールバック関数用のリスナーを起動周期を指定して 登録する。 同一リスナーが既に登録済みの場合は、リスナーの起動周期を指定した値に 更新する。
listener | 登録対象リスナー |
tm | リスナー起動周期 |
|
inline |
リスナー登録
コールバック対象メソッドと起動周期を指定してリスナーを登録する。
cbf | コールバック対象メソッド |
tm | リスナー起動周期 |
参照先 registerListener(), coil::Task::Task(), unregisterListener().
|
inline |
リスナー登録
コールバック対象オブジェクト、コールバック対象メソッドおよび起動周期を 指定してリスナーを登録する。
obj | コールバック対象オブジェクト |
cbf | コールバック対象メソッド |
tm | リスナー起動周期 |
参照先 registerListener().
|
virtual |
bool coil::Timer::unregisterListener | ( | ListenerId | id | ) |
リスナー登録解除
指定したIDのリスナーの登録を解除する。 指定したIDのリスナーが未登録の場合、false を返す。
id | 登録解除対象リスナーID |