1#ifndef _XRDOSSCSICONFIG_H
2#define _XRDOSSCSICONFIG_H
52 if (!path || !*path)
return false;
60 if (
prefix_.length() == s.length())
return true;
61 if (s[
prefix_.length()] ==
'/')
return true;
66 const size_t haystack = s.length();
67 const size_t needle =
suffix_.length();
68 if (haystack >= needle && s.substr(haystack-needle, std::string::npos) ==
suffix_)
return true;
74 if (!v.empty() && v[0] !=
'/')
76 Eroute.
Emsg(
"Config",
"prefix must be empty or start with /");
90 if (!path || *path !=
'/' ||
prefix_.empty())
return std::string();
93 if (p.length()>1)
return prefix_ + p;
102 if (!path || *path !=
'/' ||
prefix_.empty())
return false;
118 if (!path || *path !=
'/')
return std::string();
133 const size_t idx =
prefix_.rfind(
"/");
144 i = str.find(
"//", i);
145 if (i == std::string::npos)
break;
147 }
while (!str.empty());
150 if (str.length()>1 && str[str.length()-1] ==
'/')
152 str.erase( str.end()-1 );
#define XrdOssOK
Definition XrdOss.hh:50
Definition XrdOssCsiConfig.hh:42
std::string getPrefixName()
Definition XrdOssCsiConfig.hh:110
void calcPrefixElements()
Definition XrdOssCsiConfig.hh:127
std::string prefixend_
Definition XrdOssCsiConfig.hh:157
void simplePath(std::string &str)
Definition XrdOssCsiConfig.hh:139
bool matchPrefixDir(const char *path)
Definition XrdOssCsiConfig.hh:100
std::string makeBaseDirname(const char *path)
Definition XrdOssCsiConfig.hh:88
std::string prefixstart_
Definition XrdOssCsiConfig.hh:156
std::string makeTagFilename(const char *path)
Definition XrdOssCsiConfig.hh:116
bool hasPrefix()
Definition XrdOssCsiConfig.hh:84
std::string suffix_
Definition XrdOssCsiConfig.hh:158
std::string prefix_
Definition XrdOssCsiConfig.hh:124
bool isTagFile(const char *path)
Definition XrdOssCsiConfig.hh:50
TagPath()
Definition XrdOssCsiConfig.hh:45
int SetPrefix(XrdSysError &Eroute, const std::string &v)
Definition XrdOssCsiConfig.hh:72
~TagPath()
Definition XrdOssCsiConfig.hh:46
Definition XrdOssCsiConfig.hh:162
bool fillFileHole() const
Definition XrdOssCsiConfig.hh:170
bool disablePgExtend_
Definition XrdOssCsiConfig.hh:192
std::string xrdtSpaceName_
Definition XrdOssCsiConfig.hh:190
std::string xrdtSpaceName() const
Definition XrdOssCsiConfig.hh:172
int xtrace(XrdOucStream &, XrdSysError &)
int Init(XrdSysError &, const char *, const char *, XrdOucEnv *)
int readConfig(XrdSysError &, const char *)
bool disableLooseWrite_
Definition XrdOssCsiConfig.hh:193
bool disableLooseWrite() const
Definition XrdOssCsiConfig.hh:178
~XrdOssCsiConfig()
Definition XrdOssCsiConfig.hh:166
int ConfigXeq(char *, XrdOucStream &, XrdSysError &)
bool disablePgExtend() const
Definition XrdOssCsiConfig.hh:176
bool allowMissingTags_
Definition XrdOssCsiConfig.hh:191
XrdOssCsiConfig()
Definition XrdOssCsiConfig.hh:165
bool fillFileHole_
Definition XrdOssCsiConfig.hh:189
TagPath tagParam_
Definition XrdOssCsiConfig.hh:180
bool allowMissingTags() const
Definition XrdOssCsiConfig.hh:174
Definition XrdOucEnv.hh:42
Definition XrdOucStream.hh:47
Definition XrdSysError.hh:90
int Emsg(const char *esfx, int ecode, const char *text1, const char *text2=0)