deskflow/src/lib/gui/DataDownloader.h

43 lines
825 B
C
Raw Normal View History

2014-11-13 11:02:48 +00:00
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2014 - 2016 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
2014-11-13 11:02:48 +00:00
*/
#pragma once
2014-11-13 11:02:48 +00:00
#include <QByteArray>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QObject>
2014-11-13 11:02:48 +00:00
class DataDownloader : public QObject
{
Q_OBJECT
2014-11-13 11:02:48 +00:00
public:
explicit DataDownloader(QObject *parent = nullptr);
~DataDownloader() override = default;
2014-11-13 11:02:48 +00:00
QByteArray data() const;
void cancel();
void download(QUrl url);
bool isFinished() const
{
return m_IsFinished;
}
2014-11-13 11:02:48 +00:00
signals:
void isComplete();
2014-11-13 11:02:48 +00:00
private slots:
void complete(QNetworkReply *reply);
2014-11-13 11:02:48 +00:00
private:
QNetworkAccessManager m_NetworkManager;
QByteArray m_Data;
QNetworkReply *m_pReply;
bool m_IsFinished;
2014-11-13 11:02:48 +00:00
};