File indexing completed on 2024-05-05 05:36:40

0001 /*
0002     SPDX-FileCopyrightText: 2019 Jonah BrĂ¼chert <jbb@kaidan.im>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #include <KOSRelease>
0008 #include <QObject>
0009 
0010 // clang-format off
0011 
0012 #define PROPERTY(type, name)                                                                                                                                                                                                                   \
0013     type name() const { return m_osrelease.name(); }\
0014 
0015 // clang-format off
0016 
0017 #ifndef DISTROINFO_H
0018 #define DISTROINFO_H
0019 
0020 class DistroInfo : public QObject
0021 {
0022     Q_OBJECT
0023 
0024     Q_PROPERTY(QString name READ name CONSTANT)
0025     Q_PROPERTY(QString version READ version CONSTANT)
0026     Q_PROPERTY(QString id READ id CONSTANT)
0027     Q_PROPERTY(QStringList idLike READ idLike CONSTANT)
0028     Q_PROPERTY(QString versionCodename READ versionCodename CONSTANT)
0029     Q_PROPERTY(QString versionId READ versionId CONSTANT)
0030     Q_PROPERTY(QString prettyName READ prettyName CONSTANT)
0031     Q_PROPERTY(QString ansiColor READ ansiColor CONSTANT)
0032     Q_PROPERTY(QString cpeName READ cpeName CONSTANT)
0033     Q_PROPERTY(QString homeUrl READ homeUrl CONSTANT)
0034     Q_PROPERTY(QString documentationUrl READ documentationUrl CONSTANT)
0035     Q_PROPERTY(QString supportUrl READ supportUrl CONSTANT)
0036     Q_PROPERTY(QString bugReportUrl READ bugReportUrl CONSTANT)
0037     Q_PROPERTY(QString privacyPolicyUrl READ privacyPolicyUrl CONSTANT)
0038     Q_PROPERTY(QString buildId READ buildId CONSTANT)
0039     Q_PROPERTY(QString variant READ variant CONSTANT)
0040     Q_PROPERTY(QString variantId READ variantId CONSTANT)
0041     Q_PROPERTY(QString logo READ logo CONSTANT)
0042 
0043 public:
0044     DistroInfo(QObject *parent = nullptr);
0045 
0046     PROPERTY(QString, name)
0047     PROPERTY(QString, version)
0048     PROPERTY(QString, id)
0049     PROPERTY(QStringList, idLike)
0050     PROPERTY(QString, versionCodename)
0051     PROPERTY(QString, versionId)
0052     PROPERTY(QString, prettyName)
0053     PROPERTY(QString, ansiColor)
0054     PROPERTY(QString, cpeName)
0055     PROPERTY(QString, homeUrl)
0056     PROPERTY(QString, documentationUrl)
0057     PROPERTY(QString, supportUrl)
0058     PROPERTY(QString, bugReportUrl)
0059     PROPERTY(QString, privacyPolicyUrl)
0060     PROPERTY(QString, buildId)
0061     PROPERTY(QString, variant)
0062     PROPERTY(QString, variantId)
0063     PROPERTY(QString, logo)
0064 
0065 private:
0066     KOSRelease m_osrelease;
0067 };
0068 
0069 #endif // DISTROINFO_H