wip, setmaster

This commit is contained in:
2022-02-23 12:26:37 +01:00
parent ef3df36e55
commit 89edf58f41
7 changed files with 36 additions and 14 deletions

View File

@ -303,10 +303,16 @@ Result<bool> Detector::getMaster(Positions pos) const {
}
void Detector::setMaster(bool master, int pos) {
if (pos == -1)) {
if (pos == -1 && size() > 1) {
throw RuntimeError("Master can be set only to a single module");
}
pimpl->Parallel(&Module::setMaster, {pos}, value);
// multi mod, set slaves first
if (master && size() > 1) {
pimpl->Parallel(&Module::setMaster, {}, false);
pimpl->Parallel(&Module::setMaster, {pos}, master);
} else {
pimpl->Parallel(&Module::setMaster, {pos}, master);
}
}
Result<bool> Detector::isVirtualDetectorServer(Positions pos) const {