From f6357a667f54988064eccbf3b56a3425c8d35d43 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Fri, 12 Oct 2018 11:39:11 +0200 Subject: [PATCH] setSettingsDir works as the other functions --- .../multiSlsDetector/multiSlsDetector.cpp | 26 ++++--------------- .../multiSlsDetector/multiSlsDetector.h | 2 +- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp index 14cb044c4..24d9aad1a 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.cpp @@ -1111,28 +1111,12 @@ std::string multiSlsDetector::getSettingsDir(int detPos) { } -std::string multiSlsDetector::setSettingsDir(std::string s, int detPos) { - // single - if (detPos >= 0) { - return detectors[detPos]->setSettingsDir(s); - } +std::string multiSlsDetector::setSettingsDir(std::string directory, int detPos) { + if (detPos >= 0) + return detectors[detPos]->setSettingsDir(directory); - // multi - size_t p1 = 0; - size_t p2 = s.find('+', p1); - int id = 0; - while (p2 != std::string::npos) { - detectors[id]->setSettingsDir(s.substr(p1, p2 - p1)); - if (detectors[id]->getErrorMask()) - setErrorMask(getErrorMask() | (1 << id)); - ++id; - s = s.substr(p2 + 1); - p2 = s.find('+'); - if (id >= (int)detectors.size()) - break; - } - - return getSettingsDir(); + auto r = parallelCall(&slsDetector::setSettingsDir, directory); + return sls::concatenateIfDifferent(r); } diff --git a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h index 1c3839b64..2ddfd6c84 100644 --- a/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h +++ b/slsDetectorSoftware/multiSlsDetector/multiSlsDetector.h @@ -531,7 +531,7 @@ public: * @param detPos -1 for all detectors in list or specific detector position * @returns the trimbit/settings directory */ - std::string setSettingsDir(std::string s, int detPos = -1); + std::string setSettingsDir(std::string directory, int detPos = -1); /** * Loads the modules settings/trimbits reading from a specific file