PFW: selection criteria rule constraints

BZ: 13907

Selection criteria rules' constraints previously applied
on the inclusive type of criteria while those should support
all kinds of predicates. Now inclusive types support all
predicates and exclusive ones support only identity predicates.

Change-Id: If5d9d4bd338748950eb4927d833d9d3da7ad48ee
Signed-off-by: Patrick Benavoli <patrickx.benavoli@intel.com>
Reviewed-on: http://android.intel.com:8080/25402
Reviewed-by: Barthes, FabienX <fabienx.barthes@intel.com>
Tested-by: Barthes, FabienX <fabienx.barthes@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
diff --git a/parameter/SelectionCriterionRule.cpp b/parameter/SelectionCriterionRule.cpp
index eec88be..bb353bd 100644
--- a/parameter/SelectionCriterionRule.cpp
+++ b/parameter/SelectionCriterionRule.cpp
@@ -38,10 +38,10 @@
 #define base CRule
 
 const CSelectionCriterionRule::SMatchingRuleDescription CSelectionCriterionRule::_astMatchesWhen[CSelectionCriterionRule::ENbMatchesWhen] = {
-    { "Is", false },
-    { "IsNot", false },
-    { "Includes", true },
-    { "Excludes", true }
+    { "Is", true },
+    { "IsNot", true },
+    { "Includes", false },
+    { "Excludes", false }
 };
 
 CSelectionCriterionRule::CSelectionCriterionRule() : _pSelectionCriterion(NULL), _eMatchesWhen(CSelectionCriterionRule::EIs), _iMatchValue(0)
@@ -156,9 +156,9 @@
             const ISelectionCriterionTypeInterface* pSelectionCriterionType = _pSelectionCriterion->getCriterionType();
 
             // Check compatibility if relevant
-            if (pSelectionCriterionType->isTypeInclusive() && !pstMatchingRuleDescription->bInclusiveTypeCompatible) {
+            if (!pSelectionCriterionType->isTypeInclusive() && !pstMatchingRuleDescription->bExclusiveTypeCompatible) {
 
-                strError = "Value incompatible with inclusive kind of type";
+                strError = "Value incompatible with exclusive kind of type";
 
                 return false;
             }