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
70 class Entry : public QObject {
85 Entry(Feed *f = NULL) : QObject() {
90 Entry(Entry &e) : QObject() {
94 published = e.published;
110 Q_DECLARE_METATYPE(Entry *)
112 class GoogleReader: public QObject {
117 void updateSubscriptions();
119 QList<Feed *> getFeeds();
120 QNetworkAccessManager *getManager() {
126 QUrl markallread_url;
128 QNetworkAccessManager manager;
129 QDateTime lastUpdated;
130 QHash<QString, Feed *> feeds;
132 void setLogin(QString l) { login = l; }
133 void setPasswd(QString p) { passwd = p; }
137 updateSubscriptionsPending = false;
138 updateUnreadPending = false;
143 void downloadFinished(QNetworkReply *reply);
148 bool updateSubscriptionsPending;
149 bool updateUnreadPending;
153 void parseSubscriptions(QDomDocument dom);
154 void parseUnread(QDomDocument dom);
155 void parseFeed(QDomDocument dom);
158 QUrl subscriptions_url;
166 void updateSubscriptionsComplete();
167 void updateUnreadComplete();
168 void allReadChanged();
169 void loginFailed(QString);