iso::event::EventScheduler Class Reference

schedules events More...

#include <iso_event_scheduler.h>

Collaboration diagram for iso::event::EventScheduler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 EventScheduler (EventManager *pEventManager)
 constructor
 EventScheduler (EventManager *pEventManager, unsigned int pUpdateInterval)
 constructor
 ~EventScheduler ()
 destructor
void setUpdateInterval (unsigned int pUpdateInterval)
 set update interval (in microsecs)
unsigned int eventCount () const
 return number of events currently scheduled for execution \ return number of events currently scheduled for execution
void scheduleEvent (Event *pEvent)
 add event to scheduler
void removeEvents ()
 remove all events from scheduler
void update ()
 manually update event scheduler
void run ()
 thread run function
void stop ()
 stop scheduler
base::String info (bool pPropagate=false) const
 obtain textual scheduler information

Static Public Attributes

static const base::String sClassName
 default name

Protected Member Functions

 EventScheduler ()
 default constructor
void checkEvents ()
 check temporary event vector
void storeEvent (Event *pEvent)
 store event in event list
void processEvents ()
 processes event list and executes events if necessary

Protected Attributes

unsigned int mUpdateInterval
 update interval (in microsecs)
bool mTerminated
 flag to tell the thread to either run or stop
QList< Event * > mEvents
 time sorted list of events
QVector< Event * > mTmpEvents
 unSorted vector of events
EventManagermEventManager
 pointer to event manager
bool mBlocked

Static Protected Attributes

static unsigned int sUpdateInterval
 default update interval (in microsecs)

Detailed Description

schedules events

stores events for later execution
executes all events that are ready

Created by Daniel Bisig on 7/14/06. Copyright 2006 Daniel Bisig All rights reserved.


Constructor & Destructor Documentation

EventScheduler::EventScheduler ( EventManager pEventManager  ) 

constructor

Parameters:
pEventManager pointer to event manager

EventScheduler::EventScheduler ( EventManager pEventManager,
unsigned int  pUpdateInterval 
)

constructor

Parameters:
pEventManager pointer to event manager
pUpdateInterval update interval ( > 0 : automated update interval in microsecs, == 0 : manual update )

EventScheduler::~EventScheduler (  ) 

destructor

EventScheduler::EventScheduler (  )  [protected]

default constructor


Member Function Documentation

void EventScheduler::setUpdateInterval ( unsigned int  pUpdateInterval  ) 

set update interval (in microsecs)

Parameters:
pUpdateInterval update interval (in microsecs)

unsigned int EventScheduler::eventCount (  )  const

return number of events currently scheduled for execution \ return number of events currently scheduled for execution

void EventScheduler::scheduleEvent ( Event pEvent  ) 

add event to scheduler

Parameters:
pEvent event
adds event to temporary event vector

void EventScheduler::removeEvents (  ) 

remove all events from scheduler

void EventScheduler::update (  ) 

manually update event scheduler

void EventScheduler::run (  ) 

thread run function

void EventScheduler::stop (  ) 

stop scheduler

base::String EventScheduler::info ( bool  pPropagate = false  )  const

obtain textual scheduler information

Parameters:
pPropagate if true, the scheduler calls the info methods of all stored events
Returns:
base::String containing scheduler information

void EventScheduler::checkEvents (  )  [protected]

check temporary event vector

removes events from the temporary event vector and: a) executes them right away b) transfers them into the event list for later execution

void EventScheduler::storeEvent ( Event pEvent  )  [protected]

store event in event list

Parameters:
pEvent event to store
inserts event in a temporally sorted manner

void EventScheduler::processEvents (  )  [protected]

processes event list and executes events if necessary


Member Data Documentation

const base::String EventScheduler::sClassName [static]

default name

unsigned int EventScheduler::sUpdateInterval [static, protected]

default update interval (in microsecs)

unsigned int iso::event::EventScheduler::mUpdateInterval [protected]

update interval (in microsecs)

bool iso::event::EventScheduler::mTerminated [protected]

flag to tell the thread to either run or stop

flag to tell the thread to either run or stop

false: thread keeps running true: thread stops

QList<Event*> iso::event::EventScheduler::mEvents [protected]

time sorted list of events

QVector<Event*> iso::event::EventScheduler::mTmpEvents [protected]

unSorted vector of events

in order to avoid event being inserted by threads while the scheduler is processing threads this vector is a temporary storage for events till the scheduler has time to insert them into the regular vector

EventManager* iso::event::EventScheduler::mEventManager [protected]

pointer to event manager

bool iso::event::EventScheduler::mBlocked [protected]


The documentation for this class was generated from the following files:
Generated on Fri Feb 25 13:58:19 2011 for iso_event by  doxygen 1.5.1