summaryrefslogtreecommitdiffstats
path: root/parameter/Parameter.cpp
diff options
context:
space:
mode:
authorFrédéric Boisnard <fredericx.boisnard@intel.com>2013-02-25 15:55:47 +0100
committerDavid Wagner <david.wagner@intel.com>2014-02-12 17:03:47 +0100
commit6bc17c03f4b006a411b768fca33269843144542d (patch)
tree7012b94b33ca14ab9f22902749855ba01b8787e7 /parameter/Parameter.cpp
parent3aa0db4be952157c2842b91a1606cc0edac9e63d (diff)
downloadexternal_parameter-framework-6bc17c03f4b006a411b768fca33269843144542d.zip
external_parameter-framework-6bc17c03f4b006a411b768fca33269843144542d.tar.gz
external_parameter-framework-6bc17c03f4b006a411b768fca33269843144542d.tar.bz2
[PFW] Take into account base offset when accessing value of parameters
BZ: 88357 This patch aims to offer the possibility of accessing the value of parameters from a Configuration blackboard instead of Main blackboard. The read/write operation is now relative to the base offset of the ancestor element associated to the Configuration. The base offset is stored in the ParameterAccessContext. Change-Id: I158df63d2ef3bd8cbacb84b7d2f51723ed1074f5 Signed-off-by: Frédéric Boisnard <fredericx.boisnard@intel.com> Reviewed-on: http://android.intel.com:8080/93671 Reviewed-by: cactus <cactus@intel.com> Reviewed-by: Dixon, CharlesX <charlesx.dixon@intel.com> Tested-by: Dixon, CharlesX <charlesx.dixon@intel.com> Reviewed-by: buildbot <buildbot@intel.com> Tested-by: buildbot <buildbot@intel.com>
Diffstat (limited to 'parameter/Parameter.cpp')
-rw-r--r--parameter/Parameter.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/parameter/Parameter.cpp b/parameter/Parameter.cpp
index 3d4d7f2..8dbc315 100644
--- a/parameter/Parameter.cpp
+++ b/parameter/Parameter.cpp
@@ -76,7 +76,7 @@ void CParameter::setDefaultValues(CParameterAccessContext& parameterAccessContex
CParameterBlackboard* pBlackboard = parameterAccessContext.getParameterBlackboard();
// Beware this code works on little endian architectures only!
- pBlackboard->writeInteger(&uiDefaultValue, getSize(), getOffset(), parameterAccessContext.isBigEndianSubsystem());
+ pBlackboard->writeInteger(&uiDefaultValue, getSize(), getOffset() - parameterAccessContext.getBaseOffset(), parameterAccessContext.isBigEndianSubsystem());
}
/// Actual parameter access
@@ -123,7 +123,7 @@ bool CParameter::doAccess(type& value, bool bSet, CParameterAccessContext& param
if (bSet) {
- if (doSet(value, getOffset(), parameterAccessContext)) {
+ if (doSet(value, getOffset() - parameterAccessContext.getBaseOffset(), parameterAccessContext)) {
// Synchronize
bSuccess = sync(parameterAccessContext);
@@ -133,7 +133,7 @@ bool CParameter::doAccess(type& value, bool bSet, CParameterAccessContext& param
}
} else {
- bSuccess = doGet(value, getOffset(), parameterAccessContext);
+ bSuccess = doGet(value, getOffset() - parameterAccessContext.getBaseOffset(), parameterAccessContext);
}
if (!bSuccess) {