LeechCraft Azoth 0.6.70-18450-gabe19ee3b0
Modular multiprotocol IM plugin for LeechCraft
Loading...
Searching...
No Matches
LC::Azoth::ITransferManager Class Referenceabstract

This interface must be implemented by transfer managers returned from IAccount::GetTransferManager(). More...

#include "itransfermanager.h"

Public Member Functions

virtual ~ITransferManager ()=default
virtual Emitters::TransferManager & GetTransferManagerEmitter ()=0
virtual bool IsAvailable () const =0
 Returns whether the transfer manager is available.
virtual ITransferJobAccept (const IncomingOffer &offer, const QString &savePath)=0
virtual void Decline (const IncomingOffer &)=0
virtual ITransferJobSendFile (const QString &id, const QString &variant, const QString &path, const QString &comment)=0
 Requests a file transfer with the remote party.

Detailed Description

This interface must be implemented by transfer managers returned from IAccount::GetTransferManager().

Definition at line 96 of file itransfermanager.h.

Constructor & Destructor Documentation

◆ ~ITransferManager()

virtual LC::Azoth::ITransferManager::~ITransferManager ( )
virtualdefault

Member Function Documentation

◆ Accept()

virtual ITransferJob * LC::Azoth::ITransferManager::Accept ( const IncomingOffer & offer,
const QString & savePath )
pure virtual

◆ Decline()

virtual void LC::Azoth::ITransferManager::Decline ( const IncomingOffer & )
pure virtual

◆ GetTransferManagerEmitter()

virtual Emitters::TransferManager & LC::Azoth::ITransferManager::GetTransferManagerEmitter ( )
pure virtual

◆ IsAvailable()

virtual bool LC::Azoth::ITransferManager::IsAvailable ( ) const
pure virtual

Returns whether the transfer manager is available.

This method returns whether file transfers are available via the corresponding IAccount.

For example, an XMPP implementation may have in-band transfers prohibited and no SOCKS server to perform the transfers out of band. In this case this method should return false, though technically XMPP supports file transfers.

Returns
Whether files can be sent right now through this transfer manager.

◆ SendFile()

virtual ITransferJob * LC::Azoth::ITransferManager::SendFile ( const QString & id,
const QString & variant,
const QString & path,
const QString & comment )
pure virtual

Requests a file transfer with the remote party.

The entry is identified by the ID, which is the result of ICLEntry::GetEntryID().

If the variant is an empty string, or there is no such variant, the file should be transferred to the variant with the highest priority.

The returned object (which must implement ITransferJob) represents the file transfer request, and, further on, the file transfer job, should it be accepted.

The returned object is owned by the plugin.

Parameters
[in]idThe id of the remote party, as ICLEntry::GetEntryID().
[in]variantThe entry variant to send the file to.
[in]pathThe path to the file that should be transferred.
[in]commentThe comment describing the file to be sent, if applicable.
Returns
The transfer job object representing this transfer and implement ITransferJob.

The documentation for this class was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/leechcraft-doc-0.6.70+git.18450.gabe19ee3b0-build/leechcraft-0.6.70-18450-gabe19ee3b0/src/plugins/azoth/interfaces/azoth/itransfermanager.h