16#ifndef QGSWEBDAVEXTERNALSTORAGE_H
17#define QGSWEBDAVEXTERNALSTORAGE_H
30class QgsHttpExternalStorageStoreTask;
43 QString
type()
const override;
61 QString
type()
const override;
66 QgsExternalStorageStoredContent *
doStore(
const QString &filePath,
const QString &url,
const QString &authcfg = QString() )
const override;
68 QgsExternalStorageFetchedContent *
doFetch(
const QString &url,
const QString &authConfig = QString() )
const override;
81 QgsHttpExternalStorageStoredContent(
const QString &filePath,
const QString &url,
const QString &authcfg = QString() );
85 QString
url()
const override;
87 void store()
override;
89 void setPrepareRequestHandler( std::function<
void( QNetworkRequest &request, QFile *f ) > );
92 std::function< void( QNetworkRequest &request, QFile *f ) > mPrepareRequestHandler =
nullptr;
93 QPointer<QgsHttpExternalStorageStoreTask> mUploadTask;
107 QgsHttpExternalStorageFetchedContent( QgsFetchedContent *fetchedContent );
113 void fetch()
override;
120 QPointer<QgsFetchedContent> mFetchedContent;
129class QgsHttpExternalStorageStoreTask :
public QgsTask
134 QgsHttpExternalStorageStoreTask(
const QUrl &url,
const QString &filePath,
const QString &authCfg );
136 ~QgsHttpExternalStorageStoreTask()
override;
142 QString errorString()
const;
144 void setPrepareRequestHandler( std::function<
void( QNetworkRequest &request, QFile *f ) > );
147 std::function< void( QNetworkRequest &request, QFile *f ) > mPrepareRequestHandler =
nullptr;
149 const QString mFilePath;
150 const QString mAuthCfg;
151 std::unique_ptr<QgsFeedback> mFeedback;
152 QString mErrorString;
virtual void cancel()
Cancels content fetching/storing.
Abstract base class for QgsExternalStorage fetched content.
virtual QString filePath() const =0
Returns fetched resource file path.
virtual void fetch()=0
Starts fetching.
Abstract base class for QgsExternalStorage stored content.
virtual QString url() const =0
Returns stored resource URL.
virtual void store()=0
Starts storing.
Abstract interface for external storage - to be implemented by various backends and registered in Qgs...
virtual QString type() const =0
Unique identifier of the external storage type.
virtual QgsExternalStorageFetchedContent * doFetch(const QString &url, const QString &authCfg=QString()) const =0
Fetches file from url using authCfg for this project external storage.
virtual QgsExternalStorageStoredContent * doStore(const QString &filePath, const QString &url, const QString &authCfg=QString()) const =0
Stores file filePath to the url using authCfg authentication for this project external storage.
virtual QString displayName() const =0
Returns the translated external storage name, which should be used for any user-visible display of th...
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Holds information about fetched network content.
Abstract base class for long running background tasks.
virtual bool run()=0
Performs the task's operation.
virtual void cancel()
Notifies the task that it should terminate.