00001 #ifndef _ots_Configurations_h_
00002 #define _ots_Configurations_h_
00003
00004 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationBase.h"
00005 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationGroupKey.h"
00006 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationVersion.h"
00007
00008 #include <string>
00009 #include <set>
00010
00011 namespace ots
00012 {
00013
00014 class Configurations : public ConfigurationBase
00015 {
00016
00017 public:
00018
00019 Configurations (void);
00020 virtual ~Configurations (void);
00021
00022
00023 void init (ConfigurationManager *configManager);
00024 bool findKOC (ConfigurationGroupKey ConfigurationGroupKey, std::string koc) const;
00025
00026
00027 ConfigurationVersion getConditionVersion (const ConfigurationGroupKey &ConfigurationGroupKey, std::string koc) const;
00028
00029 std::set<std::string> getListOfKocs (ConfigurationGroupKey ConfigurationGroupKey = ConfigurationGroupKey()) const;
00030 void getListOfKocsForView (ConfigurationView* cfgView, std::set<std::string> &kocList, ConfigurationGroupKey ConfigurationGroupKey = ConfigurationGroupKey()) const;
00031
00032
00033
00034 int setConditionVersionForView(ConfigurationView* cfgView, ConfigurationGroupKey ConfigurationGroupKey, std::string koc, ConfigurationVersion newKOCVersion);
00035
00036 private:
00037 enum{ConfigurationGroupKeyAlias,
00038 KOC,
00039 ConditionVersion};
00040
00041 };
00042 }
00043 #endif