00001 #ifndef _ots_FileConfigurationInterface_h_ 00002 #define _ots_FileConfigurationInterface_h_ 00003 00004 #include "otsdaq-core/ConfigurationInterface/ConfigurationInterface.h" 00005 00006 #include <set> 00007 00008 namespace ots 00009 { 00010 class ConfigurationBase; 00011 00012 class FileConfigurationInterface : public ConfigurationInterface 00013 { 00014 public: 00015 FileConfigurationInterface(){;} 00016 virtual ~FileConfigurationInterface(){;} 00017 00018 // read configuration from database 00019 void fill(ConfigurationBase* /*configuration*/, ConfigurationVersion /*version*/) const; 00020 00021 // write configuration to database 00022 void saveActiveVersion(const ConfigurationBase* /*configuration*/, bool overwrite = false) const; 00023 00024 // find the latest configuration version by configuration type 00025 ConfigurationVersion findLatestVersion(const ConfigurationBase* /*configuration*/) const; 00026 00027 // find all configuration versions by configuration type 00028 std::set<ConfigurationVersion> getVersions(const ConfigurationBase* /*configuration*/) const; 00029 00030 private: 00031 00032 }; 00033 } 00034 00035 #endif