class rcEvent

Run control internal event class

Public Methods

inline const rcEventData* get_data()
Returns a pointer to the event data
char* get_dest()
Returns the name of the destination object
int get_id()
Returns the event id that determines the type of event that we have
inline const char* get_source()
Returns a pointer to the name of the sending event
inline void identify( ostream &os = cout )
Prints a one line summary of the event to the ostream os
rcEvent( const char *source, const char *dest, int id, rcEventData *pEventData = NULL )
Constructor
rcEvent( const char *source, const char *dest, int id, const char *pcMsg )
Constructor for the case when the event data is just a string
int send()
Sends the event by adding it to the event queue rcEventQueue
inline bool toSelfEvent()
Returns true if the source and destination is the same object

Documentation

Run control internal event class. The objects within the run control communicate by passing events between them. These events are implemented by this class rcEvent and are freely modelled after the ShlaerMellor religion (sorry - methodology). Note that these events are totally different from the PHENIX CORBA events using the event notifier. rcEvent is only passed between objects in the run control server.
For communicating with the CORBA objects outside the run control server, CORBA events are passed to the event notifier and from there to the remote object.
The run control internal events rcEvent are simply put on to an event queue (class rcEventQueue) and are passed from there to the destination object based in the order that they have been sent. (Note that there are two instances of rcEventQueue: one for events that an object sends to itself, one for events that an object sends to an instance of another class.)
The processing of the rcEvents is interleaved with the main CORBA event loop (member rcMain::rcMainLoop).

See also: rcFsm, rcEventQueue, smTimer

First version: Mar 12, 98, CW

Last update: Implemented proper handling of event data by adding rcEventData as data parameter
Feb 3, 2000, CW

rcEvent( const char *source, const char *dest, int id, rcEventData *pEventData = NULL )
Constructor. Builds the event, but does not send it.
Parameters:
source - name of the object that sends the event
dest - name of the object that receives the event
id - integer id of the event (normally an enum of the destination object)
pointer - to the class rcEventData which encapsulates the event data
size - of the event data (in Bytes)

rcEvent( const char *source, const char *dest, int id, const char *pcMsg )
Constructor for the case when the event data is just a string. This is so often the case that we give it a constructor on its own. Internally we create rcEventData with a string as parameter

int send()
Sends the event by adding it to the event queue rcEventQueue

inline void identify( ostream &os = cout )
Prints a one line summary of the event to the ostream os

inline const char* get_source()
Returns a pointer to the name of the sending event

int get_id()
Returns the event id that determines the type of event that we have

char* get_dest()
Returns the name of the destination object

inline const rcEventData* get_data()
Returns a pointer to the event data

inline bool toSelfEvent()
Returns true if the source and destination is the same object


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de