The Gaudi Framework  master (d98a2936)
IFileCatalogMgr.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 #pragma once
12 
13 #include <GaudiKernel/IInterface.h>
14 #include <string>
15 #include <vector>
16 
17 /*
18  * Gaudi namespace declaration
19  */
20 namespace Gaudi {
21 
22  // Forward declarations
23  class IFileCatalog;
24 
34  class GAUDI_API IFileCatalogMgr : virtual public IInterface {
35  public:
38 
40  typedef std::vector<IFileCatalog*> Catalogs;
41 
43  virtual IFileCatalog* findCatalog( const std::string& connect, bool must_be_writable ) const = 0;
46  virtual void addCatalog( const std::string& connect ) = 0;
48  virtual void addCatalog( IFileCatalog* cat ) = 0;
50  virtual void removeCatalog( const std::string& connect ) = 0;
52  virtual void removeCatalog( const IFileCatalog* cat ) = 0;
54  virtual Catalogs& catalogs() = 0;
56  virtual const Catalogs& catalogs() const = 0;
58  virtual IFileCatalog* writeCatalog( const std::string& fid = "" ) const = 0;
60  virtual void setWriteCatalog( IFileCatalog* cat ) = 0;
62  virtual void setWriteCatalog( const std::string& connect ) = 0;
63  };
64 } /* End namespace Gaudi */
Gaudi::IFileCatalogMgr::DeclareInterfaceID
DeclareInterfaceID(IFileCatalogMgr, 2, 0)
InterfaceID.
Gaudi::IFileCatalog
Definition: IFileCatalog.h:35
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:34
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:40
IInterface
Definition: IInterface.h:225
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:49