| The Gaudi Framework v32r1 (f65d50dc)

IConverter.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ICONVERTER_H
2 #define GAUDIKERNEL_ICONVERTER_H
3
4 // Include files
5 #include "GaudiKernel/ClassID.h"
6 #include "GaudiKernel/IInterface.h"
7
8 // Forward declarations
9 class IDataProviderSvc;
10 class IAddressCreator;
11 class IConversionSvc;
12 class IOpaqueAddress;
13 class DataObject;
14 template <class T>
15 class SmartIF;
16
58 class GAUDI_API IConverter : virtual public IInterface {
59 public:
61 DeclareInterfaceID( IConverter, 3, 0 );
62
67 virtual StatusCode initialize() = 0;
68
73 virtual StatusCode finalize() = 0;
74
78 virtual const CLID& objType() const = 0;
79
84 virtual long repSvcType() const = 0;
85
90 virtual StatusCode setDataProvider( IDataProviderSvc* pService ) = 0;
91
95 virtual SmartIF<IDataProviderSvc>& dataProvider() const = 0;
96
101 virtual StatusCode setConversionSvc( IConversionSvc* pService ) = 0;
102
106 virtual SmartIF<IConversionSvc>& conversionSvc() const = 0;
107
112 virtual StatusCode setAddressCreator( IAddressCreator* creator ) = 0;
113
117 virtual SmartIF<IAddressCreator>& addressCreator() const = 0;
118
130 virtual StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) = 0;
131
141 virtual StatusCode fillObjRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
142
152 virtual StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* refpObject ) = 0;
153
164 virtual StatusCode updateObjRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
165
173 virtual StatusCode createRep( DataObject* pObject, IOpaqueAddress*& refpAddress ) = 0;
174
181 virtual StatusCode fillRepRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
182
189 virtual StatusCode updateRep( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
190
198 virtual StatusCode updateRepRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
199 };
200
201 #endif // GAUDIKERNEL_ICONVERTER_H
SmartIF
Small smart pointer class with automatic reference counting for IInterface.
Definition: IConverter.h:15
ClassID.h
IConverter
The data converters are responsible to translate data from one representation into another.
Definition: IConverter.h:58
IConversionSvc
Definition: IConversionSvc.h:37
IAddressCreator
IAddressCreator interface definition.
Definition: IAddressCreator.h:28
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:43
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
IInterface
Definition of the basic interface.
Definition: IInterface.h:244
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:13
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:71
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
IInterface.h