// SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert // SPDX-FileCopyrightText: 2022 Linus Jahn // // SPDX-License-Identifier: LGPL-2.1-or-later #ifndef QXMPPENCRYPTEDHTTPFILESHARINGPROVIDER_H #define QXMPPENCRYPTEDHTTPFILESHARINGPROVIDER_H #include "QXmppEncryptedFileSource.h" #include "QXmppHttpFileSharingProvider.h" class QXmppFileSharingManager; class QXmppEncryptedFileSharingProviderPrivate; class QXMPP_EXPORT QXmppEncryptedFileSharingProvider : public QXmppFileSharingProvider { public: /// \cond using SourceType = QXmppEncryptedFileSource; /// \endcond QXmppEncryptedFileSharingProvider(QXmppFileSharingManager *manager, std::shared_ptr uploadBaseProvider); ~QXmppEncryptedFileSharingProvider() 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 // QXMPPENCRYPTEDHTTPFILESHARINGPROVIDER_H