QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
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 () const
 Returns basic statistics of the queries handled by this class. More...
 
bool waitForPendingRequests (int msec=-1) const
 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 202 of file qgstiledownloadmanager.h.

Constructor & Destructor Documentation

◆ QgsTileDownloadManager()

QgsTileDownloadManager::QgsTileDownloadManager ( )

Definition at line 187 of file qgstiledownloadmanager.cpp.

◆ ~QgsTileDownloadManager()

QgsTileDownloadManager::~QgsTileDownloadManager ( )

Definition at line 206 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 212 of file qgstiledownloadmanager.cpp.

◆ hasPendingRequests()

bool QgsTileDownloadManager::hasPendingRequests ( ) const

Returns whether there are any pending requests in the queue.

Definition at line 264 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 314 of file qgstiledownloadmanager.cpp.

◆ resetStatistics()

void QgsTileDownloadManager::resetStatistics ( )

Resets statistics of numbers of queries handled by this class.

Definition at line 319 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 275 of file qgstiledownloadmanager.h.

◆ shutdown()

void QgsTileDownloadManager::shutdown ( )

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

Definition at line 289 of file qgstiledownloadmanager.cpp.

◆ statistics()

Stats QgsTileDownloadManager::statistics ( ) const
inline

Returns basic statistics of the queries handled by this class.

Definition at line 278 of file qgstiledownloadmanager.h.

◆ waitForPendingRequests()

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

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 271 of file qgstiledownloadmanager.cpp.

Friends And Related Function Documentation

◆ QgsTileDownloadManagerReply

friend class QgsTileDownloadManagerReply
friend

Definition at line 284 of file qgstiledownloadmanager.h.

◆ QgsTileDownloadManagerReplyWorkerObject

friend class QgsTileDownloadManagerReplyWorkerObject
friend

Definition at line 285 of file qgstiledownloadmanager.h.

◆ QgsTileDownloadManagerWorker

friend class QgsTileDownloadManagerWorker
friend

Definition at line 283 of file qgstiledownloadmanager.h.


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