ATLAS Offline Software
ISession.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_ISESSION_H
6 #define INCLUDE_PERSISTENCYSVC_ISESSION_H
7 
9 #include <string>
10 #include <vector>
11 #include <memory>
12 
13 namespace pool {
14 
15  // forward declarations
16  class DatabaseConnectionPolicy;
17  class ITransaction;
18  class IDatabase;
19  class ITechnologySpecificAttributes;
20  class IFileCatalog;
21 
32  class ISession {
33  protected:
34  public:
36  virtual ~ISession() {}
37 
39  virtual void setDefaultConnectionPolicy( const DatabaseConnectionPolicy& policy ) = 0;
40 
43 
47  virtual bool disconnectAll() = 0;
48 
50  virtual ITransaction& transaction() = 0;
51  virtual const ITransaction& transaction() const = 0;
52 
54  virtual std::vector< std::string > connectedDatabases() const = 0;
55 
57  virtual std::unique_ptr<IDatabase> databaseHandle( const std::string& dbName,
58  DatabaseSpecification::NameType dbNameType ) = 0;
59 
61  virtual IFileCatalog& fileCatalog() = 0;
62 
64  virtual const ITechnologySpecificAttributes& technologySpecificAttributes( long technology ) const = 0;
66  };
67 
68 }
69 
70 #endif
pool::ISession::~ISession
virtual ~ISession()
Default destructor.
Definition: ISession.h:36
pool
pool namespace
Definition: libname.h:15
pool::ISession::disconnectAll
virtual bool disconnectAll()=0
Explicitly disconnects all the databases.
pool::DatabaseSpecification::NameType
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...
Definition: DatabaseSpecification.h:14
pool::ISession::transaction
virtual ITransaction & transaction()=0
Returns the transaction object.
pool::ISession
Definition: ISession.h:32
pool::IFileCatalog
Definition: IFileCatalog.h:23
PixelModuleFeMask_create_db.dbName
string dbName
Definition: PixelModuleFeMask_create_db.py:21
pool::ISession::technologySpecificAttributes
virtual const ITechnologySpecificAttributes & technologySpecificAttributes(long technology) const =0
Returns the object holding the technology specific attributes for a given technology domain.
pool::ITransaction
Definition: ITransaction.h:21
pool::ISession::fileCatalog
virtual IFileCatalog & fileCatalog()=0
Returns the file catalog in use.
pool::ISession::databaseHandle
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.
pool::ITechnologySpecificAttributes
Definition: ITechnologySpecificAttributes.h:22
pool::ISession::transaction
virtual const ITransaction & transaction() const =0
pool::ISession::setDefaultConnectionPolicy
virtual void setDefaultConnectionPolicy(const DatabaseConnectionPolicy &policy)=0
Sets the default policy when databases are opened/connected.
DatabaseSpecification.h
pool::DatabaseConnectionPolicy
Definition: DatabaseConnectionPolicy.h:19
pool::ISession::defaultConnectionPolicy
virtual const DatabaseConnectionPolicy & defaultConnectionPolicy() const =0
Retrieves the default connection policy.
pool::ISession::connectedDatabases
virtual std::vector< std::string > connectedDatabases() const =0
Returns a vector with the file identifiers of the presently open databases.
pool::ISession::technologySpecificAttributes
virtual ITechnologySpecificAttributes & technologySpecificAttributes(long technology)=0