/* This file is part of the syndication library SPDX-FileCopyrightText: 2006 Frank Osterfeld SPDX-License-Identifier: LGPL-2.0-or-later */ #ifndef SYNDICATION_ATOM_SOURCE_H #define SYNDICATION_ATOM_SOURCE_H #include #include class QDomElement; class QString; template class QList; namespace Syndication { namespace Atom { class Category; class Generator; class Link; class Person; /*! * \class Syndication::Atom::Source * \inmodule Syndication * \inheaderfile Syndication/Atom/Source * * \brief If an entry was copied from another feed, this class contains * a description of the source feed. */ class SYNDICATION_EXPORT Source : public ElementWrapper { public: /*! * creates a null source object */ Source(); /*! * creates a Source object wrapping a atom:source element. * * \a element a DOM element, should be a atom:source element * (although not enforced), otherwise this object will not parse * anything useful */ explicit Source(const QDomElement &element); /*! * authors of the original content (optional) */ Q_REQUIRED_RESULT QList authors() const; /*! * contributors to the original content (optional) */ Q_REQUIRED_RESULT QList contributors() const; /*! * categories the source feed is assigned to (optional) */ Q_REQUIRED_RESULT QList categories() const; /*! * description of the software which generated the source feed * (optional) */ Q_REQUIRED_RESULT Generator generator() const; /*! * URL of an image serving as a feed icon (optional) * * Returns icon URL, or a null string if not specified */ Q_REQUIRED_RESULT QString icon() const; /*! * a string that unambiguously identifies the source feed (optional) * * Returns the ID of the source feed, or a null string if not * specified. */ Q_REQUIRED_RESULT QString id() const; /*! * a list of links. See Link for more information on * link types. */ Q_REQUIRED_RESULT QList links() const; /*! * URL of an image, the logo of the source feed (optional) * * Returns image URL, or a null string if not specified in the feed. */ Q_REQUIRED_RESULT QString logo() const; /*! * copyright information (optional) * * Returns copyright information for the source, * or a null string if not specified */ Q_REQUIRED_RESULT QString rights() const; /*! * description or subtitle of the source feed (optional). * * Returns subtitle string as HTML, or a null string * if not specified. */ Q_REQUIRED_RESULT QString subtitle() const; /*! * source feed title (optional). * * Returns title string as HTML, or a null string if not specified */ Q_REQUIRED_RESULT QString title() const; /*! * The datetime of the last modification of the source feed * content. (optional) * * Returns the modification date in seconds since epoch */ Q_REQUIRED_RESULT time_t updated() const; /*! * description of this source object for debugging purposes * * Returns debug string */ Q_REQUIRED_RESULT QString debugInfo() const; }; } // namespace Atom } // namespace Syndication #endif // SYNDICATION_ATOM_SOURCE_H