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_TOPIC_H
10 #define ATTICA_TOPIC_H
11 
12 #include "attica_export.h"
13 
14 #include <QDateTime>
15 #include <QSharedDataPointer>
16 
17 namespace Attica
18 {
19 class ATTICA_EXPORT Topic
20 {
21 public:
22     typedef QList<Topic> List;
23     class Parser;
24 
25     Topic();
26     Topic(const Topic &other);
27     Topic &operator=(const Topic &other);
28     ~Topic();
29 
30     void setId(const QString &id);
31     QString id() const;
32 
33     void setForumId(const QString &forumId);
34     QString forumId() const;
35 
36     void setUser(const QString &user);
37     QString user() const;
38 
39     void setDate(const QDateTime &date);
40     QDateTime date() const;
41 
42     void setSubject(const QString &subject);
43     QString subject() const;
44 
45     void setContent(const QString &content);
46     QString content() const;
47 
48     void setComments(const int comments);
49     int comments() const;
50 
51     bool isValid() const;
52 
53 private:
54     class Private;
55     QSharedDataPointer<Private> d;
56 };
57 
58 }
59 
60 #endif
61