File indexing completed on 2024-04-14 15:27:19
0001 /* 0002 kmime_newsarticle.h 0003 0004 KMime, the KDE Internet mail/usenet news message library. 0005 SPDX-FileCopyrightText: 2001 the KMime authors. 0006 See file AUTHORS for details 0007 0008 SPDX-License-Identifier: LGPL-2.0-or-later 0009 */ 0010 #pragma once 0011 0012 #include "kmime_export.h" 0013 #include "kmime_message.h" 0014 0015 #include <QSharedPointer> 0016 0017 namespace KMime 0018 { 0019 0020 /** NNTP news article. */ 0021 class KMIME_EXPORT NewsArticle : public Message 0022 { 0023 public: 0024 /** 0025 A shared pointer to a news article. 0026 */ 0027 typedef QSharedPointer<NewsArticle> Ptr; 0028 0029 ///@cond PRIVATE 0030 // needed for Akonadi polymorphic payload support 0031 typedef Message SuperClass; 0032 ///@endcond 0033 0034 /** 0035 Creates a NewsArticle object. 0036 */ 0037 NewsArticle(); 0038 0039 /** 0040 Destroys this NewsArticle. 0041 */ 0042 ~NewsArticle() override; 0043 0044 /** 0045 Returns the Control header. 0046 @param create If true, create the header if it doesn't exist yet. 0047 */ 0048 KMime::Headers::Control *control(bool create = true); 0049 0050 /** 0051 Returns the Supersedes header. 0052 @param create If true, create the header if it doesn't exist yet. 0053 */ 0054 KMime::Headers::Supersedes *supersedes(bool create = true); 0055 0056 /** 0057 Returns the Mail-Copies-To header. 0058 @param create If true, create the header if it doesn't exist yet. 0059 */ 0060 KMime::Headers::MailCopiesTo *mailCopiesTo(bool create = true); 0061 0062 /** 0063 Returns the Newsgroups header. 0064 @param create If true, create the header if it doesn't exist yet. 0065 */ 0066 KMime::Headers::Newsgroups *newsgroups(bool create = true); 0067 0068 /** 0069 Returns the Follow-Up-To header. 0070 @param create If true, create the header if it doesn't exist yet. 0071 */ 0072 KMime::Headers::FollowUpTo *followUpTo(bool create = true); 0073 0074 /** 0075 Returns the Lines header. 0076 @param create If true, create the header if it doesn't exist yet. 0077 */ 0078 KMime::Headers::Lines *lines(bool create = true); 0079 0080 protected: 0081 QByteArray assembleHeaders() override; 0082 }; // class NewsArticle 0083 0084 } // namespace KMime 0085