LibrePCB Developers Documentation
NetworkRequest Class Referencefinal

This class is used to process general purpose network requests (up to 100MB) More...

#include <networkrequest.h>

+ Inheritance diagram for NetworkRequest:
+ Collaboration diagram for NetworkRequest:

Signals

void dataReceived (QByteArray data, QString contentType)
 Data successfully received signal (emitted right before finished()) More...
 
- Signals inherited from NetworkRequestBase
void startRequested ()
 Internal signal, don't use it from outside. More...
 
void progressState (QString state)
 Reply progress / state changed signal. More...
 
void progressPercent (int percent)
 Reply content download progress signal (simple) More...
 
void progress (qint64 bytesReceived, qint64 bytesTotal, int percent)
 Reply content download progress signal (extended) More...
 
void aborted ()
 Request aborted signal (emitted right before finished()) More...
 
void succeeded ()
 Request succeeded signal (emitted right before finished()) More...
 
void errored (QString errorMsg)
 Request errored signal (emitted right before finished()) More...
 
void finished (bool success)
 Request finished signal. More...
 

Public Member Functions

 NetworkRequest ()=delete
 
 NetworkRequest (const NetworkRequest &other)=delete
 
 NetworkRequest (const QUrl &url, const QByteArray &postData=QByteArray()) noexcept
 
 ~NetworkRequest () noexcept
 
NetworkRequestoperator= (const NetworkRequest &rhs)=delete
 
- Public Member Functions inherited from NetworkRequestBase
 NetworkRequestBase ()=delete
 
 NetworkRequestBase (const NetworkRequestBase &other)=delete
 
 NetworkRequestBase (const QUrl &url, const QByteArray &postData=QByteArray()) noexcept
 
virtual ~NetworkRequestBase () noexcept
 
void setHeaderField (const QByteArray &name, const QByteArray &value) noexcept
 Set a HTTP header field for the network request. More...
 
void setCacheLoadControl (QNetworkRequest::CacheLoadControl value) noexcept
 Set the cache load control attribute. More...
 
void setExpectedReplyContentSize (qint64 bytes) noexcept
 Set the expected size of the requested content. More...
 
void setMinimumCacheTime (int seconds) noexcept
 Set the minimum time the request should be cached. More...
 
void useBrowserUserAgent () noexcept
 Use a typical browser user agent for this request. More...
 
NetworkRequestBaseoperator= (const NetworkRequestBase &rhs)=delete
 
virtual void prepareRequest ()=0
 
virtual void finalizeRequest ()=0
 
virtual void emitSuccessfullyFinishedSignals (QString contentType) noexcept=0
 
virtual void fetchNewData (QIODevice &device) noexcept=0
 

Private Member Functions

void prepareRequest () override
 
void finalizeRequest () override
 
void emitSuccessfullyFinishedSignals (QString contentType) noexcept override
 
void fetchNewData (QIODevice &device) noexcept override
 

Private Attributes

QByteArray mReceivedData
 

Additional Inherited Members

- Public Slots inherited from NetworkRequestBase
void start () noexcept
 Start downloading the requested content. More...
 
void abort () noexcept
 Abort downloading the requested content. More...
 
- Protected Attributes inherited from NetworkRequestBase
QUrl mUrl
 
QByteArray mPostData
 
qint64 mExpectedContentSize
 
int mMinimumCacheTime
 
QList< QUrl > mRedirectedUrls
 
QNetworkRequest mRequest
 
QScopedPointer< QNetworkReply > mReply
 
bool mStarted
 
bool mAborted
 
bool mErrored
 
bool mFinished
 

Detailed Description

This class is used to process general purpose network requests (up to 100MB)

See also
librepcb::NetworkRequestBase, librepcb::NetworkAccessManager

Constructor & Destructor Documentation

◆ NetworkRequest() [1/3]

NetworkRequest ( )
delete

◆ NetworkRequest() [2/3]

NetworkRequest ( const NetworkRequest other)
delete

◆ NetworkRequest() [3/3]

NetworkRequest ( const QUrl &  url,
const QByteArray &  postData = QByteArray() 
)
noexcept

◆ ~NetworkRequest()

~NetworkRequest ( )
noexcept

Member Function Documentation

◆ operator=()

NetworkRequest & operator= ( const NetworkRequest rhs)
delete

◆ dataReceived

void dataReceived ( QByteArray  data,
QString  contentType 
)
signal

Data successfully received signal (emitted right before finished())

+ Here is the caller graph for this function:

◆ prepareRequest()

void prepareRequest ( )
overrideprivatevirtual

Implements NetworkRequestBase.

◆ finalizeRequest()

void finalizeRequest ( )
overrideprivatevirtual

Implements NetworkRequestBase.

◆ emitSuccessfullyFinishedSignals()

void emitSuccessfullyFinishedSignals ( QString  contentType)
overrideprivatevirtualnoexcept

Implements NetworkRequestBase.

◆ fetchNewData()

void fetchNewData ( QIODevice &  device)
overrideprivatevirtualnoexcept

Implements NetworkRequestBase.

Member Data Documentation

◆ mReceivedData

QByteArray mReceivedData
private

The documentation for this class was generated from the following files: