]> andersk Git - svn-all-fast-export.git/blob - src/ruleparser.h
1d561e073c7bf42b3a4f609404885b9995466de9
[svn-all-fast-export.git] / src / ruleparser.h
1 /*
2  *  Copyright (C) 2007  Thiago Macieira <thiago@kde.org>
3  *
4  *  This program is free software: you can redistribute it and/or modify
5  *  it under the terms of the GNU General Public License as published by
6  *  the Free Software Foundation, either version 2 of the License, or
7  *  (at your option) any later version.
8  *
9  *  This program is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU General Public License for more details.
13  *
14  *  You should have received a copy of the GNU General Public License
15  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17
18 #ifndef RULEPARSER_H
19 #define RULEPARSER_H
20
21 #include <QList>
22 #include <QRegExp>
23 #include <QString>
24
25 class Rules
26 {
27 public:
28     struct Repository
29     {
30         struct Branch
31         {
32             QString name;
33             QString branchFrom;
34         };
35
36         QString name;
37         QList<Branch> branches;
38     };
39
40     struct Match
41     {
42         QRegExp rx;
43         QString repository;
44         QString branch;
45         QString path;
46         int minRevision;
47         int maxRevision;
48
49         Match() : minRevision(-1), maxRevision(-1) { }
50     };
51
52     Rules(const QString &filename);
53     ~Rules();
54
55     QList<Repository> repositories();
56     QList<Match> matchRules();
57
58     void load();
59
60 private:
61     QString filename;
62     QList<Repository> m_repositories;
63     QList<Match> m_matchRules;
64 };
65
66 #endif
This page took 0.054052 seconds and 3 git commands to generate.