package kit: Add API for parsing resolvable expression strings

* Add BPackageInfo::ParseResolvableExpressionString().
* Add BPackageResolvableExpression constructor and SetTo() taking an
  expression string.
This commit is contained in:
Ingo Weinhold
2013-11-21 13:29:20 +01:00
parent 23c521cf5e
commit 88706cfaa5
6 changed files with 133 additions and 58 deletions
+4
View File
@@ -196,6 +196,10 @@ public:
bool revisionIsOptional,
BPackageVersion& _version,
ParseErrorListener* listener = NULL);
static status_t ParseResolvableExpressionString(
const BString& string,
BPackageResolvableExpression& _expression,
ParseErrorListener* listener = NULL);
public:
static const char* const kElementNames[];
@@ -45,12 +45,12 @@ public:
BPackageResolvableExpression(
const BPackageResolvableExpressionData& data
);
explicit BPackageResolvableExpression(
const BString& expressionString);
BPackageResolvableExpression(
const BString& name,
BPackageResolvableOperator _op
= B_PACKAGE_RESOLVABLE_OP_ENUM_COUNT,
const BPackageVersion& version
= BPackageVersion());
BPackageResolvableOperator _operator,
const BPackageVersion& version);
status_t InitCheck() const;
@@ -60,11 +60,10 @@ public:
BString ToString() const;
status_t SetTo(const BString& expressionString);
void SetTo(const BString& name,
BPackageResolvableOperator _op
= B_PACKAGE_RESOLVABLE_OP_ENUM_COUNT,
const BPackageVersion& version
= BPackageVersion());
BPackageResolvableOperator _operator,
const BPackageVersion& version);
void Clear();
bool Matches(const BPackageVersion& version,