Syndication Library
item.h
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_ITEM_H
00024 #define SYNDICATION_ITEM_H
00025
00026 #include <boost/shared_ptr.hpp>
00027
00028 #include "ksyndication_export.h"
00029
00030 #include <ctime>
00031
00032 class QDomElement;
00033 template <class T> class QList;
00034 template <class K, class T> class QMultiMap;
00035
00036 namespace Syndication {
00037
00038
00039 class Category;
00040 typedef boost::shared_ptr<Category> CategoryPtr;
00041 class Enclosure;
00042 typedef boost::shared_ptr<Enclosure> EnclosurePtr;
00043 class Item;
00044 typedef boost::shared_ptr<Item> ItemPtr;
00045 class Person;
00046 typedef boost::shared_ptr<Person> PersonPtr;
00047 class SpecificItem;
00048 typedef boost::shared_ptr<SpecificItem> SpecificItemPtr;
00049
00050
00056 class SYNDICATION_EXPORT Item
00057 {
00058 public:
00059
00063 virtual ~Item();
00064
00065
00072 virtual SpecificItemPtr specificItem() const = 0;
00073
00083 virtual QString title() const = 0;
00084
00092 virtual QString link() const = 0;
00093
00104 virtual QString description() const = 0;
00105
00117 virtual QString content() const = 0;
00118
00125 virtual time_t datePublished() const = 0;
00126
00134 virtual time_t dateUpdated() const = 0;
00135
00143 virtual QString id() const = 0;
00144
00152 virtual QList<PersonPtr> authors() const = 0;
00153
00159 virtual QString language() const = 0;
00160
00167 virtual QList<EnclosurePtr> enclosures() const = 0;
00168
00175 virtual QList<CategoryPtr> categories() const = 0;
00176
00183 virtual int commentsCount() const = 0;
00184
00191 virtual QString commentsLink() const = 0;
00192
00198 virtual QString commentsFeed() const = 0;
00199
00208 virtual QString commentPostUri() const = 0;
00209
00226 virtual QMultiMap<QString, QDomElement> additionalProperties() const = 0;
00227
00233 virtual QString debugInfo() const;
00234 };
00235
00236 }
00237
00238 #endif // SYNDICATION_ITEM_H