struct CCL::IFileTypeRegistry

Overview

File type registry. More…

#include <ifileutilities.h>

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

    virtual const FileType&CCL_API getDefaultFileType (int which) const = 0;
    virtual tresult CCL_API registerFileType (const FileType& fileType) = 0;
    virtual tresult CCL_API unregisterFileType (const FileType& fileType) = 0;
    virtual tresult CCL_API updateFileType (const FileType& fileType) = 0;
    virtual const FileType*CCL_API getFileTypeByUrl (UrlRef path) const = 0;
    virtual const FileType*CCL_API getFileTypeByExtension (StringRef extension) const = 0;
    virtual const FileType*CCL_API getFileTypeByMimeType (StringRef mimeType) const = 0;
    virtual IFileTypeIterator*CCL_API newIterator () const = 0;
    virtual tresult CCL_API registerHandler (IFileHandler* handler) = 0;
    virtual tresult CCL_API unregisterHandler (IFileHandler* handler) = 0;
    virtual IFileHandler&CCL_API getHandlers () = 0;
    virtual IUnknownIterator*CCL_API newHandlerIterator () const = 0;
    virtual void CCL_API setFileTypeClassifier (IFileTypeClassifier* classifier) = 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

File type registry.

Access via System::GetFileTypeRegistry().

Threading Policy: The current implementation is NOT thread-safe! It must be called from the main thread only.

Methods

virtual const FileType&CCL_API getDefaultFileType (int which) const = 0

Get default built-in file type by symbolic identifier (see filetype.h).

virtual tresult CCL_API registerFileType (const FileType& fileType) = 0

Register file type.

virtual tresult CCL_API unregisterFileType (const FileType& fileType) = 0

Unregister file type.

virtual tresult CCL_API updateFileType (const FileType& fileType) = 0

Update file type description.

virtual const FileType*CCL_API getFileTypeByUrl (UrlRef path) const = 0

Get file type by URL.

virtual const FileType*CCL_API getFileTypeByExtension (StringRef extension) const = 0

Get file type by file extension.

virtual const FileType*CCL_API getFileTypeByMimeType (StringRef mimeType) const = 0

Get file type by MIME type.

virtual IFileTypeIterator*CCL_API newIterator () const = 0

Iterate registered file types.

virtual tresult CCL_API registerHandler (IFileHandler* handler) = 0

Register file handler.

virtual tresult CCL_API unregisterHandler (IFileHandler* handler) = 0

Unregister file handler.

virtual IFileHandler&CCL_API getHandlers () = 0

Get interface to combined file handlers.

virtual IUnknownIterator*CCL_API newHandlerIterator () const = 0

Iterate registered file handlers.

virtual void CCL_API setFileTypeClassifier (IFileTypeClassifier* classifier) = 0

Set external file type classifier.