Project
Loading...
Searching...
No Matches
ConfigParamStore.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11#ifndef O2_FRAMEWORK_CONFIGPARAMSTORE_H_
12#define O2_FRAMEWORK_CONFIGPARAMSTORE_H_
13
16
17#include <boost/property_tree/ptree_fwd.hpp>
18
19namespace o2::framework
20{
21
28{
29 public:
30 ConfigParamStore(std::vector<ConfigParamSpec> const& specs,
31 std::vector<std::unique_ptr<ParamRetriever>> retrievers);
32
35 void preload();
36
37 void load(std::vector<ConfigParamSpec>& specs);
38
40 boost::property_tree::ptree& store() { return *mStore; };
41 boost::property_tree::ptree& provenanceTree() { return *mProvenance; };
42
44 [[nodiscard]] std::vector<ConfigParamSpec> const& specs() const
45 {
46 return mSpecs;
47 }
48
50 void activate();
51
52 std::string provenance(const char*) const;
53
54 private:
55 std::vector<ConfigParamSpec> const& mSpecs;
56 std::vector<std::unique_ptr<ParamRetriever>> mRetrievers;
57 std::unique_ptr<boost::property_tree::ptree> mStore;
58 std::unique_ptr<boost::property_tree::ptree> mProvenance;
59 std::unique_ptr<boost::property_tree::ptree> mNextStore;
60 std::unique_ptr<boost::property_tree::ptree> mNextProvenance;
61};
62
63} // namespace o2::framework
64
65#endif // O2_FRAMEWORK_CONFIGPARAMREGISTRY_H_
void load(std::vector< ConfigParamSpec > &specs)
boost::property_tree::ptree & store()
Get the store.
boost::property_tree::ptree & provenanceTree()
std::vector< ConfigParamSpec > const & specs() const
Get the specs.
void activate()
Activate the next store.
std::string provenance(const char *) const
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20