|
Gaudi Framework, version v21r4 |
| Home | Generated: 7 Sep 2009 |
00001 // $Id: RecordDataSvc.h,v 1.1 2008/12/10 18:37:36 marcocle Exp $ 00002 #ifndef DATASVC_RECORDDATASVC_H 00003 #define DATASVC_RECORDDATASVC_H 00004 00005 #include "GaudiKernel/DataSvc.h" 00006 #include "GaudiKernel/IIncidentListener.h" 00007 class IConversionSvc; 00008 00009 00026 class RecordDataSvc : public DataSvc, virtual public IIncidentListener { 00027 friend class SvcFactory<RecordDataSvc>; 00028 protected: 00029 typedef std::vector<std::string> StringV; 00030 public: 00031 virtual StatusCode initialize(); 00032 virtual StatusCode reinitialize(); 00033 virtual StatusCode finalize(); 00034 00039 virtual StatusCode queryInterface(const InterfaceID& riid,void** ppvInterface); 00040 00042 virtual void handle(const Incident& incident); 00043 00045 RecordDataSvc(const std::string& name, ISvcLocator* svc); 00046 00048 virtual ~RecordDataSvc(); 00049 00050 protected: 00052 void registerRecord(const std::string& data, IOpaqueAddress* pAddr); 00053 00055 void loadRecords(IRegistry* pReg); 00056 00057 protected: 00059 bool m_autoLoad; 00061 std::string m_incidentName; 00063 std::string m_saveIncidentName; 00065 std::string m_persSvcName; 00067 StringV m_incidents; 00069 IConversionSvc* m_cnvSvc; 00070 }; 00071 #endif // DATASVC_RECORDDATASVC_H