|
Gaudi Framework, version v22r0 |
| Home | Generated: 9 Feb 2011 |
This class constitutes the core of the XML based FileCatalog API for using POOL within Gaudi. More...
#include <MultiFileCatalog.h>


Public Member Functions | |
| MultiFileCatalog (const std::string &nam, ISvcLocator *svc) | |
| Create a catalog file, initialization of XercesC. | |
| virtual | ~MultiFileCatalog () |
| Destructor,. | |
| virtual StatusCode | initialize () |
| IService implementation. | |
| virtual StatusCode | finalize () |
| Finalize service object. | |
| virtual std::string | createFID () const |
| Catalog interface. | |
| virtual CSTR | connectInfo () const |
| Access to connect string. | |
| virtual void | init () |
| Parse the DOM tree of the XML catalog. | |
| virtual void | commit () |
| Save DOM catalog to file. | |
| virtual void | rollback () |
| Save DOM catalog to file. | |
| virtual bool | readOnly () const |
| Check if the catalog is read-only. | |
| virtual bool | dirty () const |
| Check if the catalog should be updated. | |
| virtual bool | existsPFN (CSTR pfn) const |
| Return the status of physical file name. | |
| virtual std::string | lookupPFN (CSTR pfn) const |
| Lookup file identifier by physical file name. | |
| virtual bool | existsLFN (CSTR lfn) const |
| Return the status of a logical file name. | |
| virtual std::string | lookupLFN (CSTR lfn) const |
| Lookup file identifier by logical file name. | |
| virtual bool | existsFID (CSTR fid) const |
| Return the status of a FileID. | |
| virtual void | getPFN (CSTR fid, Files &files) const |
| Dump all physical file names of the catalog and their attributes associate to the FileID. | |
| virtual void | getLFN (CSTR fid, Files &files) const |
| Dump all logical file names of the catalog associate to the FileID. | |
| virtual void | getFID (Strings &fids) const |
| Dump all file Identifiers. | |
| virtual void | deleteFID (CSTR fid) const |
| Delete FileID from the catalog. | |
| virtual void | registerPFN (CSTR fid, CSTR pfn, CSTR ftype) const |
| Create a FileID and DOM Node of the PFN with all the attributes. | |
| virtual void | registerLFN (CSTR fid, CSTR lfn) const |
| Create a FileID and DOM Node of the LFN with all the attributes. | |
| virtual void | registerFID (CSTR fid) const |
| Create a FileID and DOM Node. | |
| virtual void | getMetaData (CSTR fid, Attributes &attr) const |
| Dump all MetaData of the catalog for a given file ID. | |
| virtual std::string | getMetaDataItem (CSTR fid, CSTR name) const |
| Access metadata item. | |
| virtual void | setMetaData (CSTR fid, CSTR attr, CSTR val) const |
| Insert/update metadata item. | |
| virtual void | dropMetaData (CSTR fid) const |
| Drop all metadata of one FID. | |
| virtual void | dropMetaData (CSTR fid, CSTR attr) const |
| Drop specified metadata item. | |
| virtual IFileCatalog * | findCatalog (CSTR connect, bool must_be_writable) const |
| Catalog management. | |
| virtual void | addCatalog (CSTR connect) |
| Add new catalog identified by name to the existing ones. | |
| virtual void | addCatalog (IFileCatalog *cat) |
| Add new catalog identified by reference to the existing ones. | |
| virtual void | removeCatalog (CSTR connect) |
| Remove catalog identified by name from the existing ones. | |
| virtual void | removeCatalog (const IFileCatalog *cat) |
| Remove catalog identified by reference from the existing ones. | |
| virtual Catalogs & | catalogs () |
| Access catalog container. | |
| virtual const Catalogs & | catalogs () const |
| Access catalog container (CONST). | |
| virtual IFileCatalog * | writeCatalog (CSTR fid="") const |
| Access to the (first) writable file catalog. | |
| virtual void | setWriteCatalog (IFileCatalog *cat) |
| Define the writable catalog identified by reference. | |
| virtual void | setWriteCatalog (CSTR connect) |
| Define the writable catalog identified by name. | |
Protected Types | |
| typedef const std::string & | CSTR |
| typedef std::vector < IFileCatalog * > | Catalogs |
| typedef std::vector< std::string > | CatalogNames |
Protected Member Functions | |
| template<class T > | |
| void | _exec (T pmf) const |
| template<class A1 , class F > | |
| std::string | _find (A1 &arg1, F pmf) const |
| template<class A1 , class F > | |
| void | _collect (A1 arg1, F pmf) const |
| template<class A1 , class A2 , class F > | |
| void | _collect (A1 arg1, A2 &arg2, F pmf) const |
Private Member Functions | |
| IFileCatalog * | getCatalog (CSTR fid, bool throw_if_not, bool writable=true, bool prt=true) const |
| Find catalog containing a given file identifier. | |
| Catalogs::iterator | i_findCatalog (CSTR connect, bool must_be_writable) |
| Find catalog by connect string. | |
| void | propHandler (Property &) |
| simple property handle to allow interactive modification of list of the file catalogs | |
| void | printError (CSTR msg, bool throw_exc=true) const |
| std::string | lookupFID (CSTR lfn) const |
Private Attributes | |
| Catalogs | m_catalogs |
| Container with references to known catalogs. | |
| CatalogNames | m_catalogNames |
| Property : Container with catalog names. | |
| bool | m_started |
| Flag to indicate if catalog is started. | |
| CatalogNames | m_oldNames |
| BACKUP:: Container with catalog names. | |
This class constitutes the core of the XML based FileCatalog API for using POOL within Gaudi.
This class manages multiple file catalogs.
Definition at line 20 of file MultiFileCatalog.h.
typedef std::vector<std::string> Gaudi::MultiFileCatalog::CatalogNames [protected] |
Definition at line 25 of file MultiFileCatalog.h.
typedef std::vector<IFileCatalog*> Gaudi::MultiFileCatalog::Catalogs [protected] |
Definition at line 24 of file MultiFileCatalog.h.
typedef const std::string& Gaudi::MultiFileCatalog::CSTR [protected] |
Definition at line 23 of file MultiFileCatalog.h.
| MultiFileCatalog::MultiFileCatalog | ( | const std::string & | nam, | |
| ISvcLocator * | svc | |||
| ) |
Create a catalog file, initialization of XercesC.
Definition at line 27 of file MultiFileCatalog.cpp.
00028 : base_class(nam, svc), m_started(false), m_oldNames() 00029 { 00030 declareProperty("Catalogs", m_catalogNames, "The list of Catalogs") 00031 -> declareUpdateHandler ( &Gaudi::MultiFileCatalog::propHandler, this ) ; 00032 m_catalogNames.push_back("xmlcatalog_file:test_catalog.xml"); 00033 }
| MultiFileCatalog::~MultiFileCatalog | ( | ) | [virtual] |
| void Gaudi::MultiFileCatalog::_collect | ( | A1 | arg1, | |
| A2 & | arg2, | |||
| F | pmf | |||
| ) | const [inline, protected] |
Definition at line 44 of file MultiFileCatalog.h.
00044 { 00045 A2 tmp; 00046 for(Catalogs::const_iterator i=m_catalogs.begin();i!=m_catalogs.end();++i,tmp.clear()) { 00047 ((*i)->*pmf)(arg1,tmp); 00048 arg2.insert(arg2.end(),tmp.begin(),tmp.end()); 00049 } 00050 }
| void Gaudi::MultiFileCatalog::_collect | ( | A1 | arg1, | |
| F | pmf | |||
| ) | const [inline, protected] |
Definition at line 37 of file MultiFileCatalog.h.
00037 { 00038 A1 tmp; 00039 for(Catalogs::const_iterator i=m_catalogs.begin();i!=m_catalogs.end();++i,tmp.clear()) { 00040 ((*i)->*pmf)(tmp); 00041 arg1.insert(arg1.end(),tmp.begin(),tmp.end()); 00042 } 00043 }
| void Gaudi::MultiFileCatalog::_exec | ( | T | pmf | ) | const [inline, protected] |
Definition at line 27 of file MultiFileCatalog.h.
00027 { 00028 for(Catalogs::const_iterator i=m_catalogs.begin(); i != m_catalogs.end(); ++i) 00029 ((*i)->*pmf)(); 00030 }
| std::string Gaudi::MultiFileCatalog::_find | ( | A1 & | arg1, | |
| F | pmf | |||
| ) | const [inline, protected] |
Definition at line 31 of file MultiFileCatalog.h.
00031 { 00032 std::string result; 00033 for(Catalogs::const_iterator i=m_catalogs.begin(); i != m_catalogs.end(); ++i) 00034 if ( !(result= ((*i)->*pmf)(arg1)).empty() ) break; 00035 return result; 00036 }
| void MultiFileCatalog::addCatalog | ( | IFileCatalog * | cat | ) | [virtual] |
Add new catalog identified by reference to the existing ones.
Definition at line 163 of file MultiFileCatalog.cpp.
00163 { 00164 if ( cat ) { 00165 cat->addRef(); 00166 m_catalogs.push_back(cat); 00167 return; 00168 } 00169 printError("Got invalid catalog to be added to multi catalog.",true); 00170 }
| void MultiFileCatalog::addCatalog | ( | CSTR | connect | ) | [virtual] |
Add new catalog identified by name to the existing ones.
Catalog is already present ... silently ignore request
Definition at line 130 of file MultiFileCatalog.cpp.
00130 { 00131 if ( !con.empty() ) { 00132 if ( 0 == findCatalog(con,false) ) { 00133 static string xml_typ = "Gaudi::XMLFileCatalog"; 00134 string::size_type id0 = con.find("_"); 00135 string typ = con.substr(0,id0); 00136 string url = con.substr(id0+1); 00137 IInterface* cat = 0; 00138 if ( strncasecmp("xml",typ.c_str(),3) == 0 ) { 00139 cat = PluginService::Create<IInterface*>(xml_typ,url,msgSvc().get()); 00140 } 00141 else { 00142 cat = PluginService::Create<IInterface*>(typ,url,serviceLocator().get()); 00143 if ( !cat ) { 00144 cat = PluginService::Create<IInterface*>(typ,url,msgSvc().get()); 00145 } 00146 } 00147 if ( cat ) { 00148 IFileCatalog* fileCat = 0; 00149 if ( cat->queryInterface(IFileCatalog::interfaceID(),pp_cast<void>(&fileCat)).isSuccess() ) { 00150 addCatalog(fileCat); 00151 cat->release(); 00152 return; 00153 } 00154 } 00155 printError("Failed to create catalog connection:"+con,true); 00156 } 00158 return; 00159 } 00160 printError("Got invalid (empty) catalog connection string.",true); 00161 }
| virtual const Catalogs& Gaudi::MultiFileCatalog::catalogs | ( | ) | const [inline, virtual] |
Access catalog container (CONST).
Definition at line 143 of file MultiFileCatalog.h.
00143 { return m_catalogs; }
| virtual Catalogs& Gaudi::MultiFileCatalog::catalogs | ( | ) | [inline, virtual] |
Access catalog container.
Definition at line 141 of file MultiFileCatalog.h.
00141 { return m_catalogs; }
| virtual void Gaudi::MultiFileCatalog::commit | ( | ) | [inline, virtual] |
Save DOM catalog to file.
Definition at line 72 of file MultiFileCatalog.h.
00072 { _exec(&IFileCatalog::commit); }
| MultiFileCatalog::CSTR MultiFileCatalog::connectInfo | ( | ) | const [virtual] |
Access to connect string.
Definition at line 72 of file MultiFileCatalog.cpp.
| std::string MultiFileCatalog::createFID | ( | ) | const [virtual] |
Catalog interface.
Create file identifier using UUID mechanism.
Create file identifier using UUID mechanism
Definition at line 68 of file MultiFileCatalog.cpp.
00068 { 00069 return createGuidAsString(); 00070 }
| virtual void Gaudi::MultiFileCatalog::deleteFID | ( | CSTR | fid | ) | const [inline, virtual] |
Delete FileID from the catalog.
Definition at line 105 of file MultiFileCatalog.h.
00106 { writeCatalog(fid)->deleteFID(fid); }
| bool MultiFileCatalog::dirty | ( | ) | const [virtual] |
Check if the catalog should be updated.
Definition at line 242 of file MultiFileCatalog.cpp.
Drop specified metadata item.
Definition at line 126 of file MultiFileCatalog.h.
00127 { writeCatalog(fid)->dropMetaData(fid,attr); }
| virtual void Gaudi::MultiFileCatalog::dropMetaData | ( | CSTR | fid | ) | const [inline, virtual] |
Drop all metadata of one FID.
Definition at line 123 of file MultiFileCatalog.h.
00124 { writeCatalog(fid)->dropMetaData(fid); }
| virtual bool Gaudi::MultiFileCatalog::existsFID | ( | CSTR | fid | ) | const [inline, virtual] |
Return the status of a FileID.
Definition at line 92 of file MultiFileCatalog.h.
00093 { return 0 != getCatalog(fid,false,false,false); }
| virtual bool Gaudi::MultiFileCatalog::existsLFN | ( | CSTR | lfn | ) | const [inline, virtual] |
Return the status of a logical file name.
Definition at line 86 of file MultiFileCatalog.h.
00087 { return !lookupLFN(lfn).empty(); }
| virtual bool Gaudi::MultiFileCatalog::existsPFN | ( | CSTR | pfn | ) | const [inline, virtual] |
Return the status of physical file name.
Definition at line 80 of file MultiFileCatalog.h.
00081 { return !lookupPFN(pfn).empty(); }
| StatusCode MultiFileCatalog::finalize | ( | ) | [virtual] |
Finalize service object.
Reimplemented from Service.
Definition at line 59 of file MultiFileCatalog.cpp.
00059 { 00060 commit(); 00061 _exec(&IFileCatalog::release); 00062 m_catalogs.clear(); 00063 m_started = false; 00064 return Service::finalize(); 00065 }
| IFileCatalog * MultiFileCatalog::findCatalog | ( | CSTR | connect, | |
| bool | must_be_writable | |||
| ) | const [virtual] |
Catalog management.
Find catalog by connect string
Definition at line 103 of file MultiFileCatalog.cpp.
00103 { 00104 for(Catalogs::const_iterator i=m_catalogs.begin(); i != m_catalogs.end(); ++i) { 00105 if ( connect == (*i)->connectInfo() ) 00106 return (must_be_writable && (*i)->readOnly()) ? 0 : *i; 00107 } 00108 return 0; 00109 }
| IFileCatalog * MultiFileCatalog::getCatalog | ( | CSTR | fid, | |
| bool | throw_if_not, | |||
| bool | writable = true, |
|||
| bool | prt = true | |||
| ) | const [private] |
Find catalog containing a given file identifier.
Definition at line 77 of file MultiFileCatalog.cpp.
00081 { 00082 for(Catalogs::const_iterator i=m_catalogs.begin(); i != m_catalogs.end(); ++i) { 00083 IFileCatalog* c = *i; 00084 if ( c ) { 00085 if ( writable && c->readOnly() ) 00086 continue; 00087 else if ( fid.empty() ) 00088 return c; 00089 else if ( !fid.empty() && c->existsFID(fid) ) 00090 return c; 00091 } 00092 } 00093 if ( prt ) { 00094 printError("No writable file catalog found which contains FID:"+fid,throw_if_not); 00095 } 00096 else { 00097 MsgStream log(msgSvc(),name()); 00098 log << MSG::DEBUG << "No writable file catalog found which contains FID:" << fid << endmsg; 00099 } 00100 return 0; 00101 }
| virtual void Gaudi::MultiFileCatalog::getFID | ( | Strings & | fids | ) | const [inline, virtual] |
Dump all file Identifiers.
Definition at line 102 of file MultiFileCatalog.h.
00103 { _collect(fids,&IFileCatalog::getFID); }
| virtual void Gaudi::MultiFileCatalog::getLFN | ( | CSTR | fid, | |
| Files & | files | |||
| ) | const [inline, virtual] |
Dump all logical file names of the catalog associate to the FileID.
Definition at line 98 of file MultiFileCatalog.h.
00099 { _collect(fid,files,&IFileCatalog::getLFN); }
| virtual void Gaudi::MultiFileCatalog::getMetaData | ( | CSTR | fid, | |
| Attributes & | attr | |||
| ) | const [inline, virtual] |
Dump all MetaData of the catalog for a given file ID.
Definition at line 115 of file MultiFileCatalog.h.
00116 { _collect(fid,attr,&IFileCatalog::getMetaData); }
Access metadata item.
Definition at line 220 of file MultiFileCatalog.cpp.
00220 { 00221 std::string result; 00222 for(Catalogs::const_iterator i=m_catalogs.begin(); i != m_catalogs.end(); ++i) 00223 if ( !(result= (*i)->getMetaDataItem(fid,attr)).empty() ) break; 00224 return result; 00225 }
| virtual void Gaudi::MultiFileCatalog::getPFN | ( | CSTR | fid, | |
| Files & | files | |||
| ) | const [inline, virtual] |
Dump all physical file names of the catalog and their attributes associate to the FileID.
Definition at line 95 of file MultiFileCatalog.h.
00096 { _collect(fid,files,&IFileCatalog::getPFN); }
| MultiFileCatalog::Catalogs::iterator MultiFileCatalog::i_findCatalog | ( | CSTR | connect, | |
| bool | must_be_writable | |||
| ) | [private] |
Find catalog by connect string.
Definition at line 112 of file MultiFileCatalog.cpp.
00112 { 00113 for(Catalogs::iterator i=m_catalogs.begin(); i != m_catalogs.end(); ++i) { 00114 if ( connect == (*i)->connectInfo() ) { 00115 return (must_be_writable && (*i)->readOnly()) ? m_catalogs.end() : i; 00116 } 00117 } 00118 return m_catalogs.end(); 00119 }
| virtual void Gaudi::MultiFileCatalog::init | ( | ) | [inline, virtual] |
Parse the DOM tree of the XML catalog.
Definition at line 69 of file MultiFileCatalog.h.
| StatusCode MultiFileCatalog::initialize | ( | ) | [virtual] |
IService implementation.
Finalize service object
Reimplemented from Service.
Definition at line 38 of file MultiFileCatalog.cpp.
00038 { 00039 CatalogNames::const_iterator i; 00040 std::string current = ""; 00041 if ( !Service::initialize().isSuccess() ) { 00042 printError("Failed to initialize service base class.",false); 00043 return StatusCode::SUCCESS; 00044 } 00045 try { 00046 for(i=m_catalogNames.begin(); i != m_catalogNames.end(); ++i) { 00047 current = *i; 00048 addCatalog(*i); 00049 } 00050 init(); 00051 return StatusCode::SUCCESS; 00052 } 00053 catch(const std::exception& /* e */) { 00054 printError("Cannot add file catalog:"+current,false); 00055 } 00056 return StatusCode::FAILURE; 00057 }
| std::string Gaudi::MultiFileCatalog::lookupFID | ( | CSTR | lfn | ) | const [private] |
| virtual std::string Gaudi::MultiFileCatalog::lookupLFN | ( | CSTR | lfn | ) | const [inline, virtual] |
Lookup file identifier by logical file name.
Definition at line 89 of file MultiFileCatalog.h.
00090 { return _find(lfn,&IFileCatalog::lookupLFN); }
| virtual std::string Gaudi::MultiFileCatalog::lookupPFN | ( | CSTR | pfn | ) | const [inline, virtual] |
Lookup file identifier by physical file name.
Definition at line 83 of file MultiFileCatalog.h.
00084 { return _find(pfn,&IFileCatalog::lookupPFN); }
| void MultiFileCatalog::printError | ( | CSTR | msg, | |
| bool | throw_exc = true | |||
| ) | const [private] |
Definition at line 121 of file MultiFileCatalog.cpp.
00121 { 00122 MsgStream log(msgSvc(),name()); 00123 if ( rethrow ) { 00124 log << MSG::FATAL << msg << endmsg; 00125 throw runtime_error("Catalog> "+msg); 00126 } 00127 log << MSG::ERROR << msg << endmsg; 00128 }
| void MultiFileCatalog::propHandler | ( | Property & | ) | [private] |
simple property handle to allow interactive modification of list of the file catalogs
Definition at line 245 of file MultiFileCatalog.cpp.
00246 { 00247 // not yet initialized 00248 if ( !m_started ) { m_oldNames = m_catalogNames; return; } // RETURN 00249 // no real change - no action 00250 if ( m_catalogNames == m_oldNames ) { return; } 00251 m_oldNames = m_catalogNames ; 00252 // remove ALL catalogs 00253 removeCatalog("") ; 00254 // add new catalogs 00255 for ( CatalogNames::const_iterator inew = m_catalogNames.begin() ; 00256 m_catalogNames.end() != inew ; ++inew ) { addCatalog ( *inew ) ; } 00257 // start 00258 init() ; 00259 // 00260 MsgStream log ( msgSvc() , name() ) ; 00261 log << MSG::DEBUG 00262 << "New catalogs to be used: " 00263 << Gaudi::Utils::toString ( m_catalogNames ) << endmsg ; 00264 }
| bool MultiFileCatalog::readOnly | ( | ) | const [virtual] |
Check if the catalog is read-only.
Definition at line 239 of file MultiFileCatalog.cpp.
| virtual void Gaudi::MultiFileCatalog::registerFID | ( | CSTR | fid | ) | const [inline, virtual] |
Create a FileID and DOM Node.
Definition at line 112 of file MultiFileCatalog.h.
00113 { writeCatalog()->registerFID(fid); }
Create a FileID and DOM Node of the LFN with all the attributes.
Definition at line 233 of file MultiFileCatalog.cpp.
00233 { 00234 IFileCatalog* c = getCatalog(fid,false,true,false); 00235 if ( !c ) c = getCatalog("",true,true,true); 00236 c->registerLFN(fid, lfn); 00237 }
Create a FileID and DOM Node of the PFN with all the attributes.
Definition at line 227 of file MultiFileCatalog.cpp.
00227 { 00228 IFileCatalog* c = getCatalog(fid,false,true,false); 00229 if ( !c ) c = getCatalog("",true,true,true); 00230 c->registerPFN(fid, pfn, ftype); 00231 }
| void MultiFileCatalog::removeCatalog | ( | const IFileCatalog * | cat | ) | [virtual] |
Remove catalog identified by reference from the existing ones.
Definition at line 181 of file MultiFileCatalog.cpp.
00181 { 00182 if ( cat ) { 00183 Catalogs::iterator i=find(m_catalogs.begin(),m_catalogs.end(),cat); 00184 if ( i != m_catalogs.end() ) { 00185 (*i)->release(); 00186 m_catalogs.erase(i); 00187 return; 00188 } 00189 printError("Unknown file catalog -- cannot be removed.",true); 00190 } 00191 printError("Invalid file catalog.",true); 00192 }
| void MultiFileCatalog::removeCatalog | ( | CSTR | connect | ) | [virtual] |
Remove catalog identified by name from the existing ones.
Definition at line 172 of file MultiFileCatalog.cpp.
00172 { 00173 if ( con.empty() || con == "*" ) { 00174 _exec(&IFileCatalog::release); 00175 m_catalogs.clear(); 00176 return; 00177 } 00178 removeCatalog(findCatalog(con,false)); 00179 }
| virtual void Gaudi::MultiFileCatalog::rollback | ( | ) | [inline, virtual] |
Save DOM catalog to file.
Definition at line 74 of file MultiFileCatalog.h.
00074 { _exec(&IFileCatalog::rollback); }
| virtual void Gaudi::MultiFileCatalog::setMetaData | ( | CSTR | fid, | |
| CSTR | attr, | |||
| CSTR | val | |||
| ) | const [inline, virtual] |
Insert/update metadata item.
Definition at line 120 of file MultiFileCatalog.h.
00121 { writeCatalog(fid)->setMetaData(fid,attr,val); }
| void MultiFileCatalog::setWriteCatalog | ( | CSTR | connect | ) | [virtual] |
Define the writable catalog identified by name.
Definition at line 210 of file MultiFileCatalog.cpp.
00210 { 00211 Catalogs::iterator i = i_findCatalog(connect,true); 00212 if ( i == m_catalogs.end() ) { 00213 addCatalog(connect); 00214 setWriteCatalog(findCatalog(connect,true)); 00215 return; 00216 } 00217 setWriteCatalog(*i); 00218 }
| void MultiFileCatalog::setWriteCatalog | ( | IFileCatalog * | cat | ) | [virtual] |
Define the writable catalog identified by reference.
Definition at line 194 of file MultiFileCatalog.cpp.
00194 { 00195 if ( cat ) { 00196 if ( !cat->readOnly() ) { 00197 Catalogs::iterator i=find(m_catalogs.begin(),m_catalogs.end(),cat); 00198 if ( i != m_catalogs.end() ) { 00199 m_catalogs.erase(i); 00200 m_catalogs.insert(m_catalogs.begin(),cat); 00201 return; 00202 } 00203 printError("The catalog "+cat->connectInfo()+" is not known.",true); 00204 } 00205 printError("The catalog "+cat->connectInfo()+" is not writable.",true); 00206 } 00207 printError("Invalid file catalog.",true); 00208 }
| virtual IFileCatalog* Gaudi::MultiFileCatalog::writeCatalog | ( | CSTR | fid = "" |
) | const [inline, virtual] |
Access to the (first) writable file catalog.
Definition at line 145 of file MultiFileCatalog.h.
00146 { return getCatalog(fid,true,true,false); }
CatalogNames Gaudi::MultiFileCatalog::m_catalogNames [private] |
Property : Container with catalog names.
Definition at line 168 of file MultiFileCatalog.h.
Catalogs Gaudi::MultiFileCatalog::m_catalogs [private] |
Container with references to known catalogs.
Definition at line 166 of file MultiFileCatalog.h.
CatalogNames Gaudi::MultiFileCatalog::m_oldNames [private] |
BACKUP:: Container with catalog names.
Definition at line 172 of file MultiFileCatalog.h.
bool Gaudi::MultiFileCatalog::m_started [private] |
Flag to indicate if catalog is started.
Definition at line 170 of file MultiFileCatalog.h.