| # Gaudi Framework, version v21r10p1 |

Home |  | Generated: 29 Jul 2010

# 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 /*
    00010  *   Gaudi namespace declaration
    00011  */
    00012 namespace Gaudi {
    00013
    00014   // Forward declarations
    00015   class IFileCatalog;
    00016
    00026   class GAUDI_API IFileCatalogMgr : virtual public IInterface {
    00027   public:
    00029     DeclareInterfaceID(IFileCatalogMgr,2,0);
    00030
    00032     typedef std::vector<IFileCatalog*> Catalogs;
    00033
    00035
    00036     virtual IFileCatalog* findCatalog(const std::string& connect, bool must_be_writable) const = 0;
    00038     virtual void addCatalog(const std::string& connect) = 0;
    00040     virtual void addCatalog(IFileCatalog* cat) = 0;
    00042     virtual void removeCatalog(const std::string& connect) = 0;
    00044     virtual void removeCatalog(const IFileCatalog* cat) = 0;
    00046     virtual Catalogs& catalogs() = 0;
    00048     virtual const Catalogs& catalogs()  const = 0;
    00050     virtual IFileCatalog* writeCatalog(const std::string& fid="") const = 0;
    00052     virtual void setWriteCatalog(IFileCatalog* cat) = 0;
    00054     virtual void setWriteCatalog(const std::string& connect) = 0;
    00055   };
    00056 }         /* End namespace Gaudi             */
    00057 #endif    /* GAUDIFILECATALOG_IFILECATALOGMGR_H */