struct CCL::Web::ITransferManager

Overview

#include <itransfermanager.h>

struct ITransferManager: public CCL::IUnknown
{
    // enums

    enum QueueOptions;

    // structs

    struct ActivityInfo;

    // fields

    UrlRef src;
    UrlRef ITransfer::Direction dir;
    UrlRef ITransfer::Direction IWebCredentials* credentials = nullptr;
    UrlRef ITransfer::Direction IWebCredentials ITransferHandler* handler = nullptr) = 0;

    // methods

    DECLARE_STRINGID_MEMBER (kTransferAdded);
    virtual tresult CCL_API queue (ITransfer* transfer, int options = 0) = 0;
    virtual tresult CCL_API cancel (ITransfer* transfer) = 0;
    virtual tresult CCL_API restart (ITransfer* transfer) = 0;
    virtual tresult CCL_API pause (ITransfer* transfer) = 0;
    virtual tresult CCL_API resume (ITransfer* transfer) = 0;
    virtual tresult CCL_API remove (ITransfer* transfer, tbool force = false) = 0;
    virtual tresult CCL_API removeAll (tbool force = false) = 0;
    virtual IUnknownIterator*CCL_API createIterator () const = 0;
    virtual ITransfer*CCL_API find (ITransfer* transfer) const = 0;
    virtual void CCL_API getActivity (ActivityInfo& activity) const = 0;

    virtual tresult CCL_API perform (
        ITransfer* transfer,
        IProgressNotify* progress = nullptr
    ) = 0;

    virtual tresult CCL_API downloadFile (
        IUrl& dst,
        UrlRef src,
        IWebCredentials* credentials = nullptr,
        IProgressNotify* progress = nullptr
    ) = 0;

    virtual void CCL_API setFormatter (ITransferFormatter* formatter) = 0;
    virtual tresult CCL_API restore () = 0;
    virtual tresult CCL_API store () = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Methods

DECLARE_STRINGID_MEMBER (kTransferAdded)

< arg[0]: ITransfer

Create transfer object.

virtual tresult CCL_API queue (ITransfer* transfer, int options = 0) = 0

Add transfer to queue.

The transfer will be shared.

virtual tresult CCL_API cancel (ITransfer* transfer) = 0

Cancel transfer.

virtual tresult CCL_API restart (ITransfer* transfer) = 0

Restart transfer.

virtual tresult CCL_API pause (ITransfer* transfer) = 0

Pause transfer.

virtual tresult CCL_API resume (ITransfer* transfer) = 0

Resume transfer.

virtual tresult CCL_API remove (ITransfer* transfer, tbool force = false) = 0

Remove transfer.

If not forced, a working transfer will remain active.

virtual tresult CCL_API removeAll (tbool force = false) = 0

Remove (and optionally cancel) all transfers.

virtual IUnknownIterator*CCL_API createIterator () const = 0

Create iterator of transfer objects.

virtual ITransfer*CCL_API find (ITransfer* transfer) const = 0

Find existing instance of given transfer.

virtual void CCL_API getActivity (ActivityInfo& activity) const = 0

Get transfer activity.

virtual tresult CCL_API perform (
    ITransfer* transfer,
    IProgressNotify* progress = nullptr
) = 0

Perform given transfer synchronously.

The transfer object is not added to the queue.

virtual tresult CCL_API downloadFile (
    IUrl& dst,
    UrlRef src,
    IWebCredentials* credentials = nullptr,
    IProgressNotify* progress = nullptr
) = 0

Shortcut to download file synchronously.

Safe to be called from main thread. Destination URL can accommodate to file name from server.

virtual void CCL_API setFormatter (ITransferFormatter* formatter) = 0

Assign formatter for transfer status.

virtual tresult CCL_API restore () = 0

Restore finished transfers.

virtual tresult CCL_API store () = 0

Store finished transfers.