CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/Fireworks/Core/interface/FWConfigurationManager.h

Go to the documentation of this file.
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