struct CCL::Web::IRemoteSession

Overview

#include <iwebfiletask.h>

struct IRemoteSession: public CCL::IUnknown
{
    // methods

    virtual IWebFileClient&CCL_API getClient () = 0;
    virtual IFileSystem&CCL_API getFileSystem () = 0;
    virtual void CCL_API getRemotePath (String& remotePath, UrlRef webfsUrl) = 0;
    virtual void CCL_API getWebfsUrl (IUrl& webfsUrl, StringRef remotePath) = 0;

    virtual tbool CCL_API downloadFile (
        UrlRef webfsUrl,
        UrlRef localPath,
        IProgressNotify* progress = nullptr
    ) = 0;

    virtual tbool CCL_API uploadFile (
        UrlRef localPath,
        UrlRef webfsUrl,
        IProgressNotify* progress = nullptr
    ) = 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

virtual IWebFileClient&CCL_API getClient () = 0

Get file client interface.

virtual IFileSystem&CCL_API getFileSystem () = 0

Get file system interface.

virtual void CCL_API getRemotePath (String& remotePath, UrlRef webfsUrl) = 0

Translate WebFS URL to remote path.

virtual void CCL_API getWebfsUrl (IUrl& webfsUrl, StringRef remotePath) = 0

Translate remote path to WebFS URL.

virtual tbool CCL_API downloadFile (
    UrlRef webfsUrl,
    UrlRef localPath,
    IProgressNotify* progress = nullptr
) = 0

Download file from remote to local system.

virtual tbool CCL_API uploadFile (
    UrlRef localPath,
    UrlRef webfsUrl,
    IProgressNotify* progress = nullptr
) = 0

Upload file from local to remote system.