Hi Fons and Gerri,
I found another instance of a hard-coded check on "root://" in
TSystem::FindHelper(...), namely:
// create new helper
TRegexp re("^root.*:"); // also roots, rootk, etc
TString pname = path;
if (pname.Index(re) != kNPOS) {
// rootd daemon ...
helper = new TNetSystem(path);
} else if (!strcmp(url.GetProtocol(), "http") &&
pname.BeginsWith("http")) {
// http ...
} else if ((h = gROOT->GetPluginManager()->FindHandler("TSystem", path))) {
if (h->LoadPlugin() == -1)
return 0;
helper = (TSystem*) h->ExecPlugin(0);
}
This should probably be changed to use the PluginManager to find TNetSystem.
It looks like most (all?) of the functionality is there in the XrdClientAdmin
so presumably a "TXNetSystem" can be made. Fabrizio, what do you think?
Presumably this can be done as part of the merge of TXNetFile with the posix
client. Do you know of any backwards compatibility issues which will make it
difficult for a TXNetSystem to be backwards compatible with rootd (using
TNetSystem)?
Pete
-------------------------------------------------------------------------
Peter Elmer E-mail: [log in to unmask] Phone: +41 (22) 767-4644
Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
-------------------------------------------------------------------------
|