Line data Source code
1 : #include "DatabaseConfigurationInterface.h"
2 :
3 : #include <algorithm>
4 : #include <iterator>
5 :
6 : #include "ConfigurationInterface.h"
7 : #include "artdaq-database/ConfigurationDB/configurationdbifc.h"
8 :
9 : #include "artdaq-database/BasicTypes/basictypes.h"
10 : using artdaq::database::basictypes::JsonData;
11 :
12 : namespace artdaq {
13 : namespace database {
14 : namespace configuration {
15 :
16 : using ots::ConfigurationBase;
17 :
18 : template <>
19 : template <>
20 389 : bool MakeSerializable<ConfigurationBase const*>::writeDocumentImpl<JsonData>(JsonData& data) const {
21 389 : std::stringstream ss;
22 :
23 389 : _conf->getView().printJSON(ss);
24 :
25 389 : data.json_buffer = ss.str();
26 :
27 389 : return true;
28 389 : }
29 :
30 : template <>
31 2399 : std::string MakeSerializable<ConfigurationBase const*>::configurationNameImpl() const {
32 2399 : return _conf->getConfigurationName();
33 : }
34 :
35 : template <>
36 : template <>
37 16 : bool MakeSerializable<ConfigurationBase*>::readDocumentImpl<JsonData>(JsonData const& data) {
38 16 : int retVal = _conf->getViewP()->fillFromJSON(data);
39 :
40 16 : return (retVal >= 0);
41 : }
42 :
43 : template <>
44 16 : std::string MakeSerializable<ConfigurationBase*>::configurationNameImpl() const {
45 16 : return _conf->getConfigurationName();
46 : }
47 :
48 : } // namespace configuration
49 : } // namespace database
50 : } // namespace artdaq
|