ATLAS Offline Software
Loading...
Searching...
No Matches
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
13namespace pool {
14
15 // forward declarations
17 class ITransaction;
18 class IDatabase;
20 class IFileCatalog;
21
31
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
DatabaseConnectionPolicy is a class holding information on the policy to be followed whenever a datab...
NameType
Enumeration type specifying the database name field, wherever the latter is used in methods accessing...
IDatabase is the base class for database objects.
Definition IDatabase.h:25
ISession is the interface class for user (macroscopic) sessions Every transaction and connection to a...
Definition ISession.h:32
virtual std::vector< std::string > connectedDatabases() const =0
Returns a vector with the file identifiers of the presently open databases.
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.
virtual ITransaction & transaction()=0
Returns the transaction object.
virtual const ITechnologySpecificAttributes & technologySpecificAttributes(long technology) const =0
Returns the object holding the technology specific attributes for a given technology domain.
virtual const ITransaction & transaction() const =0
virtual IFileCatalog & fileCatalog()=0
Returns the file catalog in use.
virtual ~ISession()
Default destructor.
Definition ISession.h:36
virtual const DatabaseConnectionPolicy & defaultConnectionPolicy() const =0
Retrieves the default connection policy.
virtual void setDefaultConnectionPolicy(const DatabaseConnectionPolicy &policy)=0
Sets the default policy when databases are opened/connected.
virtual ITechnologySpecificAttributes & technologySpecificAttributes(long technology)=0
virtual bool disconnectAll()=0
Explicitly disconnects all the databases.
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...
pool namespace
Definition libname.h:15