CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
edm::FileLocator Class Reference

#include <FileLocator.h>

Classes

struct  Rule
 

Public Member Functions

 FileLocator (std::string const &catUrl, bool fallback)
 
std::string lfn (std::string const &ipfn) const
 
std::string pfn (std::string const &ilfn) const
 
 ~FileLocator ()
 

Private Types

typedef std::map< std::string,
Rules
ProtocolRules
 
typedef std::vector< RuleRules
 

Private Member Functions

std::string applyRules (ProtocolRules const &protocolRules, std::string const &protocol, std::string const &destination, bool direct, std::string name) const
 
std::string convert (std::string const &input, ProtocolRules const &rules, bool direct) const
 
void init (std::string const &catUrl, bool fallback)
 
void parseRule (xercesc::DOMNode *ruleNode, ProtocolRules &rules)
 

Private Attributes

std::string m_destination
 
ProtocolRules m_directRules
 
std::string m_filename
 
std::string m_fileType
 
ProtocolRules m_inverseRules
 
std::vector< std::string > m_protocols
 

Static Private Attributes

static int s_numberOfInstances = 0
 

Detailed Description

Definition at line 13 of file FileLocator.h.

Member Typedef Documentation

typedef std::map<std::string, Rules> edm::FileLocator::ProtocolRules
private

Definition at line 36 of file FileLocator.h.

typedef std::vector<Rule> edm::FileLocator::Rules
private

Definition at line 35 of file FileLocator.h.

Constructor & Destructor Documentation

edm::FileLocator::FileLocator ( std::string const &  catUrl,
bool  fallback 
)
explicit

Definition at line 55 of file FileLocator.cc.

edm::FileLocator::~FileLocator ( )

Definition at line 79 of file FileLocator.cc.

Member Function Documentation

std::string edm::FileLocator::applyRules ( ProtocolRules const &  protocolRules,
std::string const &  protocol,
std::string const &  destination,
bool  direct,
std::string  name 
) const
private

Definition at line 246 of file FileLocator.cc.

std::string edm::FileLocator::convert ( std::string const &  input,
ProtocolRules const &  rules,
bool  direct 
) const
private

Definition at line 94 of file FileLocator.cc.

void edm::FileLocator::init ( std::string const &  catUrl,
bool  fallback 
)
private

Definition at line 138 of file FileLocator.cc.

std::string edm::FileLocator::lfn ( std::string const &  ipfn) const

Definition at line 89 of file FileLocator.cc.

void edm::FileLocator::parseRule ( xercesc::DOMNode *  ruleNode,
ProtocolRules rules 
)
private

Definition at line 106 of file FileLocator.cc.

std::string edm::FileLocator::pfn ( std::string const &  ilfn) const

Definition at line 84 of file FileLocator.cc.

Member Data Documentation

std::string edm::FileLocator::m_destination
private

Definition at line 59 of file FileLocator.h.

ProtocolRules edm::FileLocator::m_directRules
private

Direct rules are used to do the mapping from LFN to PFN.

Definition at line 52 of file FileLocator.h.

std::string edm::FileLocator::m_filename
private

Definition at line 57 of file FileLocator.h.

std::string edm::FileLocator::m_fileType
private

Definition at line 56 of file FileLocator.h.

ProtocolRules edm::FileLocator::m_inverseRules
private

Inverse rules are used to do the mapping from PFN to LFN

Definition at line 54 of file FileLocator.h.

std::vector<std::string> edm::FileLocator::m_protocols
private

Definition at line 58 of file FileLocator.h.

int edm::FileLocator::s_numberOfInstances = 0
staticprivate

For the time being the only allowed configuration item is a prefix to be added to the GUID/LFN.

Definition at line 26 of file FileLocator.h.