The Gaudi Framework  master (fb0007c6)
Loading...
Searching...
No Matches
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
14#include <string>
15#include <vector>
16
17/*
18 * Gaudi namespace declaration
19 */
20namespace 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
44 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 */
#define GAUDI_API
Definition Kernel.h:49
File catalog interface.
File catalog manager.
virtual void addCatalog(IFileCatalog *cat)=0
Add new catalog identified by reference to the existing ones.
virtual void addCatalog(const std::string &connect)=0
Add new catalog identified by name to the existing ones.
virtual IFileCatalog * findCatalog(const std::string &connect, bool must_be_writable) const =0
Catalog management.
virtual Catalogs & catalogs()=0
Access catalog container.
virtual const Catalogs & catalogs() const =0
Access catalog container (CONST)
virtual void setWriteCatalog(const std::string &connect)=0
Define the writable catalog identified by name.
std::vector< IFileCatalog * > Catalogs
Public type definitions.
virtual void removeCatalog(const std::string &connect)=0
Remove catalog identified by name from the existing ones.
virtual void removeCatalog(const IFileCatalog *cat)=0
Remove catalog identified by reference from the existing ones.
virtual IFileCatalog * writeCatalog(const std::string &fid="") const =0
Access to the (first) writable file catalog.
DeclareInterfaceID(IFileCatalogMgr, 2, 0)
InterfaceID.
virtual void setWriteCatalog(IFileCatalog *cat)=0
Define the writable catalog identified by reference.
Definition of the basic interface.
Definition IInterface.h:225
This file provides a Grammar for the type Gaudi::Accumulators::Axis It allows to use that type from p...
Definition __init__.py:1