1 #ifndef _ots_VStateMachine_h_
2 #define _ots_VStateMachine_h_
8 class CoreSupervisorBase;
15 , subIterationIndex_(0)
16 , iterationWorkFlag_(
false)
17 , subIterationWorkFlag_(
false)
26 virtual void halt(
void) = 0;
27 virtual void pause(
void) = 0;
28 virtual void resume(
void) = 0;
29 virtual void start(std::string runNumber) = 0;
30 virtual void stop(
void) = 0;
33 virtual bool running(
void) {
return false; }
34 virtual void paused(
void) { ; }
35 virtual void halted(
void) { ; }
36 virtual void configured(
void) { ; }
37 virtual void initial(
void) { ; }
38 virtual void inError(
void) { ; }
46 std::string progress =
"";
48 if(VStateMachine::getSubIterationWork())
51 progress += name_ +
":";
54 if(iterationAliasMap_.find(transitionName_) != iterationAliasMap_.end() &&
55 iterationAliasMap_.at(transitionName_)
56 .find(VStateMachine::getIterationIndex()) !=
57 iterationAliasMap_.at(transitionName_).end())
58 progress += iterationAliasMap_.at(transitionName_)
59 .at(VStateMachine::getIterationIndex());
62 std::to_string(VStateMachine::getIterationIndex());
67 if(subIterationAliasMap_.find(transitionName_) !=
68 subIterationAliasMap_.end() &&
69 subIterationAliasMap_.at(transitionName_)
70 .find(VStateMachine::getSubIterationIndex()) !=
71 subIterationAliasMap_.at(transitionName_).end())
72 progress += subIterationAliasMap_.at(transitionName_)
73 .at(VStateMachine::getSubIterationIndex());
75 progress += std::to_string(
76 VStateMachine::getSubIterationIndex());
78 else if(VStateMachine::getIterationWork())
81 progress += name_ +
":";
84 if(iterationAliasMap_.find(transitionName_) != iterationAliasMap_.end() &&
85 iterationAliasMap_.at(transitionName_)
86 .find(VStateMachine::getIterationIndex()) !=
87 iterationAliasMap_.at(transitionName_).end())
88 progress += iterationAliasMap_.at(transitionName_)
89 .at(VStateMachine::getIterationIndex());
92 std::to_string(VStateMachine::getIterationIndex());
94 else if(transitionName_ !=
"")
95 progress += name_ +
":" + transitionName_;
104 virtual unsigned int getMinReadyForEventGenerationStartIteration(
void)
const {
return 0; }
106 void setTransitionName(
const std::string& transitionName)
108 transitionName_ = transitionName;
110 const std::string& getTransitionName(
void) {
return transitionName_; }
111 void setIterationIndex(
unsigned int i) { iterationIndex_ = i; }
112 void setSubIterationIndex(
unsigned int i) { subIterationIndex_ = i; }
113 unsigned int getIterationIndex(
void) {
return iterationIndex_; }
114 unsigned int getSubIterationIndex(
void) {
return subIterationIndex_; }
115 void setSystemMinReadyForEventGenerationStartIteration(
unsigned int i) { systemMinReadyForEventGenerationStartIteration_ = i; }
116 unsigned int getSystemMinReadyForEventGenerationStartIteration(
void)
const {
return systemMinReadyForEventGenerationStartIteration_; }
117 void indicateIterationWork(
void) { iterationWorkFlag_ =
true; }
118 void clearIterationWork(
void) { iterationWorkFlag_ =
false; }
119 bool getIterationWork(
void) {
return iterationWorkFlag_; }
120 void indicateSubIterationWork(
void) { subIterationWorkFlag_ =
true; }
121 void clearSubIterationWork(
void) { subIterationWorkFlag_ =
false; }
122 bool getSubIterationWork(
void) {
return subIterationWorkFlag_; }
127 std::map<std::string ,
128 std::map<
unsigned int , std::string >>
130 std::map<std::string ,
131 std::map<
unsigned int , std::string >>
132 subIterationAliasMap_;
135 unsigned int iterationIndex_, subIterationIndex_;
136 unsigned int systemMinReadyForEventGenerationStartIteration_ = 0;
137 bool iterationWorkFlag_, subIterationWorkFlag_;
138 const std::string name_;
139 std::string transitionName_;
virtual std::string getStatusProgressDetail(void)
Status.
virtual bool running(void)
States.
CoreSupervisorBase * parentSupervisor_
virtual void configure(void)=0
Transitions.
defines used also by OtsConfigurationWizardSupervisor