RTC::Timer Class Reference

Timer class. More...

#include <Timer.h>

List of all members.

Public Member Functions

 Timer (TimeValue &interval)
 Constructor.
virtual ~Timer ()
 Destructor.
virtual int open (void *args)
 Create thread for Timer.
virtual int svc (void)
 Thread execution function for Timer.
void start ()
 Start Timer task.
void stop ()
 Stop Timer task.
void invoke ()
 Invoke Timer task.
ListenerId registerListener (ListenerBase *listener, TimeValue tm)
 Register listener.
template<class ListenerClass>
ListenerId registerListenerObj (ListenerClass *obj, void(ListenerClass::*cbf)(), TimeValue tm)
 Register listener.
ListenerId registerListenerFunc (void(*cbf)(), TimeValue tm)
 Register listener.
bool unregisterListener (ListenerId id)
 Unregister listener.

Classes

struct  Task


Detailed Description

Timer class.

Invoke the callback function of registered listener periodically at the set cycle.

Since:
0.4.0

Constructor & Destructor Documentation

RTC::Timer::Timer ( TimeValue interval  ) 

Constructor.

Constructor

Parameters:
interval The interval of timer

virtual RTC::Timer::~Timer (  )  [virtual]

Destructor.

Destructor


Member Function Documentation

virtual int RTC::Timer::open ( void *  args  )  [virtual]

Create thread for Timer.

Create an internal thread for Timer and launch it. This is an override of ACE_Task service class method.

Parameters:
args Usually 0
Returns:
Creation processing result

virtual int RTC::Timer::svc ( void   )  [virtual]

Thread execution function for Timer.

Thread execution function for Timer. Invoke the callback function of registered listener.

Returns:
Execution result

void RTC::Timer::start (  ) 

Start Timer task.

Create a new theread for Timer and start processing.

void RTC::Timer::stop (  ) 

Stop Timer task.

Stop Timer task.

void RTC::Timer::invoke (  ) 

Invoke Timer task.

Subtract the interval of timer from the waiting time for invocation of each registered listener. If the listener whose waiting time reached 0 exists, invoke the callback function.

ListenerId RTC::Timer::registerListener ( ListenerBase listener,
TimeValue  tm 
)

Register listener.

Register the listener of callback function invoked from this Timer by specifying the interval. If the same listener has already been regiseterd, the value specified the invocation interval of listener will be updated.

Parameters:
listener Listener for the registration
tm The invocation interval of listener
Returns:
ID of the registerd listener

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

Register listener.

Register listener by specifying the object for callback, the method for callback and the invocation interval.

Parameters:
obj Target object for callback
cbf Target method for callback
tm The invocation interval of listener
Returns:
ID of the registerd listener

ListenerId RTC::Timer::registerListenerFunc ( void(*)()  cbf,
TimeValue  tm 
) [inline]

Register listener.

Register listener by specifying the method for callback and the invocation interval.

Parameters:
cbf Target method for callback
tm The invocation interval of listener
Returns:
ID of the registerd listener

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

Unregister listener.

Unregister the listener specified by ID. If the listener specified by ID is not registerd, false will be returned.

Parameters:
id ID of the unregisterd listener
Returns:
Unregistration result


Generated on Thu May 29 15:03:33 2008 for OpenRTM by  doxygen 1.5.3