DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
FSMconfiguration.hpp
Go to the documentation of this file.
1// *** this file is generated by oksdalgen, do not modify it ***
2
3#ifndef _FSMconfiguration_0_dunedaq__confmodel_0_confmodel_H_
4#define _FSMconfiguration_0_dunedaq__confmodel_0_confmodel_H_
5
6#include <stdint.h> // to define 64 bits types
7#include <iostream>
8#include <sstream>
9#include <string>
10#include <map>
11#include <vector>
12
14#include "conffwk/DalObject.hpp"
15
16
17 // forward declaration for classes used in relationships and algorithms
18
19namespace dunedaq {
20 namespace confmodel {
21 class FSMaction;
22 class FSMsequence;
23 class FSMtransition;
24 class FSMxTransition;
25 }
26}
27
28
29namespace dunedaq {
30 namespace confmodel {
31
33
34 friend class conffwk::Configuration;
35 friend class conffwk::DalObject;
36 friend class conffwk::DalFactory;
37 friend class conffwk::DalRegistry;
38
39 protected:
40
42 virtual ~FSMconfiguration() noexcept;
43 virtual void init(bool init_children);
44
45 public:
46
49 static const std::string& s_class_name;
50
51
61 virtual void print(unsigned int offset, bool print_header, std::ostream& s) const;
62
63
73 virtual std::vector<const dunedaq::conffwk::DalObject *> get(const std::string& name, bool upcast_unregistered = true) const;
74
75
76 protected:
77
78 bool get(const std::string& name, std::vector<const dunedaq::conffwk::DalObject *>& vec, bool upcast_unregistered, bool first_call) const;
79
80
81 private:
82
83 std::vector<std::string> m_states;
84 std::string m_initial_state;
89 std::vector<const dunedaq::confmodel::FSMaction*> m_actions;
90
91
92 public:
93
94 // attribute names
95
96 inline static const std::string s_states = "states";
97 inline static const std::string s_initial_state = "initial_state";
98
99 static const std::string& __get_states_str() noexcept { return s_states; }
100 static const std::string& __get_initial_state_str() noexcept { return s_initial_state; }
101
102
109 const std::vector<std::string>&
111 {
112 std::lock_guard scoped_lock(m_mutex);
113 check();
114 check_init();
115 return m_states;
116 }
117
124 void
125 set_states(const std::vector<std::string>& value)
126 {
127 std::lock_guard scoped_lock(m_mutex);
128 check();
129 clear();
130 p_obj.set_by_val(s_states, value);
131 }
132
133
140 const std::string&
142 {
143 std::lock_guard scoped_lock(m_mutex);
144 check();
145 check_init();
146 return m_initial_state;
147 }
148
155 void
156 set_initial_state(const std::string& value)
157 {
158 std::lock_guard scoped_lock(m_mutex);
159 check();
160 clear();
162 }
163
164
165 // relationship names
166
167 inline static const std::string s_transitions = "transitions";
168 inline static const std::string s_command_sequences = "command_sequences";
169 inline static const std::string s_pre_transitions = "pre_transitions";
170 inline static const std::string s_post_transitions = "post_transitions";
171 inline static const std::string s_actions = "actions";
172
173 static const std::string& __get_transitions_str() noexcept { return s_transitions; }
174 static const std::string& __get_command_sequences_str() noexcept { return s_command_sequences; }
175 static const std::string& __get_pre_transitions_str() noexcept { return s_pre_transitions; }
176 static const std::string& __get_post_transitions_str() noexcept { return s_post_transitions; }
177 static const std::string& __get_actions_str() noexcept { return s_actions; }
178
179
186 const std::vector<const dunedaq::confmodel::FSMtransition*>&
188 {
189 std::lock_guard scoped_lock(m_mutex);
190 check();
191 check_init();
192 if (m_transitions.empty())
193 {
194 std::ostringstream text;
195 text << "relationship \"" << s_transitions << "\" of object " << this << " is empty";
196 throw dunedaq::conffwk::Generic(ERS_HERE, text.str().c_str());
197 }
198 return m_transitions;
199 }
200
201
208 void
209 set_transitions(const std::vector<const dunedaq::confmodel::FSMtransition*>& value);
210
217 const std::vector<const dunedaq::confmodel::FSMsequence*>&
219 {
220 std::lock_guard scoped_lock(m_mutex);
221 check();
222 check_init();
223 return m_command_sequences;
224 }
225
226
233 void
234 set_command_sequences(const std::vector<const dunedaq::confmodel::FSMsequence*>& value);
235
242 const std::vector<const dunedaq::confmodel::FSMxTransition*>&
244 {
245 std::lock_guard scoped_lock(m_mutex);
246 check();
247 check_init();
248 return m_pre_transitions;
249 }
250
251
258 void
259 set_pre_transitions(const std::vector<const dunedaq::confmodel::FSMxTransition*>& value);
260
267 const std::vector<const dunedaq::confmodel::FSMxTransition*>&
269 {
270 std::lock_guard scoped_lock(m_mutex);
271 check();
272 check_init();
273 return m_post_transitions;
274 }
275
276
283 void
284 set_post_transitions(const std::vector<const dunedaq::confmodel::FSMxTransition*>& value);
285
292 const std::vector<const dunedaq::confmodel::FSMaction*>&
294 {
295 std::lock_guard scoped_lock(m_mutex);
296 check();
297 check_init();
298 return m_actions;
299 }
300
301
308 void
309 set_actions(const std::vector<const dunedaq::confmodel::FSMaction*>& value);
310
311 };
312
313 // out stream operator
314
315 inline std::ostream& operator<<(std::ostream& s, const FSMconfiguration& obj)
316 {
317 return obj.print_object(s);
318 }
319
320 typedef std::vector<const FSMconfiguration*>::const_iterator FSMconfigurationIterator;
321
322 }
323}
324
325#endif
#define ERS_HERE
void set_by_val(const std::string &name, T value)
Set attribute value.
void set_by_ref(const std::string &name, T &value)
Set attribute value.
The base class for any generated DAL object.
Definition DalObject.hpp:45
std::mutex m_mutex
Used to protect changes of DAL object.
ConfigObject p_obj
Config object used by given template object.
void check_init() const
Check and initialize object if necessary.
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
Generic configuration exception.
static const std::string & __get_transitions_str() noexcept
static const std::string & __get_post_transitions_str() noexcept
const std::vector< const dunedaq::confmodel::FSMsequence * > & get_command_sequences() const
Get "command_sequences" relationship value.
static const std::string s_pre_transitions
void set_initial_state(const std::string &value)
Set "initial_state" attribute value.
const std::vector< std::string > & get_states() const
Get "states" attribute value.
const std::vector< const dunedaq::confmodel::FSMxTransition * > & get_post_transitions() const
Get "post_transitions" relationship value.
std::vector< const dunedaq::confmodel::FSMaction * > m_actions
std::vector< const dunedaq::confmodel::FSMtransition * > m_transitions
void set_actions(const std::vector< const dunedaq::confmodel::FSMaction * > &value)
Set "actions" relationship value.
static const std::string & s_class_name
static const std::string & __get_states_str() noexcept
const std::string & get_initial_state() const
Get "initial_state" attribute value.
static const std::string & __get_initial_state_str() noexcept
std::vector< std::string > m_states
void set_transitions(const std::vector< const dunedaq::confmodel::FSMtransition * > &value)
Set "transitions" relationship value.
virtual void init(bool init_children)
static const std::string s_initial_state
void set_states(const std::vector< std::string > &value)
Set "states" attribute value.
const std::vector< const dunedaq::confmodel::FSMxTransition * > & get_pre_transitions() const
Get "pre_transitions" relationship value.
static const std::string & __get_pre_transitions_str() noexcept
void set_pre_transitions(const std::vector< const dunedaq::confmodel::FSMxTransition * > &value)
Set "pre_transitions" relationship value.
std::vector< const dunedaq::confmodel::FSMxTransition * > m_pre_transitions
const std::vector< const dunedaq::confmodel::FSMaction * > & get_actions() const
Get "actions" relationship value.
void set_command_sequences(const std::vector< const dunedaq::confmodel::FSMsequence * > &value)
Set "command_sequences" relationship value.
static const std::string s_post_transitions
FSMconfiguration(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
virtual std::vector< const dunedaq::conffwk::DalObject * > get(const std::string &name, bool upcast_unregistered=true) const
Get values of relationships and results of some algorithms as a vector of dunedaq::conffwk::DalObject...
void set_post_transitions(const std::vector< const dunedaq::confmodel::FSMxTransition * > &value)
Set "post_transitions" relationship value.
const std::vector< const dunedaq::confmodel::FSMtransition * > & get_transitions() const
Get "transitions" relationship value.
static const std::string & __get_command_sequences_str() noexcept
std::vector< const dunedaq::confmodel::FSMxTransition * > m_post_transitions
std::vector< const dunedaq::confmodel::FSMsequence * > m_command_sequences
static const std::string s_command_sequences
static const std::string & __get_actions_str() noexcept
conffwk entry point
double offset
std::vector< constFSMconfiguration * >::const_iterator FSMconfigurationIterator
std::ostream & operator<<(std::ostream &s, const ActionPlan &obj)
Including Qt Headers.