Line data Source code
1 : //
2 : // ex: set ro:
3 : // DO NOT EDIT.
4 : // generated by smc (http://smc.sourceforge.net/)
5 : // from file : Commandable.sm
6 : //
7 :
8 : #ifndef COMMANDABLE_SM_H
9 : #define COMMANDABLE_SM_H
10 :
11 : #define SMC_USES_IOSTREAMS
12 :
13 : #include <artdaq/Application/detail/statemap.h>
14 : #include <canvas/Persistency/Provenance/RunID.h>
15 : #include <fhiclcpp/ParameterSet.h>
16 :
17 : namespace artdaq {
18 : // Forward declarations.
19 : class Main;
20 : class Main_Booted;
21 : class Main_Initialized;
22 : class Main_Default;
23 : class InitializedMap;
24 : class InitializedMap_Ready;
25 : class InitializedMap_InRun;
26 : class InitializedMap_Default;
27 : class InRunMap;
28 : class InRunMap_Running;
29 : class InRunMap_Paused;
30 : class InRunMap_InRunError;
31 : class InRunMap_Default;
32 : class CommandableState;
33 : class CommandableContext;
34 : class Commandable;
35 :
36 : class CommandableState : public statemap::State
37 : {
38 : public:
39 21 : CommandableState(const char* const name, const int stateId)
40 21 : : statemap::State(name, stateId){};
41 :
42 7 : virtual void Entry(CommandableContext&){};
43 7 : virtual void Exit(CommandableContext&){};
44 :
45 : virtual void in_run_failure(CommandableContext& context);
46 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
47 : virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
48 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
49 : virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
50 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
51 : virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
52 : virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
53 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
54 :
55 : protected:
56 : virtual void Default(CommandableContext& context);
57 : };
58 :
59 : class Main
60 : {
61 : public:
62 : static Main_Booted Booted;
63 : static Main_Initialized Initialized;
64 : };
65 :
66 : class Main_Default : public CommandableState
67 : {
68 : public:
69 6 : Main_Default(const char* const name, const int stateId)
70 6 : : CommandableState(name, stateId){};
71 :
72 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
73 : virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
74 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
75 : virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
76 : virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
77 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
78 : virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
79 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
80 : };
81 :
82 : class Main_Booted : public Main_Default
83 : {
84 : public:
85 3 : Main_Booted(const char* const name, const int stateId)
86 3 : : Main_Default(name, stateId){};
87 :
88 : virtual void Entry(CommandableContext&);
89 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
90 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
91 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
92 : };
93 :
94 : class Main_Initialized : public Main_Default
95 : {
96 : public:
97 3 : Main_Initialized(const char* const name, const int stateId)
98 3 : : Main_Default(name, stateId){};
99 :
100 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
101 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
102 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
103 : };
104 :
105 : class InitializedMap
106 : {
107 : public:
108 : static InitializedMap_Ready Ready;
109 : static InitializedMap_InRun InRun;
110 : };
111 :
112 : class InitializedMap_Default : public CommandableState
113 : {
114 : public:
115 6 : InitializedMap_Default(const char* const name, const int stateId)
116 6 : : CommandableState(name, stateId){};
117 :
118 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
119 : virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
120 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
121 : virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
122 : virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
123 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
124 : virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
125 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
126 : };
127 :
128 : class InitializedMap_Ready : public InitializedMap_Default
129 : {
130 : public:
131 3 : InitializedMap_Ready(const char* const name, const int stateId)
132 3 : : InitializedMap_Default(name, stateId){};
133 :
134 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
135 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
136 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
137 : virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
138 : virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
139 : };
140 :
141 : class InitializedMap_InRun : public InitializedMap_Default
142 : {
143 : public:
144 3 : InitializedMap_InRun(const char* const name, const int stateId)
145 3 : : InitializedMap_Default(name, stateId){};
146 :
147 : virtual void Exit(CommandableContext&);
148 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
149 : };
150 :
151 : class InRunMap
152 : {
153 : public:
154 : static InRunMap_Running Running;
155 : static InRunMap_Paused Paused;
156 : static InRunMap_InRunError InRunError;
157 : };
158 :
159 : class InRunMap_Default : public CommandableState
160 : {
161 : public:
162 9 : InRunMap_Default(const char* const name, const int stateId)
163 9 : : CommandableState(name, stateId){};
164 :
165 : virtual void init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
166 : virtual void start(CommandableContext& context, art::RunID id, uint64_t timeout, uint64_t timestamp);
167 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
168 : virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
169 : virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
170 : virtual void shutdown(CommandableContext& context, uint64_t timeout);
171 : virtual void soft_init(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
172 : virtual void reinit(CommandableContext& context, fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp);
173 : };
174 :
175 : class InRunMap_Running : public InRunMap_Default
176 : {
177 : public:
178 3 : InRunMap_Running(const char* const name, const int stateId)
179 3 : : InRunMap_Default(name, stateId){};
180 :
181 : virtual void in_run_failure(CommandableContext& context);
182 : virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
183 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
184 : };
185 :
186 : class InRunMap_Paused : public InRunMap_Default
187 : {
188 : public:
189 3 : InRunMap_Paused(const char* const name, const int stateId)
190 3 : : InRunMap_Default(name, stateId){};
191 :
192 : virtual void resume(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
193 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
194 : };
195 :
196 : class InRunMap_InRunError : public InRunMap_Default
197 : {
198 : public:
199 3 : InRunMap_InRunError(const char* const name, const int stateId)
200 3 : : InRunMap_Default(name, stateId){};
201 :
202 : virtual void pause(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
203 : virtual void stop(CommandableContext& context, uint64_t timeout, uint64_t timestamp);
204 : };
205 :
206 : class CommandableContext : public statemap::FSMContext
207 : {
208 : public:
209 1 : explicit CommandableContext(Commandable& owner)
210 1 : : FSMContext(Main::Booted), _owner(owner){};
211 :
212 : CommandableContext(Commandable& owner, const statemap::State& state)
213 : : FSMContext(state), _owner(owner){};
214 :
215 0 : virtual void enterStartState()
216 : {
217 0 : getState().Entry(*this);
218 0 : return;
219 : }
220 :
221 10 : inline Commandable& getOwner()
222 : {
223 10 : return (_owner);
224 : };
225 :
226 46 : inline CommandableState& getState()
227 : {
228 46 : if (_state == NULL)
229 : {
230 0 : throw statemap::StateUndefinedException();
231 : }
232 :
233 46 : return dynamic_cast<CommandableState&>(*_state);
234 : };
235 :
236 0 : inline void in_run_failure()
237 : {
238 0 : getState().in_run_failure(*this);
239 0 : };
240 :
241 1 : inline void init(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp)
242 : {
243 1 : getState().init(*this, pset, timeout, timestamp);
244 1 : };
245 :
246 1 : inline void pause(uint64_t timeout, uint64_t timestamp)
247 : {
248 1 : getState().pause(*this, timeout, timestamp);
249 1 : };
250 :
251 1 : inline void reinit(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp)
252 : {
253 1 : getState().reinit(*this, pset, timeout, timestamp);
254 1 : };
255 :
256 1 : inline void resume(uint64_t timeout, uint64_t timestamp)
257 : {
258 1 : getState().resume(*this, timeout, timestamp);
259 1 : };
260 :
261 2 : inline void shutdown(uint64_t timeout)
262 : {
263 2 : getState().shutdown(*this, timeout);
264 2 : };
265 :
266 1 : inline void soft_init(fhicl::ParameterSet const& pset, uint64_t timeout, uint64_t timestamp)
267 : {
268 1 : getState().soft_init(*this, pset, timeout, timestamp);
269 1 : };
270 :
271 1 : inline void start(art::RunID id, uint64_t timeout, uint64_t timestamp)
272 : {
273 1 : getState().start(*this, id, timeout, timestamp);
274 1 : };
275 :
276 2 : inline void stop(uint64_t timeout, uint64_t timestamp)
277 : {
278 2 : getState().stop(*this, timeout, timestamp);
279 2 : };
280 :
281 : private:
282 : Commandable& _owner;
283 : };
284 : } // namespace artdaq
285 :
286 : #endif // COMMANDABLE_SM_H
287 :
288 : //
289 : // Local variables:
290 : // buffer-read-only: t
291 : // End:
292 : //
|