58 if (!strcmp(
hName,
"adler-32") || !strcmp(
hName,
"adler32")
59 || !strcmp(
hName,
"adler"))
return "a32";
77 {
if (cc) {strncpy(
fCC, cc,
sizeof(
fCC)-1);
fCC[2] = 0;}
78 else strcpy(
fCC,
"us");
95 while((hdP = hP)) {hP = hP->
next;
delete hdP;}
99 while((udP = uP)) {uP = uP->
next;
delete udP;}
103 if( fTargetName ) free(fTargetName);
120 fHashNext = fHash =
new XrdOucFIHash(hname, hval, fHash);
125 for (
int i = 0; i < n; i++) fHash->
hName[i] = tolower(fHash->
hName[i]);
141 {urlP->
fCC[0] = tolower(cntry[0]);
142 urlP->
fCC[1] = tolower(cntry[1]);
143 urlP->
fCC[2] = urlP->
fCC[3] = 0;
144 }
else strcpy(urlP->
fCC,
"us");
149 {
while(unP && prty >= unP->
fPrty) {upP = unP; unP = unP->
next;}
151 while(unP && prty > unP->
fPrty) {upP = unP; unP = unP->
next;}
157 if (upP) upP->
next = urlP;
159 if (fUrl != fUrlNext) fUrlNext = fUrl;
168 if(fTargetName) {free(fTargetName); fTargetName = 0;}
171 fTargetName = strdup(filename);
180 if(fLfn) {free(fLfn); fLfn = 0;}
192 if (protList.find(protname) == std::string::npos) protList.append(protname);
205 if (!fHashNext) {fHashNext = fHash;
return 0;}
209 hP = fHashNext; fHashNext = fHashNext->
next;
214 return (xrdname ? hP-> XrdhName() : hP->
hName);
227 if (!fUrlNext) {fUrlNext = fUrl;
return 0;}
231 uP = fUrlNext; fUrlNext = fUrlNext->
next;
235 if (cntry) strcpy(cntry, uP->
fCC);
239 if (prty) *prty = uP->
fPrty;
252 return (protList.find(protname) != std::string::npos);
XrdOucFIHash(const char *hn, const char *hv, XrdOucFIHash *np=0)
XrdOucFIUrl(const char *url, const char *cc=0, int pri=0)
~XrdOucFileInfo()
Destructor.
bool HasProtocol(const char *protname)
void AddFileName(const char *filename)
void AddProtocol(const char *protname)
void AddLfn(const char *lfn)
void AddUrl(const char *url, const char *cntry=0, int prty=0, bool fifo=true)
void AddDigest(const char *hname, const char *hval)
const char * GetUrl(char *cntry=0, int *prty=0)
const char * GetDigest(const char *&hval, bool xrdname=true)