1 | // SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
2 | // SPDX-FileCopyrightText: 2024 Harald Sitter <sitter@kde.org> |
3 | |
4 | #pragma once |
5 | |
6 | #include <QString> |
7 | |
8 | #include "knewstuffcore_export.h" |
9 | |
10 | namespace KNSCore |
11 | { |
12 | |
13 | class CategoryMetadataPrivate; |
14 | |
15 | /*! |
16 | * \class KNSCore::CategoryMetadata |
17 | * \inheaderfile KNSCore/CategoryMetadata |
18 | * \inmodule KNewStuffCore |
19 | * \brief Describes a category. |
20 | * \since 6.9 |
21 | */ |
22 | class KNEWSTUFFCORE_EXPORT CategoryMetadata |
23 | { |
24 | public: |
25 | [[nodiscard]] QString id() const; |
26 | [[nodiscard]] QString name() const; |
27 | [[nodiscard]] QString displayName() const; |
28 | |
29 | private: |
30 | friend class AtticaProvider; |
31 | friend class ProviderBubbleWrap; |
32 | CategoryMetadata(CategoryMetadataPrivate *dptr); |
33 | std::shared_ptr<CategoryMetadataPrivate> d; |
34 | }; |
35 | |
36 | } // namespace KNSCore |
37 | |