The Gaudi Framework  v33r1 (b1225454)
IFileCatalogMgr.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #ifndef GAUDIFILECATALOG_IFILECATALOGMGR_H
12 #define GAUDIFILECATALOG_IFILECATALOGMGR_H
13 
14 #include "GaudiKernel/IInterface.h"
15 #include <string>
16 #include <vector>
17 
18 /*
19  * Gaudi namespace declaration
20  */
21 namespace Gaudi {
22 
23  // Forward declarations
24  class IFileCatalog;
25 
35  class GAUDI_API IFileCatalogMgr : virtual public IInterface {
36  public:
39 
42 
44  virtual IFileCatalog* findCatalog( const std::string& connect, bool must_be_writable ) const = 0;
47  virtual void addCatalog( const std::string& connect ) = 0;
49  virtual void addCatalog( IFileCatalog* cat ) = 0;
51  virtual void removeCatalog( const std::string& connect ) = 0;
53  virtual void removeCatalog( const IFileCatalog* cat ) = 0;
55  virtual Catalogs& catalogs() = 0;
57  virtual const Catalogs& catalogs() const = 0;
59  virtual IFileCatalog* writeCatalog( const std::string& fid = "" ) const = 0;
61  virtual void setWriteCatalog( IFileCatalog* cat ) = 0;
63  virtual void setWriteCatalog( const std::string& connect ) = 0;
64  };
65 } /* End namespace Gaudi */
66 #endif /* GAUDIFILECATALOG_IFILECATALOGMGR_H */
std::vector< IFileCatalog * > Catalogs
Public type definitions.
STL class.
Definition of the basic interface.
Definition: IInterface.h:254
File catalog interface.
Definition: IFileCatalog.h:36
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
File catalog manager.
#define GAUDI_API
Definition: Kernel.h:81
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1