From 68f167995e7ba71a6f2e556a7a0eab3d234e2d1a Mon Sep 17 00:00:00 2001 From: Jonah BrĂ¼chert Date: Fri, 9 Sep 2022 23:15:10 +0200 Subject: Implement XEP-0448: Stateless File Sharing This adds a file sharing manager that is capable of using multiple back ends. Currently implemented are a normal HTTP File Upload backend and an encrypted HTTP File Upload. Jingle File Transfer could be implemented later. Co-authored-by: Linus Jahn --- src/client/QXmppUpload.cpp | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/client/QXmppUpload.cpp (limited to 'src/client/QXmppUpload.cpp') diff --git a/src/client/QXmppUpload.cpp b/src/client/QXmppUpload.cpp new file mode 100644 index 00000000..e7b876e5 --- /dev/null +++ b/src/client/QXmppUpload.cpp @@ -0,0 +1,47 @@ +// SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert +// +// SPDX-License-Identifier: LGPL-2.1-or-later + +#include "QXmppUpload.h" + +/// +/// \class QXmppUpload +/// +/// \brief Provides progress of stateless file sharing uploads. +/// +/// \since QXmpp 1.5 +/// + +/// +/// \class QXmppUpload::FileResult +/// +/// \brief Contains QXmppFileShare of the uploaded file and possible data blobs containing +/// referenced thumbnails. +/// + +/// +/// \var QXmppUpload::FileResult::fileShare +/// +/// \brief File share with file metadata and file shares of the uploaded file. +/// + +/// +/// \var QXmppUpload::FileResult::dataBlobs +/// +/// \brief Data blobs of possibly in the metadata referenced thumbnails. +/// +/// The QXmppFileSharingManager may generate file thumbnails. +/// + +/// +/// \typedef QXmppUpload::Result +/// +/// \brief Contains FileResult (successfully finished), QXmpp::Cancelled (manually cancelled) +/// or QXmppError (an error occured while downloading). +/// + +/// +/// \fn QXmppUpload::finished +/// +/// Emitted when the upload has finished. +/// -- cgit v1.2.3