From 8ab7293fc32d078f558985b938fa5c71c2b0404b Mon Sep 17 00:00:00 2001 From: Francois Gaffie Date: Mon, 7 Apr 2014 13:46:05 +0200 Subject: Restore autosync of string parameter BZ: 183857 Sync for String parameter accessed from parameter handle API does not work. This patch allows synchronisation for string parameter accessed from parameter handle APIs. Change-Id: If738402f4c0fcb0bb51bd2515e46f3ac36a361dd Signed-off-by: Francois Gaffie Signed-off-by: Mattijs Korpershoek --- parameter/Parameter.cpp | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) (limited to 'parameter/Parameter.cpp') diff --git a/parameter/Parameter.cpp b/parameter/Parameter.cpp index 631710d..75433dd 100644 --- a/parameter/Parameter.cpp +++ b/parameter/Parameter.cpp @@ -122,30 +122,36 @@ bool CParameter::accessAsDouble(double& dValue, bool bSet, CParameterAccessConte // Generic Access template -bool CParameter::doAccess(type& value, bool bSet, CParameterAccessContext& parameterAccessContext) const +bool CParameter::doAccess(type& value, bool bSet, + CParameterAccessContext& parameterAccessContext) const { - bool bSuccess; - if (bSet) { + // set value + if (!doSet(value, getOffset() - parameterAccessContext.getBaseOffset(), + parameterAccessContext)) { - if (doSet(value, getOffset() - parameterAccessContext.getBaseOffset(), parameterAccessContext)) { + // Append parameter path to error + parameterAccessContext.appendToError(" " + getPath()); + return false; - // Synchronize - bSuccess = sync(parameterAccessContext); - } else { + } + // Synchronize + if (!sync(parameterAccessContext)){ - bSuccess = false; + parameterAccessContext.appendToError(" " + getPath()); + return false; } } else { + // get value + if (!doGet(value, getOffset() - parameterAccessContext.getBaseOffset(), + parameterAccessContext)) { - bSuccess = doGet(value, getOffset() - parameterAccessContext.getBaseOffset(), parameterAccessContext); - } - if (!bSuccess) { - - // Append parameter path to error - parameterAccessContext.appendToError(" " + getPath()); + // Append parameter path to error + parameterAccessContext.appendToError(" " + getPath()); + return false; + } } - return bSuccess; + return true; } template -- cgit v1.1