QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Classes | Public Types | Public Slots | Signals | Public Member Functions | List of all members
QgsGeoNodeRequest Class Reference

Request handler for GeoNode servers. More...

#include <qgsgeonoderequest.h>

Inheritance diagram for QgsGeoNodeRequest:
Inheritance graph
[legend]

Classes

struct  ServiceLayerDetail
 Service layer details for an individual layer from a GeoNode connection. More...
 

Public Types

enum  BackendServer { BackendServer::Unknown, BackendServer::QgisServer, BackendServer::Geoserver }
 GeoNode backend server type. More...
 

Public Slots

void abort ()
 Aborts any active network request immediately. More...
 

Signals

void layersFetched (const QList< QgsGeoNodeRequest::ServiceLayerDetail > &layers)
 Emitted when the result of a fetchLayers call has been received and processed. More...
 
void requestFinished ()
 Emitted when the existing request has been completed. More...
 
void statusChanged (const QString &statusQString)
 Emitted when the status of an ongoing request is changed. More...
 

Public Member Functions

 QgsGeoNodeRequest (const QString &baseUrl, bool forceRefresh, QObject *parent=nullptr)
 Constructor for QgsGeoNodeRequest. More...
 
 ~QgsGeoNodeRequest () override
 
QgsGeoNodeStyle fetchDefaultStyleBlocking (const QString &layerName)
 Requests the default style for the layer with matching layerName from the server. More...
 
void fetchLayers ()
 Triggers a new request to fetch the list of available layers from the server. More...
 
QList< QgsGeoNodeRequest::ServiceLayerDetailfetchLayersBlocking ()
 Requests the list of available layers from the server. More...
 
QgsStringMap fetchServiceUrlDataBlocking (const QString &serviceType)
 Obtains a map of layer name to URL for available services with matching serviceType from the server. More...
 
QStringList fetchServiceUrlsBlocking (const QString &serviceType)
 Requests the list of unique URLs for available services with matching serviceType from the server. More...
 
QgsGeoNodeStyle fetchStyleBlocking (const QString &styleId)
 Requests the details for the style with matching styleId from the server. More...
 
QList< QgsGeoNodeStylefetchStylesBlocking (const QString &layerName)
 Requests the list of available styles for the layer with matching layerName from the server. More...
 
QString lastError () const
 Returns the most recent error string for any encountered errors, or an empty string if no errors have been encountered. More...
 
QByteArray lastResponse () const
 Returns the most recent response obtained from the server. More...
 
QgsGeoNodeRequest::ServiceLayerDetail parseOwsUrl (QgsGeoNodeRequest::ServiceLayerDetail &layerStruct, const QVariantList &layerLinks)
 Returns the updated ServiceLayerDetail struct with WMS/WFS/XYZ url. More...
 
QString protocol () const
 Returns the network protocol (e.g. More...
 
void request (const QString &endPoint)
 Triggers a new request to the GeoNode server, with the requested endPoint. More...
 
bool requestBlocking (const QString &endPoint)
 Triggers a new request to the GeoNode server, with the requested endPoint. More...
 
void setProtocol (const QString &protocol)
 Sets the network protocol (e.g. More...
 

Detailed Description

Request handler for GeoNode servers.

QgsGeoNodeRequest handles requesting and parsing service details from a GeoNode server instance, for instance requesting all available layers or layer styles.

Since
QGIS 3.0

Definition at line 65 of file qgsgeonoderequest.h.

Member Enumeration Documentation

◆ BackendServer

GeoNode backend server type.

Enumerator
Unknown 

Unknown backend.

QgisServer 

QGIS server used as backend.

Geoserver 

Geoserver used as backend.

Definition at line 73 of file qgsgeonoderequest.h.

Constructor & Destructor Documentation

◆ QgsGeoNodeRequest()

QgsGeoNodeRequest::QgsGeoNodeRequest ( const QString &  baseUrl,
bool  forceRefresh,
QObject *  parent = nullptr 
)

Constructor for QgsGeoNodeRequest.

If forceRefresh is false, then cached copies of the request may be reused.

Definition at line 31 of file qgsgeonoderequest.cpp.

◆ ~QgsGeoNodeRequest()

QgsGeoNodeRequest::~QgsGeoNodeRequest ( )
override

Definition at line 39 of file qgsgeonoderequest.cpp.

Member Function Documentation

◆ abort

void QgsGeoNodeRequest::abort ( )
slot

Aborts any active network request immediately.

Definition at line 44 of file qgsgeonoderequest.cpp.

◆ fetchDefaultStyleBlocking()

QgsGeoNodeStyle QgsGeoNodeRequest::fetchDefaultStyleBlocking ( const QString &  layerName)

Requests the default style for the layer with matching layerName from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Definition at line 89 of file qgsgeonoderequest.cpp.

◆ fetchLayers()

void QgsGeoNodeRequest::fetchLayers ( )

Triggers a new request to fetch the list of available layers from the server.

When complete, the layersFetched() signal will be emitted with the result.

This method is non-blocking and returns immediately.

Warning
When using the non-blocking methods in this class, sending overlapping requests results in undefined behavior. Use separate instances of QgsGeoNodeRequest instead to avoid this.
See also
layersFetched()
fetchLayersBlocking()

Definition at line 54 of file qgsgeonoderequest.cpp.

◆ fetchLayersBlocking()

QList< QgsGeoNodeRequest::ServiceLayerDetail > QgsGeoNodeRequest::fetchLayersBlocking ( )

Requests the list of available layers from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

See also
fetchLayers()

Definition at line 72 of file qgsgeonoderequest.cpp.

◆ fetchServiceUrlDataBlocking()

QgsStringMap QgsGeoNodeRequest::fetchServiceUrlDataBlocking ( const QString &  serviceType)

Obtains a map of layer name to URL for available services with matching serviceType from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Definition at line 469 of file qgsgeonoderequest.cpp.

◆ fetchServiceUrlsBlocking()

QStringList QgsGeoNodeRequest::fetchServiceUrlsBlocking ( const QString &  serviceType)

Requests the list of unique URLs for available services with matching serviceType from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Definition at line 426 of file qgsgeonoderequest.cpp.

◆ fetchStyleBlocking()

QgsGeoNodeStyle QgsGeoNodeRequest::fetchStyleBlocking ( const QString &  styleId)

Requests the details for the style with matching styleId from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Definition at line 141 of file qgsgeonoderequest.cpp.

◆ fetchStylesBlocking()

QList< QgsGeoNodeStyle > QgsGeoNodeRequest::fetchStylesBlocking ( const QString &  layerName)

Requests the list of available styles for the layer with matching layerName from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Definition at line 113 of file qgsgeonoderequest.cpp.

◆ lastError()

QString QgsGeoNodeRequest::lastError ( ) const
inline

Returns the most recent error string for any encountered errors, or an empty string if no errors have been encountered.

Definition at line 211 of file qgsgeonoderequest.h.

◆ lastResponse()

QByteArray QgsGeoNodeRequest::lastResponse ( ) const
inline

Returns the most recent response obtained from the server.

Definition at line 216 of file qgsgeonoderequest.h.

◆ layersFetched

void QgsGeoNodeRequest::layersFetched ( const QList< QgsGeoNodeRequest::ServiceLayerDetail > &  layers)
signal

Emitted when the result of a fetchLayers call has been received and processed.

◆ parseOwsUrl()

QgsGeoNodeRequest::ServiceLayerDetail QgsGeoNodeRequest::parseOwsUrl ( QgsGeoNodeRequest::ServiceLayerDetail layerStruct,
const QVariantList &  layerLinks 
)

Returns the updated ServiceLayerDetail struct with WMS/WFS/XYZ url.

Definition at line 351 of file qgsgeonoderequest.cpp.

◆ protocol()

QString QgsGeoNodeRequest::protocol ( ) const

Returns the network protocol (e.g.

'http') used for connecting with the server.

See also
setProtocol()

Definition at line 155 of file qgsgeonoderequest.cpp.

◆ request()

void QgsGeoNodeRequest::request ( const QString &  endPoint)

Triggers a new request to the GeoNode server, with the requested endPoint.

Any existing request will be aborted.

Calling this method does not block while waiting for a result.

Warning
When using the non-blocking methods in this class, sending overlapping requests results in undefined behavior. Use separate instances of QgsGeoNodeRequest instead to avoid this.
See also
requestBlocking()

Definition at line 514 of file qgsgeonoderequest.cpp.

◆ requestBlocking()

bool QgsGeoNodeRequest::requestBlocking ( const QString &  endPoint)

Triggers a new request to the GeoNode server, with the requested endPoint.

Any existing request will be aborted.

Calling this method will block while waiting for a result. It should not be used from any code which potentially blocks operation in the main GUI thread.

See also
request()

Definition at line 532 of file qgsgeonoderequest.cpp.

◆ requestFinished

void QgsGeoNodeRequest::requestFinished ( )
signal

Emitted when the existing request has been completed.

◆ setProtocol()

void QgsGeoNodeRequest::setProtocol ( const QString &  protocol)

Sets the network protocol (e.g.

'http') used for connecting with the server.

See also
protocol()

Definition at line 160 of file qgsgeonoderequest.cpp.

◆ statusChanged

void QgsGeoNodeRequest::statusChanged ( const QString &  statusQString)
signal

Emitted when the status of an ongoing request is changed.


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