Gaudi Framework, version v25r0

Home   Generated: Mon Feb 17 2014
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
StateMachine.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_STATEMACHINE_H_
2 #define GAUDIKERNEL_STATEMACHINE_H_
3 
5 
6 namespace Gaudi {
7 namespace StateMachine {
12 enum State {
17  //FINALIZED = CONFIGURED
18 };
19 
23 enum Transition {
24  CONFIGURE, // OFFLINE -> CONFIGURED
25  INITIALIZE, // CONFIGURED -> INITIALIZED
26  START, // INITIALIZED -> RUNNING
27  STOP, // RUNNING -> INITIALIZED
28  FINALIZE, // INITIALIZED -> CONFIGURED
29  TERMINATE // CONFIGURED -> OFFLINE
30 };
31 
36 State GAUDI_API ChangeState(const Transition transition, const State state);
37 
40  switch (st) {
41  case Gaudi::StateMachine::OFFLINE : return s << "OFFLINE";
42  case Gaudi::StateMachine::CONFIGURED : return s << "CONFIGURED";
43  case Gaudi::StateMachine::INITIALIZED : return s << "INITIALIZED";
44  case Gaudi::StateMachine::RUNNING : return s << "RUNNING";
45  }
46  return s; // cannot be reached, but make the compiler happy
47 }
48 
51  switch (t) {
52  case Gaudi::StateMachine::CONFIGURE : return s << "CONFIGURE";
53  case Gaudi::StateMachine::INITIALIZE : return s << "INITIALIZE";
54  case Gaudi::StateMachine::START : return s << "START";
55  case Gaudi::StateMachine::STOP : return s << "STOP";
56  case Gaudi::StateMachine::FINALIZE : return s << "FINALIZE";
57  case Gaudi::StateMachine::TERMINATE : return s << "TERMINATE";
58  }
59  return s; // cannot be reached, but make the compiler happy
60 }
61 
62 } // namespace StateMachine
63 } // namespace Gaudi
64 
65 #endif /*GAUDIKERNEL_STATEMACHINE_H_*/

Generated at Mon Feb 17 2014 14:37:44 for Gaudi Framework, version v25r0 by Doxygen version 1.8.2 written by Dimitri van Heesch, © 1997-2004