KCoreAddons

kosreleaseproxy.h
1// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
2// SPDX-FileCopyrightText: 2025 Harald Sitter <sitter@kde.org>
3
4#pragma once
5
6#include <QObject>
7#include <QQmlEngine>
8
9#include "kosrelease.h"
10
11// TODO KF7: remove final on KOSRelease class declaration so we can more easily extend it without having to proxy all functions
12
13class KOSReleaseProxy : public QObject
14{
16 QML_NAMED_ELEMENT(KOSRelease)
17 QML_SINGLETON
18
19 Q_PROPERTY(QString name READ name CONSTANT)
20 Q_PROPERTY(QString version READ version CONSTANT)
21 Q_PROPERTY(QString id READ id CONSTANT)
22 Q_PROPERTY(QStringList idLike READ idLike CONSTANT)
23 Q_PROPERTY(QString versionCodename READ versionCodename CONSTANT)
24 Q_PROPERTY(QString versionId READ versionId CONSTANT)
25 Q_PROPERTY(QString prettyName READ prettyName CONSTANT)
26 Q_PROPERTY(QString ansiColor READ ansiColor CONSTANT)
27 Q_PROPERTY(QString cpeName READ cpeName CONSTANT)
28 Q_PROPERTY(QString homeUrl READ homeUrl CONSTANT)
29 Q_PROPERTY(QString documentationUrl READ documentationUrl CONSTANT)
30 Q_PROPERTY(QString supportUrl READ supportUrl CONSTANT)
31 Q_PROPERTY(QString bugReportUrl READ bugReportUrl CONSTANT)
32 Q_PROPERTY(QString privacyPolicyUrl READ privacyPolicyUrl CONSTANT)
33 Q_PROPERTY(QString buildId READ buildId CONSTANT)
34 Q_PROPERTY(QString variant READ variant CONSTANT)
35 Q_PROPERTY(QString variantId READ variantId CONSTANT)
36 Q_PROPERTY(QString logo READ logo CONSTANT)
37
38public:
39 using QObject::QObject;
40
41 [[nodiscard]] QString name() const;
42 [[nodiscard]] QString version() const;
43 [[nodiscard]] QString id() const;
44 [[nodiscard]] QStringList idLike() const;
45 [[nodiscard]] QString versionCodename() const;
46 [[nodiscard]] QString versionId() const;
47 [[nodiscard]] QString prettyName() const;
48 [[nodiscard]] QString ansiColor() const;
49 [[nodiscard]] QString cpeName() const;
50 [[nodiscard]] QString homeUrl() const;
51 [[nodiscard]] QString documentationUrl() const;
52 [[nodiscard]] QString supportUrl() const;
53 [[nodiscard]] QString bugReportUrl() const;
54 [[nodiscard]] QString privacyPolicyUrl() const;
55 [[nodiscard]] QString buildId() const;
56 [[nodiscard]] QString variant() const;
57 [[nodiscard]] QString variantId() const;
58 [[nodiscard]] QString logo() const;
59
60 Q_INVOKABLE [[nodiscard]] QStringList extraKeys() const;
61 Q_INVOKABLE [[nodiscard]] QString extraValue(const QString &key) const;
62
63private:
64 KOSRelease os;
65};
QObject(QObject *parent)
Q_INVOKABLEQ_INVOKABLE
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
This file is part of the KDE documentation.
Documentation copyright © 1996-2025 The KDE developers.
Generated on Fri Feb 28 2025 12:00:49 by doxygen 1.13.2 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.