pion::plugins::FissionReactor Class Reference

#include <FissionReactor.hpp>

Inherits pion::platform::Reactor.

List of all members.


Detailed Description

FissionReactor: used to extract a collection of events derived from a single one

Definition at line 40 of file FissionReactor.hpp.

Public Member Functions

 FissionReactor (void)
 constructs a new FissionReactor object
virtual ~FissionReactor ()
 virtual destructor: this class is meant to be extended
virtual void setConfig (const pion::platform::Vocabulary &v, const xmlNodePtr config_ptr)
virtual void updateVocabulary (const pion::platform::Vocabulary &v)
virtual void updateCodecs (void)
virtual void process (const pion::platform::EventPtr &e)

Classes

class  EmptyCodecException
 exception thrown if the Reactor configuration does not define a Codec More...
class  EmptyInputEventTermException
 exception thrown if the Reactor configuration does not define a EmptyInputEventTermException More...
class  EmptyInputEventTypeException
 exception thrown if the Reactor configuration does not define a InputEventType More...
class  NotAnObjectException
 exception thrown if the Reactor configuration uses a Term that is not an object as the input event type More...
class  TermNotStringException
 exception thrown if the term specified for extraction is not string type More...
class  UnknownTermException
 exception thrown if the Reactor configuration uses an unknown term in a field mapping More...


Member Function Documentation

void pion::plugins::FissionReactor::process ( const pion::platform::EventPtr e  )  [virtual]

Processes an Event by filtering it out if it's not of the input event type, otherwise extracting from it the value(s) of the input event term and parsing those values into output Events using the Codec. If any 'copy terms' are specified, the values of those Terms are copied from the input Event to every resulting output Event.

Parameters:
e pointer to the Event to process

Reimplemented from pion::platform::Reactor.

Definition at line 174 of file FissionReactor.cpp.

References pion::platform::Reactor::deliverEvent(), pion::platform::Reactor::isRunning(), and pion::platform::Vocabulary::Term::term_ref.

void pion::plugins::FissionReactor::setConfig ( const pion::platform::Vocabulary v,
const xmlNodePtr  config_ptr 
) [virtual]

sets configuration parameters for this Reactor

Parameters:
v the Vocabulary that this Reactor will use to describe Terms
config_ptr pointer to a list of XML nodes containing Reactor configuration parameters

Reimplemented from pion::platform::Reactor.

Definition at line 44 of file FissionReactor.cpp.

References pion::platform::Reactor::ConfigWriteLock, pion::platform::Vocabulary::findTerm(), pion::platform::CodecFactory::getCodec(), pion::platform::PlatformPlugin::getCodecFactory(), pion::platform::PlatformPlugin::getId(), and pion::platform::Vocabulary::Term::term_type.

void pion::plugins::FissionReactor::updateCodecs ( void   )  [virtual]

this updates the Codecs that are used by this Reactor; it should be called whenever any Codec's configuration is updated

Reimplemented from pion::platform::Reactor.

Definition at line 160 of file FissionReactor.cpp.

References pion::platform::CodecFactory::getCodec(), pion::platform::PlatformPlugin::getCodecFactory(), and pion::platform::Reactor::stop().

void pion::plugins::FissionReactor::updateVocabulary ( const pion::platform::Vocabulary v  )  [virtual]

this updates the Vocabulary information used by this Reactor; it should be called whenever the global Vocabulary is updated

Parameters:
v the Vocabulary that this Reactor will use to describe Terms

Reimplemented from pion::platform::Reactor.

Definition at line 146 of file FissionReactor.cpp.

References pion::platform::Reactor::ConfigWriteLock, and pion::platform::Vocabulary::refreshTerm().


The documentation for this class was generated from the following files:
Generated on Wed Apr 13 16:38:36 2011 for pion-platform by  doxygen 1.4.7