1 #ifndef FWCore_Catalog_FileLocator_h
2 #define FWCore_Catalog_FileLocator_h
8 #include <boost/regex.hpp>
9 #include <xercesc/dom/DOM.hpp>
16 explicit FileLocator(std::string
const& catUrl,
bool fallback);
19 std::string
pfn(std::string
const& ilfn)
const;
20 std::string
lfn(std::string
const& ipfn)
const;
35 typedef std::vector<Rule>
Rules;
38 void init(std::string
const& catUrl,
bool fallback);
40 void parseRule(xercesc::DOMNode* ruleNode,
44 std::string
const& protocol,
45 std::string
const& destination,
47 std::string
name)
const;
63 #endif // FWCore_Catalog_FileLocator_h
std::map< std::string, Rules > ProtocolRules
static int s_numberOfInstances
std::string lfn(std::string const &ipfn) const
std::string m_destination
ProtocolRules m_inverseRules
std::string convert(std::string const &input, ProtocolRules const &rules, bool direct) const
std::string pfn(std::string const &ilfn) const
FileLocator(std::string const &catUrl, bool fallback)
ProtocolRules m_directRules
std::vector< Rule > Rules
void parseRule(xercesc::DOMNode *ruleNode, ProtocolRules &rules)
boost::regex destinationMatch
std::vector< std::string > m_protocols
std::string applyRules(ProtocolRules const &protocolRules, std::string const &protocol, std::string const &destination, bool direct, std::string name) const
void init(std::string const &catUrl, bool fallback)