/usr/include/libkgapi2/authjob.h is in libkgapi-dev 2.2.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | /*
* This file is part of LibKGAPI
*
* Copyright (C) 2013 Daniel Vrátil <dvratil@redhat.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#ifndef LIBKGAPI2_AUTHJOB_H
#define LIBKGAPI2_AUTHJOB_H
#include <libkgapi2/job.h>
#include <libkgapi2/libkgapi2_export.h>
class QWidget;
namespace KGAPI2 {
/**
* @headerfile AuthJob
* @brief A job to authenticate against Google and fetch tokens
*
* This job can be either used to refresh expired tokens (this is usually done
* automatically by Job implementation), or to request tokens for a new account.
*
* In the latter case, the AuthJob will automatically show a dialog where user
* has to provide Google account credentials and grant access to all requested
* scopes (@see Account::scopes).
*
* @author Daniel Vrátil <dvratil@redhat.com>
* @since 2.0
*/
class LIBKGAPI2_EXPORT AuthJob : public KGAPI2::Job
{
Q_OBJECT
public:
/**
* @brief Creates a new authentication job that will use @p parent as parent
* for the authentication dialog.
*
* When constructed with a widget parent, AuthJob will place the
* authentication widget on the @p parent instead of displaying a dialog.
* This allows embedding the authentication process into a wizard for
* instance.
*
* @param account Account to authenticate. When only scopes are set, a full
* authentication process will run (including showing the auth
* widget) and the rest will be filled by the job.
* @par
* Passing an Account with account name, scopes and both
* tokens filled will only refresh the access token. If however
* the scopes have been changed a full authentication will be
* started.
* @par
* Any other Account will be considered invalid and the job
* will finish immediatelly.
*
* @param apiKey Application API key
* @param secretKey Application secret API key
* @param parent Parent widget on which auth widget should be constructed if
* necessary.
*/
explicit AuthJob(const AccountPtr &account, const QString &apiKey,
const QString &secretKey, QWidget* parent);
/**
* @brief Creates a new authentication job
*
* When constructed without a parent, or with a non-QWidget parent, the
* job might pop up the authentication dialog.
*
* @param account Account to authenticate.
* See AuthJob(AccountPtr,QString,QString,QWidget) for
* detailed description of @p account content.
* @param apiKey Application API key
* @param secretKey Application secret API key
* @param parent
*/
explicit AuthJob(const AccountPtr &account, const QString &apiKey,
const QString &secretKey, QObject* parent = 0);
/**
* @brief Destructor
*/
virtual ~AuthJob();
/**
* @brief Returns reauthenticated account.
*
* @returns An account pointer passed to the AuthJob() constructor with
* all fields filled and validated. When the job fails, the account
* is unchanged.
*/
AccountPtr account() const;
/**
* Sets the username that will be used when authenticate is called
*
* The username will be automatically filled in the Google login
* form in the authentication widget.
*
* Be aware that the username will be set every time \sa authenticate is
* called so if you want to change or remove it call \sa setUsername again
* with empty string or \sa clearCredentials.
*
* @param username username to use
*/
void setUsername(const QString &username);
/**
* Sets the password that will be used when authenticate is called
*
* The password will be automatically filled in the Google login
* form in the authentication widget.
*
* Be aware that the password will be set every time \sa authenticate is
* called so if you want to change or remove it call \sa setPassword again
* with empty string or \sa clearCredentials.
*
* @param password password to use
*/
void setPassword(const QString &password);
protected:
/**
* @brief KGAPI2::Job::handleReply implementation
*
* @param reply
* @param rawData
*/
virtual void handleReply(const QNetworkReply *reply, const QByteArray &rawData);
/**
* @brief KGAPI2::Job::displayRequest implementation
*
* @param accessManager
* @param request
* @param data
* @param contentType
*/
virtual void dispatchRequest(QNetworkAccessManager* accessManager,
const QNetworkRequest& request,
const QByteArray& data,
const QString& contentType);
/**
* @brief KGAPI2::Job::start implementation
*/
virtual void start();
private:
class Private;
Private * const d;
friend class Private;
Q_PRIVATE_SLOT(d, void _k_fullAuthenticationFinished(const KGAPI2::AccountPtr& account))
Q_PRIVATE_SLOT(d, void _k_fullAuthenticationFailed(KGAPI2::Error errorCode, const QString &errorMessage))
};
} // namespace KGAPI2
#endif // LIBKGAPI2_AUTHJOB_H
|