Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Merge pull request #6872 from 3nids/fetchregistry
QgsNetworkContentFetcherRegistry: a registry for temporary downloaded files
- Loading branch information
Showing
with
698 additions
and 0 deletions.
- +1 −0 python/core/core_auto.sip
- +7 −0 python/core/qgsapplication.sip.in
- +156 −0 python/core/qgsnetworkcontentfetcherregistry.sip.in
- +2 −0 src/core/CMakeLists.txt
- +8 −0 src/core/qgsapplication.cpp
- +8 −0 src/core/qgsapplication.h
- +192 −0 src/core/qgsnetworkcontentfetcherregistry.cpp
- +179 −0 src/core/qgsnetworkcontentfetcherregistry.h
- +1 −0 tests/src/python/CMakeLists.txt
- +144 −0 tests/src/python/test_qgsnetworkcontentfetcherregistry.py
@@ -0,0 +1,156 @@ | ||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsnetworkcontentfetcherregistry.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
class QgsFetchedContent : QObject | ||
{ | ||
%Docstring | ||
FetchedContent holds useful information about a network content being fetched | ||
|
||
.. seealso:: :py:class:`QgsNetworkContentFetcherRegistry` | ||
|
||
.. versionadded:: 3.2 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsnetworkcontentfetcherregistry.h" | ||
%End | ||
public: | ||
enum ContentStatus | ||
{ | ||
NotStarted, | ||
Downloading, | ||
Finished, | ||
Failed | ||
}; | ||
|
||
explicit QgsFetchedContent( QTemporaryFile *file = 0, ContentStatus status = NotStarted ); | ||
%Docstring | ||
Constructs a FetchedContent with pointer to the downloaded file and status of the download | ||
%End | ||
~QgsFetchedContent(); | ||
|
||
|
||
|
||
const QString filePath() const; | ||
%Docstring | ||
Return the path to the local file, an empty string if the file is not accessible yet. | ||
%End | ||
|
||
ContentStatus status() const; | ||
%Docstring | ||
Return the status of the download | ||
%End | ||
|
||
QNetworkReply::NetworkError error() const; | ||
%Docstring | ||
Return the potential error of the download | ||
%End | ||
|
||
public slots: | ||
|
||
void download( bool redownload = false ); | ||
%Docstring | ||
Start the download | ||
|
||
:param redownload: if set to true, it will restart any achieved or pending download. | ||
%End | ||
|
||
void cancel(); | ||
%Docstring | ||
Cancel the download operation | ||
%End | ||
|
||
signals: | ||
void fetched(); | ||
%Docstring | ||
Emitted when the file is fetched and accessible | ||
%End | ||
|
||
void downloadStarted( const bool redownload ); | ||
%Docstring | ||
Emitted when the download actually starts | ||
%End | ||
|
||
void cancelTriggered(); | ||
%Docstring | ||
Emitted when download is canceled. | ||
%End | ||
|
||
void taskCompleted(); | ||
%Docstring | ||
Emitted when the download is finished (although file not accessible yet) | ||
%End | ||
|
||
}; | ||
|
||
class QgsNetworkContentFetcherRegistry : QObject | ||
{ | ||
%Docstring | ||
Registry for temporary fetched files | ||
|
||
This provides a simple way of downloading and accessing | ||
remote files during QGIS application running. | ||
|
||
.. seealso:: :py:class:`QgsFetchedContent` | ||
|
||
.. versionadded:: 3.2 | ||
%End | ||
|
||
%TypeHeaderCode | ||
#include "qgsnetworkcontentfetcherregistry.h" | ||
%End | ||
public: | ||
enum FetchingMode | ||
{ | ||
DownloadLater, | ||
DownloadImmediately, | ||
}; | ||
|
||
explicit QgsNetworkContentFetcherRegistry(); | ||
%Docstring | ||
Create the registry for temporary downloaded files | ||
%End | ||
|
||
~QgsNetworkContentFetcherRegistry(); | ||
|
||
const QgsFetchedContent *fetch( const QUrl &url, const FetchingMode fetchingMode = DownloadLater ); | ||
%Docstring | ||
Initialize a download for the given URL | ||
|
||
:param url: the URL to be fetched | ||
:param fetchingMode: defines if the download will start immediately or shall be manually triggered | ||
|
||
.. note:: | ||
|
||
If the download starts immediately, it will not redownload any already fetched or currently fetching file. | ||
%End | ||
|
||
|
||
QString localPath( const QString &filePathOrUrl ); | ||
%Docstring | ||
Returns the path to a local file or to a temporary file previously fetched by the registry | ||
|
||
:param filePathOrUrl: can either be a local file path or a remote content which has previously been fetched | ||
%End | ||
|
||
}; | ||
|
||
/************************************************************************ | ||
* This file has been generated automatically from * | ||
* * | ||
* src/core/qgsnetworkcontentfetcherregistry.h * | ||
* * | ||
* Do not edit manually ! Edit header and run scripts/sipify.pl again * | ||
************************************************************************/ |
Oops, something went wrong.