struct CCL::Web::IWebFileClient

Overview

Client interface for web based file systems protocol. More…

#include <iwebfileclient.h>

struct IWebFileClient: public CCL::IUnknown
{
    // structs

    struct DirEntry;
    struct IDirIterator;
    struct ServerInfo;

    // methods

    virtual tresult CCL_API getServerInfo (StringRef remotePath, ServerInfo& info) = 0;
    virtual tresult CCL_API getFileInfo (StringRef remotePath, DirEntry& info) = 0;

    virtual tresult CCL_API makeDirectory (
        String& resultPath,
        StringRef remotePath,
        StringRef name
    ) = 0;

    virtual IDirIterator*CCL_API openDirectory (
        StringRef remotePath,
        IProgressNotify* progress
    ) = 0;

    virtual tresult CCL_API deleteResource (StringRef remotePath) = 0;

    virtual tresult CCL_API copyResource (
        String& resultPath,
        StringRef sourcePath,
        StringRef destPath
    ) = 0;

    virtual tresult CCL_API moveResource (
        String& resultPath,
        StringRef sourcePath,
        StringRef destPath,
        StringRef newName = String::kEmpty
    ) = 0;

    virtual tresult CCL_API uploadResource (
        String& resultPath,
        IStream& localStream,
        StringRef remotePath,
        StringRef fileName,
        StringID contentType,
        IProgressNotify* progress
    ) = 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

Client interface for web based file systems protocol.

Methods

virtual tresult CCL_API getServerInfo (StringRef remotePath, ServerInfo& info) = 0

Return server information in the info struct.

virtual tresult CCL_API getFileInfo (StringRef remotePath, DirEntry& info) = 0

Return file information in the info struct.

virtual tresult CCL_API makeDirectory (
    String& resultPath,
    StringRef remotePath,
    StringRef name
) = 0

Make a directory at the given location.

virtual IDirIterator*CCL_API openDirectory (
    StringRef remotePath,
    IProgressNotify* progress
) = 0

Open a directory for reading.

Iterator must be released by caller.

virtual tresult CCL_API deleteResource (StringRef remotePath) = 0

Delete the resource are the given location.

This is a deep delete.

virtual tresult CCL_API copyResource (
    String& resultPath,
    StringRef sourcePath,
    StringRef destPath
) = 0

Copy the resource to the new location.

This is a deep copy.

virtual tresult CCL_API moveResource (
    String& resultPath,
    StringRef sourcePath,
    StringRef destPath,
    StringRef newName = String::kEmpty
) = 0

Move the resource to the new location (newName is optional.

If it is set, the destPath is the new parent path)

virtual tresult CCL_API uploadResource (
    String& resultPath,
    IStream& localStream,
    StringRef remotePath,
    StringRef fileName,
    StringID contentType,
    IProgressNotify* progress
) = 0

Upload local file to new remote ressource.