• Skip to content
  • Skip to link menu
KDE 4.5 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • Sitemap
  • Contact Us
 

Syndication Library

feed.h

00001 /*
00002  * This file is part of the syndication library
00003  *
00004  * Copyright (C) 2006 Frank Osterfeld <osterfeld@kde.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Library General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Library General Public License
00017  * along with this library; see the file COPYING.LIB.  If not, write to
00018  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00019  * Boston, MA 02110-1301, USA.
00020  *
00021  */
00022 
00023 #ifndef SYNDICATION_FEED_H
00024 #define SYNDICATION_FEED_H
00025 
00026 #include <boost/shared_ptr.hpp>
00027 
00028 #include "ksyndication_export.h"
00029 
00030 class QDomElement;
00031 
00032 template <class T> class QList;
00033 template <class K, class T> class QMultiMap;
00034 class QString;
00035 
00036 namespace Syndication {
00037 
00038 //@cond PRIVATE
00039 class SpecificDocument;
00040 typedef boost::shared_ptr<SpecificDocument> SpecificDocumentPtr;
00041 class Category;
00042 typedef boost::shared_ptr<Category> CategoryPtr;
00043 class Feed;
00044 typedef boost::shared_ptr<Feed> FeedPtr;
00045 class Image;
00046 typedef boost::shared_ptr<Image> ImagePtr;
00047 class Item;
00048 typedef boost::shared_ptr<Item> ItemPtr;
00049 class Person;
00050 typedef boost::shared_ptr<Person> PersonPtr;
00051 //@endcond
00052 
00065 class SYNDICATION_EXPORT Feed
00066 {
00067     public:
00068 
00072         virtual ~Feed();
00073 
00081         virtual SpecificDocumentPtr specificDocument() const = 0;
00082 
00090         virtual QList<ItemPtr> items() const = 0;
00091 
00097         virtual QList<CategoryPtr> categories() const = 0;
00098 
00107         virtual QString title() const = 0;
00108 
00115         virtual QString link() const = 0;
00116 
00126         virtual QString description() const = 0;
00127 
00136         virtual ImagePtr image() const = 0;
00137 
00145         virtual QList<PersonPtr> authors() const = 0;
00146 
00153         virtual QString language() const = 0;
00154 
00158         virtual QString copyright() const = 0;
00159 
00176         virtual QMultiMap<QString, QDomElement> additionalProperties() const = 0;
00177 
00183         virtual QString debugInfo() const;
00184 };
00185 
00186 } // namespace Syndication
00187 
00188 #endif // SYNDICATION_FEED_H

Syndication Library

Skip menu "Syndication Library"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.7.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal