DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
DaqModule.hpp
Go to the documentation of this file.
1// *** this file is generated by oksdalgen, do not modify it ***
2
3#ifndef _DaqModule_0_dunedaq__confmodel_0_confmodel_H_
4#define _DaqModule_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 Connection;
22 class HostComponent;
23 }
24}
25
26
27namespace dunedaq {
28 namespace confmodel {
29
34 class DaqModule : public virtual dunedaq::conffwk::DalObject {
35
37 friend class conffwk::DalObject;
38 friend class conffwk::DalFactory;
40
41 protected:
42
44 virtual ~DaqModule() noexcept;
45 virtual void init(bool init_children);
46
47 public:
48
51 static const std::string& s_class_name;
52
53
63 virtual void print(unsigned int offset, bool print_header, std::ostream& s) const;
64
65
75 virtual std::vector<const dunedaq::conffwk::DalObject *> get(const std::string& name, bool upcast_unregistered = true) const;
76
77
78 protected:
79
80 bool get(const std::string& name, std::vector<const dunedaq::conffwk::DalObject *>& vec, bool upcast_unregistered, bool first_call) const;
81
82
83 private:
84
88
89
90 public:
91
92 // relationship names
93
94 inline static const std::string s_inputs = "inputs";
95 inline static const std::string s_outputs = "outputs";
96 inline static const std::string s_used_resources = "used_resources";
97
98 static const std::string& __get_inputs_str() noexcept { return s_inputs; }
99 static const std::string& __get_outputs_str() noexcept { return s_outputs; }
100 static const std::string& __get_used_resources_str() noexcept { return s_used_resources; }
101
102
110 const std::vector<const dunedaq::confmodel::Connection*>&
112 {
113 std::lock_guard scoped_lock(m_mutex);
114 check();
115 check_init();
116 return m_inputs;
117 }
118
119
127 void
128 set_inputs(const std::vector<const dunedaq::confmodel::Connection*>& value);
129
137 const std::vector<const dunedaq::confmodel::Connection*>&
139 {
140 std::lock_guard scoped_lock(m_mutex);
141 check();
142 check_init();
143 return m_outputs;
144 }
145
146
154 void
155 set_outputs(const std::vector<const dunedaq::confmodel::Connection*>& value);
156
163 const std::vector<const dunedaq::confmodel::HostComponent*>&
165 {
166 std::lock_guard scoped_lock(m_mutex);
167 check();
168 check_init();
169 return m_used_resources;
170 }
171
172
179 void
180 set_used_resources(const std::vector<const dunedaq::confmodel::HostComponent*>& value);
181
182 };
183
184 // out stream operator
185
186 inline std::ostream& operator<<(std::ostream& s, const DaqModule& obj)
187 {
188 return obj.print_object(s);
189 }
190
191 typedef std::vector<const DaqModule*>::const_iterator DaqModuleIterator;
192
193 }
194}
195
196#endif
The base class for any generated DAL object.
Definition DalObject.hpp:45
std::mutex m_mutex
Used to protect changes of DAL 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...
void set_inputs(const std::vector< const dunedaq::confmodel::Connection * > &value)
Set "inputs" relationship value. List of connections to/from this module.
static const std::string s_inputs
Definition DaqModule.hpp:94
virtual void init(bool init_children)
Definition DaqModule.cpp:51
static const std::string & s_class_name
Definition DaqModule.hpp:51
static const std::string s_outputs
Definition DaqModule.hpp:95
static const std::string & __get_used_resources_str() noexcept
static const std::string s_used_resources
Definition DaqModule.hpp:96
static const std::string & __get_inputs_str() noexcept
Definition DaqModule.hpp:98
virtual ~DaqModule() noexcept
Definition DaqModule.cpp:67
void set_used_resources(const std::vector< const dunedaq::confmodel::HostComponent * > &value)
Set "used_resources" relationship value.
const std::vector< const dunedaq::confmodel::Connection * > & get_inputs() const
Get "inputs" relationship value. List of connections to/from this module.
friend class conffwk::DalFactory
Definition DaqModule.hpp:38
DaqModule(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
Definition DaqModule.cpp:21
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...
Definition DaqModule.cpp:71
std::vector< const dunedaq::confmodel::HostComponent * > m_used_resources
Definition DaqModule.hpp:87
const std::vector< const dunedaq::confmodel::Connection * > & get_outputs() const
Get "outputs" relationship value. Output connections from this module.
friend class conffwk::DalObject
Definition DaqModule.hpp:37
const std::vector< const dunedaq::confmodel::HostComponent * > & get_used_resources() const
Get "used_resources" relationship value.
std::vector< const dunedaq::confmodel::Connection * > m_inputs
Definition DaqModule.hpp:85
std::vector< const dunedaq::confmodel::Connection * > m_outputs
Definition DaqModule.hpp:86
void set_outputs(const std::vector< const dunedaq::confmodel::Connection * > &value)
Set "outputs" relationship value. Output connections from this module.
static const std::string & __get_outputs_str() noexcept
Definition DaqModule.hpp:99
conffwk entry point
double offset
std::vector< constDaqModule * >::const_iterator DaqModuleIterator
std::ostream & operator<<(std::ostream &s, const ActionPlan &obj)
Including Qt Headers.