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...
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...
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
virtual IFileCatalog & fileCatalog()
Returns the file catalog in use.
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
UserSession(IFileCatalog &fileCatalog, int ageLimit)
Constructor.
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.
UserSession & operator=(const UserSession &)=delete
virtual ~UserSession()
Destructor.
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...