struct CCL::IPresetManager

Overview

#include <ipreset.h>

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

    virtual IPreset*CCL_API openPreset (UrlRef url) = 0;
    virtual IPreset*CCL_API openPreset (const IFileDescriptor& descriptor) = 0;

    virtual IPreset*CCL_API openDefaultPreset (
        IPresetFileHandler& handler,
        IAttributeList* metaInfo
    ) = 0;

    virtual tbool CCL_API supportsFileType (const FileType& fileType) = 0;

    virtual IUnknownList*CCL_API getPresets (
        IAttributeList* metaInfo,
        IProgressNotify* progress = nullptr
    ) = 0;

    virtual void CCL_API getPresetsInBackground (
        IObserver* observer,
        IAttributeList* metaInfo
    ) = 0;

    virtual void CCL_API cancelGetPresets (IObserver* observer) = 0;
    virtual void CCL_API scanPresets (tbool onlyChangedLocations) = 0;

    virtual tbool CCL_API presetExists (
        IAttributeList* metaInfo,
        StringRef name,
        const FileType* fileType = nullptr
    ) = 0;

    virtual tbool CCL_API hasPresets (IAttributeList* metaInfo) = 0;
    virtual tbool CCL_API removePreset (IPreset& preset) = 0;

    virtual tbool CCL_API renamePreset (
        IPreset& preset,
        StringRef newName,
        IUrl* newUrl = nullptr
    ) = 0;

    virtual tbool CCL_API movePreset (IPreset& preset, StringRef newSubfolder) = 0;

    virtual void CCL_API addSortFolder (
        const IAttributeList& metaInfo,
        StringRef path
    ) = 0;

    virtual void CCL_API removeSortFolder (
        const IAttributeList& metaInfo,
        StringRef path
    ) = 0;

    virtual void CCL_API moveSortFolder (
        const IAttributeList& metaInfo,
        StringRef oldPath,
        StringRef newPath
    ) = 0;

    virtual void CCL_API renameSortFolder (
        const IAttributeList& metaInfo,
        StringRef path,
        StringRef newName
    ) = 0;

    virtual tbool CCL_API hasSortFolder (
        const IAttributeList& metaInfo,
        StringRef path
    ) const = 0;

    virtual IUnknownIterator*CCL_API getSortFolders (const IAttributeList& metaInfo) const = 0;
    virtual tbool CCL_API isFavorite (const IPreset& preset) const = 0;
    virtual StringRef CCL_API getFavoriteFolder (const IPreset& preset) const = 0;

    virtual void CCL_API setFavorite (
        const IPreset& preset,
        tbool state,
        StringRef folder = nullptr
    ) = 0;

    virtual IUnknownIterator*CCL_API getFavoritePresets (const IAttributeList& metaInfo) = 0;

    virtual void CCL_API addFavoriteFolder (
        const IAttributeList& metaInfo,
        StringRef path
    ) = 0;

    virtual void CCL_API removeFavoriteFolder (
        const IAttributeList& metaInfo,
        StringRef path
    ) = 0;

    virtual void CCL_API moveFavoriteFolder (
        const IAttributeList& metaInfo,
        StringRef oldPath,
        StringRef newPath
    ) = 0;

    virtual void CCL_API renameFavoriteFolder (
        const IAttributeList& metaInfo,
        StringRef path,
        StringRef newName
    ) = 0;

    virtual IUnknownIterator*CCL_API getFavoriteFolders (const IAttributeList& metaInfo) const = 0;

    virtual tbool CCL_API hasFavoriteFolder (
        const IAttributeList& metaInfo,
        StringRef path
    ) const = 0;

    virtual ISearcher*CCL_API createSearcher (ISearchDescription& description) = 0;
    virtual void CCL_API onPresetCreated (UrlRef url, IPreset& preset) = 0;
    virtual void CCL_API onPresetRemoved (UrlRef url, IPreset& preset) = 0;

    virtual void CCL_API collectSubFolders (
        IMutableArray& subFolders,
        const IAttributeList* metaInfo
    ) = 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 IPreset*CCL_API openPreset (UrlRef url) = 0

Open preset from given location.

virtual IPreset*CCL_API openPreset (const IFileDescriptor& descriptor) = 0

Open preset from given descriptor.

virtual IPreset*CCL_API openDefaultPreset (
    IPresetFileHandler& handler,
    IAttributeList* metaInfo
) = 0

Open default preset.

virtual tbool CCL_API supportsFileType (const FileType& fileType) = 0

Check if file type is supported.

virtual IUnknownList*CCL_API getPresets (
    IAttributeList* metaInfo,
    IProgressNotify* progress = nullptr
) = 0

Get all presets that match the passed meta info.

virtual void CCL_API getPresetsInBackground (
    IObserver* observer,
    IAttributeList* metaInfo
) = 0

Get all presets in background that match the passed meta info.

virtual void CCL_API cancelGetPresets (IObserver* observer) = 0

Stop getting presets in background.

virtual void CCL_API scanPresets (tbool onlyChangedLocations) = 0

Perform scan for presets.

virtual tbool CCL_API presetExists (
    IAttributeList* metaInfo,
    StringRef name,
    const FileType* fileType = nullptr
) = 0

Check if there is a preset with this name and meta info (and optional file type) already exists.

virtual tbool CCL_API hasPresets (IAttributeList* metaInfo) = 0

Check if any preset exists with given meta info.

virtual tbool CCL_API removePreset (IPreset& preset) = 0

Delete preset.

virtual tbool CCL_API renamePreset (
    IPreset& preset,
    StringRef newName,
    IUrl* newUrl = nullptr
) = 0

Rename preset.

virtual tbool CCL_API movePreset (IPreset& preset, StringRef newSubfolder) = 0

Move preset to another folder.

virtual void CCL_API addSortFolder (
    const IAttributeList& metaInfo,
    StringRef path
) = 0

Manage sort folders per meta info.

virtual tbool CCL_API isFavorite (const IPreset& preset) const = 0

Favorite presets per meta info.

virtual tbool CCL_API hasFavoriteFolder (
    const IAttributeList& metaInfo,
    StringRef path
) const = 0

empty path: has any favorites

virtual ISearcher*CCL_API createSearcher (ISearchDescription& description) = 0

Create preset searcher.

virtual void CCL_API onPresetCreated (UrlRef url, IPreset& preset) = 0

Inform preset manager that a new file was created.

virtual void CCL_API onPresetRemoved (UrlRef url, IPreset& preset) = 0

Announce removal of the old preset (can be another file, when a factory preset gets replaced (hidden) by a user preset)

virtual void CCL_API collectSubFolders (
    IMutableArray& subFolders,
    const IAttributeList* metaInfo
) = 0

Collect all distinct ocurring subFolder strings for the given meta info.