File indexing completed on 2024-12-01 03:37:36
0001 /* 0002 This file is part of KDE. 0003 0004 SPDX-FileCopyrightText: 2010 Sebastian Kügler <sebas@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef ATTICA_PROJECT_H 0010 #define ATTICA_PROJECT_H 0011 0012 #include <QDate> 0013 #include <QList> 0014 #include <QMap> 0015 #include <QSharedDataPointer> 0016 #include <QStringList> 0017 #include <QUrl> 0018 0019 #include "attica_export.h" 0020 0021 namespace Attica 0022 { 0023 0024 /** 0025 * @class Project project.h <Attica/Project> 0026 * 0027 * Represents a project. 0028 */ 0029 class ATTICA_EXPORT Project 0030 { 0031 public: 0032 typedef QList<Project> List; 0033 class Parser; 0034 0035 Project(); 0036 Project(const Project &other); 0037 Project &operator=(const Project &other); 0038 ~Project(); 0039 0040 void setId(const QString &); 0041 QString id() const; 0042 0043 void setName(const QString &); 0044 QString name() const; 0045 0046 void setVersion(const QString &); 0047 QString version() const; 0048 0049 void setUrl(const QString &); 0050 QString url() const; 0051 0052 void setLicense(const QString &); 0053 QString license() const; 0054 0055 void setSummary(const QString &); 0056 QString summary() const; 0057 0058 void setDescription(const QString &); 0059 QString description() const; 0060 0061 void setDevelopers(const QStringList &); 0062 QStringList developers() const; 0063 0064 void setRequirements(const QString &); 0065 QString requirements() const; 0066 0067 void setSpecFile(const QString &); 0068 QString specFile() const; 0069 0070 void addExtendedAttribute(const QString &key, const QString &value); 0071 QString extendedAttribute(const QString &key) const; 0072 0073 QMap<QString, QString> extendedAttributes() const; 0074 0075 bool isValid() const; 0076 0077 private: 0078 class Private; 0079 QSharedDataPointer<Private> d; 0080 }; 0081 0082 } 0083 0084 #endif