![]() |
|
|
Generated: 24 Nov 2008 |
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 */