File indexing completed on 2024-04-28 04:55:36
0001 /* 0002 This file is part of Choqok, the KDE micro-blogging client 0003 0004 SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com> 0005 0006 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0007 */ 0008 0009 #ifndef TWITTERAPIACCOUNT_H 0010 #define TWITTERAPIACCOUNT_H 0011 0012 #include <QUrl> 0013 0014 #include "account.h" 0015 #include "twitterapihelper_export.h" 0016 0017 #include "twitterapimicroblog.h" 0018 #include "twitterapioauth.h" 0019 0020 /** 0021 @author Mehrdad Momeny \<mehrdad.momeny@gmail.com\> 0022 */ 0023 class TWITTERAPIHELPER_EXPORT TwitterApiAccount : public Choqok::Account 0024 { 0025 Q_OBJECT 0026 public: 0027 TwitterApiAccount(TwitterApiMicroBlog *parent, const QString &alias); 0028 ~TwitterApiAccount(); 0029 virtual void writeConfig() override; 0030 0031 QString userId() const; 0032 void setUserId(const QString &id); 0033 0034 int countOfPosts() const; 0035 void setCountOfPosts(int count); 0036 0037 QString host() const; 0038 void setHost(const QString &host); 0039 0040 /** 0041 @return api path 0042 It's defer from apiUrl. 0043 For example: in http://identi.ca/api/ 0044 identi.ca is @ref host() 0045 api is @ref api() 0046 http://identi.ca/api/ is @ref apiUrl() 0047 */ 0048 QString api() const; 0049 virtual void setApi(const QString &api); 0050 0051 /** 0052 Combined from @ref host and @ref api to use for connections and queries 0053 */ 0054 QUrl apiUrl() const; 0055 virtual QUrl homepageUrl() const; 0056 0057 QStringList friendsList() const; 0058 0059 void setFriendsList(const QStringList &list); 0060 0061 QStringList followersList() const; 0062 0063 void setFollowersList(const QStringList &list); 0064 0065 virtual QStringList timelineNames() const override; 0066 0067 virtual void setTimelineNames(const QStringList &list); 0068 0069 QByteArray oauthToken() const; 0070 void setOauthToken(const QByteArray &token); 0071 0072 QByteArray oauthTokenSecret() const; 0073 void setOauthTokenSecret(const QByteArray &tokenSecret); 0074 0075 QByteArray oauthConsumerKey() const; 0076 void setOauthConsumerKey(const QByteArray &consumerKey); 0077 0078 QByteArray oauthConsumerSecret() const; 0079 void setOauthConsumerSecret(const QByteArray &consumerSecret); 0080 0081 bool usingOAuth() const; 0082 void setUsingOAuth(bool use = true); 0083 0084 TwitterApiOAuth *oauthInterface(); 0085 protected: 0086 void setApiUrl(const QUrl &apiUrl); 0087 void setHomepageUrl(const QUrl &homepageUrl); 0088 void generateApiUrl(); 0089 void initQOAuthInterface(); 0090 0091 private: 0092 class Private; 0093 Private *const d; 0094 }; 0095 0096 #endif // TWITTERACCOUNT_H