From 6ba361d96bc2581667b3400f87ff89fae6449e1f Mon Sep 17 00:00:00 2001 From: Patrick Benavoli Date: Wed, 31 Aug 2011 11:23:24 +0200 Subject: parameter-framework: improvements and corrections BZ: 6721 - Bug correction concerning selection criteria display (inclusive type) - Adapted XML format to allow for only on parameter to be associated to a domain - Removed unused files in parameter project Change-Id: I9f42d08ff8cb60354714fe3d6b0f0b321ad0a7bf Orig-Change-Id: I837e553070f5acf2d275082c986ba29433493e31 Signed-off-by: Patrick Benavoli Reviewed-on: http://android.intel.com:8080/16878 Reviewed-by: Mahe, Erwan Tested-by: Barthes, FabienX Reviewed-by: buildbot Tested-by: buildbot --- parameter/BooleanParameterType.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'parameter/BooleanParameterType.cpp') diff --git a/parameter/BooleanParameterType.cpp b/parameter/BooleanParameterType.cpp index d84d683..425596d 100644 --- a/parameter/BooleanParameterType.cpp +++ b/parameter/BooleanParameterType.cpp @@ -49,15 +49,26 @@ string CBooleanParameterType::getKind() const bool CBooleanParameterType::asInteger(const string& strValue, uint32_t& uiValue, CParameterAccessContext& parameterAccessContext) const { - if (strValue == "1") { + if (strValue == "1" || strValue == "0x1") { uiValue = true; - } else if (strValue == "0") { + } else if (strValue == "0" || strValue == "0x0") { uiValue = false; } else { + parameterAccessContext.setError(strValue + " value not part of numerical space {"); - parameterAccessContext.setError(strValue + " value not part of numerical space {0, 1} for " + getKind()); + // Hexa + bool bValueProvidedAsHexa = !strValue.compare(0, 2, "0x"); + + if (bValueProvidedAsHexa) { + + parameterAccessContext.appendToError("0x0, 0x1"); + } else { + + parameterAccessContext.appendToError("0, 1"); + } + parameterAccessContext.appendToError("} for " + getKind()); return false; } @@ -67,7 +78,10 @@ bool CBooleanParameterType::asInteger(const string& strValue, uint32_t& uiValue, void CBooleanParameterType::asString(const uint32_t& uiValue, string& strValue, CParameterAccessContext& parameterAccessContext) const { - (void)parameterAccessContext; + if (parameterAccessContext.valueSpaceIsRaw() && parameterAccessContext.outputRawFormatIsHex()) { + + strValue = "0x"; + } - strValue = uiValue ? "1" : "0"; + strValue += uiValue ? "1" : "0"; } -- cgit v1.1