From a85ac9698a77da1cd446e7d91010ebe62cbc5f76 Mon Sep 17 00:00:00 2001 From: Torgny Nyblom Date: Tue, 28 Sep 2010 20:40:05 +0200 Subject: Unify debug messages and Match structs --- src/ruleparser.h | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'src/ruleparser.h') diff --git a/src/ruleparser.h b/src/ruleparser.h index afd1db2..e5cbaea 100644 --- a/src/ruleparser.h +++ b/src/ruleparser.h @@ -22,11 +22,18 @@ #include #include #include +#include class Rules { public: - struct Repository + struct Rule + { + QString filename; + int lineNumber; + Rule() : lineNumber(0) {} + }; + struct Repository : Rule { struct Branch { @@ -35,15 +42,19 @@ public: QString name; QList branches; - int lineNumber; QString forwardTo; QString prefix; - Repository() : lineNumber(0) { } + Repository() { } + const QString info() const { + const QString info = Rule::filename % ":" % QByteArray::number(Rule::lineNumber); + return info; + } + }; - struct Match + struct Match : Rule { QRegExp rx; QString repository; @@ -51,7 +62,6 @@ public: QString prefix; int minRevision; int maxRevision; - int lineNumber; bool annotate; enum Action { @@ -60,7 +70,11 @@ public: Recurse } action; - Match() : minRevision(-1), maxRevision(-1), lineNumber(0), annotate(false), action(Ignore) { } + Match() : minRevision(-1), maxRevision(-1), annotate(false), action(Ignore) { } + const QString info() const { + const QString info = rx.pattern() % " (" % Rule::filename % ":" % QByteArray::number(Rule::lineNumber) % ")"; + return info; + } }; Rules(const QString &filename); -- cgit v1.2.1 From a741bdb1913c28a320ff0e01518e4d39ed430289 Mon Sep 17 00:00:00 2001 From: Torgny Nyblom Date: Wed, 29 Sep 2010 19:53:24 +0200 Subject: Allow more then one rule file to be used in a single run. --- src/ruleparser.h | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/ruleparser.h') diff --git a/src/ruleparser.h b/src/ruleparser.h index e5cbaea..5d05d1c 100644 --- a/src/ruleparser.h +++ b/src/ruleparser.h @@ -80,8 +80,8 @@ public: Rules(const QString &filename); ~Rules(); - QList repositories(); - QList matchRules(); + const QList repositories() const; + const QList matchRules() const; void load(); QStringList readRules(const QString &filename) const; @@ -92,6 +92,24 @@ private: QList m_matchRules; }; +class RulesList +{ +public: + RulesList( const QString &filenames); + ~RulesList(); + + const QList allRepositories() const; + const QList > allMatchRules() const; + const QList rules() const; + void load(); + +private: + QString m_filenames; + QList m_rules; + QList m_allrepositories; + QList > m_allMatchRules; +}; + #ifndef QT_NO_DEBUG_STREAM class QDebug; QDebug operator<<(QDebug, const Rules::Match &); -- cgit v1.2.1