Skip to content
Snippets Groups Projects
network.h 934 B
Newer Older
akiraohgaki's avatar
akiraohgaki committed
/**
 * A library for Qt app
 *
 * LICENSE: The GNU Lesser General Public License, version 3.0
 *
 * @author      Akira Ohgaki <akiraohgaki@gmail.com>
 * @copyright   Akira Ohgaki
 * @license     https://opensource.org/licenses/LGPL-3.0  The GNU Lesser General Public License, version 3.0
 * @link        https://github.com/akiraohgaki/qt-libs
 */

#pragma once
akiraohgaki's avatar
akiraohgaki committed

#include <QObject>

class QEventLoop;
class QNetworkAccessManager;
class QNetworkReply;

akiraohgaki's avatar
akiraohgaki committed
namespace utils {
akiraohgaki's avatar
akiraohgaki committed

class Network : public QObject
{
    Q_OBJECT

public:
    explicit Network(const bool &async = true, QObject *parent = 0);
    ~Network();

    QNetworkReply *head(const QUrl &uri);
    QNetworkReply *get(const QUrl &uri);

signals:
    void finished(QNetworkReply *reply);
    void downloadProgress(const qint64 &received, const qint64 &total);
akiraohgaki's avatar
akiraohgaki committed

private:
    bool async_;
    QNetworkAccessManager *manager_;
    QEventLoop *eventLoop_;
akiraohgaki's avatar
akiraohgaki committed
} // namespace utils