Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

IConverter.h

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IConverter.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner 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 IOpaqueAddress;
00013 class ISvcLocator;
00014 class DataObject;
00015 
00016 // Declaration of the interface ID ( interface id, major version, minor version) 
00017 static const InterfaceID IID_IConverter(3, 1 , 0); 
00018 
00060 class IConverter : virtual public IInterface        {
00061 public:
00063   static const InterfaceID& interfaceID() { return IID_IConverter; }
00064 
00069   virtual StatusCode initialize() = 0;
00070 
00075   virtual StatusCode finalize() = 0;
00076 
00080   virtual const CLID& objType() const = 0;
00081 
00086   virtual unsigned char repSvcType() const = 0;
00087 
00092   virtual StatusCode setDataProvider(IDataProviderSvc* pService) = 0;
00093 
00097   virtual IDataProviderSvc* dataProvider() = 0;
00098 
00110   virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject) = 0;
00111 
00121   virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
00122 
00132   virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject) = 0;
00133 
00144   virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
00145 
00153   virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress) = 0;
00154 
00161   virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
00162 
00169   virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject)  = 0;
00170 
00178   virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
00179 
00181   enum Status {
00183     SUCCESS = IInterface::SUCCESS,
00185     INVALID_ADDRESS = IInterface::LAST_ERROR+1,
00187     INVALID_OBJECT,
00189     NO_MEMORY,
00191     NO_SOURCE_OBJECT
00192   };
00193 };
00194 
00195 #endif // GAUDIKERNEL_ICONVERTER_H 

Generated at Wed Nov 21 12:22:03 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000