QXmpp Version: 1.10.0
Public Member Functions | List of all members
QXmppHttpFileSharingProvider Class Reference
Inheritance diagram for QXmppHttpFileSharingProvider:
Inheritance graph
[legend]
Collaboration diagram for QXmppHttpFileSharingProvider:
Collaboration graph
[legend]

Public Member Functions

 QXmppHttpFileSharingProvider (QXmppHttpUploadManager *manager, QNetworkAccessManager *netManager)
 Create a QXmppHttpFileSharingProvider. More...
 
auto downloadFile (const std::any &source, std::unique_ptr< QIODevice > target, std::function< void(quint64, quint64)> reportProgress, std::function< void(DownloadResult)> reportFinished) -> std::shared_ptr< Download > override
 Handles the download of files for this provider. More...
 
auto uploadFile (std::unique_ptr< QIODevice > source, const QXmppFileMetadata &info, std::function< void(quint64, quint64)> reportProgress, std::function< void(UploadResult)> reportFinished) -> std::shared_ptr< Upload > override
 Handles the upload of a file for this provider. More...
 
virtual auto downloadFile (const std::any &source, std::unique_ptr< QIODevice > target, std::function< void(quint64, quint64)> reportProgress, std::function< void(DownloadResult)> reportFinished) -> std::shared_ptr< Download >=0
 Handles the download of files for this provider. More...
 
virtual auto uploadFile (std::unique_ptr< QIODevice > source, const QXmppFileMetadata &info, std::function< void(quint64, quint64)> reportProgress, std::function< void(UploadResult)> reportFinished) -> std::shared_ptr< Upload >=0
 Handles the upload of a file for this provider. More...
 

Additional Inherited Members

- Public Types inherited from QXmppFileSharingProvider
using DownloadResult = std::variant< QXmpp::Success, QXmpp::Cancelled, QXmppError >
 
using UploadResult = std::variant< std::any, QXmpp::Cancelled, QXmppError >
 

Detailed Description

A file sharing provider that uses HTTP File Upload to upload and download files.

Since
QXmpp 1.5

Constructor & Destructor Documentation

◆ QXmppHttpFileSharingProvider()

QXmppHttpFileSharingProvider::QXmppHttpFileSharingProvider ( QXmppHttpUploadManager manager,
QNetworkAccessManager *  netManager 
)

Create a QXmppHttpFileSharingProvider.

Parameters
manager
netManagerQNetworkAccessManager that can be reused all over your application.

Member Function Documentation

◆ downloadFile()

auto QXmppHttpFileSharingProvider::downloadFile ( const std::any &  source,
std::unique_ptr< QIODevice >  target,
std::function< void(quint64, quint64)>  reportProgress,
std::function< void(DownloadResult)>  reportFinished 
) -> std::shared_ptr< Download >
overridevirtual

Handles the download of files for this provider.

Parameters
sourceA type-erased source object. The provider will only ever have to handle its own sources, so this can safely be casted to the defined source type.
targetQIODevice into which the received data should be written
reportProgressCan be called to report received bytes and total bytes
reportFinishedFinalizes the download, no more progress must be reported after this

Implements QXmppFileSharingProvider.

◆ uploadFile()

auto QXmppHttpFileSharingProvider::uploadFile ( std::unique_ptr< QIODevice >  source,
const QXmppFileMetadata info,
std::function< void(quint64, quint64)>  reportProgress,
std::function< void(UploadResult)>  reportFinished 
) -> std::shared_ptr< Upload >
overridevirtual

Handles the upload of a file for this provider.

Parameters
sourceA QIODevice from which data for uploading should be read.
infoMetadata of the file
reportProgressCan be called to report sent bytes and total bytes
reportFinishedFinalizes the upload, no more progress must be reported after this

Implements QXmppFileSharingProvider.


The documentation for this class was generated from the following files: