OpendTect  6.3
Public Member Functions | Public Attributes | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
Network::HttpRequestProcess Class Reference
Inheritance diagram for Network::HttpRequestProcess:
[legend]

Public Member Functions

bool isRunning () const
 
bool isFinished () const
 
bool isError () const
 
void waitForFinish (int timeout_in_ms=-1)
 
bool waitForDownloadData (int timeout_ms=-1)
 
od_int64 downloadBytesAvailable () const
 
od_int64 read (char *, od_int64 bufsize)
 Returns nr bytes read. More...
 
BufferString readAll ()
 
od_int64 getContentLengthHeader () const
 
od_int64 getBytesUploaded () const
 
od_int64 getTotalBytesToUpload () const
 
uiString errMsg () const
 
- Public Member Functions inherited from CallBacker
 CallBacker ()
 
 CallBacker (const CallBacker &)
 
virtual ~CallBacker ()
 
bool attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const
 
bool attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const
 
void detachCB (const NotifierAccess &, const CallBack &) const
 
void detachCB (const NotifierAccess *notif, const CallBack &cb) const
 
bool isNotifierAttached (const NotifierAccess *) const
 Only for debugging purposes, don't use. More...
 
virtual bool isCapsule () const
 
void stopReceivingNotifications () const
 

Public Attributes

Notifier< HttpRequestProcessfinished
 
Notifier< HttpRequestProcesserror
 
Notifier< HttpRequestProcessdownloadDataAvailable
 
Notifier< HttpRequestProcessuploadProgress
 

Private Types

enum  Status { NotStarted, Running, Error, Finished }
 

Private Member Functions

void reportDownloadProgress (od_int64 nrdone, od_int64 totalnr)
 
void reportError ()
 
void reportSSLErrors (const QList< QSslError > &)
 
void reportFinished ()
 
void reportUploadProgress (od_int64 bytes, od_int64 totalbytes)
 
void reportMetaDataChanged ()
 
void reportReadyRead ()
 
void setQNetworkReply (QNetworkReply *)
 
bool waitForRequestStart ()
 
 HttpRequestProcess (const HttpRequest *)
 
 ~HttpRequestProcess ()
 

Private Attributes

Status status_
 
Threads::ConditionVar statuslock_
 
ConstRefMan< HttpRequestrequest_
 
Threads::Atomic< od_int64bytesuploaded_
 
Threads::Atomic< od_int64totalbytestoupload_
 
Threads::Atomic< od_int64bytesdownloaded_
 
Threads::Atomic< od_int64totalbytestodownload_
 
Threads::Atomic< od_int64contentlengthheader_
 
QNetworkReplyConnqnetworkreplyconn_
 
QNetworkReply * qnetworkreply_
 
QByteArray * receiveddata_
 
Threads::ConditionVar receiveddatalock_
 
uiString errmsg_
 

Friends

class ::QNetworkReplyConn
 
class HttpRequestManager
 

Additional Inherited Members

- Static Public Member Functions inherited from CallBacker
static void createReceiverForCurrentThread ()
 
static void removeReceiverForCurrentThread ()
 
- Protected Member Functions inherited from CallBacker
void detachAllNotifiers () const
 Call from the destructor of your inherited object. More...
 

Detailed Description

The upload or download process. Can be queried for progress, data and errors

Member Enumeration Documentation

Enumerator
NotStarted 
Running 
Error 
Finished 

Constructor & Destructor Documentation

Network::HttpRequestProcess::HttpRequestProcess ( const HttpRequest )
private
Network::HttpRequestProcess::~HttpRequestProcess ( )
private

Member Function Documentation

od_int64 Network::HttpRequestProcess::downloadBytesAvailable ( ) const
uiString Network::HttpRequestProcess::errMsg ( ) const
od_int64 Network::HttpRequestProcess::getBytesUploaded ( ) const
od_int64 Network::HttpRequestProcess::getContentLengthHeader ( ) const
od_int64 Network::HttpRequestProcess::getTotalBytesToUpload ( ) const
bool Network::HttpRequestProcess::isError ( ) const
bool Network::HttpRequestProcess::isFinished ( ) const
bool Network::HttpRequestProcess::isRunning ( ) const
od_int64 Network::HttpRequestProcess::read ( char *  ,
od_int64  bufsize 
)

Returns nr bytes read.

BufferString Network::HttpRequestProcess::readAll ( )
void Network::HttpRequestProcess::reportDownloadProgress ( od_int64  nrdone,
od_int64  totalnr 
)
private
void Network::HttpRequestProcess::reportError ( )
private
void Network::HttpRequestProcess::reportFinished ( )
private
void Network::HttpRequestProcess::reportMetaDataChanged ( )
private
void Network::HttpRequestProcess::reportReadyRead ( )
private
void Network::HttpRequestProcess::reportSSLErrors ( const QList< QSslError > &  )
private
void Network::HttpRequestProcess::reportUploadProgress ( od_int64  bytes,
od_int64  totalbytes 
)
private
void Network::HttpRequestProcess::setQNetworkReply ( QNetworkReply *  )
private

Becomes mine. Also signals start of the request.

bool Network::HttpRequestProcess::waitForDownloadData ( int  timeout_ms = -1)
void Network::HttpRequestProcess::waitForFinish ( int  timeout_in_ms = -1)
bool Network::HttpRequestProcess::waitForRequestStart ( )
private

Wait for the request to start in the networking thread.

Returns
if request was created

Friends And Related Function Documentation

friend class ::QNetworkReplyConn
friend
friend class HttpRequestManager
friend

Member Data Documentation

Threads::Atomic<od_int64> Network::HttpRequestProcess::bytesdownloaded_
private
Threads::Atomic<od_int64> Network::HttpRequestProcess::bytesuploaded_
private
Threads::Atomic<od_int64> Network::HttpRequestProcess::contentlengthheader_
private
Notifier<HttpRequestProcess> Network::HttpRequestProcess::downloadDataAvailable
uiString Network::HttpRequestProcess::errmsg_
private
Notifier<HttpRequestProcess> Network::HttpRequestProcess::error
Notifier<HttpRequestProcess> Network::HttpRequestProcess::finished
QNetworkReply* Network::HttpRequestProcess::qnetworkreply_
private
QNetworkReplyConn* Network::HttpRequestProcess::qnetworkreplyconn_
private
QByteArray* Network::HttpRequestProcess::receiveddata_
private
Threads::ConditionVar Network::HttpRequestProcess::receiveddatalock_
private
ConstRefMan<HttpRequest> Network::HttpRequestProcess::request_
private
Status Network::HttpRequestProcess::status_
private
Threads::ConditionVar Network::HttpRequestProcess::statuslock_
mutableprivate
Threads::Atomic<od_int64> Network::HttpRequestProcess::totalbytestodownload_
private
Threads::Atomic<od_int64> Network::HttpRequestProcess::totalbytestoupload_
private
Notifier<HttpRequestProcess> Network::HttpRequestProcess::uploadProgress

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017