Line data Source code
1 : #include "logging/Logging.hpp"
2 :
3 : #include "conffwk/Configuration.hpp"
4 :
5 : #include "confmodel/Jsonable.hpp"
6 : #include "confmodel/JsonableTest.hpp"
7 :
8 : #include "nlohmann/json.hpp"
9 :
10 : #include <iostream>
11 : #include <string>
12 : #include <list>
13 :
14 : using namespace dunedaq;
15 :
16 :
17 0 : int main(int /*argc*/, char* /*argv*/[]) {
18 0 : std::list<std::string> inc_files{"schema/confmodel/dunedaq.schema.xml"};
19 0 : conffwk::Configuration confdb ("oksconflibs");
20 0 : std::string dbfile{"/tmp/js-test.data.xml"};
21 0 : confdb.create(dbfile, inc_files);
22 :
23 0 : conffwk::ConfigObject config_obj1;
24 0 : confdb.create(dbfile, "JsonableTest", "test1", config_obj1);
25 :
26 0 : conffwk::ConfigObject config_obj2;
27 0 : confdb.create(dbfile, "JsonableTest", "test2", config_obj2);
28 :
29 0 : config_obj1.set_by_val<unsigned int>("this", 1);
30 0 : config_obj1.set_by_val<unsigned int>("that", 1);
31 0 : config_obj1.set_obj("other", &config_obj2);
32 :
33 0 : config_obj2.set_by_val<unsigned int>("this", 2);
34 0 : config_obj2.set_by_val<unsigned int>("that", 2);
35 :
36 0 : auto dal = confdb.get<confmodel::JsonableTest>("test1");
37 0 : nlohmann::json json1 = dal->to_json();
38 0 : std::cout << "json1:\n=====\n" << json1.dump(4) << "\n";
39 :
40 0 : nlohmann::json json2 = dal->to_json(false, true);
41 0 : std::cout << "json2:\n=====\n" << json2.dump(4) << "\n";
42 :
43 0 : }
|