diff options
author | Patrick Benavoli <patrickx.benavoli@intel.com> | 2011-08-31 11:23:24 +0200 |
---|---|---|
committer | David Wagner <david.wagner@intel.com> | 2014-02-10 17:13:21 +0100 |
commit | 6ba361d96bc2581667b3400f87ff89fae6449e1f (patch) | |
tree | e72e959d7d4c3b0f0b6dc20ec4f07d957eae1a50 /parameter/MappingContext.cpp | |
parent | 68a912857707864bbaaff9808717813105072a6e (diff) | |
download | external_parameter-framework-6ba361d96bc2581667b3400f87ff89fae6449e1f.zip external_parameter-framework-6ba361d96bc2581667b3400f87ff89fae6449e1f.tar.gz external_parameter-framework-6ba361d96bc2581667b3400f87ff89fae6449e1f.tar.bz2 |
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 <patrickx.benavoli@intel.com>
Reviewed-on: http://android.intel.com:8080/16878
Reviewed-by: Mahe, Erwan <erwan.mahe@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/MappingContext.cpp')
-rw-r--r-- | parameter/MappingContext.cpp | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/parameter/MappingContext.cpp b/parameter/MappingContext.cpp index 2f36c97..c460ab8 100644 --- a/parameter/MappingContext.cpp +++ b/parameter/MappingContext.cpp @@ -32,10 +32,10 @@ #include <string.h> #include <stdlib.h> -CMappingContext::CMappingContext(uint32_t uiNbItems) : _pstItemArray(new CMappingContext::SItem[uiNbItems]), _uiNbItems(uiNbItems) +CMappingContext::CMappingContext(uint32_t uiNbItemTypes) : _pstItemArray(new CMappingContext::SItem[uiNbItemTypes]), _uiNbItemTypes(uiNbItemTypes) { // Clear items - memset(_pstItemArray, 0, sizeof(*_pstItemArray) * uiNbItems); + memset(_pstItemArray, 0, sizeof(*_pstItemArray) * uiNbItemTypes); } CMappingContext::~CMappingContext() @@ -44,10 +44,10 @@ CMappingContext::~CMappingContext() } // Copy constructor -CMappingContext::CMappingContext(const CMappingContext& from) : _pstItemArray(new CMappingContext::SItem[from._uiNbItems]), _uiNbItems(from._uiNbItems) +CMappingContext::CMappingContext(const CMappingContext& from) : _pstItemArray(new CMappingContext::SItem[from._uiNbItemTypes]), _uiNbItemTypes(from._uiNbItemTypes) { // Copy content items - memcpy(_pstItemArray, from._pstItemArray, sizeof(*_pstItemArray) * _uiNbItems); + memcpy(_pstItemArray, from._pstItemArray, sizeof(*_pstItemArray) * _uiNbItemTypes); } // Affectation @@ -56,23 +56,23 @@ const CMappingContext& CMappingContext::operator=(const CMappingContext& right) if (&right != this) { // Size - _uiNbItems = right._uiNbItems; + _uiNbItemTypes = right._uiNbItemTypes; // Content // Delete previous array delete [] _pstItemArray; // Reallocate it - _pstItemArray = new CMappingContext::SItem[_uiNbItems]; + _pstItemArray = new CMappingContext::SItem[_uiNbItemTypes]; // Copy content items - memcpy(_pstItemArray, right._pstItemArray, sizeof(*_pstItemArray) * _uiNbItems); + memcpy(_pstItemArray, right._pstItemArray, sizeof(*_pstItemArray) * _uiNbItemTypes); } return *this; } // Item access -bool CMappingContext::setItem(uint32_t uiItemType, const string& strItem) +bool CMappingContext::setItem(uint32_t uiItemType, const string* pStrItem) { // Do some checks if (_pstItemArray[uiItemType].bSet) { @@ -81,7 +81,7 @@ bool CMappingContext::setItem(uint32_t uiItemType, const string& strItem) return false; } // Get item value - _pstItemArray[uiItemType].uiItem = strtoul(strItem.c_str(), NULL, 0); + _pstItemArray[uiItemType].strItem = pStrItem; // Now is set _pstItemArray[uiItemType].bSet = true; @@ -89,9 +89,19 @@ bool CMappingContext::setItem(uint32_t uiItemType, const string& strItem) return true; } -uint32_t CMappingContext::getItem(uint32_t uiItemType) const +const string& CMappingContext::getItem(uint32_t uiItemType) const { - return _pstItemArray[uiItemType].uiItem; + return *_pstItemArray[uiItemType].strItem; +} + +uint32_t CMappingContext::getItemAsInteger(uint32_t uiItemType) const +{ + if (!_pstItemArray[uiItemType].strItem) { + + return 0; + } + + return strtoul(_pstItemArray[uiItemType].strItem->c_str(), NULL, 0); } bool CMappingContext::iSet(uint32_t uiItemType) const |