1 | /* |
2 | This file is part of KDE. |
3 | |
4 | SPDX-FileCopyrightText: 2008 Cornelius Schumacher <schumacher@kde.org> |
5 | |
6 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | #ifndef ATTICA_CATEGORY_H |
9 | #define ATTICA_CATEGORY_H |
10 | |
11 | #include <QList> |
12 | #include <QSharedDataPointer> |
13 | |
14 | #include "attica_export.h" |
15 | |
16 | namespace Attica |
17 | { |
18 | /** |
19 | * @class Category category.h <Attica/Category> |
20 | * |
21 | * Represents a single content category |
22 | */ |
23 | class ATTICA_EXPORT Category |
24 | { |
25 | public: |
26 | typedef QList<Category> List; |
27 | class Parser; |
28 | |
29 | /** |
30 | * Creates an empty Category |
31 | */ |
32 | Category(); |
33 | |
34 | /** |
35 | * Copy constructor. |
36 | * @param other the Category to copy from |
37 | */ |
38 | Category(const Category &other); |
39 | |
40 | /** |
41 | * Assignment operator. |
42 | * @param other the Category to assign from |
43 | * @return pointer to this Category |
44 | */ |
45 | Category &operator=(const Category &other); |
46 | |
47 | /** |
48 | * Destructor. |
49 | */ |
50 | ~Category(); |
51 | |
52 | /** |
53 | * Sets the id of the Category. |
54 | * The id uniquely identifies a Category with the OCS API. |
55 | * @param id the new id |
56 | */ |
57 | void setId(const QString &); |
58 | |
59 | /** |
60 | * Gets the id of the Category. |
61 | * The id uniquely identifies a Category with the OCS API. |
62 | * @return the id |
63 | */ |
64 | QString id() const; |
65 | |
66 | /** |
67 | * Sets the name of the Category. |
68 | * @param name the new name |
69 | */ |
70 | void setName(const QString &name); |
71 | |
72 | /** |
73 | * Gets the name of the Category. |
74 | * @return the name |
75 | */ |
76 | QString name() const; |
77 | |
78 | /** |
79 | * Checks whether this Category has an id |
80 | * @return @c true if an id has been set, @c false otherwise |
81 | */ |
82 | bool isValid() const; |
83 | |
84 | /** |
85 | * Sets the display name of the Category. |
86 | * This name is guaranteed to be user friendly, while name may be |
87 | * internal for the server |
88 | * @param name the new name |
89 | * @since 5.31 |
90 | */ |
91 | void setDisplayName(const QString &name); |
92 | |
93 | /** |
94 | * Gets the display name of the Category. |
95 | * This name is guaranteed to be user friendly, while name may be |
96 | * internal for the server |
97 | * @return the name |
98 | * @since 5.31 |
99 | */ |
100 | QString displayName() const; |
101 | |
102 | private: |
103 | class Private; |
104 | QSharedDataPointer<Private> d; |
105 | }; |
106 | |
107 | } |
108 | |
109 | #endif |
110 | |