// SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert // SPDX-FileCopyrightText: 2022 Linus Jahn // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef QXMPPHTTPFILESHARINGPROVIDER_H #define QXMPPHTTPFILESHARINGPROVIDER_H #include "QXmppFileSharingProvider.h" #include "QXmppHttpFileSource.h" class QXmppHttpUploadManager; class QNetworkAccessManager; class QXmppHttpFileSharingProviderPrivate; class QXMPP_EXPORT QXmppHttpFileSharingProvider : public QXmppFileSharingProvider { public: /// \cond using SourceType = QXmppHttpFileSource; /// \endcond QXmppHttpFileSharingProvider(QXmppHttpUploadManager *manager, QNetworkAccessManager *netManager); ~QXmppHttpFileSharingProvider() override; auto downloadFile(const std::any &source, std::unique_ptr target, std::function reportProgress, std::function reportFinished) -> std::shared_ptr override; auto uploadFile(std::unique_ptr source, const QXmppFileMetadata &info, std::function reportProgress, std::function reportFinished) -> std::shared_ptr override; private: std::unique_ptr d; }; #endif // QXMPPHTTPFILESHARINGPROVIDER_H