summaryrefslogtreecommitdiffstats
path: root/parameter/SelectionCriterion.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/SelectionCriterion.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/SelectionCriterion.cpp')
-rw-r--r--parameter/SelectionCriterion.cpp48
1 files changed, 46 insertions, 2 deletions
diff --git a/parameter/SelectionCriterion.cpp b/parameter/SelectionCriterion.cpp
index 4c032bb..9640b3b 100644
--- a/parameter/SelectionCriterion.cpp
+++ b/parameter/SelectionCriterion.cpp
@@ -82,12 +82,56 @@ void CSelectionCriterion::setObserver(ISelectionCriterionObserver* pSelectionCri
}
/// Match methods
-bool CSelectionCriterion::equals(int iState) const
+bool CSelectionCriterion::is(int iState) const
{
return _iState == iState;
}
-bool CSelectionCriterion::contains(int iState) const
+bool CSelectionCriterion::isNot(int iState) const
+{
+ return _iState != iState;
+}
+
+bool CSelectionCriterion::includes(int iState) const
{
return (_iState & iState) != 0;
}
+
+bool CSelectionCriterion::excludes(int iState) const
+{
+ return (_iState & iState) == 0;
+}
+
+/// User request
+string CSelectionCriterion::getFormattedDescription(bool bWithTypeInfo) const
+{
+ string strFormattedDescription;
+
+ if (bWithTypeInfo) {
+
+ // Display type info
+ appendTitle(strFormattedDescription, getName() + ":");
+
+ // States
+ strFormattedDescription += "Possible states ";
+
+ // Type Kind
+ strFormattedDescription += "(";
+ strFormattedDescription += _pType->isTypeInclusive() ? "Inclusive" : "Exclusive";
+ strFormattedDescription += "): ";
+
+ // States
+ strFormattedDescription += _pType->listPossibleValues() + "\n";
+
+ // Current State
+ strFormattedDescription += "Current state";
+ } else {
+ // Name only
+ strFormattedDescription = getName();
+ }
+
+ // Current State
+ strFormattedDescription += " = " + _pType->getFormattedState(_iState);
+
+ return strFormattedDescription;
+}