Gaudi Framework, version v21r9

Home   Generated: 3 May 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

Generated at Mon May 3 12:14:16 2010 for Gaudi Framework, version v21r9 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004