class CCL::AbstractDataTransformer

Overview

Base class for implementing data transformers. More…

#include <idatatransformer.h>

class AbstractDataTransformer: public CCL::IDataTransformer
{
public:
    // methods

    virtual tresult CCL_API suggestBufferSizes (int& sourceSize, int& destSize);
    virtual tresult CCL_API open (int sourceSize, int destSize);
    virtual void CCL_API close ();
    virtual void CCL_API reset ();
};

Inherited Members

public:
    // enums

    enum Constants;
    enum Mode;

    // 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;
    virtual tresult CCL_API suggestBufferSizes (int& sourceSize, int& destSize) = 0;
    virtual tresult CCL_API open (int sourceSize, int destSize) = 0;

    virtual tresult CCL_API transform (
        const TransformData& data,
        int& sourceUsed,
        int& destUsed
    ) = 0;

    virtual void CCL_API close () = 0;
    virtual void CCL_API reset () = 0;

Detailed Documentation

Base class for implementing data transformers.

Methods

virtual tresult CCL_API suggestBufferSizes (int& sourceSize, int& destSize)

The caller proposes sizes which can be adjusted by transformer.

virtual tresult CCL_API open (int sourceSize, int destSize)

Begin transformation with specified input/output buffer sizes.

virtual void CCL_API close ()

End transformation.

virtual void CCL_API reset ()

Reset transformation, more efficient than calling close/open.