DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
build
timinglibs
codegen
src
TimingMasterEndpointScanPayload.cpp
Go to the documentation of this file.
1
#include "
conffwk/ConfigObject.hpp
"
2
#include "
conffwk/DalFactory.hpp
"
3
#include "
conffwk/DalObjectPrint.hpp
"
4
#include "
conffwk/Errors.hpp
"
5
#include "
timinglibs/dal/TimingMasterEndpointScanPayload.hpp
"
6
7
#include "
logging/Logging.hpp
"
8
9
namespace
dunedaq
{
10
namespace
timinglibs
{
11
namespace
dal
{
12
const
std::string&
TimingMasterEndpointScanPayload::s_class_name
(dunedaq::conffwk::DalFactory::instance().get_known_class_name_ref(
"TimingMasterEndpointScanPayload"
));
13
14
// the factory initializer
15
16
static
struct
__TimingMasterEndpointScanPayload_Registrator
17
{
18
__TimingMasterEndpointScanPayload_Registrator
()
19
{
20
dunedaq::conffwk::DalFactory::instance().register_dal_class<
TimingMasterEndpointScanPayload
>(
"TimingMasterEndpointScanPayload"
);
21
}
22
}
registrator
;
23
24
25
// the constructor
26
27
TimingMasterEndpointScanPayload::TimingMasterEndpointScanPayload
(
conffwk::DalRegistry
& db,
const
conffwk::ConfigObject
& o) noexcept :
28
dunedaq::conffwk::DalObject
(db, o)
29
{
30
;
31
}
32
33
34
void
TimingMasterEndpointScanPayload::print
(
unsigned
int
indent,
bool
print_header, std::ostream& s)
const
35
{
36
check_init
();
37
38
try
{
39
const
std::string str(indent+2,
' '
);
40
41
if
(print_header)
42
p_hdr
(s, indent,
s_class_name
,
"dunedaq::timinglibs::dal"
);
43
44
45
// print direct attributes
46
47
dunedaq::conffwk::p_sv_attr
(s, str,
s_endpoints
,
m_endpoints
);
48
}
49
catch
(dunedaq::conffwk::Exception & ex) {
50
dunedaq::conffwk::DalObject::p_error
(s, ex);
51
}
52
}
53
54
55
void
TimingMasterEndpointScanPayload::init
(
bool
/* init_children */
)
56
{
57
p_was_read
=
true
;
58
increment_read
();
59
TLOG_DEBUG
(5) <<
"read object "
<<
this
<<
" (class "
<<
s_class_name
<<
')'
;
60
61
try
{
62
p_obj
.get(
s_endpoints
,
m_endpoints
);
63
}
64
catch
(dunedaq::conffwk::Exception & ex) {
65
throw_init_ex
(ex);
66
}
67
}
68
69
TimingMasterEndpointScanPayload::~TimingMasterEndpointScanPayload
() noexcept
70
{
71
}
72
73
std::vector<const dunedaq::conffwk::DalObject *>
TimingMasterEndpointScanPayload::get
(
const
std::string& name,
bool
upcast_unregistered)
const
74
{
75
std::vector<const dunedaq::conffwk::DalObject *> vec;
76
77
if
(!
get
(name, vec, upcast_unregistered,
true
))
78
throw_get_ex
(name,
s_class_name
,
this
);
79
80
return
vec;
81
}
82
83
bool
TimingMasterEndpointScanPayload::get
(
const
std::string& name, std::vector<const dunedaq::conffwk::DalObject *>& vec,
bool
upcast_unregistered,
bool
first_call)
const
84
{
85
if
(first_call)
86
{
87
std::lock_guard scoped_lock(
m_mutex
);
88
89
check
();
90
check_init
();
91
92
if
(
get_rel_objects
(name, upcast_unregistered, vec))
93
return
true
;
94
}
95
96
if
(first_call)
97
return
get_algo_objects
(name, vec);
98
99
return
false
;
100
}
101
102
}
103
}
104
}
ConfigObject.hpp
DalFactory.hpp
DalObjectPrint.hpp
Errors.hpp
dunedaq::conffwk::DalObject
The base class for any generated DAL object.
Definition
DalObject.hpp:52
dunedaq::conffwk::DalObject::p_hdr
void p_hdr(std::ostream &s, unsigned int indent, const std::string &cl, const char *nm=nullptr) const
print object headers
Definition
DalObject.cpp:65
dunedaq::conffwk::DalObject::throw_init_ex
void throw_init_ex(dunedaq::conffwk::Exception &ex)
throw object initialisation exception (i.e.
Definition
DalObject.cpp:74
dunedaq::conffwk::DalObject::increment_read
void increment_read() noexcept
Definition
DalObject.hpp:359
dunedaq::conffwk::DalObject::p_error
static void p_error(std::ostream &s, dunedaq::conffwk::Exception &ex)
print error text
Definition
DalObject.cpp:59
dunedaq::conffwk::DalObject::get_rel_objects
bool get_rel_objects(const std::string &name, bool upcast_unregistered, std::vector< const DalObject * > &objs) const
Read relationship values as DAL objects using DAL factory.
Definition
DalObject.cpp:8
dunedaq::conffwk::DalObject::throw_get_ex
static void throw_get_ex(const std::string &what, const std::string &class_name, const DalObject *obj)
throw exception in generated get method (i.e.
Definition
DalObject.cpp:82
dunedaq::conffwk::DalObject::m_mutex
std::mutex m_mutex
Used to protect changes of DAL object.
Definition
DalObject.hpp:115
dunedaq::conffwk::DalObject::p_was_read
bool p_was_read
is true, if the object was read
Definition
DalObject.hpp:118
dunedaq::conffwk::DalObject::check
void check() const
Definition
DalObject.hpp:94
dunedaq::conffwk::DalObject::get_algo_objects
bool get_algo_objects(const std::string &name, std::vector< const DalObject * > &objs) const
Run algorithm and return result as DAL objects using DAL factory.
Definition
DalObject.cpp:25
dunedaq::conffwk::DalObject::p_obj
ConfigObject p_obj
Config object used by given template object.
Definition
DalObject.hpp:124
dunedaq::conffwk::DalObject::check_init
void check_init() const
Check and initialize object if necessary.
Definition
DalObject.hpp:412
dunedaq::conffwk::DalRegistry
DalRegistry: A registry of DalObjects It provides a single interface to create, cache and manage DalO...
Definition
DalRegistry.hpp:19
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload
Definition
TimingMasterEndpointScanPayload.hpp:21
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::init
virtual void init(bool init_children)
Definition
TimingMasterEndpointScanPayload.cpp:55
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::TimingMasterEndpointScanPayload
TimingMasterEndpointScanPayload(conffwk::DalRegistry &db, const conffwk::ConfigObject &obj) noexcept
Definition
TimingMasterEndpointScanPayload.cpp:27
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::print
virtual void print(unsigned int offset, bool print_header, std::ostream &s) const
Print details of the TimingMasterEndpointScanPayload object.
Definition
TimingMasterEndpointScanPayload.cpp:34
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::get
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
TimingMasterEndpointScanPayload.cpp:73
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::s_endpoints
static const std::string s_endpoints
Definition
TimingMasterEndpointScanPayload.hpp:79
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::~TimingMasterEndpointScanPayload
virtual ~TimingMasterEndpointScanPayload() noexcept
Definition
TimingMasterEndpointScanPayload.cpp:69
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::s_class_name
static const std::string & s_class_name
Definition
TimingMasterEndpointScanPayload.hpp:38
dunedaq::timinglibs::dal::TimingMasterEndpointScanPayload::m_endpoints
std::string m_endpoints
Definition
TimingMasterEndpointScanPayload.hpp:72
TimingMasterEndpointScanPayload.hpp
Logging.hpp
TLOG_DEBUG
#define TLOG_DEBUG(lvl,...)
Definition
Logging.hpp:112
conffwk.ConfigObject
Definition
ConfigObject.py:1
dunedaq::conffwk::p_sv_attr
void p_sv_attr(std::ostream &s, const std::string &str, const std::string &name, const T &val) noexcept
print single-value attribute
Definition
DalObjectPrint.hpp:68
dunedaq::timinglibs::dal
Definition
EndpointLocation.hpp:19
dunedaq::timinglibs::dal::registrator
static struct dunedaq::timinglibs::dal::__EndpointLocation_Registrator registrator
dunedaq::timinglibs
Definition
TimingController.hxx:1
dunedaq
Including Qt Headers.
Definition
module.cpp:16
dunedaq::timinglibs::dal::__TimingMasterEndpointScanPayload_Registrator::__TimingMasterEndpointScanPayload_Registrator
__TimingMasterEndpointScanPayload_Registrator()
Definition
TimingMasterEndpointScanPayload.cpp:18
Generated on
for DUNE-DAQ by
1.17.0