00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IPersistencySvc.h,v 1.3 2003/08/05 13:49:16 mato Exp $ 00002 #ifndef KERNEL_IPERSISTENCYSVC_H 00003 #define KERNEL_IPERSISTENCYSVC_H 00004 00005 // Include files 00006 #include "GaudiKernel/Kernel.h" 00007 #include "GaudiKernel/IInterface.h" 00008 00009 // Forward declarations 00010 // Generic interface to data object class 00011 class IConversionSvc; 00012 00013 // Declaration of the interface ID ( interface id, major version, minor version) 00014 static const InterfaceID IID_IPersistencySvc(7, 1 , 0); 00015 00016 00024 class IPersistencySvc : virtual public IInterface { 00025 public: 00026 00028 static const InterfaceID& interfaceID() { return IID_IPersistencySvc; } 00029 00034 virtual StatusCode setDefaultCnvService(long type) = 0; 00035 00040 virtual StatusCode addCnvService(IConversionSvc* service) = 0; 00041 00046 virtual StatusCode removeCnvService(long type) = 0; 00047 00053 virtual StatusCode getService(long service_type, IConversionSvc*& refpSvc) = 0; 00059 virtual StatusCode getService(const std::string& service_type, IConversionSvc*& refpSvc) = 0; 00060 }; 00061 00062 #endif // KERNELGAUDI_IPERSISTENCYSVC_H