| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IConverter.h

Go to the documentation of this file.

    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