ATLAS Offline Software
Loading...
Searching...
No Matches
DatabaseRegistry.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_DATABASEREGISTRY_H
6#define INCLUDE_PERSISTENCYSVC_DATABASEREGISTRY_H
7
8#include <string>
9#include <set>
10#include <map>
11
12namespace pool {
13
14 // Forward declarations
15 class DatabaseHandler;
16
18 public:
20 explicit DatabaseRegistry();
21
24
27
30 const std::string& lfn );
31
34
36 DatabaseHandler* lookupByFID( const std::string& fid );
37
39 DatabaseHandler* lookupByPFN( const std::string& pfn );
40
42 DatabaseHandler* lookupByLFN( const std::string& lfn );
43
44 typedef std::set< DatabaseHandler* >::iterator iterator;
45 typedef std::set< DatabaseHandler* >::const_iterator const_iterator;
46
50
54
56 std::size_t size() const;
57
58 private:
59 std::set< DatabaseHandler* > m_databases;
60 std::map< std::string, DatabaseHandler* > m_fidToDb;
61 std::map< std::string, DatabaseHandler* > m_pfnToDb;
62 std::map< std::string, DatabaseHandler* > m_lfnToDb;
63 std::map< std::string, std::set< std::string > > m_fidToLfns;
64
65 // Registers a database
66 std::set< DatabaseHandler* >::iterator registerDbHandler( DatabaseHandler* dbHandler );
67 };
68}
69
70#include "DatabaseRegistry.inl"
71
72#endif
DatabaseHandler is a class taking care of the micro-connections and the micro transactions for a give...
std::map< std::string, std::set< std::string > > m_fidToLfns
std::map< std::string, DatabaseHandler * > m_lfnToDb
iterator end()
The end iterators.
std::set< DatabaseHandler * >::iterator registerDbHandler(DatabaseHandler *dbHandler)
std::set< DatabaseHandler * >::const_iterator const_iterator
std::set< DatabaseHandler * >::iterator iterator
const_iterator begin() const
std::map< std::string, DatabaseHandler * > m_fidToDb
void deregisterDatabaseHandler(DatabaseHandler *dbHandler)
Deregisters a database.
std::set< DatabaseHandler * > m_databases
DatabaseHandler * lookupByLFN(const std::string &lfn)
Looks up a database by its logical file name.
void registerDatabaseHandler(DatabaseHandler *dbHandler)
Registers a database.
std::size_t size() const
The number of elements registered.
DatabaseHandler * lookupByPFN(const std::string &pfn)
Looks up a database by its physical file name.
iterator begin()
The begin iterators.
const_iterator end() const
std::map< std::string, DatabaseHandler * > m_pfnToDb
void registerDatabaseHandler(DatabaseHandler *dbHandler, const std::string &lfn)
Registers a database with an LFN.
DatabaseRegistry()
Constructor.
DatabaseHandler * lookupByFID(const std::string &fid)
Looks up a database by its file id.
~DatabaseRegistry()
Destructor.
Framework include files.
Definition libname.h:15