|
Gaudi Framework, version v21r6 |
| Home | Generated: 11 Nov 2009 |
#include <MultiFileCatalog.h>


This class manages multiple file catalogs.
Definition at line 20 of file 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. | |
typedef const std::string& Gaudi::MultiFileCatalog::CSTR [protected] |
Definition at line 23 of file MultiFileCatalog.h.
typedef std::vector<IFileCatalog*> Gaudi::MultiFileCatalog::Catalogs [protected] |
Definition at line 24 of file MultiFileCatalog.h.
typedef std::vector<std::string> Gaudi::MultiFileCatalog::CatalogNames [protected] |
Definition at line 25 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::_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 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::_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 }
| StatusCode MultiFileCatalog::initialize | ( | ) | [virtual] |
IService implementation.
Finalize service object
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 }
| StatusCode MultiFileCatalog::finalize | ( | void | ) | [virtual] |
Finalize service object.
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 }
| 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 }
| MultiFileCatalog::CSTR MultiFileCatalog::connectInfo | ( | ) | const [virtual] |
| virtual void Gaudi::MultiFileCatalog::init | ( | ) | [inline, virtual] |
Parse the DOM tree of the XML catalog.
Definition at line 69 of file MultiFileCatalog.h.
00070 { _exec(&IFileCatalog::init); m_started=true; }
| virtual void Gaudi::MultiFileCatalog::commit | ( | ) | [inline, virtual] |
Save DOM catalog to file.
Definition at line 72 of file MultiFileCatalog.h.
00072 { _exec(&IFileCatalog::commit); }
| virtual void Gaudi::MultiFileCatalog::rollback | ( | ) | [inline, virtual] |
Save DOM catalog to file.
Definition at line 74 of file MultiFileCatalog.h.
00074 { _exec(&IFileCatalog::rollback); }
| bool MultiFileCatalog::readOnly | ( | ) | const [virtual] |
Check if the catalog is read-only.
Definition at line 239 of file MultiFileCatalog.cpp.
00240 { return _findX0Bool(m_catalogs,&IFileCatalog::readOnly,false); }
| bool MultiFileCatalog::dirty | ( | ) | const [virtual] |
Check if the catalog should be updated.
Definition at line 242 of file MultiFileCatalog.cpp.
00243 { return _findX0Bool(m_catalogs,&IFileCatalog::dirty,true); }
| 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(); }
| 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); }
| 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 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 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 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); }
| 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::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::deleteFID | ( | CSTR | fid | ) | const [inline, virtual] |
Delete FileID from the catalog.
Definition at line 105 of file MultiFileCatalog.h.
00106 { writeCatalog(fid)->deleteFID(fid); }
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 }
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 }
| 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); }
| 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::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); }
| 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); }
Drop specified metadata item.
Definition at line 126 of file MultiFileCatalog.h.
00127 { writeCatalog(fid)->dropMetaData(fid,attr); }
| 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 }
| 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 }
| 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::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 }
| 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 }
| virtual Catalogs& Gaudi::MultiFileCatalog::catalogs | ( | ) | [inline, virtual] |
Access catalog container.
Definition at line 141 of file MultiFileCatalog.h.
00141 { return m_catalogs; }
| 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 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); }
| 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 }
| 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 }
| 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 }
| 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 }
| 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 }
| 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 }
| std::string Gaudi::MultiFileCatalog::lookupFID | ( | CSTR | lfn | ) | const [private] |
Catalogs Gaudi::MultiFileCatalog::m_catalogs [private] |
CatalogNames Gaudi::MultiFileCatalog::m_catalogNames [private] |
bool Gaudi::MultiFileCatalog::m_started [private] |
CatalogNames Gaudi::MultiFileCatalog::m_oldNames [private] |