Line data Source code
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: no.
6 : //
7 :
8 : #include "conffwk/ConfigObjectImpl.hpp"
9 : #include "conffwk/ConfigObject.hpp"
10 :
11 : namespace dunedaq {
12 : namespace conffwk {
13 :
14 : class ConfigObjectDefault : public ConfigObjectImpl
15 : {
16 :
17 : private:
18 : /// \throw dunedaq::conffwk::Generic
19 : static void bad();
20 : static const std::string s_invalid;
21 :
22 : public:
23 0 : ConfigObjectDefault() noexcept
24 0 : : ConfigObjectImpl(0, s_invalid)
25 : {
26 0 : }
27 0 : virtual ~ConfigObjectDefault() noexcept {}
28 :
29 : public:
30 0 : virtual const std::string contained_in() const
31 : {
32 0 : bad();
33 0 : return s_invalid;
34 : }
35 :
36 0 : virtual void get(const std::string& /*attribute*/, bool& /*value*/) { bad(); }
37 0 : virtual void get(const std::string& /*attribute*/, uint8_t& /*value*/) { bad(); }
38 0 : virtual void get(const std::string& /*attribute*/, int8_t& /*value*/) { bad(); }
39 0 : virtual void get(const std::string& /*attribute*/, uint16_t& /*value*/) { bad(); }
40 0 : virtual void get(const std::string& /*attribute*/, int16_t& /*value*/) { bad(); }
41 0 : virtual void get(const std::string& /*attribute*/, uint32_t& /*value*/) { bad(); }
42 0 : virtual void get(const std::string& /*attribute*/, int32_t& /*value*/) { bad(); }
43 0 : virtual void get(const std::string& /*attribute*/, uint64_t& /*value*/) { bad(); }
44 0 : virtual void get(const std::string& /*attribute*/, int64_t& /*value*/) { bad(); }
45 0 : virtual void get(const std::string& /*attribute*/, float& /*value*/) { bad(); }
46 0 : virtual void get(const std::string& /*attribute*/, double& /*value*/) { bad(); }
47 0 : virtual void get(const std::string& /*attribute*/, std::string& /*value*/) { bad(); }
48 0 : virtual void get(const std::string& /*association*/, ConfigObject& /*value*/) { bad(); }
49 :
50 0 : virtual void get(const std::string& /*attribute*/, std::vector<bool>& /*value*/) { bad(); }
51 0 : virtual void get(const std::string& /*attribute*/, std::vector<uint8_t>& /*value*/) { bad(); }
52 0 : virtual void get(const std::string& /*attribute*/, std::vector<int8_t>& /*value*/) { bad(); }
53 0 : virtual void get(const std::string& /*attribute*/, std::vector<uint16_t>& /*value*/) { bad(); }
54 0 : virtual void get(const std::string& /*attribute*/, std::vector<int16_t>& /*value*/) { bad(); }
55 0 : virtual void get(const std::string& /*attribute*/, std::vector<uint32_t>& /*value*/) { bad(); }
56 0 : virtual void get(const std::string& /*attribute*/, std::vector<int32_t>& /*value*/) { bad(); }
57 0 : virtual void get(const std::string& /*attribute*/, std::vector<uint64_t>& /*value*/) { bad(); }
58 0 : virtual void get(const std::string& /*attribute*/, std::vector<int64_t>& /*value*/) { bad(); }
59 0 : virtual void get(const std::string& /*attribute*/, std::vector<float>& /*value*/) { bad(); }
60 0 : virtual void get(const std::string& /*attribute*/, std::vector<double>& /*value*/) { bad(); }
61 0 : virtual void get(const std::string& /*attribute*/, std::vector<std::string>& /*value*/) { bad(); }
62 0 : virtual void get(const std::string& /*association*/, std::vector<ConfigObject>& /*value*/) { bad(); }
63 :
64 0 : virtual bool rel(const std::string& /*association*/, std::vector<ConfigObject>& /*value*/)
65 : {
66 0 : bad();
67 0 : return false;
68 : }
69 0 : virtual void referenced_by(std::vector<ConfigObject>& /*value*/,
70 : const std::string& /*association*/,
71 : bool /*check_composite_only*/,
72 : unsigned long /*rlevel*/,
73 : const std::vector<std::string>* /*rclasses*/) const
74 : {
75 0 : bad();
76 0 : }
77 :
78 0 : virtual void set(const std::string& /*attribute*/, bool /*value*/) { bad(); }
79 0 : virtual void set(const std::string& /*attribute*/, uint8_t /*value*/) { bad(); }
80 0 : virtual void set(const std::string& /*attribute*/, int8_t /*value*/) { bad(); }
81 0 : virtual void set(const std::string& /*attribute*/, uint16_t /*value*/) { bad(); }
82 0 : virtual void set(const std::string& /*attribute*/, int16_t /*value*/) { bad(); }
83 0 : virtual void set(const std::string& /*attribute*/, uint32_t /*value*/) { bad(); }
84 0 : virtual void set(const std::string& /*attribute*/, int32_t /*value*/) { bad(); }
85 0 : virtual void set(const std::string& /*attribute*/, uint64_t /*value*/) { bad(); }
86 0 : virtual void set(const std::string& /*attribute*/, int64_t /*value*/) { bad(); }
87 0 : virtual void set(const std::string& /*attribute*/, float /*value*/) { bad(); }
88 0 : virtual void set(const std::string& /*attribute*/, double /*value*/) { bad(); }
89 0 : virtual void set(const std::string& /*attribute*/, const std::string& /*value*/) { bad(); }
90 :
91 0 : virtual void set_enum(const std::string& /*attribute*/, const std::string& /*value*/) { bad(); }
92 0 : virtual void set_date(const std::string& /*attribute*/, const std::string& /*value*/) { bad(); }
93 0 : virtual void set_time(const std::string& /*attribute*/, const std::string& /*value*/) { bad(); }
94 :
95 0 : virtual void set_class(const std::string& /*attribute*/, const std::string& /*value*/) { bad(); }
96 :
97 0 : virtual void set(const std::string& /*attribute*/, const std::vector<bool>& /*value*/) { bad(); }
98 0 : virtual void set(const std::string& /*attribute*/, const std::vector<uint8_t>& /*value*/) { bad(); }
99 0 : virtual void set(const std::string& /*attribute*/, const std::vector<int8_t>& /*value*/) { bad(); }
100 0 : virtual void set(const std::string& /*attribute*/, const std::vector<uint16_t>& /*value*/) { bad(); }
101 0 : virtual void set(const std::string& /*attribute*/, const std::vector<int16_t>& /*value*/) { bad(); }
102 0 : virtual void set(const std::string& /*attribute*/, const std::vector<uint32_t>& /*value*/) { bad(); }
103 0 : virtual void set(const std::string& /*attribute*/, const std::vector<int32_t>& /*value*/) { bad(); }
104 0 : virtual void set(const std::string& /*attribute*/, const std::vector<uint64_t>& /*value*/) { bad(); }
105 0 : virtual void set(const std::string& /*attribute*/, const std::vector<int64_t>& /*value*/) { bad(); }
106 0 : virtual void set(const std::string& /*attribute*/, const std::vector<float>& /*value*/) { bad(); }
107 0 : virtual void set(const std::string& /*attribute*/, const std::vector<double>& /*value*/) { bad(); }
108 0 : virtual void set(const std::string& /*attribute*/, const std::vector<std::string>& /*value*/) { bad(); }
109 :
110 0 : virtual void set_enum(const std::string& /*attribute*/, const std::vector<std::string>& /*value*/) { bad(); }
111 0 : virtual void set_date(const std::string& /*attribute*/, const std::vector<std::string>& /*value*/) { bad(); }
112 0 : virtual void set_time(const std::string& /*attribute*/, const std::vector<std::string>& /*value*/) { bad(); }
113 :
114 0 : virtual void set_class(const std::string& /*attribute*/, const std::vector<std::string>& /*value*/) { bad(); }
115 :
116 0 : virtual void set(const std::string& /*association*/, const ConfigObject* /*value*/, bool) { bad(); }
117 0 : virtual void set(const std::string& /*association*/, const std::vector<const ConfigObject*>& /*value*/, bool)
118 : {
119 0 : bad();
120 0 : }
121 :
122 0 : virtual void move(const std::string& /*at*/) { bad(); }
123 0 : virtual void rename(const std::string& /*new_id*/) { bad(); }
124 :
125 0 : virtual void reset() { bad(); }
126 : };
127 :
128 1301 : ConfigObjectImpl::ConfigObjectImpl(ConfigurationImpl* impl,
129 : const std::string& id,
130 1301 : dunedaq::conffwk::ObjectState state) noexcept
131 1301 : : m_impl(impl)
132 1301 : , m_state(state)
133 1301 : , m_id(id)
134 1301 : , m_class_name(nullptr)
135 : {
136 1301 : }
137 :
138 1301 : ConfigObjectImpl::~ConfigObjectImpl() noexcept {}
139 :
140 : ConfigObjectImpl*
141 0 : ConfigObjectImpl::default_impl() noexcept
142 : {
143 0 : return new ConfigObjectDefault();
144 : }
145 :
146 : const std::string ConfigObjectDefault::s_invalid = "*INVALID*";
147 :
148 : void
149 0 : ConfigObjectDefault::bad()
150 : {
151 0 : throw dunedaq::conffwk::Generic(ERS_HERE, "access *INVALID* object");
152 : }
153 :
154 : } // namespace conffwk
155 : } // namespace dunedaq
|