Homepage Demos Overview Downloads Tutorials Reference
Credits

EventGeneratorBase Class Reference

#include <EventGeneratorBase.h>

Inheritance diagram for EventGeneratorBase:

Inheritance graph
[legend]
List of all members.

Detailed Description

A simple convenience class for event generators.

Note that you don't need to inherit from this class to be able to send events! Any code can send any event any time, just by calling one of the EventRouter::postEvent() functions.

Uses a BehaviorBase base class so that you can start and stop it.

Allows variable settings of the generator id and source id for outgoing events as well as automatic handling of listening/unlistening for a single optional event source. If you want something more fancy that that though, you'll have to override DoStart/DoStop yourself. (or extend/modify this class...)

Definition at line 21 of file EventGeneratorBase.h.

Public Member Functions

virtual ~EventGeneratorBase ()
 destructor - does nothing
virtual void DoStart ()
 By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.
virtual void DoStop ()
 By default, subtracts from the reference counter (RemoveReference()), and thus may deletex if zero; Don't forget to still call this when you override this; Warning: call this at the end of your DoStop(), not beginning (it might delete this ).
virtual void processEvent (const EventBase &event)
 if autolistening, will receive EventRouter events concerning our own listeners
virtual EventBase::EventGeneratorID_t getGeneratorID ()
 return the generator ID that will be broadcast from
virtual void setGeneratorID (EventBase::EventGeneratorID_t gid)
 set the generator ID that will be broadcast from (typically it's a bad idea to call this...)
virtual unsigned int getSourceID ()
 return the source ID that will be broadcast on
virtual void setSourceID (unsigned int sid)
 set the source ID that will be broadcast on
virtual unsigned int getListenSourceID () const
 returns the source ID that will be listened for (not the source of the FilterBankEvent to be created - that depends on the subclass)
virtual EventBase::EventGeneratorID_t getListenGeneratorID () const
 returns the generator ID that will be listened for (not the generator of the FilterBankEvent to be created - that depends on the subclass)
virtual void setAutoListen (EventBase::EventGeneratorID_t gid, unsigned int sid)
 turns on auto listening to make it easier to set up dependancies between vision filters
virtual void unsetAutoListen ()
 turns off auto listening

Protected Member Functions

Constructors
 EventGeneratorBase (const std::string &name, EventBase::EventGeneratorID_t mgid, unsigned int msid)
 EventGeneratorBase (const std::string &name, EventBase::EventGeneratorID_t mgid, unsigned int msid, EventBase::EventGeneratorID_t srcgid, unsigned int srcsid)
 EventGeneratorBase (const std::string &classname, const std::string &instancename, EventBase::EventGeneratorID_t mgid, unsigned int msid)
 EventGeneratorBase (const std::string &classname, const std::string &instancename, EventBase::EventGeneratorID_t mgid, unsigned int msid, EventBase::EventGeneratorID_t srcgid, unsigned int srcsid)

Protected Attributes

EventBase::EventGeneratorID_t myGenID
 the generator ID to broadcast on
unsigned int mySourceID
 the source ID to broadcast on
bool autoListen
 if true, will automatically start listening for EventBase(genID,sourceID) events
bool isListening
 true if listening triggered by autoListen
EventBase::EventGeneratorID_t srcGenID
 the generator ID to listen for (typically the source that this filter works on)
unsigned int srcSourceID
 the source ID to listen for


Constructor & Destructor Documentation

virtual EventGeneratorBase::~EventGeneratorBase  )  [inline, virtual]
 

destructor - does nothing

Definition at line 27 of file EventGeneratorBase.h.

EventGeneratorBase::EventGeneratorBase const std::string &  name,
EventBase::EventGeneratorID_t  mgid,
unsigned int  msid
[inline, protected]
 

Definition at line 63 of file EventGeneratorBase.h.

EventGeneratorBase::EventGeneratorBase const std::string &  name,
EventBase::EventGeneratorID_t  mgid,
unsigned int  msid,
EventBase::EventGeneratorID_t  srcgid,
unsigned int  srcsid
[inline, protected]
 

Definition at line 66 of file EventGeneratorBase.h.

EventGeneratorBase::EventGeneratorBase const std::string &  classname,
const std::string &  instancename,
EventBase::EventGeneratorID_t  mgid,
unsigned int  msid
[inline, protected]
 

Definition at line 69 of file EventGeneratorBase.h.

EventGeneratorBase::EventGeneratorBase const std::string &  classname,
const std::string &  instancename,
EventBase::EventGeneratorID_t  mgid,
unsigned int  msid,
EventBase::EventGeneratorID_t  srcgid,
unsigned int  srcsid
[inline, protected]
 

Definition at line 72 of file EventGeneratorBase.h.


Member Function Documentation

void EventGeneratorBase::DoStart  )  [virtual]
 

By default, merely adds to the reference counter (through AddReference()); Note you should still call this from your overriding methods.

Reimplemented from BehaviorBase.

Definition at line 7 of file EventGeneratorBase.cc.

void EventGeneratorBase::DoStop  )  [virtual]
 

By default, subtracts from the reference counter (RemoveReference()), and thus may deletex if zero; Don't forget to still call this when you override this; Warning: call this at the end of your DoStop(), not beginning (it might delete this ).

Reimplemented from BehaviorBase.

Definition at line 19 of file EventGeneratorBase.cc.

virtual EventBase::EventGeneratorID_t EventGeneratorBase::getGeneratorID  )  [inline, virtual]
 

return the generator ID that will be broadcast from

Definition at line 41 of file EventGeneratorBase.h.

Referenced by DoStart(), SegmentedColorGenerator::processEvent(), RLEGenerator::processEvent(), RegionGenerator::processEvent(), RawCameraGenerator::processEvent(), JPEGGenerator::processEvent(), InterleavedYUVGenerator::processEvent(), processEvent(), CDTGenerator::processEvent(), and setAutoListen().

virtual EventBase::EventGeneratorID_t EventGeneratorBase::getListenGeneratorID  )  const [inline, virtual]
 

returns the generator ID that will be listened for (not the generator of the FilterBankEvent to be created - that depends on the subclass)

Definition at line 53 of file EventGeneratorBase.h.

Referenced by DoStart(), SegmentedColorGenerator::processEvent(), RLEGenerator::processEvent(), RegionGenerator::processEvent(), RawCameraGenerator::processEvent(), JPEGGenerator::processEvent(), InterleavedYUVGenerator::processEvent(), FilterBankGenerator::processEvent(), processEvent(), CDTGenerator::processEvent(), BallDetectionGenerator::processEvent(), setAutoListen(), and unsetAutoListen().

virtual unsigned int EventGeneratorBase::getListenSourceID  )  const [inline, virtual]
 

returns the source ID that will be listened for (not the source of the FilterBankEvent to be created - that depends on the subclass)

Definition at line 51 of file EventGeneratorBase.h.

Referenced by DoStart(), SegmentedColorGenerator::processEvent(), RLEGenerator::processEvent(), RegionGenerator::processEvent(), RawCameraGenerator::processEvent(), JPEGGenerator::processEvent(), InterleavedYUVGenerator::processEvent(), FilterBankGenerator::processEvent(), processEvent(), CDTGenerator::processEvent(), BallDetectionGenerator::processEvent(), setAutoListen(), and unsetAutoListen().

virtual unsigned int EventGeneratorBase::getSourceID  )  [inline, virtual]
 

return the source ID that will be broadcast on

Definition at line 46 of file EventGeneratorBase.h.

Referenced by DoStart(), SegmentedColorGenerator::processEvent(), RLEGenerator::processEvent(), RegionGenerator::processEvent(), RawCameraGenerator::processEvent(), JPEGGenerator::processEvent(), InterleavedYUVGenerator::processEvent(), processEvent(), CDTGenerator::processEvent(), and setAutoListen().

void EventGeneratorBase::processEvent const EventBase event  )  [virtual]
 

if autolistening, will receive EventRouter events concerning our own listeners

This will automatically reduce overhead by eliminating chains of events thrown that don't have any end listeners. However, this might mean your subclass's processEvent will be receiving the events from erouterEGID, and will need to call EventGeneratorBase::processEvent() in order to allow them to be used

Reimplemented from BehaviorBase.

Reimplemented in BallDetectionGenerator, CDTGenerator, FilterBankGenerator, InterleavedYUVGenerator, JPEGGenerator, RawCameraGenerator, RegionGenerator, RLEGenerator, and SegmentedColorGenerator.

Definition at line 26 of file EventGeneratorBase.cc.

Referenced by RawCameraGenerator::processEvent(), FilterBankGenerator::processEvent(), CDTGenerator::processEvent(), and BallDetectionGenerator::processEvent().

void EventGeneratorBase::setAutoListen EventBase::EventGeneratorID_t  gid,
unsigned int  sid
[virtual]
 

turns on auto listening to make it easier to set up dependancies between vision filters

Definition at line 45 of file EventGeneratorBase.cc.

virtual void EventGeneratorBase::setGeneratorID EventBase::EventGeneratorID_t  gid  )  [inline, virtual]
 

set the generator ID that will be broadcast from (typically it's a bad idea to call this...)

Definition at line 43 of file EventGeneratorBase.h.

virtual void EventGeneratorBase::setSourceID unsigned int  sid  )  [inline, virtual]
 

set the source ID that will be broadcast on

Definition at line 48 of file EventGeneratorBase.h.

void EventGeneratorBase::unsetAutoListen  )  [virtual]
 

turns off auto listening

Definition at line 62 of file EventGeneratorBase.cc.


Member Data Documentation

bool EventGeneratorBase::autoListen [protected]
 

if true, will automatically start listening for EventBase(genID,sourceID) events

Definition at line 79 of file EventGeneratorBase.h.

Referenced by DoStart(), EventGeneratorBase(), processEvent(), setAutoListen(), and unsetAutoListen().

bool EventGeneratorBase::isListening [protected]
 

true if listening triggered by autoListen

Definition at line 80 of file EventGeneratorBase.h.

Referenced by DoStart(), DoStop(), EventGeneratorBase(), processEvent(), setAutoListen(), and unsetAutoListen().

EventBase::EventGeneratorID_t EventGeneratorBase::myGenID [protected]
 

the generator ID to broadcast on

Definition at line 77 of file EventGeneratorBase.h.

Referenced by EventGeneratorBase(), getGeneratorID(), and setGeneratorID().

unsigned int EventGeneratorBase::mySourceID [protected]
 

the source ID to broadcast on

Definition at line 78 of file EventGeneratorBase.h.

Referenced by EventGeneratorBase(), getSourceID(), and setSourceID().

EventBase::EventGeneratorID_t EventGeneratorBase::srcGenID [protected]
 

the generator ID to listen for (typically the source that this filter works on)

Definition at line 81 of file EventGeneratorBase.h.

Referenced by EventGeneratorBase(), getListenGeneratorID(), and setAutoListen().

unsigned int EventGeneratorBase::srcSourceID [protected]
 

the source ID to listen for

Definition at line 82 of file EventGeneratorBase.h.

Referenced by EventGeneratorBase(), getListenSourceID(), and setAutoListen().


The documentation for this class was generated from the following files:

Tekkotsu v2.2.2
Generated Tue Jan 4 15:45:24 2005 by Doxygen 1.4.0