5#ifndef INCLUDE_PERSISTENCYSVC_USERSESSION_H
6#define INCLUDE_PERSISTENCYSVC_USERSESSION_H
DatabaseConnectionPolicy is a class holding information on the policy to be followed whenever a datab...
IDatabase is the base class for database objects.
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a...
ITechnologySpecificAttributes is the interface for an object holding technology-specific attributes.
ITransaction is the interface class for user (macroscopic transactions) Every operation with the pool...
GlobalTransaction is an implementation of the ITransaction interface.
TechnologyDispatcher is a class that delivers the appropriate MicroSessionManager given a technology.
DatabaseConnectionPolicy * m_policy
UserSession(const UserSession &)=delete
UserSession & operator=(const UserSession &)=delete
TechnologyDispatcher * m_technologyDispatcher
DatabaseRegistry * m_registry
ITransaction & globalTransaction()
Returns the global transaction object.
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.
DatabaseRegistry & registry()
virtual const ITechnologySpecificAttributes & technologySpecificAttributes(long technology) const override final
Returns the object holding the technology specific attributes for a given technology domain.
virtual void setDefaultConnectionPolicy(const DatabaseConnectionPolicy &policy) override final
Sets the default policy when databases are opened/connected.
virtual ~UserSession()
Destructor.
virtual const DatabaseConnectionPolicy & defaultConnectionPolicy() const override final
Retrieves the default connection policy.
virtual std::vector< std::string > connectedDatabases() const override final
Returns a vector with the file identifiers of the presently open databases.
virtual ITransaction & transaction() override final
Returns the transaction object.
virtual IFileCatalog & fileCatalog() override final
Returns the file catalog in use.
void setFileCatalog(IFileCatalog &catalog)
Set the file catalog to be used.
GlobalTransaction * m_transaction
TechnologyDispatcher & technologyDispatcher()
UserSession(IFileCatalog &fileCatalog)
Constructor.