00001 #ifndef DTConfigAbstractHandler_H 00002 #define DTConfigAbstractHandler_H 00003 00014 //---------------------- 00015 // Base Class Headers -- 00016 //---------------------- 00017 00018 00019 //------------------------------------ 00020 // Collaborating Class Declarations -- 00021 //------------------------------------ 00022 00023 class DTKeyedConfig; 00024 class DTKeyedConfigListRcd; 00025 namespace edm{ 00026 class EventSetup; 00027 } 00028 00029 //--------------- 00030 // C++ Headers -- 00031 //--------------- 00032 #include <string> 00033 #include <vector> 00034 00035 // --------------------- 00036 // -- Class Interface -- 00037 // --------------------- 00038 00039 class DTConfigAbstractHandler { 00040 00041 public: 00042 00045 // DTConfigAbstractHandler(); 00046 00049 virtual ~DTConfigAbstractHandler(); 00050 00053 00054 static DTConfigAbstractHandler* getInstance(); 00055 00057 virtual int get( const edm::EventSetup& context, 00058 int cfgId, const DTKeyedConfig*& obj ); 00059 virtual int get( const DTKeyedConfigListRcd& keyRecord, 00060 int cfgId, const DTKeyedConfig*& obj ); 00061 virtual void getData( const edm::EventSetup& context, 00062 int cfgId, std::vector<std::string>& list ); 00063 virtual void getData( const DTKeyedConfigListRcd& keyRecord, 00064 int cfgId, std::vector<std::string>& list ); 00065 00067 virtual void purge(); 00068 00069 protected: 00070 00073 DTConfigAbstractHandler(); 00074 static DTConfigAbstractHandler* instance; 00075 00076 private: 00077 00080 DTConfigAbstractHandler( const DTConfigAbstractHandler& x ); 00081 const DTConfigAbstractHandler& operator=( const DTConfigAbstractHandler& x ); 00082 00083 }; 00084 00085 00086 #endif // DTConfigAbstractHandler_H 00087