106
{
if (sid.Equals("central",
StringComparison.OrdinalIgnoreCase) && sockPort != null && sockAddr !=
null &&
(!sockPort.Equals(SACEntity.CentralSockPort)
|| !sockAddr.Equals(SACEntity.CentralSockAddr)))
{
SACEntity.CentralSockPort =
this.CentralSockPort = sockPort;
SACEntity.CentralSockAddr =
this.CentralSockAddr = sockAddr;
forceUpd = true;
}
else if (prms == 4) //if server config have all
required params
{
if (isNew) { SACs_Entities.Add(new
SACEntity(sid, name, sockPort, rootPath, mainFile)); }
else {
int j = 0;
for (; j < SACs_Entities.Count; j++) if
(SACs_Entities[j].ServerID.Equals(sid)) { break; }
if (j < SACs_Entities.Count)
SACs_Entities[j].Update(name, sockPort, rootPath, mainFile, forceUpd);
else SACs_Entities.Add(new SACEntity(sid,
name, sockPort, rootPath, mainFile));
}
}
sids = sids + sid + '\0'; prms = 0;
name = sockPort = rootPath = mainFile = sockAddr
= null;
}
sid = cfg_data[i].Substring(1, pos - 1);
if (sids.IndexOf(('\0' + sid + '\0'),
StringComparison.OrdinalIgnoreCase) >= 0) sid = null; //duplicated server
ID
continue;
}
if (sid == null) continue; //skip until sid found
if (name == null && cfg_data[i].StartsWith("Name=")) {
name = cfg_data[i].Substring(5); prms++; continue; }
if (sockPort == null &&
cfg_data[i].StartsWith("SockPort=")) { sockPort =
cfg_data[i].Substring(9); prms++; continue; }
if (rootPath == null &&
cfg_data[i].StartsWith("RootPath=")) { rootPath =
cfg_data[i].Substring(9); prms++; continue; }
if (mainFile == null &&
cfg_data[i].StartsWith("MainFile=")) { mainFile =
cfg_data[i].Substring(9); prms++; continue; }