1 | /* |
2 | This file is part of KDE. |
3 | |
4 | SPDX-FileCopyrightText: 2010 Sebastian Kügler <sebas@kde.org> |
5 | |
6 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | |
9 | #ifndef ATTICA_PROJECT_H |
10 | #define ATTICA_PROJECT_H |
11 | |
12 | #include <QDate> |
13 | #include <QList> |
14 | #include <QMap> |
15 | #include <QSharedDataPointer> |
16 | #include <QStringList> |
17 | #include <QUrl> |
18 | |
19 | #include "attica_export.h" |
20 | |
21 | namespace Attica |
22 | { |
23 | |
24 | /*! |
25 | * \class Attica::Project |
26 | * \inheaderfile Attica/Project |
27 | * \inmodule Attica |
28 | * |
29 | * \brief Represents a project. |
30 | */ |
31 | class ATTICA_EXPORT Project |
32 | { |
33 | public: |
34 | /*! |
35 | * |
36 | */ |
37 | typedef QList<Project> List; |
38 | class Parser; |
39 | |
40 | /*! |
41 | * |
42 | */ |
43 | Project(); |
44 | Project(const Project &other); |
45 | Project &operator=(const Project &other); |
46 | ~Project(); |
47 | |
48 | /*! |
49 | * |
50 | */ |
51 | void setId(const QString &); |
52 | |
53 | /*! |
54 | * |
55 | */ |
56 | QString id() const; |
57 | |
58 | /*! |
59 | * |
60 | */ |
61 | void setName(const QString &); |
62 | |
63 | /*! |
64 | * |
65 | */ |
66 | QString name() const; |
67 | |
68 | /*! |
69 | * |
70 | */ |
71 | void setVersion(const QString &); |
72 | |
73 | /*! |
74 | * |
75 | */ |
76 | QString version() const; |
77 | |
78 | /*! |
79 | * |
80 | */ |
81 | void setUrl(const QString &); |
82 | |
83 | /*! |
84 | * |
85 | */ |
86 | QString url() const; |
87 | |
88 | /*! |
89 | * |
90 | */ |
91 | void setLicense(const QString &); |
92 | |
93 | /*! |
94 | * |
95 | */ |
96 | QString license() const; |
97 | |
98 | /*! |
99 | * |
100 | */ |
101 | void setSummary(const QString &); |
102 | |
103 | /*! |
104 | * |
105 | */ |
106 | QString summary() const; |
107 | |
108 | /*! |
109 | * |
110 | */ |
111 | void setDescription(const QString &); |
112 | |
113 | /*! |
114 | * |
115 | */ |
116 | QString description() const; |
117 | |
118 | /*! |
119 | * |
120 | */ |
121 | void setDevelopers(const QStringList &); |
122 | |
123 | /*! |
124 | * |
125 | */ |
126 | QStringList developers() const; |
127 | |
128 | /*! |
129 | * |
130 | */ |
131 | void setRequirements(const QString &); |
132 | |
133 | /*! |
134 | * |
135 | */ |
136 | QString requirements() const; |
137 | |
138 | /*! |
139 | * |
140 | */ |
141 | void setSpecFile(const QString &); |
142 | |
143 | /*! |
144 | * |
145 | */ |
146 | QString specFile() const; |
147 | |
148 | /*! |
149 | * |
150 | */ |
151 | void addExtendedAttribute(const QString &key, const QString &value); |
152 | |
153 | /*! |
154 | * |
155 | */ |
156 | QString extendedAttribute(const QString &key) const; |
157 | |
158 | /*! |
159 | * |
160 | */ |
161 | QMap<QString, QString> extendedAttributes() const; |
162 | |
163 | /*! |
164 | * |
165 | */ |
166 | bool isValid() const; |
167 | |
168 | private: |
169 | class Private; |
170 | QSharedDataPointer<Private> d; |
171 | }; |
172 | |
173 | } |
174 | |
175 | #endif |
176 | |