![]() |
ATLAS Offline Software
|
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a database and object reading and writing must be performed within a session. More...
#include <PersistencySvc/ISession.h>
Public Types | |
| enum | Type { INACTIVE , READ , UPDATE } |
| Transaction type enumeration. More... | |
Public Member Functions | |
| virtual void | setDefaultConnectionPolicy (const DatabaseConnectionPolicy &policy)=0 |
| Sets the default policy when databases are opened/connected. | |
| virtual const DatabaseConnectionPolicy & | defaultConnectionPolicy () const =0 |
| Retrieves the default connection policy. | |
| virtual bool | disconnectAll ()=0 |
| Explicitly disconnects all the databases. | |
| virtual ITransaction & | transaction ()=0 |
| Returns the transaction interface. | |
| virtual const ITransaction & | transaction () const =0 |
| 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. | |
| 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 reflection class is necessary to later delete the object. | |
| 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 with the framework are necessary. | |
| virtual IFileCatalog & | fileCatalog ()=0 |
| Returns the file catalog in use. | |
| virtual const ITechnologySpecificAttributes & | technologySpecificAttributes (long technology) const =0 |
| Returns the object holding the technology specific attributes for a given technology domain. | |
| virtual ITechnologySpecificAttributes & | technologySpecificAttributes (long technology)=0 |
| virtual | ~ISession ()=default |
| virtual destructor for the interface | |
| virtual bool | start (Type type=READ)=0 |
| Starts a new transaction. Returns the success of the operation. | |
| virtual bool | commit ()=0 |
| Commits the transaction. | |
| virtual bool | commitAndHold ()=0 |
| Commits the holds transaction. | |
| virtual bool | isActive () const =0 |
| Checks if the transaction is active. | |
| virtual Type | type () const =0 |
| Returns the transaction type. | |
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a database and object reading and writing must be performed within a session.
It also provides access to the file catalog and to the technology specific attributes.
Definition at line 40 of file ISession.h.
|
inherited |
Transaction type enumeration.
| Enumerator | |
|---|---|
| INACTIVE | |
| READ | |
| UPDATE | |
Definition at line 22 of file ITransaction.h.
|
virtualdefault |
virtual destructor for the interface
|
pure virtualinherited |
Commits the transaction.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtualinherited |
Commits the holds transaction.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Returns a pointer to a database object. The user acquires ownership of that object.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Retrieves the default connection policy.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Explicitly disconnects all the databases.
If a transaction is active, then all the changes since the last commit are aborted.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Returns the file catalog in use.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtualinherited |
Checks if the transaction is active.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Retrieves an object from persistent store and return with type information The handle to the reflection class is necessary to later delete the object.
The Guid of the transient class is assumed to be the classID of the token
| token | [IN] reference to the token for the object |
| object | [IN] pointer to memory for the object (created if 0) |
In case of failure zero is returned.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
registerForWrite registers an object for writing to the persistent medium higher level interactions with the framework are necessary.
| place | [IN] the placement hint |
| object | [IN] pointer to transient object which will be written |
| type | [IN] reflection class description with the layout of transient object |
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Sets the default policy when databases are opened/connected.
Implemented in pool::PersistencySvc::UserSession.
Starts a new transaction. Returns the success of the operation.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Returns the object holding the technology specific attributes for a given technology domain.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Implemented in pool::PersistencySvc::UserSession.
|
pure virtual |
Returns the transaction interface.
Implemented in pool::PersistencySvc::UserSession.
|
pure virtualinherited |
Returns the transaction type.
Implemented in pool::PersistencySvc::UserSession.