MStreamInput Class Reference

#include <s32buf.h>

class MStreamInput
Public Member Functions
pure virtual TInt PushL(const TAny *, TInt)
pure virtual TStreamTransfer ReadFromL(MStreamBuf &, TStreamTransfer)

Detailed Description

An interface to an object that acts as a target for read operations from a stream. The object behaves as a generic data sink.

A stream input object can act as an intelligent buffer, and is useful for performing filtering, compression or any other general kind of conversion operation that might be needed after reading from a stream.

The class is pure interface and requires an implementation.

See also: MStreamBuf::ReadL()

Member Function Documentation

PushL ( const TAny *, TInt )

TInt PushL(const TAny *aPtr,
TIntaMaxLength
)[pure virtual]

Reads data from an intermediate buffer into this stream input object.

This function is called by the default implementation of TStreamBuf::DoReadL(MStreamInput&,TStreamTransfer) and assumes that the source is a stream buffer's intermediate buffer.

See also: TStreamBuf::DoReadL() TStreamBuf

Parameters
aPtrA pointer into the intermediate buffer from which the read operation starts.
aMaxLengthThe maximum amount of data to be read.
Return Value
The amount of data read.

ReadFromL ( MStreamBuf &, TStreamTransfer )

TStreamTransfer ReadFromL(MStreamBuf &aSource,
TStreamTransferaTransfer
)[pure virtual]

Reads data from the specified stream into this stream input object.

This function is called by the default implementation of MStreamBuf::DoReadL(MStreamInput&,TStreamTransfer). It may also be called by TStreamBuf::DoReadL(MStreamInput&,TStreamTransfer), depending on the amount of data to be transferred and the nature of the buffering scheme.

See also: MStreamBuf::DoReadL() TStreamBuf::DoReadL()

Parameters
aSourceThe stream from which data is to be read.
aTransferDefines the amount of data available to be read.
Return Value
The amount of data that was not consumed.