| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IFileCatalogMgr.h

Go to the documentation of this file.

    00001 #ifndef GAUDIFILECATALOG_IFILECATALOGMGR_H
    00002 #define GAUDIFILECATALOG_IFILECATALOGMGR_H
    00003 // $ID:$
    00004
    00005 #include "GaudiKernel/IInterface.h"
    00006 #include <string>
    00007 #include <vector>
    00008
    00009 // Declaration of the interface ID ( interface id, major version, minor version)
    00010 static const InterfaceID IID_IFileCatalogMgr("IFileCatalogMgr", 1, 0);
    00011
    00012 /*
    00013  *   Gaudi namespace declaration
    00014  */
    00015 namespace Gaudi {
    00016
    00017   // Forward declarations
    00018   class IFileCatalog;
    00019
    00029   class IFileCatalogMgr : virtual public IInterface {
    00030   public:
    00032     typedef std::vector<IFileCatalog*> Catalogs;
    00033   public:
    00035     static const InterfaceID& interfaceID() { return IID_IFileCatalogMgr; }
    00037
    00038     virtual IFileCatalog* findCatalog(const std::string& connect, bool must_be_writable) const = 0;
    00040     virtual void addCatalog(const std::string& connect) = 0;
    00042     virtual void addCatalog(IFileCatalog* cat) = 0;
    00044     virtual void removeCatalog(const std::string& connect) = 0;
    00046     virtual void removeCatalog(const IFileCatalog* cat) = 0;
    00048     virtual Catalogs& catalogs() = 0;
    00050     virtual const Catalogs& catalogs()  const = 0;
    00052     virtual IFileCatalog* writeCatalog(const std::string& fid="") const = 0;
    00054     virtual void setWriteCatalog(IFileCatalog* cat) = 0;
    00056     virtual void setWriteCatalog(const std::string& connect) = 0;
    00057   };
    00058 }         /* End namespace Gaudi             */
    00059 #endif    /* GAUDIFILECATALOG_IFILECATALOGMGR_H */