OpenRTM-aist  1.2.1
クラス | 公開メンバ関数 | 全メンバ一覧
coil::Timer クラス

Timerクラス [詳解]

#include <Timer.h>

coil::Timer の継承関係図
Inheritance graph
[凡例]
coil::Timer 連携図
Collaboration graph
[凡例]

公開メンバ関数

 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)
 リスナー登録解除 [詳解]
 
- 基底クラス coil::Task に属する継承公開メンバ関数
 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 ()
 タスク実行を終了する [詳解]
 

その他の継承メンバ

- 基底クラス coil::Task に属する継承静的公開メンバ関数
static void * svc_run (void *args=0)
 スレッド実行を開始する [詳解]
 

詳解

Timerクラス

登録されたリスナーのコールバック関数を、設定された周期で定期的に呼び出す。

から
0.4.0

構築子と解体子

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リスナー起動周期
戻り値
登録リスナーID

参照元 registerListenerFunc(), registerListenerObj().

ListenerId coil::Timer::registerListenerFunc ( void(*)()  cbf,
TimeValue  tm 
)
inline

リスナー登録

コールバック対象メソッドと起動周期を指定してリスナーを登録する。

引数
cbfコールバック対象メソッド
tmリスナー起動周期
戻り値
登録リスナーID

参照先 registerListener(), coil::Task::Task(), unregisterListener().

template<class ListenerClass >
ListenerId coil::Timer::registerListenerObj ( ListenerClass *  obj,
void(ListenerClass::*)()  cbf,
TimeValue  tm 
)
inline

リスナー登録

コールバック対象オブジェクト、コールバック対象メソッドおよび起動周期を 指定してリスナーを登録する。

引数
objコールバック対象オブジェクト
cbfコールバック対象メソッド
tmリスナー起動周期
戻り値
登録リスナーID

参照先 registerListener().

void coil::Timer::start ( )

Timer タスク開始

Timer 用新規スレッドを生成し、処理を開始する。

void coil::Timer::stop ( )

Timer タスク停止

Timer タスクを停止する。

virtual int coil::Timer::svc ( void  )
virtual

Timer 用のスレッド実行関数

Timer 用のスレッド実行関数。 登録されたリスナーのコールバック関数を呼び出す。

戻り値
実行結果

coil::Taskを再実装しています。

bool coil::Timer::unregisterListener ( ListenerId  id)

リスナー登録解除

指定したIDのリスナーの登録を解除する。 指定したIDのリスナーが未登録の場合、false を返す。

引数
id登録解除対象リスナーID
戻り値
登録解除結果

参照元 registerListenerFunc().


このクラス詳解は次のファイルから抽出されました: