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
GaudiUtils
src
component
IODataManager.h
Go to the documentation of this file.
1
#ifndef GAUDIUTILS_IODATAMANAGER_H
2
#define GAUDIUTILS_IODATAMANAGER_H
3
4
// C++ include files
5
#include <
map
>
6
// Framework include files
7
#include "
GaudiKernel/Service.h
"
8
#include "
GaudiUtils/IIODataManager.h
"
9
10
class
IIncidentSvc
;
11
12
/*
13
* LHCb namespace declaration
14
*/
15
namespace
Gaudi
{
16
17
// Forward declarations
18
class
IFileCatalog
;
19
class
RawDataConnectionEntry;
20
29
class
IODataManager
:
public
extends1
<Service, IIODataManager> {
30
protected
:
31
typedef
const
std::string
&
CSTR
;
32
struct
Entry
{
33
std::string
type
;
34
IoType
ioType
;
35
IDataConnection
*
connection
;
36
bool
keepOpen
;
37
Entry
(
CSTR
tech,
bool
k, IoType iot,
IDataConnection
* con)
38
:
type
(tech),
ioType
(iot),
connection
(con),
keepOpen
(k) {
39
}
40
};
41
typedef
std::map<std::string,Entry*>
ConnectionMap
;
42
typedef
std::map<std::string, std::string>
FidMap
;
43
45
std::string
m_catalogSvcName
;
47
int
m_ageLimit
;
49
bool
m_useGFAL
;
51
bool
m_quarantine
;
52
54
ConnectionMap
m_connectionMap
;
56
SmartIF<IFileCatalog>
m_catalog
;
58
FidMap
m_fidMap
;
59
StatusCode
connectDataIO
(
int
typ, IoType rw,
CSTR
fn,
CSTR
technology,
bool
keep,Connection* con);
60
StatusCode
reconnect
(
Entry
* e);
61
StatusCode
error
(
CSTR
msg
,
bool
rethrow);
62
StatusCode
establishConnection
(Connection* con);
63
64
SmartIF<IIncidentSvc>
m_incSvc
;
65
66
public
:
67
73
IODataManager
(
CSTR
nam,
ISvcLocator
* loc);
74
76
virtual
~IODataManager
() {}
77
79
virtual
StatusCode
initialize
();
80
82
virtual
StatusCode
finalize();
83
85
virtual
StatusCode
connectRead(
bool
keep_open, Connection* ioDesc);
87
virtual
StatusCode
connectWrite(Connection* con,IoType mode=Connection::CREATE,
CSTR
doctype=
"UNKNOWN"
);
89
virtual
StatusCode
disconnect(Connection* ioDesc);
91
virtual
Connection* connection(
const
std::string
& dsn)
const
;
93
virtual
Connections connections(
const
IInterface
* owner)
const
;
95
virtual
StatusCode
read(Connection* ioDesc,
void
*
const
data,
size_t
len);
97
virtual
StatusCode
write(Connection* con,
const
void
* data,
int
len);
99
virtual
long
long
int
seek(Connection* ioDesc,
long
long
int
where,
int
origin);
100
};
101
}
// End namespace Gaudi
102
#endif // GAUDIUTILS_IODATAMANAGER_H
Generated at Wed Jan 30 2013 17:13:41 for Gaudi Framework, version v23r6 by
Doxygen
version 1.8.2 written by
Dimitri van Heesch
, © 1997-2004