5 #include <QNetworkReply>
6 #include <QNetworkRequest>
13 class Feed : public QObject {
17 bool subscription_updated;
22 QString firstitemmsec;
31 QDateTime lastUpdated;
37 void updateSubscription(Feed *feed);
39 Feed(GoogleReader *gr = NULL) : QObject() {
46 void addEntry(Entry *);
47 void delEntry(Entry *);
48 void signalUpdated(); // TODO: Clean this up...
49 QList<Entry *> getEntries();
50 int getEntriesSize() { return entries.size(); }
52 void updateUnread(int);
55 void updateFeedComplete();
56 void allReadChanged();
59 QHash<QString, Entry *> entries;
63 Q_DECLARE_METATYPE(Feed *)
65 #define ENTRY_FLAG_READ 0x00000001
66 #define ENTRY_FLAG_STARRED 0x00000002
67 #define ENTRY_FLAG_LOCKED 0x00000004
68 #define ENTRY_FLAG_SHARED 0x00000008
70 class Entry : public QObject {
85 Entry(Feed *f = NULL) : QObject() {
90 Entry(Entry &e) : QObject() {
94 published = e.published;
104 void markShared(bool);
112 Q_DECLARE_METATYPE(Entry *)
114 class GoogleReader: public QObject {
119 void updateSubscriptions();
121 QList<Feed *> getFeeds();
122 QNetworkAccessManager *getManager() {
128 QUrl markallread_url;
130 QNetworkAccessManager manager;
131 QDateTime lastUpdated;
132 QHash<QString, Feed *> feeds;
134 void setLogin(QString l) { login = l; }
135 void setPasswd(QString p) { passwd = p; }
139 updateSubscriptionsPending = false;
140 updateUnreadPending = false;
145 void downloadFinished(QNetworkReply *reply);
150 bool updateSubscriptionsPending;
151 bool updateUnreadPending;
155 void parseSubscriptions(QByteArray data);
156 void parseUnread(QByteArray data);
157 void parseFeed(QByteArray data);
160 QUrl subscriptions_url;
168 void updateSubscriptionsComplete();
169 void updateUnreadComplete();
170 void allReadChanged();
171 void loginFailed(QString);