00001 00011 #ifndef DYBSTORAGESVC_H 00012 #define DYBSTORAGESVC_H 00013 00014 #include "DybKernel/IDybStorageSvc.h" 00015 #include "DybKernel/IRegSeqVisitor.h" 00016 00017 #include "GaudiKernel/Service.h" 00018 #include "GaudiKernel/ToolHandle.h" 00019 00020 class IConversionSvc; 00021 00022 class DybStorageSvc : public Service, 00023 virtual public IDybStorageSvc 00024 { 00025 public: 00026 DybStorageSvc(const std::string& name, ISvcLocator* svc); 00027 virtual ~DybStorageSvc(); 00028 00029 virtual StatusCode initialize(); 00030 virtual StatusCode finalize(); 00031 00032 virtual StatusCode store(const IRegistrationSequence& regSeq); 00033 virtual StatusCode store(DataObject* object, const std::string& path); 00034 00035 virtual StatusCode queryInterface(const InterfaceID& riid, 00036 void** ppvInterface); 00037 00038 00039 private: 00040 IConversionSvc* m_cnv; 00041 00042 ToolHandleArray<IRegSeqVisitor> m_rsVisitors; 00043 00044 }; 00045 00046 #endif // DYBSTORAGESVC_H