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
21namespace Attica
22{
23
24/*!
25 * \class Attica::Project
26 * \inheaderfile Attica/Project
27 * \inmodule Attica
28 *
29 * \brief Represents a project.
30 */
31class ATTICA_EXPORT Project
32{
33public:
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
168private:
169 class Private;
170 QSharedDataPointer<Private> d;
171};
172
173}
174
175#endif
176

source code of attica/src/project.h