5#ifndef POOLSVC_USERSESSION_H
6#define POOLSVC_USERSESSION_H
50 virtual void*
readObject(
const Token& token,
void*
object = 0 )
override;
74 virtual
bool start(
Io::IoFlag
type =
Io::READ ) override final;
77 virtual
bool commit() override final;
86 virtual std::unique_ptr<IDatabase>
This class holds all the necessary information to guide the writing of an object in a physical place.
This class provides a token that identifies in a unique way objects on the persistent storage.
APRMessaging(const std::string &name)
ISession is the interface class for user (macroscopic) sessions Every connection to a database and ob...
The IStorageSvc interface is able to handle user request for.
MicroSessionManager is a class taking care of starting sessions for a given major technology and mana...
DatabaseRegistry & registry()
virtual Token * registerForWrite(const Placement &place, const void *object, const RootType &type) override
registerForWrite registers an object for writing to the persistent medium higher level interactions w...
UserSession(Gaudi::IFileCatalog &fileCatalog, int ageLimit)
Constructor.
virtual void * readObject(const Token &token, void *object=0) override
Retrieves an object from persistent store and return with type information The handle to the reflecti...
UserSession(const UserSession &)=delete
DatabaseRegistry * m_registry
MicroSessionManager & microSessionManager(long technology) override final
Returns the technology given a technology type.
virtual bool start(Io::IoFlag type=Io::READ) override final
Starts a new transaction. Returns the success of the operation.
virtual Io::IoFlag type() const override final
Returns the transaction type.
virtual bool commitAndHold() override final
Commits and holds the transaction.
std::map< long, std::unique_ptr< MicroSessionManager > > m_technologies
virtual bool commit() override final
Commits the transaction.
Io::IoFlag m_transactionType
virtual Gaudi::IFileCatalog & fileCatalog()
Returns the file catalog in use.
virtual std::unique_ptr< IDatabase > databaseHandle(const std::string &dbName, DatabaseSpecification::NameType dbNameType) override final
Creates and returns a new database handle object.
virtual bool disconnectAll() override final
Explicitly disconnects all the databases.
virtual IStorageSvc & getStorageSvc(long technology) override final
Return StorageSvc for a given technology used in this session.
UserSession & operator=(const UserSession &)=delete
virtual ~UserSession()
Destructor.
Gaudi::IFileCatalog * m_catalog
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...