| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 virtual ~IConverter() {}
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