|
Gaudi Framework, version v21r7 |
| Home | Generated: 22 Jan 2010 |
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 */