summaryrefslogtreecommitdiffstats
path: root/parameter/MappingContext.cpp
diff options
context:
space:
mode:
authorPatrick Benavoli <patrickx.benavoli@intel.com>2011-08-31 11:23:24 +0200
committerDavid Wagner <david.wagner@intel.com>2014-02-10 17:13:21 +0100
commit6ba361d96bc2581667b3400f87ff89fae6449e1f (patch)
treee72e959d7d4c3b0f0b6dc20ec4f07d957eae1a50 /parameter/MappingContext.cpp
parent68a912857707864bbaaff9808717813105072a6e (diff)
downloadexternal_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.cpp32
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