struct CCL::IDataTransformer
Overview
Byte-oriented data transformation interface. More…
#include <idatatransformer.h> struct IDataTransformer: public CCL::IUnknown { // enums enum Constants; enum Mode; // methods 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; };
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
Byte-oriented data transformation interface.
Methods
virtual tresult CCL_API suggestBufferSizes (int& sourceSize, int& destSize) = 0
The caller proposes sizes which can be adjusted by transformer.
virtual tresult CCL_API open (int sourceSize, int destSize) = 0
Begin transformation with specified input/output buffer sizes.
virtual tresult CCL_API transform ( const TransformData& data, int& sourceUsed, int& destUsed ) = 0
Transformer consumes as much of the sourceBuffer and fills as much of the destBuffer as reasonable.
virtual void CCL_API close () = 0
End transformation.
virtual void CCL_API reset () = 0
Reset transformation, more efficient than calling close/open.