ATLAS Offline Software
UserSession.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef INCLUDE_PERSISTENCYSVC_USERSESSION_H
6 #define INCLUDE_PERSISTENCYSVC_USERSESSION_H
7 
9 
10 namespace pool {
11 
12  class DatabaseConnectionPolicy;
13 
14  namespace PersistencySvc {
15 
16  // forward declarations
17  class DatabaseRegistry;
18  class TechnologyDispatcher;
19  class GlobalTransaction;
20 
27  class UserSession : virtual public ISession
28  {
29  public:
32 
34  virtual ~UserSession();
35 
36  UserSession (const UserSession&) = delete;
37  UserSession& operator= (const UserSession&) = delete;
38 
39  // Signatures needed for the PersistencySvc
42 
44  virtual void setDefaultConnectionPolicy( const DatabaseConnectionPolicy& policy ) override final;
45 
47  virtual const DatabaseConnectionPolicy& defaultConnectionPolicy() const override final;
48 
52  virtual bool disconnectAll() override final;
53 
55  virtual ITransaction& transaction() override final;
56  virtual const ITransaction& transaction() const override final;
57 
59  virtual std::vector< std::string > connectedDatabases() const override final;
60 
62  virtual std::unique_ptr<IDatabase>
63  databaseHandle( const std::string& dbName, DatabaseSpecification::NameType dbNameType ) override final;
64 
66  virtual IFileCatalog& fileCatalog() override final;
67 
69  void setFileCatalog(IFileCatalog& catalog);
70 
73  technologySpecificAttributes( long technology ) const override final;
74 
76  technologySpecificAttributes( long technology ) override final;
77 
80 
81  private:
87  };
88  }
89 }
90 
91 #endif
pool::PersistencySvc::UserSession::connectedDatabases
virtual std::vector< std::string > connectedDatabases() const override final
Returns a vector with the file identifiers of the presently open databases.
pool::PersistencySvc::UserSession::technologyDispatcher
TechnologyDispatcher & technologyDispatcher()
pool::PersistencySvc::UserSession::globalTransaction
ITransaction & globalTransaction()
Returns the global transaction object.
pool::PersistencySvc::GlobalTransaction
Definition: GlobalTransaction.h:20
pool
pool namespace
Definition: libname.h:15
pool::PersistencySvc::UserSession::operator=
UserSession & operator=(const UserSession &)=delete
pool::PersistencySvc::UserSession::defaultConnectionPolicy
virtual const DatabaseConnectionPolicy & defaultConnectionPolicy() const override final
Retrieves the default connection policy.
pool::PersistencySvc::UserSession::setFileCatalog
void setFileCatalog(IFileCatalog &catalog)
Set the file catalog to be used.
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
pool::PersistencySvc::UserSession::registry
DatabaseRegistry & registry()
pool::ISession
Definition: ISession.h:32
pool::IFileCatalog
Definition: IFileCatalog.h:23
vector
Definition: MultiHisto.h:13
PixelModuleFeMask_create_db.dbName
string dbName
Definition: PixelModuleFeMask_create_db.py:21
pool::PersistencySvc::UserSession::fileCatalog
virtual IFileCatalog & fileCatalog() override final
Returns the file catalog in use.
pool::PersistencySvc::UserSession::m_policy
DatabaseConnectionPolicy * m_policy
Definition: UserSession.h:82
pool::ITransaction
Definition: ITransaction.h:21
pool::DatabaseSpecification
Definition: DatabaseSpecification.h:9
ISession.h
pool::PersistencySvc::DatabaseRegistry
Definition: DatabaseRegistry.h:19
pool::PersistencySvc::UserSession::m_transaction
GlobalTransaction * m_transaction
Definition: UserSession.h:85
pool::PersistencySvc::UserSession::m_registry
DatabaseRegistry * m_registry
Definition: UserSession.h:84
pool::PersistencySvc::UserSession
Definition: UserSession.h:28
pool::ITechnologySpecificAttributes
Definition: ITechnologySpecificAttributes.h:22
pool::IDatabase
Definition: IDatabase.h:25
pool::PersistencySvc::UserSession::m_technologyDispatcher
TechnologyDispatcher * m_technologyDispatcher
Definition: UserSession.h:86
pool::PersistencySvc::UserSession::~UserSession
virtual ~UserSession()
Destructor.
pool::PersistencySvc::UserSession::setDefaultConnectionPolicy
virtual void setDefaultConnectionPolicy(const DatabaseConnectionPolicy &policy) override final
Sets the default policy when databases are opened/connected.
pool::PersistencySvc::UserSession::UserSession
UserSession(const UserSession &)=delete
pool::PersistencySvc::UserSession::UserSession
UserSession(IFileCatalog &fileCatalog)
Constructor.
pool::DatabaseConnectionPolicy
Definition: DatabaseConnectionPolicy.h:19
pool::PersistencySvc::UserSession::technologySpecificAttributes
virtual const ITechnologySpecificAttributes & technologySpecificAttributes(long technology) const override final
Returns the object holding the technology specific attributes for a given technology domain.
pool::PersistencySvc::UserSession::transaction
virtual ITransaction & transaction() override final
Returns the transaction object.
private
#define private
Definition: xAODTruthCnvAlg.h:20
pool::PersistencySvc::UserSession::disconnectAll
virtual bool disconnectAll() override final
Explicitly disconnects all the databases.
NameType
std::string NameType
Definition: JetINav4MomAssociation.h:29
pool::PersistencySvc::UserSession::databaseHandle
virtual std::unique_ptr< IDatabase > databaseHandle(const std::string &dbName, DatabaseSpecification::NameType dbNameType) override final
Creates and returns a new database handle object.
pool::PersistencySvc::TechnologyDispatcher
Definition: TechnologyDispatcher.h:30
pool::PersistencySvc::UserSession::m_catalog
IFileCatalog * m_catalog
Definition: UserSession.h:83