Gaudi Framework, version v23r6
Home
Generated: Wed Jan 30 2013
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
GaudiKernel
GaudiKernel
Converter.h
Go to the documentation of this file.
1
// $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/Converter.h,v 1.10 2004/09/11 00:22:41 leggett Exp $
2
#ifndef GAUDIKERNEL_CONVERTER_H
3
#define GAUDIKERNEL_CONVERTER_H
4
5
// generic experiment headers
6
#include "
GaudiKernel/IConverter.h
"
7
#include "
GaudiKernel/ISvcLocator.h
"
8
#include "
GaudiKernel/IService.h
"
9
#include "
GaudiKernel/ConversionSvc.h
"
10
#include "
GaudiKernel/IDataProviderSvc.h
"
11
#include "
GaudiKernel/IDataManagerSvc.h
"
12
13
// Forward declarations
14
class
IMessageSvc
;
15
class
IRegistry
;
16
25
class
GAUDI_API
Converter
:
public
implements1
<IConverter> {
26
public
:
27
29
virtual
StatusCode
initialize
();
30
32
virtual
StatusCode
finalize();
33
35
virtual
StatusCode
setDataProvider(
IDataProviderSvc
* svc);
36
38
virtual
SmartIF<IDataProviderSvc>
& dataProvider()
const
;
39
41
virtual
StatusCode
setConversionSvc(
IConversionSvc
* svc);
42
44
virtual
SmartIF<IConversionSvc>
& conversionSvc()
const
;
45
47
virtual
StatusCode
setAddressCreator(
IAddressCreator
* creator);
48
50
virtual
SmartIF<IAddressCreator>
& addressCreator()
const
;
51
53
virtual
const
CLID
& objType()
const
;
54
56
// MSF: Masked to generate compiler error due to interface change
57
virtual
long
i_repSvcType()
const
;
58
60
virtual
StatusCode
createObj(
IOpaqueAddress
* pAddress,
DataObject
*& refpObject);
61
63
virtual
StatusCode
fillObjRefs(
IOpaqueAddress
* pAddress,
DataObject
* pObject);
64
66
virtual
StatusCode
updateObj(
IOpaqueAddress
* pAddress,
DataObject
* refpObject);
67
69
virtual
StatusCode
updateObjRefs(
IOpaqueAddress
* pAddress,
DataObject
* pObject);
70
72
virtual
StatusCode
createRep(
DataObject
* pObject,
IOpaqueAddress
*& refpAddress);
73
75
virtual
StatusCode
fillRepRefs(
IOpaqueAddress
* pAddress,
DataObject
* pObject);
76
78
virtual
StatusCode
updateRep(
IOpaqueAddress
* pAddress,
DataObject
* pObject);
79
81
virtual
StatusCode
updateRepRefs(
IOpaqueAddress
* pAddress,
DataObject
* pObject);
82
84
Converter
(
long
storage_type,
const
CLID
& class_type,
ISvcLocator
* svc = 0);
85
87
template
<
class
T>
88
StatusCode
service
(
const
std::string
& name, T*& psvc,
bool
createIf =
false
)
const
{
89
return
service_i(name, createIf, T::interfaceID(), (
void
**)&psvc);
90
}
91
93
template
<
class
T>
94
StatusCode
service
(
const
std::string
&
type
,
const
std::string
& name, T*& psvc)
const
{
95
return
service_i(type, name, T::interfaceID(), (
void
**)&psvc);
96
}
97
99
SmartIF<IService>
service(
const
std::string
& name,
const
bool
createIf =
true
)
const
;
100
101
protected
:
102
104
virtual
~
Converter
();
105
107
SmartIF<ISvcLocator>
& serviceLocator()
const
;
109
SmartIF<IMessageSvc>
& msgSvc()
const
;
110
// Obsoleted name, kept due to the backwards compatibility
111
SmartIF<IMessageSvc>
& messageService()
const
;
113
SmartIF<IDataManagerSvc>
& dataManager()
const
;
114
115
private
:
116
118
long
m_storageType
;
120
const
CLID
m_classType
;
122
mutable
SmartIF<IAddressCreator>
m_addressCreator
;
124
mutable
SmartIF<IDataProviderSvc>
m_dataProvider
;
126
mutable
SmartIF<IDataManagerSvc>
m_dataManager
;
128
mutable
SmartIF<IConversionSvc>
m_conversionSvc
;
130
mutable
SmartIF<ISvcLocator>
m_svcLocator
;
132
mutable
SmartIF<IMessageSvc>
m_messageSvc
;
133
135
StatusCode
service_i(
const
std::string
& svcName,
136
bool
createIf,
137
const
InterfaceID
&
iid
,
138
void
** ppSvc)
const
;
139
StatusCode
service_i(
const
std::string
& svcType,
140
const
std::string
& svcName,
141
const
InterfaceID
&
iid
,
142
void
** ppSvc)
const
;
143
};
144
145
146
#endif // GAUDIKERNEL_CONVERTER_H
Generated at Wed Jan 30 2013 17:13:39 for Gaudi Framework, version v23r6 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004