The Gaudi Framework  master (37c0b60a)
IFileCatalogMgr.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2024 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::string
STL class.
Gaudi::IFileCatalogMgr::DeclareInterfaceID
DeclareInterfaceID(IFileCatalogMgr, 2, 0)
InterfaceID.
Gaudi::IFileCatalog
Definition: IFileCatalog.h:36
std::vector< IFileCatalog * >
Gaudi::IFileCatalogMgr::catalogs
virtual Catalogs & catalogs()=0
Access catalog container.
Gaudi::IFileCatalogMgr::setWriteCatalog
virtual void setWriteCatalog(const std::string &connect)=0
Define the writable catalog identified by name.
IInterface.h
Gaudi::IFileCatalogMgr
Definition: IFileCatalogMgr.h:35
Gaudi
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition: __init__.py:1
Gaudi::IFileCatalogMgr::addCatalog
virtual void addCatalog(const std::string &connect)=0
Add new catalog identified by name to the existing ones.
Gaudi::IFileCatalogMgr::removeCatalog
virtual void removeCatalog(const std::string &connect)=0
Remove catalog identified by name from the existing ones.
Gaudi::IFileCatalogMgr::removeCatalog
virtual void removeCatalog(const IFileCatalog *cat)=0
Remove catalog identified by reference from the existing ones.
Gaudi::IFileCatalogMgr::writeCatalog
virtual IFileCatalog * writeCatalog(const std::string &fid="") const =0
Access to the (first) writable file catalog.
Gaudi::IFileCatalogMgr::Catalogs
std::vector< IFileCatalog * > Catalogs
Public type definitions.
Definition: IFileCatalogMgr.h:41
IInterface
Definition: IInterface.h:239
Gaudi::IFileCatalogMgr::addCatalog
virtual void addCatalog(IFileCatalog *cat)=0
Add new catalog identified by reference to the existing ones.
Gaudi::IFileCatalogMgr::catalogs
virtual const Catalogs & catalogs() const =0
Access catalog container (CONST)
Gaudi::IFileCatalogMgr::setWriteCatalog
virtual void setWriteCatalog(IFileCatalog *cat)=0
Define the writable catalog identified by reference.
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:81