5 #include <QNetworkReply>
6 #include <QNetworkRequest>
7 #include <QDomDocument>
14 class Feed : public QObject {
18 bool subscription_updated;
23 QString firstitemmsec;
32 QDateTime lastUpdated;
38 void updateSubscription(Feed *feed);
40 Feed(GoogleReader *gr = NULL) : QObject() {
47 void addEntry(Entry *);
48 void delEntry(Entry *);
49 void signalUpdated(); // TODO: Clean this up...
50 QList<Entry *> getEntries();
51 int getEntriesSize() { return entries.size(); }
53 void updateUnread(int);
56 void updateFeedComplete();
57 void allReadChanged();
60 QHash<QString, Entry *> entries;
64 Q_DECLARE_METATYPE(Feed *)
66 #define ENTRY_FLAG_READ 0x00000001
67 #define ENTRY_FLAG_STARRED 0x00000002
68 #define ENTRY_FLAG_LOCKED 0x00000004
69 #define ENTRY_FLAG_SHARED 0x00000008
71 class Entry : public QObject {
86 Entry(Feed *f = NULL) : QObject() {
91 Entry(Entry &e) : QObject() {
95 published = e.published;
105 void markShared(bool);
113 Q_DECLARE_METATYPE(Entry *)
115 class GoogleReader: public QObject {
120 void updateSubscriptions();
122 QList<Feed *> getFeeds();
123 QNetworkAccessManager *getManager() {
129 QUrl markallread_url;
131 QNetworkAccessManager manager;
132 QDateTime lastUpdated;
133 QHash<QString, Feed *> feeds;
135 void setLogin(QString l) { login = l; }
136 void setPasswd(QString p) { passwd = p; }
140 updateSubscriptionsPending = false;
141 updateUnreadPending = false;
146 void downloadFinished(QNetworkReply *reply);
151 bool updateSubscriptionsPending;
152 bool updateUnreadPending;
156 void parseSubscriptions(QDomDocument dom);
157 void parseUnread(QDomDocument dom);
158 void parseFeed(QDomDocument dom);
161 QUrl subscriptions_url;
169 void updateSubscriptionsComplete();
170 void updateUnreadComplete();
171 void allReadChanged();
172 void loginFailed(QString);