| The Gaudi Framework v27r1

- 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/IInterface.h"
6 #include "GaudiKernel/ClassID.h"
7
8 // Forward declarations
9 class IDataProviderSvc;
10 class IAddressCreator;
11 class IConversionSvc;
12 class IOpaqueAddress;
13 class DataObject;
14 template<class T> class SmartIF;
15
57 class GAUDI_API IConverter: virtual public IInterface {
58 public:
60 DeclareInterfaceID(IConverter,3,0);
61
66 virtual StatusCode initialize() = 0;
67
72 virtual StatusCode finalize() = 0;
73
77 virtual const CLID& objType() const = 0;
78
83 virtual long repSvcType() const = 0;
84
89 virtual StatusCode setDataProvider(IDataProviderSvc* pService) = 0;
90
94 virtual SmartIF<IDataProviderSvc>& dataProvider() const = 0;
95
100 virtual StatusCode setConversionSvc(IConversionSvc* pService) = 0;
101
105 virtual SmartIF<IConversionSvc>& conversionSvc() const = 0;
106
111 virtual StatusCode setAddressCreator(IAddressCreator* creator) = 0;
112
116 virtual SmartIF<IAddressCreator>& addressCreator() const = 0;
117
129 virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject) = 0;
130
140 virtual StatusCode fillObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
141
151 virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* refpObject) = 0;
152
163 virtual StatusCode updateObjRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
164
172 virtual StatusCode createRep(DataObject* pObject, IOpaqueAddress*& refpAddress) = 0;
173
180 virtual StatusCode fillRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
181
188 virtual StatusCode updateRep(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
189
197 virtual StatusCode updateRepRefs(IOpaqueAddress* pAddress, DataObject* pObject) = 0;
198
200 ~IConverter() override = default;
201
203 enum Status {
205 INVALID_ADDRESS = IInterface::LAST_ERROR+1,
207 INVALID_OBJECT,
209 NO_MEMORY,
211 BAD_STORAGE_TYPE,
213 NO_SOURCE_OBJECT,
215 ICONVERSIONSVC_LAST_ERROR
216 };
217 };
218
219 #endif // GAUDIKERNEL_ICONVERTER_H
SmartIF
Small smart pointer class with automatic reference counting for IInterface.
Definition: IConverter.h:14
ClassID.h
AnalysisTest.initialize
def initialize()
Definition: AnalysisTest.py:12
IConverter
The data converters are responsible to translate data from one representation into another...
Definition: IConverter.h:57
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:213
IDataProviderSvc
Data provider interface definition.
Definition: IDataProviderSvc.h:45
IConverter::INVALID_OBJECT
Object to be converted is invalid.
Definition: IConverter.h:207
IConverter::BAD_STORAGE_TYPE
Invalid storage type.
Definition: IConverter.h:211
IConverter::Status
Status
Status code.
Definition: IConverter.h:203
StatusCode
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
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:14
IConverter::NO_MEMORY
No more memory available.
Definition: IConverter.h:209
IInterface::LAST_ERROR
Last error.
Definition: IInterface.h:291
IOpaqueAddress
Opaque address interface definition.
Definition: IOpaqueAddress.h:23
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
DataObject
A DataObject is the base class of any identifiable object on any data store.
Definition: DataObject.h:30
IInterface.h