| The Gaudi Framework v29r1 (5cd95fa2)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

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 {
60 public:
62 DeclareInterfaceID( IConverter, 3, 0 );
63
68 virtual StatusCode initialize() = 0;
69
74 virtual StatusCode finalize() = 0;
75
79 virtual const CLID& objType() const = 0;
80
85 virtual long repSvcType() const = 0;
86
91 virtual StatusCode setDataProvider( IDataProviderSvc* pService ) = 0;
92
96 virtual SmartIF<IDataProviderSvc>& dataProvider() const = 0;
97
102 virtual StatusCode setConversionSvc( IConversionSvc* pService ) = 0;
103
107 virtual SmartIF<IConversionSvc>& conversionSvc() const = 0;
108
113 virtual StatusCode setAddressCreator( IAddressCreator* creator ) = 0;
114
118 virtual SmartIF<IAddressCreator>& addressCreator() const = 0;
119
131 virtual StatusCode createObj( IOpaqueAddress* pAddress, DataObject*& refpObject ) = 0;
132
142 virtual StatusCode fillObjRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
143
153 virtual StatusCode updateObj( IOpaqueAddress* pAddress, DataObject* refpObject ) = 0;
154
165 virtual StatusCode updateObjRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
166
174 virtual StatusCode createRep( DataObject* pObject, IOpaqueAddress*& refpAddress ) = 0;
175
182 virtual StatusCode fillRepRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
183
190 virtual StatusCode updateRep( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
191
199 virtual StatusCode updateRepRefs( IOpaqueAddress* pAddress, DataObject* pObject ) = 0;
200
202 enum Status {
204 INVALID_ADDRESS = IInterface::LAST_ERROR + 1,
206 INVALID_OBJECT,
208 NO_MEMORY,
210 BAD_STORAGE_TYPE,
212 NO_SOURCE_OBJECT,
214 ICONVERSIONSVC_LAST_ERROR
215 };
216 };
217
218 #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
IConverter::NO_SOURCE_OBJECT
Error retrieving source data from source store.
Definition: IConverter.h:212
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
IConverter::INVALID_OBJECT
Object to be converted is invalid.
Definition: IConverter.h:206
IConverter::BAD_STORAGE_TYPE
Invalid storage type.
Definition: IConverter.h:210
IConverter::Status
Status
Status code.
Definition: IConverter.h:202
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
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
IInterface
Definition of the basic interface.
Definition: IInterface.h:277
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
IConverter::NO_MEMORY
No more memory available.
Definition: IConverter.h:208
IInterface::LAST_ERROR
Last error.
Definition: IInterface.h:339
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:110
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:29
IInterface.h