QEverCloud  6.1.0
Unofficial Evernote Cloud API for Qt
OAuth.h
Go to the documentation of this file.
1 
9 #ifndef QEVERCLOUD_OAUTH_H
10 #define QEVERCLOUD_OAUTH_H
11 
12 #include "Export.h"
13 #include "Helpers.h"
14 #include "Printable.h"
15 
16 #include "generated/Types.h"
17 
18 #include <QDialog>
19 #include <QList>
20 #include <QNetworkCookie>
21 #include <QString>
22 
23 namespace qevercloud {
24 
39 void setNonceGenerator(quint64 (*nonceGenerator)());
40 
42 class EvernoteOAuthWebViewPrivate;
58 {
59  Q_OBJECT
60 public:
61  EvernoteOAuthWebView(QWidget * parent = Q_NULLPTR);
62 
84  QString host, QString consumerKey, QString consumerSecret,
85  const qint64 timeoutMsec = 30000);
86 
91  bool isSucceeded() const;
92 
94  QString oauthError() const;
95 
98  {
99  QString noteStoreUrl;
100  Timestamp expires;
102  QString shardId;
104  QString webApiUrlPrefix;
106 
118  QList<QNetworkCookie> cookies;
119 
120  virtual void print(QTextStream & strm) const override;
121  };
122 
125 
127  void setSizeHint(QSize sizeHint);
128 
129  virtual QSize sizeHint() const override;
130 
131 Q_SIGNALS:
133  void authenticationFinished(bool success);
134 
140 
146 
147 private:
148  EvernoteOAuthWebViewPrivate * const d_ptr;
149  Q_DECLARE_PRIVATE(EvernoteOAuthWebView)
150 };
151 
153 class EvernoteOAuthDialogPrivate;
187 {
188  Q_OBJECT
189 public:
191 
206  QString consumerKey, QString consumerSecret,
207  QString host = QStringLiteral("www.evernote.com"),
208  QWidget * parent = Q_NULLPTR);
209 
210  virtual ~EvernoteOAuthDialog() override;
211 
218  void setWebViewSizeHint(QSize sizeHint);
219 
223  bool isSucceeded() const;
224 
229  QString oauthError() const;
230 
235 
240  virtual int exec() override;
241 
244  virtual void open() override;
245 
246 private:
247  EvernoteOAuthDialogPrivate * const d_ptr;
248  Q_DECLARE_PRIVATE(EvernoteOAuthDialog)
249 };
250 
251 } // namespace qevercloud
252 
253 #endif // QEVERCLOUD_OAUTH_H
qevercloud::EvernoteOAuthWebView::oauthError
QString oauthError() const
Export.h
qevercloud::setNonceGenerator
void setNonceGenerator(quint64(*nonceGenerator)())
Sets the function to use for nonce generation for OAuth authentication.
qevercloud::EvernoteOAuthWebView
The class is tailored specifically for OAuth authorization with Evernote.
Definition: OAuth.h:58
qevercloud::EvernoteOAuthWebView::authenticationSuceeded
void authenticationSuceeded()
Printable.h
qevercloud::EvernoteOAuthWebView::authenticate
void authenticate(QString host, QString consumerKey, QString consumerSecret, const qint64 timeoutMsec=30000)
Types.h
qevercloud::EvernoteOAuthDialog::oauthResult
OAuthResult oauthResult() const
qevercloud::UserID
qint32 UserID
Definition: Types.h:50
qevercloud::Timestamp
qint64 Timestamp
Definition: Types.h:81
qevercloud::EvernoteOAuthDialog::setWebViewSizeHint
void setWebViewSizeHint(QSize sizeHint)
qevercloud::EvernoteOAuthWebView::OAuthResult::cookies
QList< QNetworkCookie > cookies
Definition: OAuth.h:118
qevercloud::EvernoteOAuthDialog::~EvernoteOAuthDialog
virtual ~EvernoteOAuthDialog() override
qevercloud::EvernoteOAuthDialog::exec
virtual int exec() override
qevercloud
Definition: AsyncResult.h:21
qevercloud::EvernoteOAuthWebView::OAuthResult::shardId
QString shardId
usually is not used
Definition: OAuth.h:102
Helpers.h
qevercloud::EvernoteOAuthWebView::OAuthResult::userId
UserID userId
same as PublicUserInfo::userId
Definition: OAuth.h:103
qevercloud::EvernoteOAuthWebView::authenticationFinished
void authenticationFinished(bool success)
qevercloud::EvernoteOAuthWebView::EvernoteOAuthWebView
EvernoteOAuthWebView(QWidget *parent=Q_NULLPTR)
qevercloud::EvernoteOAuthWebView::oauthResult
OAuthResult oauthResult() const
qevercloud::EvernoteOAuthWebView::OAuthResult::webApiUrlPrefix
QString webApiUrlPrefix
see PublicUserInfo::webApiUrlPrefix
Definition: OAuth.h:104
qevercloud::EvernoteOAuthDialog::open
virtual void open() override
qevercloud::EvernoteOAuthWebView::setSizeHint
void setSizeHint(QSize sizeHint)
qevercloud::EvernoteOAuthWebView::sizeHint
virtual QSize sizeHint() const override
qevercloud::EvernoteOAuthWebView::OAuthResult::authenticationToken
QString authenticationToken
This is what this all was for!
Definition: OAuth.h:105
qevercloud::EvernoteOAuthWebView::OAuthResult::print
virtual void print(QTextStream &strm) const override
qevercloud::EvernoteOAuthWebView::OAuthResult::noteStoreUrl
QString noteStoreUrl
Definition: OAuth.h:99
qevercloud::EvernoteOAuthDialog::oauthError
QString oauthError() const
qevercloud::EvernoteOAuthDialog
Authorizes your app with the Evernote service by means of OAuth authentication.
Definition: OAuth.h:187
QEVERCLOUD_EXPORT
#define QEVERCLOUD_EXPORT
Definition: Export.h:19
qevercloud::Printable
Definition: Printable.h:19
qevercloud::EvernoteOAuthWebView::OAuthResult
Definition: OAuth.h:98
qevercloud::EvernoteOAuthDialog::EvernoteOAuthDialog
EvernoteOAuthDialog(QString consumerKey, QString consumerSecret, QString host=QStringLiteral("www.evernote.com"), QWidget *parent=Q_NULLPTR)
qevercloud::EvernoteOAuthWebView::authenticationFailed
void authenticationFailed()
qevercloud::EvernoteOAuthWebView::isSucceeded
bool isSucceeded() const
qevercloud::EvernoteOAuthDialog::isSucceeded
bool isSucceeded() const