struct CCL::IPresetFileHandler

Overview

#include <ipreset.h>

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

    enum Flags;

    // methods

    virtual int CCL_API getFlags () = 0;
    virtual tbool CCL_API canHandle (IUnknown* target) = 0;

    virtual tbool CCL_API getWriteLocation (
        IUrl& url,
        IAttributeList* metaInfo = nullptr
    ) = 0;

    virtual tbool CCL_API getReadLocation (
        IUrl& url,
        IAttributeList* metaInfo,
        int index
    ) = 0;

    virtual tbool CCL_API getSubFolder (String& subFolder, IAttributeList& metaInfo) = 0;
    virtual const FileType&CCL_API getFileType () = 0;

    virtual IPreset*CCL_API openPreset (
        UrlRef url,
        IPresetDescriptor* descriptor = nullptr
    ) = 0;

    virtual IPreset*CCL_API createPreset (UrlRef url, IAttributeList& metaInfo) = 0;
    virtual int CCL_API getTargetFlags (IUnknown* target) = 0;
    virtual const FileType&CCL_API getFileType (int index) = 0;
    DECLARE_STRINGID_MEMBER (kPresetLocationsChanged);
};

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 int CCL_API getFlags () = 0

Get handler capability flags.

virtual tbool CCL_API canHandle (IUnknown* target) = 0

Check if target can be handled.

virtual tbool CCL_API getWriteLocation (
    IUrl& url,
    IAttributeList* metaInfo = nullptr
) = 0

Get location for writing presets, metaInfo can be null (root location).

virtual tbool CCL_API getReadLocation (
    IUrl& url,
    IAttributeList* metaInfo,
    int index
) = 0

Get location(s) for reading presets, metaInfo can be null (root location).

virtual tbool CCL_API getSubFolder (String& subFolder, IAttributeList& metaInfo) = 0

Get subFolder (relative to a root location) for given metaInfo.

virtual const FileType&CCL_API getFileType () = 0

Get preset file type (legacy method, handlers with multiple types should return the most important / default type here).

virtual IPreset*CCL_API openPreset (
    UrlRef url,
    IPresetDescriptor* descriptor = nullptr
) = 0

Open preset from given location; use optional descriptor to restore cached meta information.

virtual IPreset*CCL_API createPreset (UrlRef url, IAttributeList& metaInfo) = 0

Create preset at given location.

virtual int CCL_API getTargetFlags (IUnknown* target) = 0

Get handler capability flags for target - canHandle and getFlags combined.

virtual const FileType&CCL_API getFileType (int index) = 0

Get supported preset file types; returns empty FileType when done.