File indexing completed on 2025-04-20 06:48:18
0001 /* 0002 This file is part of the syndication library 0003 SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef SYNDICATION_MAPPER_FEEDRSS2IMPL_H 0009 #define SYNDICATION_MAPPER_FEEDRSS2IMPL_H 0010 0011 #include <feed.h> 0012 #include <rss2/document.h> 0013 0014 namespace Syndication 0015 { 0016 class FeedRSS2Impl; 0017 typedef QSharedPointer<FeedRSS2Impl> FeedRSS2ImplPtr; 0018 class Image; 0019 typedef QSharedPointer<Image> ImagePtr; 0020 0021 /** 0022 * @internal 0023 */ 0024 class FeedRSS2Impl : public Syndication::Feed 0025 { 0026 public: 0027 explicit FeedRSS2Impl(Syndication::RSS2::DocumentPtr doc); 0028 0029 Syndication::SpecificDocumentPtr specificDocument() const override; 0030 0031 QList<ItemPtr> items() const override; 0032 0033 QList<CategoryPtr> categories() const override; 0034 0035 QString title() const override; 0036 0037 QString link() const override; 0038 0039 QString description() const override; 0040 0041 QList<PersonPtr> authors() const override; 0042 0043 QString language() const override; 0044 0045 QString copyright() const override; 0046 0047 ImagePtr image() const override; 0048 0049 ImagePtr icon() const override; 0050 0051 QMultiMap<QString, QDomElement> additionalProperties() const override; 0052 0053 private: 0054 Syndication::RSS2::DocumentPtr m_doc; 0055 }; 0056 0057 } // namespace Syndication 0058 0059 #endif // SYNDICATION_MAPPER_FEEDRSS2IMPL_H