From 1fa4f47689736e6816fd83d5a4fdfb7e26706faf Mon Sep 17 00:00:00 2001 From: amichelo <andrea.michelotti@lnf.infn.it> Date: Wed, 27 Oct 2021 10:35:47 +0200 Subject: [PATCH] sync on property read --- .../control_manager/AbstractControlUnit.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/chaos/cu_toolkit/control_manager/AbstractControlUnit.cpp b/chaos/cu_toolkit/control_manager/AbstractControlUnit.cpp index 79d521ce2..695b55e0b 100644 --- a/chaos/cu_toolkit/control_manager/AbstractControlUnit.cpp +++ b/chaos/cu_toolkit/control_manager/AbstractControlUnit.cpp @@ -461,9 +461,20 @@ void AbstractControlUnit::_defineActionAndDataset(CDataWrapper& setup_configurat PropertyCollector::fillDescription("property", setup_configuration); } chaos::common::data::CDWUniquePtr AbstractControlUnit::getProperty(chaos::common::data::CDWUniquePtr data) { - chaos::common::data::CDWUniquePtr ret = getProperties(); - ACULDBG_ << "get CU properties:" << ((ret.get()) ? ret->getJSONString() : ""); + bool sync=true; + chaos::common::data::CDWUniquePtr ret ; + if(data.get()&&data->hasKey("sync")){ + sync=data->getBoolValue("sync"); + } + if(data.get()&&data->hasKey("name")){ + std::string name=data->getStringValue("name"); + ret=syncRead(name); + ACULDBG_ << "get CU property :" <<name<<" ="<< ((ret.get()) ? ret->getJSONString() : ""); + return ret; + } + ret= getProperties(sync); + ACULDBG_ << "get CU properties:" << ((ret.get()) ? ret->getJSONString() : ""); return ret; } chaos::common::data::CDWUniquePtr AbstractControlUnit::setProperty(chaos::common::data::CDWUniquePtr data) { -- GitLab