#include <iso_event_scheduler.h>
Collaboration diagram for iso::event::EventScheduler:
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 | |
EventManager * | mEventManager |
pointer to event manager | |
bool | mBlocked |
Static Protected Attributes | |
static unsigned int | sUpdateInterval |
default update interval (in microsecs) |
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.
EventScheduler::EventScheduler | ( | EventManager * | pEventManager | ) |
constructor
pEventManager | pointer to event manager |
EventScheduler::EventScheduler | ( | EventManager * | pEventManager, | |
unsigned int | pUpdateInterval | |||
) |
constructor
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
void EventScheduler::setUpdateInterval | ( | unsigned int | pUpdateInterval | ) |
set update interval (in microsecs)
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
pEvent | event |
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
pPropagate | if true, the scheduler calls the info methods of all stored events |
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
pEvent | event to store |
void EventScheduler::processEvents | ( | ) | [protected] |
processes event list and executes events if necessary
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] |