Base class for network requests which are processed in the network access manager.
More...
#include <networkrequestbase.h>
|
void | start () noexcept |
| Start downloading the requested content. More...
|
|
void | abort () noexcept |
| Abort downloading the requested content. More...
|
|
Base class for network requests which are processed in the network access manager.
This class lets you execute a network request without blocking the main application thread. After creating an object derived from NetworkRequestBase, you can connect to signals of that class to track the progress of the request. Then you need to call start() to start the request processing.
- Note
- You need to ensure that an instance of librepcb::NetworkAccessManager exists while starting a new network request. Otherwise the request will fail. Read the documentation of librepcb::NetworkAccessManager for more information.
- See Also
- librepcb::NetworkAccessManager
- Author
- ubruhin
- Date
- 2016-09-12
void setHeaderField |
( |
const QByteArray & |
name, |
|
|
const QByteArray & |
value |
|
) |
| |
|
noexcept |
Set a HTTP header field for the network request.
- Parameters
-
name | Header field name |
value | Header field value |
void setExpectedReplyContentSize |
( |
qint64 |
bytes | ) |
|
|
noexcept |
Set the expected size of the requested content.
If set, this size will be used to calculate the download progress in percent in case that there is no "Content-Length" attribute in the received HTTP header.
- Parameters
-
bytes | Expected content size of the reply in bytes |
Start downloading the requested content.
- Warning
- It is not save to access this object after calling this method! The object will be moved to another thread and will be deleted after an error occurs or the request succeeds. Any further access to the pointer which you have received from the constructor is unsave and could cause an application crash.
Abort downloading the requested content.
- Warning
- Because calling this method makes only sense after calling start(), but which is unsave as described in start(), this method must only be used indirectly with the signals/slots concept of Qt (Qt automatically disconnects the callers signal from this slot as soon as this object gets destroyed, so the connection is always safe).
Internal signal, don't use it from outside.
void progressState |
( |
QString |
state | ) |
|
|
signal |
Reply progress / state changed signal.
This signal shows which actions are executed. Or in other words, it shows the current state of the request processing.
- Parameters
-
action | Short description about the current action/state |
void progressPercent |
( |
int |
percent | ) |
|
|
signal |
Reply content download progress signal (simple)
- Parameters
-
percent | (Estimated) progress in percent (0..100) |
void progress |
( |
qint64 |
bytesReceived, |
|
|
qint64 |
bytesTotal, |
|
|
int |
percent |
|
) |
| |
|
signal |
Reply content download progress signal (extended)
- Parameters
-
bytesReceived | Count of bytes received |
bytesTotal | Count of total bytes (-1 if unknown) |
percent | (Estimated) progress in percent (0..100) |
Request aborted signal (emited right before finished())
Request succeeded signal (emited right before finished())
void errored |
( |
QString |
errorMsg | ) |
|
|
signal |
Request errored signal (emited right before finished())
- Parameters
-
void finished |
( |
bool |
success | ) |
|
|
signal |
Request finished signal.
This signal is emited right after aborted(), succeeded() or errored().
- Parameters
-
success | True if succeeded, false if aborted or errored |
virtual void prepareRequest |
( |
| ) |
|
|
pure virtual |
virtual void finalizeRequest |
( |
| ) |
|
|
pure virtual |
virtual void emitSuccessfullyFinishedSignals |
( |
| ) |
|
|
pure virtualnoexcept |
virtual void fetchNewData |
( |
| ) |
|
|
pure virtualnoexcept |
void replyReadyReadSlot |
( |
| ) |
|
|
privatenoexcept |
void replyErrorSlot |
( |
QNetworkReply::NetworkError |
code | ) |
|
|
privatenoexcept |
void replySslErrorsSlot |
( |
const QList< QSslError > & |
errors | ) |
|
|
privatenoexcept |
void replyDownloadProgressSlot |
( |
qint64 |
bytesReceived, |
|
|
qint64 |
bytesTotal |
|
) |
| |
|
privatenoexcept |
void replyFinishedSlot |
( |
| ) |
|
|
privatenoexcept |
void finalize |
( |
const QString & |
errorMsg = QString() | ) |
|
|
privatenoexcept |
QString formatFileSize |
( |
qint64 |
bytes | ) |
|
|
staticprivatenoexcept |
qint64 mExpectedContentSize |
|
protected |
QList<QUrl> mRedirectedUrls |
|
protected |
QScopedPointer<QNetworkReply> mReply |
|
protected |
The documentation for this class was generated from the following files: