00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
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
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
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 }
00187
00188 #endif // SYNDICATION_FEED_H