diff options
author | Patrick Benavoli <patrickx.benavoli@intel.com> | 2011-10-27 14:18:00 +0200 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2014-02-10 17:14:57 +0100 |
commit | 4bed9212041d94d52e55e624bd081fcbf01ee04e (patch) | |
tree | 038feec5bb0749ff31674eb7198dbdafe8cb1cf9 /parameter/ArrayParameter.cpp | |
parent | 63499d4763e42d76bfd39b79871f611381d2d164 (diff) | |
download | external_parameter-framework-4bed9212041d94d52e55e624bd081fcbf01ee04e.zip external_parameter-framework-4bed9212041d94d52e55e624bd081fcbf01ee04e.tar.gz external_parameter-framework-4bed9212041d94d52e55e624bd081fcbf01ee04e.tar.bz2 |
PFW: Dynamic parameter access
BZ: 13272
Added dynamic parameter setting / getting interface for hosting platforms
This new API allows:
- getting any parameter
- setting any parameter as long as it is rogue (attached to no domains)
Passed parameter values are in the form of strings.
Change-Id: I01a34597fcb4dafb225519cbc01dfffb22b5d52a
Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com>
Reviewed-on: http://android.intel.com:8080/22629
Reviewed-by: Centelles, Sylvain <sylvain.centelles@intel.com>
Tested-by: Barthes, FabienX <fabienx.barthes@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
Reviewed-on: http://android.intel.com:8080/26781
Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
Diffstat (limited to 'parameter/ArrayParameter.cpp')
-rw-r--r-- | parameter/ArrayParameter.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/parameter/ArrayParameter.cpp b/parameter/ArrayParameter.cpp index e8d351d..e777c61 100644 --- a/parameter/ArrayParameter.cpp +++ b/parameter/ArrayParameter.cpp @@ -104,6 +104,12 @@ bool CArrayParameter::setValue(CPathNavigator& pathNavigator, const string& strV return false; } + // Check for dynamic access + if (!checkForDynamicAccess(parameterContext)) { + + return false; + } + if (uiStartIndex == (uint32_t)-1) { // No index provided, start with 0 @@ -136,6 +142,13 @@ bool CArrayParameter::getValue(CPathNavigator& pathNavigator, string& strValue, return false; } + + // Check for dynamic access + if (!checkForDynamicAccess(parameterContext)) { + + return false; + } + if (uiIndex == (uint32_t)-1) { // Whole array requested @@ -275,6 +288,8 @@ void CArrayParameter::getValues(uint32_t uiBaseOffset, string& strValues, CParam uint32_t uiOffset = getOffset() - uiBaseOffset; uint32_t uiArrayLength = getArrayLength(); + strValues.clear(); + bool bFirst = true; for (uiValueIndex = 0; uiValueIndex < uiArrayLength; uiValueIndex++) { |