Home C-Bits Package Documentation Project Page

Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

cbits::CallbackTimer_PTHREAD Class Reference

PTHREADS implementation of the cbits::CallbackTimer class. More...

#include <CallbackTimer_PTHREAD.h>

Inheritance diagram for cbits::CallbackTimer_PTHREAD:

[legend]
Collaboration diagram for cbits::CallbackTimer_PTHREAD:
[legend]
List of all members.

Public Types

enum  Type { SINGLE = 1, PERIODIC = 2 }
 Timer types. More...


Public Methods

 CallbackTimer_PTHREAD (const Type t, const long tm, CallbackTimerListener &cl)
virtual ~CallbackTimer_PTHREAD ()
 Destructor. More...

const bool start ()
 Start the timer. More...

const bool stop ()
 Stop the timer. More...

virtual void run ()
 Runnable implementation. More...

const bool isStopped () const
 Test if the timer is stopped or expired. More...

const Thread *const getThread () const
 Accessor for the cbits::Thread object that's executing this timer. More...


Static Public Methods

CallbackTimercreate (const Type t, const long tm, CallbackTimerListener &cl)
 Create a callback timer instance. More...


Protected Methods

virtual const bool impl_lock_obj () const
 Lock the object against concurrent access. More...

virtual const bool impl_unlock_obj () const
 Unlock the object. More...

virtual const bool impl_wait (const long msec)
 Block the current thread until the specified time interval has expired. More...

virtual const bool impl_signal ()
 Unblock the thread that is blocked in impl_wait. More...


Detailed Description

PTHREADS implementation of the cbits::CallbackTimer class.


Member Enumeration Documentation

enum cbits::CallbackTimer::Type [inherited]
 

Timer types.

Enumeration values:
SINGLE  Execute one interval.
PERIODIC  Execute repeatedly.


Constructor & Destructor Documentation

CallbackTimer_PTHREAD::CallbackTimer_PTHREAD const Type    t,
const long    tm,
CallbackTimerListener   cl
 

Parameters:
t  timer type *
tm  time interval (msec)
cl  user callback *

CallbackTimer_PTHREAD::~CallbackTimer_PTHREAD   [virtual]
 

Destructor.


Member Function Documentation

CallbackTimer * CallbackTimer::create const Type    t,
const long    tm,
CallbackTimerListener   cl
[static, inherited]
 

Create a callback timer instance.

Create an initialized timer. The timer must not 'run' until the start method is invoked.

Returns:
a new callback timer.
@raises CallbackTimerException if the timer can not be created.
Parameters:
t  Timer type.
tm  interval (msec)
cl  Callback object.

const Thread* const cbits::CallbackTimer::getThread   const [inline, inherited]
 

Accessor for the cbits::Thread object that's executing this timer.

const bool CallbackTimer_PTHREAD::impl_lock_obj   const [protected, virtual]
 

Lock the object against concurrent access.

This implementation locks a pthread_mutex_t mutex.

Implements cbits::CallbackTimer.

const bool CallbackTimer_PTHREAD::impl_signal   [protected, virtual]
 

Unblock the thread that is blocked in impl_wait.

This implementation signals the condition variable used in impl_wait to block the thread.

Implements cbits::CallbackTimer.

const bool CallbackTimer_PTHREAD::impl_unlock_obj   const [protected, virtual]
 

Unlock the object.

This implementation unlocks the pthread_t mutex that was locked by the impl_lock method.

Implements cbits::CallbackTimer.

const bool CallbackTimer_PTHREAD::impl_wait const long    msec [protected, virtual]
 

Block the current thread until the specified time interval has expired.

This implementation uses a 'timed-wait' on a pthread_cond_t condition variable.

Implements cbits::CallbackTimer.

const bool CallbackTimer::isStopped   const [inherited]
 

Test if the timer is stopped or expired.

void CallbackTimer::run   [virtual, inherited]
 

Runnable implementation.

Not for client use.

Implements cbits::Runnable.

const bool CallbackTimer::start   [inherited]
 

Start the timer.

Returns:
true if the timer was successfully started; otherwise, false.

const bool CallbackTimer::stop   [inherited]
 

Stop the timer.

Returns:
true if the timer was stopped; otherwise, false.


The documentation for this class was generated from the following files:
Generated by
doxygen
Hosted by
SourceForge