From eb00b341915de2cb69b1f849dd3847e2031b2c16 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 4 Mar 2016 17:37:54 +0100 Subject: [PATCH] Minor wording fixes --- src/gui/notificationconfirmjob.cpp | 63 ++++++++++++++++++++++++++ src/gui/notificationconfirmjob.h | 73 ++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 src/gui/notificationconfirmjob.cpp create mode 100644 src/gui/notificationconfirmjob.h diff --git a/src/gui/notificationconfirmjob.cpp b/src/gui/notificationconfirmjob.cpp new file mode 100644 index 000000000..f243656fc --- /dev/null +++ b/src/gui/notificationconfirmjob.cpp @@ -0,0 +1,63 @@ +/* + * Copyright (C) by Klaas Freitag + * + * 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; version 2 of the License. + * + * 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. + */ + +#include "notificationconfirmjob.h" +#include "networkjobs.h" +#include "account.h" +#include "json.h" + +#include + +namespace OCC { + +NotificationConfirmJob::NotificationConfirmJob(AccountPtr account) +: AbstractNetworkJob(account, "") +{ + setIgnoreCredentialFailure(true); +} + +void NotificationConfirmJob::setLinkAndVerb(const QUrl& link, const QString &verb) +{ + _link = link; + _verb = verb; +} + +void NotificationConfirmJob::start() +{ + if( !_link.isValid() ) { + qDebug() << "Attempt to trigger invalid URL: " << _link.toString(); + return; + } + QNetworkRequest req; + req.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); + + QIODevice *iodevice = 0; + setReply(davRequest(_verb.toAscii(), _link, req, iodevice)); + setupConnections(reply()); + + AbstractNetworkJob::start(); +} + +bool NotificationConfirmJob::finished() +{ + int replyCode = 0; + // FIXME: check for the reply code! + const QString replyData = reply()->readAll(); + + emit jobFinished(replyData, replyCode); + + return true; + +} + +} diff --git a/src/gui/notificationconfirmjob.h b/src/gui/notificationconfirmjob.h new file mode 100644 index 000000000..e723b4233 --- /dev/null +++ b/src/gui/notificationconfirmjob.h @@ -0,0 +1,73 @@ +/* + * Copyright (C) by Klaas Freitag + * + * 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; version 2 of the License. + * + * 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. + */ + +#ifndef NOTIFICATIONCONFIRMJOB_H +#define NOTIFICATIONCONFIRMJOB_H + +#include "accountfwd.h" +#include "abstractnetworkjob.h" + +#include +#include +#include +#include + +namespace OCC { + +/** + * @brief The NotificationConfirmJob class + * @ingroup gui + * + * Class to call an action-link of a notification coming from the server. + * All the communication logic is handled in this class. + * + */ +class NotificationConfirmJob : public AbstractNetworkJob { + Q_OBJECT + +public: + + explicit NotificationConfirmJob(AccountPtr account); + + /** + * Set the verb and link for the job + * + * @param verb currently supported GET PUT POST DELETE + */ + void setLinkAndVerb(const QUrl& link, const QString &verb); + + /** + * Start the OCS request + */ + void start() Q_DECL_OVERRIDE; + +signals: + + /** + * Result of the OCS request + * + * @param reply the reply + */ + void jobFinished(QString reply, int replyCode); + +private slots: + virtual bool finished() Q_DECL_OVERRIDE; + +private: + QString _verb; + QUrl _link; +}; + +} + +#endif // NotificationConfirmJob_H