summaryrefslogtreecommitdiffstats
path: root/parameter/IntegerParameterType.h
diff options
context:
space:
mode:
authorPatrick Benavoli <patrickx.benavoli@intel.com>2011-11-20 18:52:24 +0100
committerDavid Wagner <david.wagner@intel.com>2014-02-10 17:15:00 +0100
commitee65e6d992e5fd7c81f62ced1cbed532989c09f7 (patch)
tree43f01d51846eaa76dcba968a615633f79fa938f2 /parameter/IntegerParameterType.h
parent065264a93ce9c63b6a5c95e985188ee33ba587d3 (diff)
downloadexternal_parameter-framework-ee65e6d992e5fd7c81f62ced1cbed532989c09f7.zip
external_parameter-framework-ee65e6d992e5fd7c81f62ced1cbed532989c09f7.tar.gz
external_parameter-framework-ee65e6d992e5fd7c81f62ced1cbed532989c09f7.tar.bz2
PFW: Parameter adaptation (platform interface)
BZ: 15069 Adaptation nodes have been added to integer parameter types in the structural description. They all convert values between a platform value and the actual parameter value. When a conversion node affects the definition of an integer type parameter, its interface type becomes "double" (instead of integer). For now only linear adaptation type is supported. Linear adaptation: ================= Linear adaptation nodes consists of the following attributes: - slope numerator (double, default = 1) - slope denominator (double, defult = 1) - offset (signed integer, default = 0) Conversions from user (platform) values to blackboard are done the follwing way: blackboard_value = user_value * slope_numerator / slope_denominator + offset Change-Id: I00abe9ba5961d8e541b616225531bbc7c8b465b0 Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com> Reviewed-on: http://android.intel.com:8080/25407 Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com> Tested-by: Barthes, FabienX <fabienx.barthes@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'parameter/IntegerParameterType.h')
-rw-r--r--parameter/IntegerParameterType.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/parameter/IntegerParameterType.h b/parameter/IntegerParameterType.h
index ddd6e79..e0b31a0 100644
--- a/parameter/IntegerParameterType.h
+++ b/parameter/IntegerParameterType.h
@@ -32,6 +32,8 @@
#include "ParameterType.h"
+class CParameterAdaptation;
+
class CIntegerParameterType : public CParameterType
{
public:
@@ -50,6 +52,9 @@ public:
// Signed Integer
virtual bool toBlackboard(int32_t iUserValue, uint32_t& uiValue, CParameterAccessContext& parameterAccessContext) const;
virtual bool fromBlackboard(int32_t& iUserValue, uint32_t uiValue, CParameterAccessContext& parameterAccessContext) const;
+ // Double
+ virtual bool toBlackboard(double dUserValue, uint32_t& uiValue, CParameterAccessContext& parameterAccessContext) const;
+ virtual bool fromBlackboard(double& dUserValue, uint32_t uiValue, CParameterAccessContext& parameterAccessContext) const;
// Default value handling (simulation only)
virtual uint32_t getDefaultValue() const;
@@ -60,9 +65,15 @@ public:
// CElement
virtual string getKind() const;
private:
+ // Returns true if children dynamic creation is to be dealt with
+ virtual bool childrenAreDynamic() const;
+
// Range checking
template <typename type> bool checkValueAgainstRange(const string& strValue, type value, CParameterAccessContext& parameterAccessContext, bool bHexaValue) const;
+ // Adaptation element retrieval
+ const CParameterAdaptation* getParameterAdaptation() const;
+
// Signing
bool _bSigned;
// Range