ATLAS Offline Software
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 
11 namespace pool {
12 
13  // forward declarations
14  class ITransaction;
15 
16  namespace PersistencySvc {
17 
18  // forward declarations
19  class MicroSessionManager;
20  class DatabaseRegistry;
21 
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 
46  bool disconnectAll();
47 
48  private:
51  std::map< long, MicroSessionManager* > m_technologyTypes;
52  std::map< std::string, MicroSessionManager* > m_technologyNames;
53  };
54  }
55 }
56 
57 #endif
python.Dso.registry
registry
Definition: Control/AthenaServices/python/Dso.py:159
pool::PersistencySvc::TechnologyDispatcher::disconnectAll
bool disconnectAll()
Disconnects from all the databases.
pool
pool namespace
Definition: libname.h:15
pool::PersistencySvc::TechnologyDispatcher::TechnologyDispatcher
TechnologyDispatcher(DatabaseRegistry &registry, ITransaction &transaction)
Constructor.
pool::PersistencySvc::TechnologyDispatcher::microSessionManager
const MicroSessionManager & microSessionManager(const std::string &technology) const
pool::PersistencySvc::TechnologyDispatcher::microSessionManager
const MicroSessionManager & microSessionManager(long technology) const
pool::PersistencySvc::TechnologyDispatcher::m_registry
DatabaseRegistry & m_registry
Definition: TechnologyDispatcher.h:49
pool::PersistencySvc::TechnologyDispatcher::microSessionManager
MicroSessionManager & microSessionManager(const std::string &technology)
pool::ITransaction
Definition: ITransaction.h:21
pool::PersistencySvc::DatabaseRegistry
Definition: DatabaseRegistry.h:19
pool::PersistencySvc::TechnologyDispatcher::m_technologyNames
std::map< std::string, MicroSessionManager * > m_technologyNames
Definition: TechnologyDispatcher.h:52
pool::PersistencySvc::MicroSessionManager
Definition: MicroSessionManager.h:35
pool::PersistencySvc::TechnologyDispatcher::m_technologyTypes
std::map< long, MicroSessionManager * > m_technologyTypes
Definition: TechnologyDispatcher.h:51
pool::PersistencySvc::TechnologyDispatcher::microSessionManager
MicroSessionManager & microSessionManager(long technology)
Returns the technology given a technology type.
pool::PersistencySvc::TechnologyDispatcher::m_transaction
ITransaction & m_transaction
Definition: TechnologyDispatcher.h:50
pool::PersistencySvc::TechnologyDispatcher::~TechnologyDispatcher
~TechnologyDispatcher()
Destructor.
pool::PersistencySvc::TechnologyDispatcher
Definition: TechnologyDispatcher.h:30