00001 #ifndef Fireworks_Core_FWConfigurationManager_h 00002 #define Fireworks_Core_FWConfigurationManager_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Core 00006 // Class : FWConfigurationManager 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Sun Feb 24 14:38:41 EST 2008 00019 // $Id: FWConfigurationManager.h,v 1.5 2010/04/23 08:57:08 eulisse Exp $ 00020 // 00021 00022 // system include files 00023 #include <map> 00024 #include <string> 00025 00026 // user include files 00027 00028 // forward declarations 00029 class FWConfigurable; 00030 class FWConfiguration; 00031 00032 class FWConfigurationManager 00033 { 00034 00035 public: 00036 FWConfigurationManager(); 00037 virtual ~FWConfigurationManager(); 00038 00039 // ---------- const member functions --------------------- 00040 void setFrom(const FWConfiguration&) const; 00041 void to(FWConfiguration&) const; 00042 00043 void writeToFile(const std::string&) const; 00044 void readFromFile(const std::string&) const; 00045 // ---------- static member functions -------------------- 00046 00047 // ---------- member functions --------------------------- 00049 void add(const std::string& iName, FWConfigurable*); 00050 00051 private: 00052 FWConfigurationManager(const FWConfigurationManager&); // stop default 00053 00054 const FWConfigurationManager& operator=(const FWConfigurationManager&); // stop default 00055 void readFromOldFile(const std::string&) const; 00056 00057 // ---------- member data -------------------------------- 00058 std::map<std::string, FWConfigurable*> m_configurables; 00059 }; 00060 00061 00062 #endif