replacing logic in getLastClientIP and getReceiverLastClientIP with generic function

This commit is contained in:
Erik Frojdh 2018-05-25 10:39:34 +02:00
parent f45e2b4ab9
commit 8ed67119b9

View File

@ -3429,7 +3429,8 @@ std::string multiSlsDetector::callDetectors(std::string (slsDetector::*somefunc)
bool valueNotSame = false; bool valueNotSame = false;
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) { for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
if (detectors[idet]) { if (detectors[idet]) {
string thisValue = (detectors[idet]->*somefunc)();; string thisValue = (detectors[idet]->*somefunc)();
;
if (detectors[idet]->getErrorMask()) if (detectors[idet]->getErrorMask())
setErrorMask(getErrorMask() | (1 << idet)); setErrorMask(getErrorMask() | (1 << idet));
@ -3555,29 +3556,6 @@ int multiSlsDetector::getTrimEn(int* ene)
string multiSlsDetector::getCalDir() string multiSlsDetector::getCalDir()
{ {
return callDetectors(&slsDetector::getCalDir); return callDetectors(&slsDetector::getCalDir);
// string s0 = "", s1 = "", s;
// //char ans[1000];
// for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
// if (detectors[idet]) {
// s = detectors[idet]->getCalDir();
// if (detectors[idet]->getErrorMask())
// setErrorMask(getErrorMask() | (1 << idet));
// if (s0 == "")
// s0 = s;
// else
// s0 += string("+") + s;
// if (s1 == "")
// s1 = s;
// else if (s1 != s)
// s1 = "bad";
// }
// }
// if (s1 == "bad")
// strcpy(ans, s0.c_str());
// else
// strcpy(ans, s1.c_str());
// return ans;
} }
/** /**
@ -3751,28 +3729,7 @@ int multiSlsDetector::lockServer(int p)
string multiSlsDetector::getLastClientIP() string multiSlsDetector::getLastClientIP()
{ {
string s0 = "", s1 = "", s; return callDetectors(&slsDetector::getLastClientIP);
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
if (detectors[idet]) {
s = detectors[idet]->getLastClientIP();
if (detectors[idet]->getErrorMask())
setErrorMask(getErrorMask() | (1 << idet));
if (s0 == "")
s0 = s;
else
s0 += string("+") + s;
if (s1 == "")
s1 = s;
else if (s1 != s)
s1 = "bad";
}
}
if (s1 == "bad")
return s0;
else
return s1;
} }
int multiSlsDetector::setReadOutFlags(readOutFlags flag) int multiSlsDetector::setReadOutFlags(readOutFlags flag)
@ -6101,28 +6058,7 @@ int multiSlsDetector::lockReceiver(int lock)
string multiSlsDetector::getReceiverLastClientIP() string multiSlsDetector::getReceiverLastClientIP()
{ {
string s0 = "", s1 = "", s; return callDetectors(&slsDetector::getReceiverLastClientIP);
for (int idet = 0; idet < thisMultiDetector->numberOfDetectors; ++idet) {
if (detectors[idet]) {
s = detectors[idet]->getReceiverLastClientIP();
if (detectors[idet]->getErrorMask())
setErrorMask(getErrorMask() | (1 << idet));
if (s0 == "")
s0 = s;
else
s0 += string("+") + s;
if (s1 == "")
s1 = s;
else if (s1 != s)
s1 = "bad";
}
}
if (s1 == "bad")
return s0;
else
return s1;
} }
int multiSlsDetector::exitReceiver() int multiSlsDetector::exitReceiver()