/* This file is part of KDE. SPDX-FileCopyrightText: 2010 Intel Corporation SPDX-FileContributor: Mateu Batle Sastre SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ #ifndef ATTICA_COMMENT_H #define ATTICA_COMMENT_H #include "attica_export.h" #include #include #include namespace Attica { /*! * \class Attica::Comment * \inheaderfile Attica/Comment * \inmodule Attica * * \brief Represents a comment. */ class ATTICA_EXPORT Comment { public: /*! * */ typedef QList List; class Parser; /*! * \value ContentComment * \value ForumComment * \value KnowledgeBaseComment * \value EventComment */ enum Type { ContentComment, ForumComment, KnowledgeBaseComment, EventComment, }; /*! * */ static QString commentTypeToString(const Comment::Type type); /*! * */ Comment(); Comment(const Comment &other); Comment &operator=(const Comment &other); ~Comment(); /*! * */ void setId(const QString &id); /*! * */ QString id() const; /*! * */ void setSubject(const QString &subject); /*! * */ QString subject() const; /*! * */ void setText(const QString &text); /*! * */ QString text() const; /*! * */ void setChildCount(const int childCount); /*! * */ int childCount() const; /*! * */ void setUser(const QString &user); /*! * */ QString user() const; /*! * */ void setDate(const QDateTime &date); /*! * */ QDateTime date() const; /*! This is for internal usage, see Provider::setCommentScore to set scores in comments. \a score average comment score in scale from 0 to 100 */ void setScore(const int score); /*! Returns score of this comment. \a score average comment score in scale from 0 to 100 */ int score() const; /*! * */ void setChildren(QList comments); /*! * */ QList children() const; /*! * */ bool isValid() const; private: class Private; QSharedDataPointer d; }; } #endif