aboutsummaryrefslogtreecommitdiffstats
path: root/parameter/SelectionCriterionRule.h
diff options
context:
space:
mode:
Diffstat (limited to 'parameter/SelectionCriterionRule.h')
-rw-r--r--parameter/SelectionCriterionRule.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/parameter/SelectionCriterionRule.h b/parameter/SelectionCriterionRule.h
index ebd7611..528e584 100644
--- a/parameter/SelectionCriterionRule.h
+++ b/parameter/SelectionCriterionRule.h
@@ -36,12 +36,21 @@ class CSelectionCriterion;
class CSelectionCriterionRule : public CRule
{
+ // Matching rules
enum MatchesWhen {
EIs,
- EContains,
+ EIsNot,
+ EIncludes,
+ EExcludes,
ENbMatchesWhen
};
+ // Matching rule description
+ struct SMatchingRuleDescription
+ {
+ const char* pcMatchesWhen;
+ bool bInclusiveTypeCompatible;
+ };
public:
CSelectionCriterionRule();
@@ -58,12 +67,12 @@ public:
// Class kind
virtual string getKind() const;
private:
+ // XML MatchesWhen attribute parsing
+ bool setMatchesWhen(const string& strMatchesWhen, string& strError);
+
// Selection criterion
const CSelectionCriterion* _pSelectionCriterion;
- // XML MatchesWhen attribute parsing
- bool setMatchesWhen(const string& strMatchesWhen);
-
// MatchesWhen
MatchesWhen _eMatchesWhen;
@@ -71,6 +80,6 @@ private:
int32_t _iMatchValue;
// Used for XML MatchesWhen attribute parsing
- static const char* _apcMatchesWhen[ENbMatchesWhen];
+ static SMatchingRuleDescription _astMatchesWhen[ENbMatchesWhen];
};