LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
customnetworkreply.h
Go to the documentation of this file.
1 /**********************************************************************
2  * LeechCraft - modular cross-platform feature rich internet client.
3  * Copyright (C) 2006-2014 Georg Rudoy
4  *
5  * Distributed under the Boost Software License, Version 1.0.
6  * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7  **********************************************************************/
8 
9 #pragma once
10 
11 #include <QNetworkReply>
12 #include "networkconfig.h"
13 
14 namespace LC::Util
15 {
26  class UTIL_NETWORK_API CustomNetworkReply : public QNetworkReply
27  {
28  QByteArray Content_;
29  qint64 Offset_ = 0;
30  public:
39  explicit CustomNetworkReply (const QUrl& url, QObject *parent = nullptr);
40 
41  using QNetworkReply::setError;
42  using QNetworkReply::setHeader;
43 
53  void SetContentType (const QByteArray& type);
54 
64  void SetContent (const QString& string);
65 
76  void SetContent (const QByteArray& data);
77 
82  void abort () override;
83 
88  qint64 bytesAvailable () const override;
89 
94  bool isSequential () const override;
95  protected:
96  qint64 readData (char*, qint64) override;
97  };
98 }
LC::Util
Definition: icoreproxy.h:33
networkconfig.h
UTIL_NETWORK_API
#define UTIL_NETWORK_API
Definition: networkconfig.h:16