Attica

project.h
1 /*
2  This file is part of KDE.
3 
4  SPDX-FileCopyrightText: 2010 Sebastian K├╝gler <[email protected]>
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 Project project.h <Attica/Project>
26  *
27  * Represents a project.
28  */
29 class ATTICA_EXPORT Project
30 {
31 public:
32  typedef QList<Project> List;
33  class Parser;
34 
35  Project();
36  Project(const Project &other);
37  Project &operator=(const Project &other);
38  ~Project();
39 
40  void setId(const QString &);
41  QString id() const;
42 
43  void setName(const QString &);
44  QString name() const;
45 
46  void setVersion(const QString &);
47  QString version() const;
48 
49  void setUrl(const QString &);
50  QString url() const;
51 
52  void setLicense(const QString &);
53  QString license() const;
54 
55  void setSummary(const QString &);
56  QString summary() const;
57 
58  void setDescription(const QString &);
59  QString description() const;
60 
61  void setDevelopers(const QStringList &);
62  QStringList developers() const;
63 
64  void setRequirements(const QString &);
65  QString requirements() const;
66 
67  void setSpecFile(const QString &);
68  QString specFile() const;
69 
70  void addExtendedAttribute(const QString &key, const QString &value);
71  QString extendedAttribute(const QString &key) const;
72 
73  QMap<QString, QString> extendedAttributes() const;
74 
75  bool isValid() const;
76 
77 private:
78  class Private;
80 };
81 
82 }
83 
84 #endif
The Attica namespace,.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Dec 11 2023 04:05:13 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.