![]() |
|
|
Generated: 18 Jul 2008 |
00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IConverter.h,v 1.5 2003/08/05 13:49:16 mato Exp $ 00002 #ifndef GAUDIKERNEL_ICONVERTER_H 00003 #define GAUDIKERNEL_ICONVERTER_H 00004 00005 // Include files 00006 #include "GaudiKernel/IInterface.h" 00007 #include "GaudiKernel/ClassID.h" 00008 00009 00010 // Forward declarations 00011 class IDataProviderSvc; 00012 class IAddressCreator; 00013 class IConversionSvc; 00014 class IOpaqueAddress; 00015 class DataObject; 00016 00017 // Declaration of the interface ID ( interface id, major version, minor version) 00018 static const InterfaceID IID_IConverter(3, 2 , 0); 00019 00061 class IConverter : virtual public IInterface { 00062 public: 00064 static const InterfaceID& interfaceID() { return IID_IConverter; } 00065 00070 virtual StatusCode initialize() = 0; 00071 00076 virtual StatusCode finalize() = 0; 00077 00081 virtual const CLID& objType() const = 0; 00082 00087 virtual long repSvcType() const = 0; 00088 00093 virtual StatusCode setDataProvider(IDataProviderSvc* pService) = 0; 00094 00098 virtual IDataProviderSvc* dataProvider() const = 0; 00099 00104 virtual StatusCode setConversionSvc(IConversionSvc* pService) = 0; 00105 00109 virtual IConversionSvc* conversionSvc() const = 0; 00110 00115 virtual StatusCode setAddressCreator(IAddressCreator* creator) = 0; 00116 00120 virtual IAddressCreator* addressCreator() const = 0; 00121 00133 virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject) = 0; 00134 00144 virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0; 00145 00155 virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject) = 0; 00156 00167 virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0; 00168 00176 virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress) = 0; 00177 00184 virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0; 00185 00192 virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject) = 0; 00193 00201 virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0; 00202 00204 enum Status { 00206 INVALID_ADDRESS = IInterface::LAST_ERROR+1, 00208 INVALID_OBJECT, 00210 NO_MEMORY, 00212 BAD_STORAGE_TYPE, 00214 NO_SOURCE_OBJECT, 00216 ICONVERSIONSVC_LAST_ERROR 00217 }; 00218 }; 00219 00220 #endif // GAUDIKERNEL_ICONVERTER_H