|
||||
File indexing completed on 2025-01-18 09:57:46
0001 /***********************************************************************************\ 0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations * 0003 * * 0004 * This software is distributed under the terms of the Apache version 2 licence, * 0005 * copied verbatim in the file "LICENSE". * 0006 * * 0007 * In applying this licence, CERN does not waive the privileges and immunities * 0008 * granted to it by virtue of its status as an Intergovernmental Organization * 0009 * or submit itself to any jurisdiction. * 0010 \***********************************************************************************/ 0011 #ifndef GAUDIFILECATALOG_IFILECATALOGMGR_H 0012 #define GAUDIFILECATALOG_IFILECATALOGMGR_H 0013 0014 #include "GaudiKernel/IInterface.h" 0015 #include <string> 0016 #include <vector> 0017 0018 /* 0019 * Gaudi namespace declaration 0020 */ 0021 namespace Gaudi { 0022 0023 // Forward declarations 0024 class IFileCatalog; 0025 0026 /** @class IFileCatalogMgr IFileCatalogMgr.h GaudiUtils/IFileCatalogMgr.h 0027 * 0028 * File catalog manager. 0029 * Interface to add/remove file catalogs from the multi catalog. 0030 * 0031 * @author M.Frank 0032 * @version 1.0 0033 * @date 20/10/2007 0034 */ 0035 class GAUDI_API IFileCatalogMgr : virtual public IInterface { 0036 public: 0037 /// InterfaceID 0038 DeclareInterfaceID( IFileCatalogMgr, 2, 0 ); 0039 0040 /// Public type definitions 0041 typedef std::vector<IFileCatalog*> Catalogs; 0042 0043 /** Catalog management */ 0044 /// Find catalog by connect string 0045 virtual IFileCatalog* findCatalog( const std::string& connect, bool must_be_writable ) const = 0; 0046 /// Add new catalog identified by name to the existing ones 0047 virtual void addCatalog( const std::string& connect ) = 0; 0048 /// Add new catalog identified by reference to the existing ones 0049 virtual void addCatalog( IFileCatalog* cat ) = 0; 0050 /// Remove catalog identified by name from the existing ones 0051 virtual void removeCatalog( const std::string& connect ) = 0; 0052 /// Remove catalog identified by reference from the existing ones 0053 virtual void removeCatalog( const IFileCatalog* cat ) = 0; 0054 /// Access catalog container 0055 virtual Catalogs& catalogs() = 0; 0056 /// Access catalog container (CONST) 0057 virtual const Catalogs& catalogs() const = 0; 0058 /// Access to the (first) writable file catalog 0059 virtual IFileCatalog* writeCatalog( const std::string& fid = "" ) const = 0; 0060 /// Define the writable catalog identified by reference 0061 virtual void setWriteCatalog( IFileCatalog* cat ) = 0; 0062 /// Define the writable catalog identified by name 0063 virtual void setWriteCatalog( const std::string& connect ) = 0; 0064 }; 0065 } /* End namespace Gaudi */ 0066 #endif /* GAUDIFILECATALOG_IFILECATALOGMGR_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |