QEverCloud 6.2.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
23namespace qevercloud {
24
39void setNonceGenerator(quint64 (*nonceGenerator)());
40
42class EvernoteOAuthWebViewPrivate;
58{
59 Q_OBJECT
60public:
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;
102 QString shardId;
106
118 QList<QNetworkCookie> cookies;
119
120 virtual void print(QTextStream & strm) const override;
121 };
122
125
127 void setSizeHint(QSize sizeHint);
128
129 QSize sizeHint() const override;
130
131Q_SIGNALS:
133 void authenticationFinished(bool success);
134
140
146
147private:
148 EvernoteOAuthWebViewPrivate * const d_ptr;
149 Q_DECLARE_PRIVATE(EvernoteOAuthWebView)
150};
151
153class EvernoteOAuthDialogPrivate;
187{
188 Q_OBJECT
189public:
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
246private:
247 EvernoteOAuthDialogPrivate * const d_ptr;
248 Q_DECLARE_PRIVATE(EvernoteOAuthDialog)
249};
250
251} // namespace qevercloud
252
253#endif // QEVERCLOUD_OAUTH_H
#define QEVERCLOUD_EXPORT
Definition: Export.h:19
Authorizes your app with the Evernote service by means of OAuth authentication.
Definition: OAuth.h:187
void setWebViewSizeHint(QSize sizeHint)
OAuthResult oauthResult() const
virtual ~EvernoteOAuthDialog() override
virtual int exec() override
EvernoteOAuthDialog(QString consumerKey, QString consumerSecret, QString host=QStringLiteral("www.evernote.com"), QWidget *parent=Q_NULLPTR)
virtual void open() override
The class is tailored specifically for OAuth authorization with Evernote.
Definition: OAuth.h:58
OAuthResult oauthResult() const
QSize sizeHint() const override
EvernoteOAuthWebView(QWidget *parent=Q_NULLPTR)
void authenticate(QString host, QString consumerKey, QString consumerSecret, const qint64 timeoutMsec=30000)
void authenticationFinished(bool success)
void setSizeHint(QSize sizeHint)
Definition: Printable.h:19
Definition: AsyncResult.h:21
void setNonceGenerator(quint64(*nonceGenerator)())
Sets the function to use for nonce generation for OAuth authentication.
qint64 Timestamp
Definition: Types.h:81
qint32 UserID
Definition: Types.h:50
Timestamp expires
authenticationToken time of expiration.
Definition: OAuth.h:101
UserID userId
same as PublicUserInfo::userId
Definition: OAuth.h:103
QString shardId
usually is not used
Definition: OAuth.h:102
QString webApiUrlPrefix
see PublicUserInfo::webApiUrlPrefix
Definition: OAuth.h:104
QString authenticationToken
This is what this all was for!
Definition: OAuth.h:105
QList< QNetworkCookie > cookies
Definition: OAuth.h:118
virtual void print(QTextStream &strm) const override
QString noteStoreUrl
Definition: OAuth.h:99