1 | /* |
2 | This file is part of KDE. |
3 | |
4 | SPDX-FileCopyrightText: 2011 Laszlo Papp <djszapi@archlinux.us> |
5 | |
6 | SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL |
7 | */ |
8 | |
9 | #ifndef ATTICA_FORUM_H |
10 | #define ATTICA_FORUM_H |
11 | |
12 | #include "attica_export.h" |
13 | |
14 | #include "topic.h" |
15 | |
16 | #include <QDateTime> |
17 | #include <QSharedDataPointer> |
18 | #include <QUrl> |
19 | |
20 | namespace Attica |
21 | { |
22 | |
23 | /** |
24 | * @class Forum forum.h <Attica/Forum> |
25 | * |
26 | * Represents a forum. |
27 | */ |
28 | class ATTICA_EXPORT Forum |
29 | { |
30 | public: |
31 | typedef QList<Forum> List; |
32 | class Parser; |
33 | |
34 | Forum(); |
35 | Forum(const Forum &other); |
36 | Forum &operator=(const Forum &other); |
37 | ~Forum(); |
38 | |
39 | void setId(const QString &id); |
40 | QString id() const; |
41 | |
42 | void setName(const QString &name); |
43 | QString name() const; |
44 | |
45 | void setDescription(const QString &description); |
46 | QString description() const; |
47 | |
48 | void setDate(const QDateTime &date); |
49 | QDateTime date() const; |
50 | |
51 | void setIcon(const QUrl &icon); |
52 | QUrl icon() const; |
53 | |
54 | void setChildCount(const int childCount); |
55 | int childCount() const; |
56 | |
57 | void setTopics(const int topics); |
58 | int topics() const; |
59 | |
60 | void setChildren(QList<Forum> ); |
61 | QList<Forum> children() const; |
62 | |
63 | bool isValid() const; |
64 | |
65 | private: |
66 | class Private; |
67 | QSharedDataPointer<Private> d; |
68 | }; |
69 | |
70 | } |
71 | |
72 | #endif |
73 | |