ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Database
AthenaPOOL
PoolSvc
PoolSvc
ISession.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef POOLSVC_ISESSION_H
6
#define POOLSVC_ISESSION_H
7
8
#include "
PoolSvc/IDatabase.h
"
9
#include "
PoolSvc/ITransaction.h
"
10
11
#include "
DataModelRoot/RootType.h
"
12
13
#include <string>
14
#include <memory>
15
16
class
Placement
;
17
class
Token
;
18
19
namespace
pool
{
20
21
// forward declarations
22
class
ITechnologySpecificAttributes
;
23
class
IFileCatalog
;
24
26
class
ISession
;
27
std::unique_ptr<ISession>
createSession
(
IFileCatalog
& catalog,
int
ageLimit = -1 );
28
36
37
class
ISession
:
public
ITransaction
{
38
public
:
41
virtual
bool
disconnectAll
() = 0;
42
44
virtual
ITransaction
&
transaction
() = 0;
45
virtual
const
ITransaction
&
transaction
()
const
= 0;
46
48
virtual
std::unique_ptr<IDatabase>
databaseHandle
(
const
std::string& dbName,
49
DatabaseSpecification::NameType
dbNameType ) = 0;
50
62
virtual
void
*
readObject
(
const
Token
& token,
void
*
object
= 0 ) = 0;
63
73
virtual
Token
*
registerForWrite
(
const
Placement
& place,
const
void
*
object
,
const
RootType
&
type
) = 0;
74
76
virtual
IFileCatalog
&
fileCatalog
() = 0;
77
79
virtual
ITechnologySpecificAttributes
&
technologySpecificAttributes
(
long
technology ) = 0;
80
82
virtual
~ISession
() =
default
;
83
};
84
}
85
#endif
IDatabase.h
ITransaction.h
RootType.h
RootType
TTypeAdapter RootType
Definition
RootType.h:211
Placement
This class holds all the necessary information to guide the writing of an object in a physical place.
Definition
Placement.h:20
Token
This class provides a token that identifies in a unique way objects on the persistent storage.
Definition
Token.h:22
pool::IFileCatalog
Definition
IFileCatalog.h:20
pool::ISession
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a...
Definition
ISession.h:37
pool::ISession::readObject
virtual void * readObject(const Token &token, void *object=0)=0
Retrieves an object from persistent store and return with type information The handle to the reflecti...
pool::ISession::registerForWrite
virtual Token * registerForWrite(const Placement &place, const void *object, const RootType &type)=0
registerForWrite registers an object for writing to the persistent medium higher level interactions w...
pool::ISession::databaseHandle
virtual std::unique_ptr< IDatabase > databaseHandle(const std::string &dbName, DatabaseSpecification::NameType dbNameType)=0
Returns a pointer to a database object. The user acquires ownership of that object.
pool::ISession::transaction
virtual ITransaction & transaction()=0
Returns the transaction interface.
pool::ISession::transaction
virtual const ITransaction & transaction() const =0
pool::ISession::fileCatalog
virtual IFileCatalog & fileCatalog()=0
Returns the file catalog in use.
pool::ISession::~ISession
virtual ~ISession()=default
virtual destructor for the interface
pool::ISession::technologySpecificAttributes
virtual ITechnologySpecificAttributes & technologySpecificAttributes(long technology)=0
Returns the object holding the technology specific attributes for a given technology domain.
pool::ISession::disconnectAll
virtual bool disconnectAll()=0
Explicitly disconnects all the databases.
pool::ITechnologySpecificAttributes
ITechnologySpecificAttributes is the interface for an object holding technology-specific attributes.
Definition
ITechnologySpecificAttributes.h:22
pool::ITransaction
ITransaction is the interface class for user (macroscopic transactions) Every operation with the pool...
Definition
ITransaction.h:21
pool::ITransaction::type
virtual Io::IoFlag type() const =0
Returns the transaction type.
pool
Framework include files.
Definition
libname.h:15
pool::createSession
std::unique_ptr< ISession > createSession(IFileCatalog &catalog, int ageLimit=-1)
Definition
UserSession.cxx:16
pool::DatabaseSpecification::NameType
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...
Definition
IDatabase.h:24
Generated on
for ATLAS Offline Software by
1.17.0