Generic run control process unit
Generic run control process unit. This class is the supertype for all process units, which inherit from this class the following things:
- setting and retrieving of common parameters for all PU such as simulate mode (execerising the state transitions without sending corba events), debug (for printing messages to cout),
- common handling of all PUs, such as retrieving a set of PU based on their name or tags within the name (getPuByTag), exists, get, locate, getName, getPudName
Note that this class is not a subtype of gen_named_obj (due to possible inheritance conflicts between the derived subclasses which are a subtype of gen_named_obj)- virtual functions for common handling that are redefined by the subtypes, such as identify, dump, dump_all, listAll
- global states as defined in the enum states
- simple member functions to set/get the global state of the object, enable, disable configure
- global action functions connect, initialise, download, start_run, stop_run for the system wide state transitions
- updatePu, which is called during the state transition and were we decide if a transition is finished or more events have to be sent
- there is a simple implementation for RTTI (which is missing in the Sun 4.2 C++ compiler
virtual ~Pu()
static mapPu_t mapPu
static bool exists( const char *name )
static mapPu_t::iterator locate( const char *name )
static Pu* get( char *name )
static int getPuByTag( const char* pcTag, list<Pu*> &theList )
virtual void identify( ostream &os = cout )
virtual void dump( ostream &os = cout )
static void dump_all( ostream &os = cout )
static void listAll( ostream &os = cout )
const char* getPrstName()
Prst* getPrst()
inline void enable()
inline void disable()
virtual bool isEnabled( const char* pccTransition = NULL )
void setSimulate( bool bValue )
void setDebug( bool aBool )
static const char* pcStates[]
int setState(int state )
int setState( const char *pcState )
int getState()
const char* getcState()
static int setStateAndUpdateStage( const char *pcPuGroup, const char *pcNewState )
virtual int connect()
virtual int initialise()
virtual int download()
virtual int start_run()
virtual int end_run()
virtual bool updatePu( int iStatus, int eState_on_success )
1. the state transition is complete, updatePu returns true,
2. the Pu sends another event to the real PU,
3. the PU knows that it has to wait for one more event to come in so it does nothing
virtual bool checkReady( int iLevel )
virtual Rout* castToRout()
virtual EvPool* castToEvPool()
virtual Swpu* castToSwpu()
virtual rcGTM* castToGTM()
virtual FEM* castToFEM()
virtual DCM* castToDCM()
virtual DDsocket* castToDDsocket()
virtual ROobject* castToROobject()
virtual ddEventServer* castToddEventServer()
virtual DataLogger* castToDataLogger()
virtual rcDataLogger* castToRcDataLogger()
virtual DummyDevice* castToDummyDevice()
virtual Par* castToPar()
virtual EvbComponent* castToEvbComponent()
int updateStateAfterConfigReq( int eNewState = eInitialised )
char* pcName
char* pcPud_name
bool bEnabled
bool bSimulate
bool bDebug
bool bIgnoreErrorOnTransition[ eNStates ]
int eState
const char* pcState
int setIgnoreErrorOnTransition( const char* pcTransition, bool bValue )
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de