QGIS API Documentation  3.22.4-Białowieża (ce8e65e95e)
Classes | Public Member Functions | Friends | List of all members
QgsTileDownloadManager Class Reference

Tile download manager handles downloads of map tiles for the purpose of map rendering. More...

#include <qgstiledownloadmanager.h>

Classes

class  Stats
 Encapsulates any statistics we would like to keep about requests. More...
 

Public Member Functions

 QgsTileDownloadManager ()
 
 ~QgsTileDownloadManager ()
 
QgsTileDownloadManagerReplyget (const QNetworkRequest &request)
 Starts a request. More...
 
bool hasPendingRequests () const
 Returns whether there are any pending requests in the queue. More...
 
bool hasWorkerThreadRunning () const
 Returns whether the worker thread is running currently (it may be stopped if there were no requests recently. More...
 
void resetStatistics ()
 Resets statistics of numbers of queries handled by this class. More...
 
void setIdleThreadTimeout (int timeoutMs)
 Sets after how many milliseconds the idle worker therad should terminate. More...
 
void shutdown ()
 Asks the worker thread to stop and blocks until it is not stopped. More...
 
Stats statistics ()
 Returns basic statistics of the queries handled by this class. More...
 
bool waitForPendingRequests (int msec=-1)
 Blocks the current thread until the queue is empty. More...
 

Friends

class QgsTileDownloadManagerReply
 
class QgsTileDownloadManagerReplyWorkerObject
 
class QgsTileDownloadManagerWorker
 

Detailed Description

Tile download manager handles downloads of map tiles for the purpose of map rendering.

The purpose of this class is to handle a couple of situations that may happen:

At this point, it is not recommended to use this class for other scenarios than map rendering: using it elsewhere could slow down map rendering or have some unexpected negative effects.

How do things work:

Since
QGIS 3.18

Definition at line 185 of file qgstiledownloadmanager.h.

Constructor & Destructor Documentation

◆ QgsTileDownloadManager()

QgsTileDownloadManager::QgsTileDownloadManager ( )

Definition at line 146 of file qgstiledownloadmanager.cpp.

◆ ~QgsTileDownloadManager()

QgsTileDownloadManager::~QgsTileDownloadManager ( )

Definition at line 153 of file qgstiledownloadmanager.cpp.

Member Function Documentation

◆ get()

QgsTileDownloadManagerReply * QgsTileDownloadManager::get ( const QNetworkRequest &  request)

Starts a request.

Returns a new object that should be deleted by the caller when not needed anymore.

Definition at line 159 of file qgstiledownloadmanager.cpp.

◆ hasPendingRequests()

bool QgsTileDownloadManager::hasPendingRequests ( ) const

Returns whether there are any pending requests in the queue.

Definition at line 204 of file qgstiledownloadmanager.cpp.

◆ hasWorkerThreadRunning()

bool QgsTileDownloadManager::hasWorkerThreadRunning ( ) const

Returns whether the worker thread is running currently (it may be stopped if there were no requests recently.

Definition at line 254 of file qgstiledownloadmanager.cpp.

◆ resetStatistics()

void QgsTileDownloadManager::resetStatistics ( )

Resets statistics of numbers of queries handled by this class.

Definition at line 259 of file qgstiledownloadmanager.cpp.

◆ setIdleThreadTimeout()

void QgsTileDownloadManager::setIdleThreadTimeout ( int  timeoutMs)
inline

Sets after how many milliseconds the idle worker therad should terminate.

This function is meant mainly for unit testing.

Definition at line 258 of file qgstiledownloadmanager.h.

◆ shutdown()

void QgsTileDownloadManager::shutdown ( )

Asks the worker thread to stop and blocks until it is not stopped.

Definition at line 229 of file qgstiledownloadmanager.cpp.

◆ statistics()

Stats QgsTileDownloadManager::statistics ( )
inline

Returns basic statistics of the queries handled by this class.

Definition at line 261 of file qgstiledownloadmanager.h.

◆ waitForPendingRequests()

bool QgsTileDownloadManager::waitForPendingRequests ( int  msec = -1)

Blocks the current thread until the queue is empty.

This should not be used in production code, it is however useful for auto tests

Definition at line 211 of file qgstiledownloadmanager.cpp.

Friends And Related Function Documentation

◆ QgsTileDownloadManagerReply

friend class QgsTileDownloadManagerReply
friend

Definition at line 267 of file qgstiledownloadmanager.h.

◆ QgsTileDownloadManagerReplyWorkerObject

friend class QgsTileDownloadManagerReplyWorkerObject
friend

Definition at line 268 of file qgstiledownloadmanager.h.

◆ QgsTileDownloadManagerWorker

friend class QgsTileDownloadManagerWorker
friend

Definition at line 266 of file qgstiledownloadmanager.h.


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