mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
103 lines
3.2 KiB
Plaintext
103 lines
3.2 KiB
Plaintext
|
class QgsHttpTransaction : QObject
|
||
|
{
|
||
|
%TypeHeaderCode
|
||
|
#include <qgshttptransaction.h>
|
||
|
%End
|
||
|
public:
|
||
|
/**
|
||
|
* Constructor.
|
||
|
* \note userName and password added in 1.1
|
||
|
*/
|
||
|
QgsHttpTransaction( QString uri,
|
||
|
QString proxyHost = QString(),
|
||
|
int proxyPort = 80,
|
||
|
QString proxyUser = QString(),
|
||
|
QString proxyPass = QString(),
|
||
|
QNetworkProxy::ProxyType proxyType = QNetworkProxy::NoProxy,
|
||
|
QString userName = QString(),
|
||
|
QString password = QString() );
|
||
|
|
||
|
//! Destructor
|
||
|
virtual ~QgsHttpTransaction();
|
||
|
|
||
|
void getAsynchronously();
|
||
|
|
||
|
//! Gets the response synchronously. Note that signals will still be emitted
|
||
|
//! while in this function.
|
||
|
|
||
|
/*!
|
||
|
The function returns false if there is an error while getting the response.
|
||
|
@param[out] respondedContent is replaced with the new content.
|
||
|
|
||
|
@param[in] redirections is used to measure how many http redirections we've been through.
|
||
|
Clients typically don't need to set this.
|
||
|
|
||
|
@param postData data to send with the http message. This is only used for HTTP POST. If
|
||
|
0 then the request is done with HTTP GET.
|
||
|
|
||
|
@return true in case of success
|
||
|
*/
|
||
|
bool getSynchronously( QByteArray &respondedContent, int redirections = 0, const QByteArray* postData = 0 );
|
||
|
|
||
|
QString responseContentType();
|
||
|
|
||
|
/**
|
||
|
* If an operation returns 0 (e.g. getSynchronously()), this function
|
||
|
* returns the text of the error associated with the failure.
|
||
|
* Interactive users of this provider can then, for example,
|
||
|
* call a QMessageBox to display the contents.
|
||
|
*/
|
||
|
QString errorString();
|
||
|
|
||
|
/**Apply proxy settings from QSettings to a http object
|
||
|
@return true if proxy settings was applied, false else*/
|
||
|
static bool applyProxySettings( QHttp& http, const QString& url );
|
||
|
|
||
|
/**
|
||
|
* Set the credentials (username and password)
|
||
|
* \note added in 1.1
|
||
|
*/
|
||
|
|
||
|
void setCredentials( const QString& username, const QString &password );
|
||
|
|
||
|
/**Returns the network timeout in msec*/
|
||
|
int networkTimeout() const;
|
||
|
/**Sets the network timeout in milliseconds*/
|
||
|
void setNetworkTimeout( int msec );
|
||
|
|
||
|
|
||
|
public slots:
|
||
|
|
||
|
void dataStarted( int id );
|
||
|
|
||
|
void dataHeaderReceived( const QHttpResponseHeader& resp );
|
||
|
|
||
|
void dataReceived( const QHttpResponseHeader& resp );
|
||
|
|
||
|
void dataProgress( int done, int total );
|
||
|
|
||
|
void dataFinished( int id, bool error );
|
||
|
|
||
|
void transactionFinished( bool error );
|
||
|
|
||
|
void dataStateChanged( int state );
|
||
|
|
||
|
void networkTimedOut();
|
||
|
|
||
|
/**Aborts the current transaction*/
|
||
|
void abort();
|
||
|
|
||
|
signals:
|
||
|
|
||
|
/**legacy code. This signal is currently not emitted and only kept for API compatibility*/
|
||
|
void setProgress( int done, int total );
|
||
|
|
||
|
/**Signal for progress update */
|
||
|
void dataReadProgress( int theProgress );
|
||
|
/**Signal for adjusted number of steps*/
|
||
|
void totalSteps( int theTotalSteps );
|
||
|
|
||
|
/** \brief emit a signal to be caught by qgisapp and display a msg on status bar */
|
||
|
void statusChanged( QString theStatusQString );
|
||
|
};
|