File indexing completed on 2024-04-28 11:49:06

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_FEEDATOMIMPL_H
0009 #define SYNDICATION_MAPPER_FEEDATOMIMPL_H
0010 
0011 #include <atom/document.h>
0012 #include <feed.h>
0013 
0014 namespace Syndication
0015 {
0016 class FeedAtomImpl;
0017 typedef QSharedPointer<FeedAtomImpl> FeedAtomImplPtr;
0018 class Image;
0019 typedef QSharedPointer<Image> ImagePtr;
0020 
0021 /**
0022  * @internal
0023  */
0024 class FeedAtomImpl : public Syndication::Feed
0025 {
0026 public:
0027     explicit FeedAtomImpl(Syndication::Atom::FeedDocumentPtr doc);
0028 
0029     Syndication::SpecificDocumentPtr specificDocument() const override;
0030 
0031     QList<Syndication::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::Atom::FeedDocumentPtr m_doc;
0055 };
0056 
0057 } // namespace Syndication
0058 
0059 #endif // SYNDICATION_MAPPER_FEEDATOMIMPL_H