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