TMemBuf Class Reference

#include <s32mem.h>

class TMemBuf : public TStreamBuf

Inherits from

Public Member Functions
TMemBuf()
IMPORT_C voidSet(TUint8 *, TUint8 *, TInt)
Protected Member Functions
virtual IMPORT_C TStreamPosDoSeekL(TMark, TStreamLocation, TInt)
virtual IMPORT_C voidOverflowL()
virtual IMPORT_C TIntUnderflowL(TInt)
Inherited Enumerations
MStreamBuf:TRead
MStreamBuf:TWrite
Inherited Functions
MStreamBuf::Close()
MStreamBuf::MStreamBuf()
MStreamBuf::PushL()
MStreamBuf::Read(TDes8 &,TInt,TRequestStatus &)
MStreamBuf::Read(TDes8 &,TRequestStatus &)
MStreamBuf::ReadL(MStreamInput &)
MStreamBuf::ReadL(MStreamInput &,TInt)
MStreamBuf::ReadL(MStreamInput &,TStreamTransfer)
MStreamBuf::ReadL(TAny *,TInt)
MStreamBuf::ReadL(TDes8 &,TInt,TRequestStatus &)
MStreamBuf::ReadL(TDes8 &,TRequestStatus &)
MStreamBuf::Release()
MStreamBuf::SeekL(TMark,TStreamLocation,TInt)
MStreamBuf::SeekL(TMark,TStreamPos)
MStreamBuf::SeekL(TRead,TInt)
MStreamBuf::SeekL(TRead,TStreamLocation,TInt)
MStreamBuf::SeekL(TWrite,TInt)
MStreamBuf::SeekL(TWrite,TStreamLocation,TInt)
MStreamBuf::SizeL()const
MStreamBuf::Synch()
MStreamBuf::SynchL()
MStreamBuf::TellL(TRead)const
MStreamBuf::TellL(TWrite)const
MStreamBuf::Write(const TDesC8 &,TInt,TRequestStatus &)
MStreamBuf::Write(const TDesC8 &,TRequestStatus &)
MStreamBuf::WriteL(MStreamOutput &)
MStreamBuf::WriteL(MStreamOutput &,TInt)
MStreamBuf::WriteL(MStreamOutput &,TStreamTransfer)
MStreamBuf::WriteL(const TAny *,TInt)
MStreamBuf::WriteL(const TDesC8 &,TInt,TRequestStatus &)
MStreamBuf::WriteL(const TDesC8 &,TRequestStatus &)
TStreamBuf::Avail(TArea)const
TStreamBuf::Avail(TRead)const
TStreamBuf::Avail(TWrite)const
TStreamBuf::DoReadL(MStreamInput &,TStreamTransfer)
TStreamBuf::DoReadL(TAny *,TInt)
TStreamBuf::DoWriteL(MStreamOutput &,TStreamTransfer)
TStreamBuf::DoWriteL(const TAny *,TInt)
TStreamBuf::End(TArea)const
TStreamBuf::End(TRead)const
TStreamBuf::End(TWrite)const
TStreamBuf::Ptr(TArea)const
TStreamBuf::Ptr(TRead)const
TStreamBuf::Ptr(TWrite)const
TStreamBuf::SetBuf(TArea,TUint8 *,TUint8 *)
TStreamBuf::SetBuf(TRead,TUint8 *,TUint8 *)
TStreamBuf::SetBuf(TWrite,TUint8 *,TUint8 *)
TStreamBuf::SetEnd(TArea,TUint8 *)
TStreamBuf::SetEnd(TRead,TUint8 *)
TStreamBuf::SetEnd(TWrite,TUint8 *)
TStreamBuf::SetPtr(TArea,TUint8 *)
TStreamBuf::SetPtr(TRead,TUint8 *)
TStreamBuf::SetPtr(TWrite,TUint8 *)
TStreamBuf::TStreamBuf()
Inherited Type Definitions
MStreamBuf::TMark
TStreamBuf::TArea

Detailed Description

A stream buffer that uses plain memory for its implementation.

A stream of this type is used by RMemWriteStream and RMemReadStream objects. It also has intermediate buffering capabilities.

This is a seekable stream buffer.

See also: RMemWriteStream RMemReadStream

Constructor & Destructor Documentation

TMemBuf ( )

IMPORT_CTMemBuf()

Constructs an empty object.

Call Set() before using the object.

Member Function Documentation

DoSeekL ( TMark, TStreamLocation, TInt )

IMPORT_C TStreamPosDoSeekL(TMarkaMark,
TStreamLocationaLocation,
TIntanOffset
)[protected, virtual]

Reimplemented from MStreamBuf::DoSeekL(TMark,TStreamLocation,TInt)

OverflowL ( )

IMPORT_C voidOverflowL()[protected, virtual]

Reimplemented from TStreamBuf::OverflowL()

Empties the intermediate buffer and resets the start and end points of the write area.

The implementation of this function depends on the way the stream itself is implemented. For example, the in-memory streams have simple implementations.

Set ( TUint8 *, TUint8 *, TInt )

IMPORT_C voidSet(TUint8 *aPtr,
TUint8 *anEnd,
TIntaMode = ERead|EWrite
)

Sets up the stream to use the specified area of plain memory.

See also: MStreamBuf::TRead MStreamBuf::TWrite

Parameters
aPtrThe start address for the area of plain memory that hosts the stream and that also acts as the intermediate buffer.
anEndThe end address for the area of plain memory that hosts the stream and that also acts as the intermediate buffer. The addressed byte is outside the memory area.
aModeThe mode in which the stream is to be used. It can be used in either or both read and write modes, represented by ERead and EWrite.

UnderflowL ( TInt )

IMPORT_C TIntUnderflowL(TIntaMaxLength)[protected, virtual]

Reimplemented from TStreamBuf::UnderflowL(TInt)

Re-fills the intermediate buffer and resets the start and end points of the read area.

The implementation of this function depends on the way the stream itself is implemented. For example, the in-memory streams have simple implementations.

Parameters
aMaxLengthThe maximum amount of data required for the intermediate buffer.
Return Value
The amount of data available in the intermediate buffer.