digiKam
gstalkerbase.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date : 2015-06-21
7  * Description : a tool to export items to Google web services
8  *
9  * Copyright (C) 2015 by Shourya Singh Gupta <shouryasgupta at gmail dot com>
10  * Copyright (C) 2015-2020 by Caulier Gilles <caulier dot gilles at gmail dot com>
11  * Copyright (C) 2018 by Thanh Trung Dinh <dinhthanhtrung1996 at gmail dot com>
12  *
13  * This program is free software; you can redistribute it
14  * and/or modify it under the terms of the GNU General
15  * Public License as published by the Free Software Foundation;
16  * either version 2, or (at your option) any later version.
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * ============================================================ */
24 
25 #ifndef DIGIKAM_GS_TALKER_BASE_H
26 #define DIGIKAM_GS_TALKER_BASE_H
27 
28 // Qt includes
29 
30 #include <QUrl>
31 #include <QString>
32 #include <QObject>
33 #include <QStringList>
34 #include <QNetworkReply>
35 #include <QNetworkAccessManager>
36 
37 // O2 includes
38 
39 #include "o2.h"
40 
42 {
43 
44 class GSTalkerBase : public QObject
45 {
46  Q_OBJECT
47 
48 public:
49 
50  explicit GSTalkerBase(QWidget* const parent, const QStringList& scope, const QString& serviceName);
51  ~GSTalkerBase() override;
52 
53 public:
54 
55  void link();
56  void unlink();
57  void doOAuth();
58  bool authenticated() const;
59 
60 Q_SIGNALS:
61 
62  void signalBusy(bool val);
66 
67 private Q_SLOTS:
68 
69  void slotLinkingFailed();
70  void slotLinkingSucceeded();
71  void slotOpenBrowser(const QUrl& url);
72 
73 private:
74 
75  void parseResponseGetLoggedInUser(const QByteArray& data);
76 
77 protected:
78 
79  QStringList m_scope;
80  QString m_accessToken;
81 
83 
84  QNetworkReply* m_reply;
85  QString m_serviceName;
86 
87 private:
88 
89  class Private;
90  Private* const d;
91 };
92 
93 } // namespace DigikamGenericGoogleServicesPlugin
94 
95 #endif // DIGIKAM_GS_TALKER_BASE_H
bool authenticated() const
Definition: gstalkerbase.cpp:186
void doOAuth()
Definition: gstalkerbase.cpp:191
GSTalkerBase(QWidget *const parent, const QStringList &scope, const QString &serviceName)
Definition: gstalkerbase.cpp:76
QString m_serviceName
Definition: gstalkerbase.h:85
QStringList m_scope
Definition: gstalkerbase.h:79
QNetworkReply * m_reply
Definition: gstalkerbase.h:84
QString m_bearerAccessToken
Definition: gstalkerbase.h:82
void unlink()
Definition: gstalkerbase.cpp:140
~GSTalkerBase() override
Definition: gstalkerbase.cpp:124
QString m_accessToken
Definition: gstalkerbase.h:80
void link()
Definition: gstalkerbase.cpp:134
Definition: gdmpform.cpp:46