| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# IConverter.h

Go to the documentation of this file.

    00001 // $Header: /tmp/svngaudi/tmp.jEpFh25751/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 // Forward declarations
    00010 class IDataProviderSvc;
    00011 class IAddressCreator;
    00012 class IConversionSvc;
    00013 class IOpaqueAddress;
    00014 class DataObject;
    00015 template<class T> class SmartIF;
    00016
    00058 class GAUDI_API IConverter: virtual public IInterface {
    00059 public:
    00061   DeclareInterfaceID(IConverter,3,0);
    00062
    00067   virtual StatusCode initialize() = 0;
    00068
    00073   virtual StatusCode finalize() = 0;
    00074
    00078   virtual const CLID& objType() const = 0;
    00079
    00084   virtual long repSvcType() const = 0;
    00085
    00090   virtual StatusCode setDataProvider(IDataProviderSvc* pService) = 0;
    00091
    00095   virtual SmartIF<IDataProviderSvc>& dataProvider() const = 0;
    00096
    00101   virtual StatusCode setConversionSvc(IConversionSvc* pService) = 0;
    00102
    00106   virtual SmartIF<IConversionSvc>& conversionSvc()    const = 0;
    00107
    00112   virtual StatusCode setAddressCreator(IAddressCreator* creator) = 0;
    00113
    00117   virtual SmartIF<IAddressCreator>& addressCreator()    const = 0;
    00118
    00130   virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject) = 0;
    00131
    00141   virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
    00142
    00152   virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject) = 0;
    00153
    00164   virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
    00165
    00173   virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress) = 0;
    00174
    00181   virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
    00182
    00189   virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject)  = 0;
    00190
    00198   virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
    00199
    00201   enum Status {
    00203     INVALID_ADDRESS = IInterface::LAST_ERROR+1,
    00205     INVALID_OBJECT,
    00207     NO_MEMORY,
    00209     BAD_STORAGE_TYPE,
    00211     NO_SOURCE_OBJECT,
    00213     ICONVERSIONSVC_LAST_ERROR
    00214   };
    00215 };
    00216
    00217 #endif // GAUDIKERNEL_ICONVERTER_H