]> andersk Git - svn-all-fast-export.git/blob - src/ruleparser.h
Initial version
[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     };
47
48     Rules(const QString &filename);
49     ~Rules();
50
51     QList<Repository> repositories();
52     QList<Match> matchRules();
53
54     void load();
55
56 private:
57     QString filename;
58     QList<Repository> m_repositories;
59     QList<Match> m_matchRules;
60 };
61
62 #endif
This page took 0.85718 seconds and 5 git commands to generate.