ATLAS Offline Software
Loading...
Searching...
No Matches
TechnologyDispatcher.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INCLUDE_PERSISTENCYSVC_TECHNOLOGYDISPATCHER_H
6#define INCLUDE_PERSISTENCYSVC_TECHNOLOGYDISPATCHER_H
7
8#include <string>
9#include <map>
10
11namespace pool {
12
13 // forward declarations
14 class ITransaction;
15
16 namespace PersistencySvc {
17
18 // forward declarations
20 class DatabaseRegistry;
21
29
31 public:
34 ITransaction& transaction );
35
38
41 const MicroSessionManager& microSessionManager( long technology ) const;
42 MicroSessionManager& microSessionManager( const std::string& technology );
43 const MicroSessionManager& microSessionManager( const std::string& technology ) const;
44
47
48 private:
51 std::map< long, MicroSessionManager* > m_technologyTypes;
52 std::map< std::string, MicroSessionManager* > m_technologyNames;
53 };
54 }
55}
56
57#endif
ITransaction is the interface class for user (macroscopic transactions) Every operation with the pool...
MicroSessionManager is a class taking care of starting sessions for a given major technology and mana...
const MicroSessionManager & microSessionManager(long technology) const
bool disconnectAll()
Disconnects from all the databases.
std::map< long, MicroSessionManager * > m_technologyTypes
std::map< std::string, MicroSessionManager * > m_technologyNames
const MicroSessionManager & microSessionManager(const std::string &technology) const
MicroSessionManager & microSessionManager(long technology)
Returns the technology given a technology type.
MicroSessionManager & microSessionManager(const std::string &technology)
TechnologyDispatcher(DatabaseRegistry &registry, ITransaction &transaction)
Constructor.
pool namespace
Definition libname.h:15