1 #ifndef TWITTERAPI_H 2 #define TWITTERAPI_H 3 4 #include <QAbstractListModel> 5 #include <QObject> 6 #include <QNetworkAccessManager> 7 8 #include "o1twitter.h" 9 10 #include "tweetmodel.h" 11 12 /// Mini Twitter API 13 class TwitterApi: public QObject { 14 Q_OBJECT 15 16 public: 17 /// List of tweets 18 Q_PROPERTY(TweetModel *tweetModel READ tweetModel NOTIFY tweetModelChanged) 19 TweetModel *tweetModel() ; 20 21 /// OAuth authenticator 22 Q_PROPERTY(O1Twitter *authenticator READ authenticator WRITE setAuthenticator) 23 O1Twitter *authenticator() const; 24 void setAuthenticator(O1Twitter *v) ; 25 26 explicit TwitterApi(QObject *parent = 0); 27 virtual ~TwitterApi(); 28 29 public slots: 30 Q_INVOKABLE virtual void requestTweets(); 31 32 signals: 33 void tweetModelChanged(); 34 35 protected: 36 O1Twitter *authenticator_; 37 TweetModel *tweetModel_; 38 QNetworkAccessManager *manager_; 39 40 protected slots: 41 void tweetsReceived(); 42 void requestFailed(QNetworkReply::NetworkError error); 43 }; 44 45 #endif // TWITTERAPI_H 46