クラス coil::Timer

Timerクラス. [詳細]

#include <Timer.h>

coil::Timerに対する継承グラフ
coil::Task

すべてのメンバ一覧

構成

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クラス.

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

から:
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().

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
戻り値:
登録解除結果
OpenRTM-aistに対してFri Oct 28 18:31:15 2016に生成されました。  doxygen 1.6.3