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