EventGeneratorBase Class Reference#include <EventGeneratorBase.h>
Inheritance diagram for EventGeneratorBase:
[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 |
|
| 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
EventGeneratorBase::EventGeneratorBase |
( |
const std::string & |
classname, |
|
|
const std::string & |
instancename, |
|
|
EventBase::EventGeneratorID_t |
mgid, |
|
|
unsigned int |
msid |
|
) |
[inline, protected] |
|
Member Function Documentation
void EventGeneratorBase::DoStart |
( |
|
) |
[virtual] |
|
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. |
|
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] |
|
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(). |
|
turns on auto listening to make it easier to set up dependancies between vision filters
Definition at line 45 of file EventGeneratorBase.cc. |
|
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] |
|
void EventGeneratorBase::unsetAutoListen |
( |
|
) |
[virtual] |
|
Member Data Documentation
The documentation for this class was generated from the following files:
|