CBufStore Class Reference

class CBufStore : public CStreamStore

In-memory non-persistent store. The buffer store does not have a root stream and cannot be closed without losing all the data.

It implements many of the operations defined by the store abstract framework. Specifically, streams in this store can be: overwritten, replaced, appended, deleted, and created in advance of being written to. However the class does not support commit and revert operations.

Overwriting an existing stream can result in a shorter stream; however, a stream cannot be extended beyond its original length. Replacing a stream can result in a stream which is longer or shorter than the original. The order in which streams are written to a memory store is not important as streams can be changed and rewritten.

Inherits from

Constructor & Destructor Documentation

CBufStore(TInt)

IMPORT_C CBufStore ( TInt anExpandSize )

Parameters

TInt anExpandSize

~CBufStore()

IMPORT_C ~CBufStore ( )

Frees resources owned by the object, prior to its destruction.

Member Functions Documentation

BufL(TStreamId)

CBufSeg & BufL ( TStreamId anId ) const [private]

Parameters

TStreamId anId

DoCreateL(TStreamId &)

IMPORT_C MStreamBuf * DoCreateL ( TStreamId & anId ) [protected, virtual]

Creates a new stream in the store. The function gets the allocated stream id in the anId parameter. A stream buffer for the stream should be returned, ready to write into the new stream. This provides the implementation for the RStoreWriteStream::CreateL() functions.

Parameters

TStreamId & anId On return, contains the allocated stream id.

DoDeleteL(TStreamId)

IMPORT_C void DoDeleteL ( TStreamId anId ) [protected, virtual]

Parameters

TStreamId anId

DoExtendL()

IMPORT_C TStreamId DoExtendL ( ) [protected, virtual]

Generates a new stream within this store, and returns its id. This function is intended to create a new stream in advance of being written to.

This is called by ExtendL() .

CStreamStore::ExtendL()

DoReadL(TStreamId)

IMPORT_C MStreamBuf * DoReadL ( TStreamId anId ) const [protected, virtual]

Opens the requested stream for reading. The function should return a stream buffer positioned at the beginning of this stream.

This function is called by the OpenL() and OpenLC() member functions of RStoreReadStream .

RStoreReadStream::OpenL() RStoreReadStream::OpenLC()

Parameters

TStreamId anId The stream to be read.

DoReplaceL(TStreamId)

IMPORT_C MStreamBuf * DoReplaceL ( TStreamId anId ) [protected, virtual]

Parameters

TStreamId anId

DoWriteL(TStreamId)

IMPORT_C MStreamBuf * DoWriteL ( TStreamId anId ) [protected, virtual]

Parameters

TStreamId anId

NewL(TInt)

IMPORT_C CBufStore * NewL ( TInt anExpandSize ) [static]

Allocates and constructs a new in-memory store and returns a pointer to it.

Parameters

TInt anExpandSize The granularity of the buffers used in the implementation of the store. Each stream is contained in a separate CBufSeg buffer.

NewLC(TInt)

IMPORT_C CBufStore * NewLC ( TInt anExpandSize ) [static]

Allocates and constructs a new in-memory store and returns a pointer to it, putting a pointer to the object onto the cleanup stack.

Putting a pointer to the object on the cleanup stack allows the object and allocated resources to be cleaned up if a subsequent leave occurs.

Parameters

TInt anExpandSize The granularity of the buffers used in the implementation of the store. Each stream is contained in a separate CBufSeg buffer.

Member Data Documentation

CArrayFixFlat< CBufSeg * > iBufArray

CArrayFixFlat < CBufSeg * > iBufArray [private]

TInt iExpandSize

TInt iExpandSize [private]