DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
conffwk
include
conffwk
Schema.hpp
Go to the documentation of this file.
1
//
2
// DUNE DAQ modification notice:
3
// This file has been modified from the original ATLAS config source for the DUNE DAQ project.
4
// Fork baseline commit: 67a24e731 (2022-10-27).
5
// Renamed since fork: yes (from config/Schema.h to include/conffwk/Schema.hpp).
6
//
7
14
15
#ifndef CONFFWK_SCHEMA_H_
16
#define CONFFWK_SCHEMA_H_
17
18
#include <iostream>
19
#include <string>
20
#include <vector>
21
22
namespace
dunedaq
{
23
namespace
conffwk
{
24
26
27
enum
type_t
28
{
29
bool_type
,
30
s8_type
,
31
u8_type
,
32
s16_type
,
33
u16_type
,
34
s32_type
,
35
u32_type
,
36
s64_type
,
37
u64_type
,
38
float_type
,
39
double_type
,
40
date_type
,
41
time_type
,
42
string_type
,
43
enum_type
,
44
class_type
45
};
46
48
49
enum
int_format_t
50
{
51
oct_int_format
,
52
dec_int_format
,
53
hex_int_format
,
54
na_int_format
55
};
56
58
59
struct
attribute_t
60
{
61
62
std::string
p_name
;
63
type_t
p_type
;
64
std::string
p_range
;
66
int_format_t
p_int_format
;
67
bool
p_is_not_null
;
68
bool
p_is_multi_value
;
70
std::string
p_default_value
;
71
std::string
p_description
;
72
74
75
attribute_t
(
const
std::string& name,
76
type_t
type
,
77
const
std::string&
range
,
78
int_format_t
int_format,
79
bool
is_not_null,
80
bool
is_multi_value,
81
const
std::string& default_value,
82
const
std::string& description);
83
85
86
attribute_t
() { ; }
87
89
90
void
print
(std::ostream&
out
,
91
const
std::string& prefix =
""
92
)
const
;
93
95
static
const
char
*
type2str
(
type_t
type
);
96
98
static
const
char
*
type
(
type_t
type
);
99
101
static
const
char
*
format2str
(
int_format_t
format );
102
};
103
105
106
enum
cardinality_t
107
{
108
zero_or_one
,
109
zero_or_many
,
110
only_one
,
111
one_or_many
112
};
113
115
116
struct
relationship_t
117
{
118
119
std::string
p_name
;
120
std::string
p_type
;
121
cardinality_t
p_cardinality
;
122
bool
p_is_aggregation
;
124
std::string
p_description
;
125
127
128
relationship_t
(
const
std::string& name,
129
const
std::string&
type
,
130
bool
can_be_null,
131
bool
is_multi_value,
132
bool
is_aggregation,
133
const
std::string& description);
134
136
137
relationship_t
() { ; }
138
140
141
void
print
(std::ostream&
out
,
142
const
std::string& prefix =
""
143
)
const
;
144
146
147
static
const
char
*
card2str
(
cardinality_t
cardinality);
148
};
149
151
152
struct
class_t
153
{
154
155
std::string
p_name
;
156
std::string
p_description
;
157
std::string
p_schema_path
;
158
bool
p_abstract
;
159
const
std::vector<std::string>
p_superclasses
;
160
const
std::vector<std::string>
p_subclasses
;
161
const
std::vector<attribute_t>
p_attributes
;
162
const
std::vector<relationship_t>
p_relationships
;
163
165
166
class_t
(
const
std::string& name,
const
std::string& description,
const
std::string& schema_path,
bool
is_abstract);
167
169
170
class_t
() { ; }
171
173
174
void
print
(std::ostream&
out
,
175
const
std::string& prefix =
""
176
)
const
;
177
};
178
179
const
char
*
180
bool2str
(
bool
value);
181
182
std::ostream&
183
operator<<
(std::ostream&
out
,
const
attribute_t&);
184
std::ostream&
185
operator<<
(std::ostream&
out
,
const
relationship_t&);
186
std::ostream&
187
operator<<
(std::ostream&
out
,
const
class_t&);
188
189
}
190
}
191
192
#endif
// CONFFWK_SCHEMA_H_
type
type
Definition
TriggerActivity_serialization.hpp:48
dunedaq::conffwk
Definition
test_circular_dependency.hpp:5
dunedaq::conffwk::type_t
type_t
Definition
Schema.hpp:28
dunedaq::conffwk::date_type
@ date_type
Definition
Schema.hpp:40
dunedaq::conffwk::u64_type
@ u64_type
Definition
Schema.hpp:37
dunedaq::conffwk::float_type
@ float_type
Definition
Schema.hpp:38
dunedaq::conffwk::s32_type
@ s32_type
Definition
Schema.hpp:34
dunedaq::conffwk::string_type
@ string_type
Definition
Schema.hpp:42
dunedaq::conffwk::s16_type
@ s16_type
Definition
Schema.hpp:32
dunedaq::conffwk::u32_type
@ u32_type
Definition
Schema.hpp:35
dunedaq::conffwk::enum_type
@ enum_type
Definition
Schema.hpp:43
dunedaq::conffwk::bool_type
@ bool_type
Definition
Schema.hpp:29
dunedaq::conffwk::class_type
@ class_type
Definition
Schema.hpp:44
dunedaq::conffwk::s8_type
@ s8_type
Definition
Schema.hpp:30
dunedaq::conffwk::time_type
@ time_type
Definition
Schema.hpp:41
dunedaq::conffwk::u8_type
@ u8_type
Definition
Schema.hpp:31
dunedaq::conffwk::s64_type
@ s64_type
Definition
Schema.hpp:36
dunedaq::conffwk::double_type
@ double_type
Definition
Schema.hpp:39
dunedaq::conffwk::u16_type
@ u16_type
Definition
Schema.hpp:33
dunedaq::conffwk::cardinality_t
cardinality_t
Definition
Schema.hpp:107
dunedaq::conffwk::one_or_many
@ one_or_many
Definition
Schema.hpp:111
dunedaq::conffwk::only_one
@ only_one
Definition
Schema.hpp:110
dunedaq::conffwk::zero_or_one
@ zero_or_one
Definition
Schema.hpp:108
dunedaq::conffwk::zero_or_many
@ zero_or_many
Definition
Schema.hpp:109
dunedaq::conffwk::bool2str
const char * bool2str(bool value)
Definition
ConfigurationImpl.cpp:18
dunedaq::conffwk::int_format_t
int_format_t
Definition
Schema.hpp:50
dunedaq::conffwk::dec_int_format
@ dec_int_format
Definition
Schema.hpp:52
dunedaq::conffwk::na_int_format
@ na_int_format
Definition
Schema.hpp:54
dunedaq::conffwk::oct_int_format
@ oct_int_format
Definition
Schema.hpp:51
dunedaq::conffwk::hex_int_format
@ hex_int_format
Definition
Schema.hpp:53
dunedaq
The DUNE-DAQ namespace.
Definition
cib_utilities.cpp:5
dunedaq::range
DAC value out of range
Message.
Definition
DACNode.hpp:32
dunedaq::out
FELIX Initialization std::string initerror FELIX queue timed out
Definition
FelixIssues.hpp:24
dunedaq::operator<<
std::ostream & operator<<(std::ostream &s, const ConfigurationChange &c)
Definition
Configuration.cpp:1665
dunedaq::conffwk::attribute_t::p_int_format
int_format_t p_int_format
Definition
Schema.hpp:66
dunedaq::conffwk::attribute_t::p_is_not_null
bool p_is_not_null
Definition
Schema.hpp:67
dunedaq::conffwk::attribute_t::type
static const char * type(type_t type)
Definition
ConfigurationImpl.cpp:85
dunedaq::conffwk::attribute_t::p_is_multi_value
bool p_is_multi_value
Definition
Schema.hpp:68
dunedaq::conffwk::attribute_t::attribute_t
attribute_t()
Definition
Schema.hpp:86
dunedaq::conffwk::attribute_t::p_description
std::string p_description
Definition
Schema.hpp:71
dunedaq::conffwk::attribute_t::p_name
std::string p_name
Definition
Schema.hpp:62
dunedaq::conffwk::attribute_t::p_range
std::string p_range
Definition
Schema.hpp:64
dunedaq::conffwk::attribute_t::p_type
type_t p_type
Definition
Schema.hpp:63
dunedaq::conffwk::attribute_t::print
void print(std::ostream &out, const std::string &prefix="") const
Definition
ConfigurationImpl.cpp:141
dunedaq::conffwk::attribute_t::p_default_value
std::string p_default_value
Definition
Schema.hpp:70
dunedaq::conffwk::attribute_t::type2str
static const char * type2str(type_t type)
Definition
ConfigurationImpl.cpp:44
dunedaq::conffwk::attribute_t::format2str
static const char * format2str(int_format_t format)
Definition
ConfigurationImpl.cpp:126
dunedaq::conffwk::attribute_t::attribute_t
attribute_t(const std::string &name, type_t type, const std::string &range, int_format_t int_format, bool is_not_null, bool is_multi_value, const std::string &default_value, const std::string &description)
Definition
ConfigurationImpl.cpp:23
dunedaq::conffwk::class_t::p_attributes
const std::vector< attribute_t > p_attributes
Definition
Schema.hpp:161
dunedaq::conffwk::class_t::p_relationships
const std::vector< relationship_t > p_relationships
Definition
Schema.hpp:162
dunedaq::conffwk::class_t::p_name
std::string p_name
Definition
Schema.hpp:155
dunedaq::conffwk::class_t::print
void print(std::ostream &out, const std::string &prefix="") const
Definition
ConfigurationImpl.cpp:229
dunedaq::conffwk::class_t::class_t
class_t(const std::string &name, const std::string &description, const std::string &schema_path, bool is_abstract)
Definition
ConfigurationImpl.cpp:216
dunedaq::conffwk::class_t::p_subclasses
const std::vector< std::string > p_subclasses
Definition
Schema.hpp:160
dunedaq::conffwk::class_t::class_t
class_t()
Definition
Schema.hpp:170
dunedaq::conffwk::class_t::p_description
std::string p_description
Definition
Schema.hpp:156
dunedaq::conffwk::class_t::p_schema_path
std::string p_schema_path
Definition
Schema.hpp:157
dunedaq::conffwk::class_t::p_abstract
bool p_abstract
Definition
Schema.hpp:158
dunedaq::conffwk::class_t::p_superclasses
const std::vector< std::string > p_superclasses
Definition
Schema.hpp:159
dunedaq::conffwk::relationship_t::p_cardinality
cardinality_t p_cardinality
Definition
Schema.hpp:121
dunedaq::conffwk::relationship_t::relationship_t
relationship_t()
Definition
Schema.hpp:137
dunedaq::conffwk::relationship_t::print
void print(std::ostream &out, const std::string &prefix="") const
Definition
ConfigurationImpl.cpp:200
dunedaq::conffwk::relationship_t::p_name
std::string p_name
Definition
Schema.hpp:119
dunedaq::conffwk::relationship_t::card2str
static const char * card2str(cardinality_t cardinality)
Definition
ConfigurationImpl.cpp:183
dunedaq::conffwk::relationship_t::p_type
std::string p_type
Definition
Schema.hpp:120
dunedaq::conffwk::relationship_t::relationship_t
relationship_t(const std::string &name, const std::string &type, bool can_be_null, bool is_multi_value, bool is_aggregation, const std::string &description)
Definition
ConfigurationImpl.cpp:164
dunedaq::conffwk::relationship_t::p_description
std::string p_description
Definition
Schema.hpp:124
dunedaq::conffwk::relationship_t::p_is_aggregation
bool p_is_aggregation
Definition
Schema.hpp:122
Generated on
for DUNE-DAQ by
1.18.0