Gaudi Framework, version v24r2
Home
Generated: Wed Dec 4 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
DataSvc.h
Go to the documentation of this file.
1
// $Id: DataSvc.h,v 1.14 2006/11/30 14:43:13 mato Exp $
2
#ifndef GAUDIKERNEL_DATASVC_H
3
#define GAUDIKERNEL_DATASVC_H
4
5
// Include files
6
#include "
GaudiKernel/Service.h
"
7
#include "
GaudiKernel/DataStoreItem.h
"
8
#include "
GaudiKernel/IDataManagerSvc.h
"
9
#include "
GaudiKernel/IDataProviderSvc.h
"
10
11
// Forward declarations
12
// Incident service
13
class
IIncidentSvc
;
14
// Generic address
15
class
IOpaqueAddress
;
16
// Generic interface to data object class
17
class
DataObject
;
18
// Data store agent
19
class
IDataStoreAgent
;
20
// Service factory
21
template
<
class
TYPE>
class
SvcFactory
;
22
23
// Do not clutter global namespace for helpers...
24
namespace
DataSvcHelpers {
25
// Map of objects where loading is inhibited
26
class
InhibitMap;
27
// Generic registry entry
28
class
RegistryEntry
;
29
}
30
31
42
class
GAUDI_API
DataSvc
:
public
extends2
<Service, IDataProviderSvc, IDataManagerSvc>
43
{
45
friend
class
SvcFactory
<
DataSvc
>;
46
47
public
:
49
typedef
std::vector<DataStoreItem>
LoadItems
;
50
51
protected
:
53
CLID
m_rootCLID
;
55
std::string
m_rootName
;
57
IConversionSvc
*
m_dataLoader
;
59
IIncidentSvc
*
m_incidentSvc
;
61
LoadItems
m_preLoads
;
63
bool
m_forceLeaves
;
65
bool
m_enableAccessHdlr
;
67
bool
m_enableFaultHdlr
;
69
DataSvcHelpers::RegistryEntry
*
m_root
;
71
DataSvcHelpers::InhibitMap*
m_inhibitMap
;
73
std::vector<std::string>
m_inhibitPathes
;
75
std::string
m_accessName
;
77
std::string
m_faultName
;
78
public
:
79
81
virtual
CLID
rootCLID()
const
;
82
84
virtual
std::string
rootName()
const
;
85
87
virtual
StatusCode
registerAddress(
const
std::string
& fullPath,
88
IOpaqueAddress
* pAddress);
89
91
virtual
StatusCode
registerAddress(
DataObject
* parentObj,
92
const
std::string
& objectPath,
93
IOpaqueAddress
* pAddress);
94
96
virtual
StatusCode
registerAddress(
IRegistry
* parentObj,
97
const
std::string
& objectPath,
98
IOpaqueAddress
* pAddress);
99
101
virtual
StatusCode
unregisterAddress(
const
std::string
& fullPath);
102
104
virtual
StatusCode
unregisterAddress(
DataObject
* pParent,
105
const
std::string
& objPath);
106
108
virtual
StatusCode
unregisterAddress(
IRegistry
* pParent,
109
const
std::string
& objPath);
110
114
virtual
StatusCode
objectLeaves(
const
DataObject
* pObject,
115
std::vector<IRegistry*>
& refLeaves);
119
virtual
StatusCode
objectLeaves(
const
IRegistry
* pRegistry,
120
std::vector<IRegistry*>
& refLeaves);
121
123
virtual
StatusCode
objectParent(
const
DataObject
* pObject,
124
IRegistry
*& refpParent);
126
virtual
StatusCode
objectParent(
const
IRegistry
* pRegistry,
127
IRegistry
*& refpParent);
128
132
virtual
StatusCode
clearSubTree(
const
std::string
& sub_tree_path );
133
137
virtual
StatusCode
clearSubTree(
DataObject
* pObject );
138
140
virtual
StatusCode
clearStore();
141
145
virtual
StatusCode
traverseSubTree(
const
std::string
& sub_tree_path,
146
IDataStoreAgent
* pAgent );
147
149
virtual
StatusCode
traverseSubTree(
DataObject
* pObject,
150
IDataStoreAgent
* pAgent );
151
153
virtual
StatusCode
traverseTree(
IDataStoreAgent
* pAgent );
154
157
virtual
StatusCode
setRoot(
const
std::string
& root_name,
158
DataObject
* pRootObj);
159
163
virtual
StatusCode
i_setRoot(
const
std::string
& root_name,
164
DataObject
* pRootObj);
165
168
virtual
StatusCode
setRoot (
const
std::string
& root_path,
169
IOpaqueAddress
* pRootAddr);
170
175
virtual
StatusCode
i_setRoot (
const
std::string
& root_path,
176
IOpaqueAddress
* pRootAddr);
177
181
virtual
StatusCode
setDataLoader(
IConversionSvc
* svc );
182
184
virtual
StatusCode
addPreLoadItem(
const
DataStoreItem
&
item
);
185
187
virtual
StatusCode
addPreLoadItem(
const
std::string
& itemPath );
188
190
virtual
StatusCode
removePreLoadItem(
const
DataStoreItem
&
item
);
191
193
virtual
StatusCode
removePreLoadItem(
const
std::string
& itemPath );
194
196
virtual
StatusCode
resetPreLoad();
197
205
virtual
StatusCode
preLoad(
int
depth,
206
int
load_depth,
207
DataObject
* pObject );
208
210
virtual
StatusCode
preLoad();
211
213
virtual
StatusCode
registerObject(
const
std::string
& fullPath,
214
DataObject
* pObject );
215
217
virtual
StatusCode
registerObject(
const
std::string
& parentPath,
218
const
std::string
& objPath,
219
DataObject
* pObject );
220
222
virtual
StatusCode
registerObject(
const
std::string
& parentPath,
223
int
item
,
224
DataObject
* pObject );
225
227
virtual
StatusCode
registerObject(
DataObject
* parentObj,
228
const
std::string
& objPath,
229
DataObject
* pObject );
230
232
virtual
StatusCode
registerObject(
DataObject
* parentObj,
233
int
item
,
234
DataObject
* pObject );
235
237
virtual
StatusCode
unregisterObject(
const
std::string
& fullPath );
238
240
virtual
StatusCode
unregisterObject(
const
std::string
& parentPath,
241
const
std::string
& objectPath );
242
244
virtual
StatusCode
unregisterObject(
const
std::string
& parentPath,
245
int
item
);
246
248
virtual
StatusCode
unregisterObject(
DataObject
* pObject );
249
251
virtual
StatusCode
unregisterObject(
DataObject
* pObject,
252
const
std::string
& objectPath );
253
255
virtual
StatusCode
unregisterObject(
DataObject
* pObject,
256
int
item
);
257
259
virtual
StatusCode
retrieveObject(
IRegistry
* pDirectory,
260
const
std::string
&
path
,
261
DataObject
*& pObject );
262
264
virtual
StatusCode
retrieveObject(
const
std::string
& fullPath,
265
DataObject
*& pObject );
266
268
virtual
StatusCode
retrieveObject(
const
std::string
& parentPath,
269
const
std::string
& objPath,
270
DataObject
*& pObject );
271
273
virtual
StatusCode
retrieveObject(
const
std::string
& parentPath,
274
int
item
,
275
DataObject
*& pObject );
276
278
virtual
StatusCode
retrieveObject(
DataObject
* parentObj,
279
const
std::string
& objPath,
280
DataObject
*& pObject );
281
283
virtual
StatusCode
retrieveObject(
DataObject
* parentObj,
284
int
item
,
285
DataObject
*& pObject );
286
288
virtual
StatusCode
findObject(
const
std::string
& fullPath,
289
DataObject
*& pObject );
290
292
virtual
StatusCode
findObject(
IRegistry
* pDirectory,
293
const
std::string
&
path
,
294
DataObject
*& pObject );
295
297
virtual
StatusCode
findObject(
const
std::string
& parentPath,
298
const
std::string
& objPath,
299
DataObject
*& pObject );
300
302
virtual
StatusCode
findObject(
const
std::string
& parentPath,
303
int
item
,
304
DataObject
*& pObject );
305
307
virtual
StatusCode
findObject(
DataObject
* parentObj,
308
const
std::string
& objPath,
309
DataObject
*& pObject );
310
312
virtual
StatusCode
findObject(
DataObject
* parentObj,
313
int
item
,
314
DataObject
*& pObject );
315
317
virtual
StatusCode
linkObject(
IRegistry
* from,
318
const
std::string
& objPath,
319
DataObject
* to );
320
322
virtual
StatusCode
linkObject(
const
std::string
& fromPath,
323
const
std::string
& objPath,
324
DataObject
* to );
325
327
virtual
StatusCode
linkObject(
DataObject
* from,
328
const
std::string
& objPath,
329
DataObject
* to );
330
332
virtual
StatusCode
linkObject(
const
std::string
& fullPath,
333
DataObject
* to );
334
336
virtual
StatusCode
unlinkObject(
IRegistry
* from,
337
const
std::string
& objPath );
338
340
virtual
StatusCode
unlinkObject(
const
std::string
& fromPath,
341
const
std::string
& objPath );
342
344
virtual
StatusCode
unlinkObject(
DataObject
* fromObj,
345
const
std::string
& objPath );
346
348
virtual
StatusCode
unlinkObject(
const
std::string
& fullPath );
349
351
virtual
StatusCode
updateObject(
IRegistry
* pDirectory );
352
354
virtual
StatusCode
updateObject(
const
std::string
& updatePath );
355
357
virtual
StatusCode
updateObject(
DataObject
* toUpdate );
358
360
virtual
StatusCode
updateObject(
const
std::string
& parentPath,
361
const
std::string
& updatePath );
362
364
virtual
StatusCode
updateObject(
DataObject
* pParent,
365
const
std::string
& updatePath );
366
368
virtual
StatusCode
initialize
();
369
371
virtual
StatusCode
reinitialize();
372
374
virtual
StatusCode
finalize();
375
377
DataSvc
(
const
std::string
& name,
ISvcLocator
* svc );
378
380
virtual
~
DataSvc
();
381
382
private
:
384
DataSvc
(
const
DataSvc
&);
386
DataSvc
& operator= (
const
DataSvc
&);
387
388
protected
:
390
bool
checkRoot
() {
391
return
0 != m_root;
392
}
393
397
virtual
IConversionSvc
* getDataLoader(
IRegistry
* pReg);
398
400
virtual
DataObject
* createDefaultObject()
const
;
401
405
virtual
StatusCode
loadObject(
IRegistry
* pNode );
406
410
virtual
StatusCode
loadObject(
IConversionSvc
* pLoader,
411
IRegistry
* pNode );
412
414
StatusCode
retrieveEntry(
DataSvcHelpers::RegistryEntry
* pNode,
415
const
std::string
&
path
,
416
DataSvcHelpers::RegistryEntry
*& pEntry );
423
DataObject
* handleDataFault(
IRegistry
* pReg,
const
std::string
&
path
=
""
);
424
};
425
#endif // GAUDIKERNEL_DATASVC_H
426
Generated at Wed Dec 4 2013 14:33:08 for Gaudi Framework, version v24r2 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004