Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: s32mem.h
Link against: estor.lib

Class CBufStore

CBufStore

Support

Supported from 5.0

Description

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.

Derivation

CBaseBase class for all classes to be instantiated on the heap
CBufStoreIn-memory non-persistent store
CStreamStoreProvides the core abstract framework for stores allowing streams to be created and manipulated

Defined in CBufStore:
NewL(), NewLC(), ~CBufStore()

Inherited from CBase:
operator new()

Inherited from CStreamStore:
Commit(), CommitL(), CompactL(), Delete(), DeleteL(), DoCommitL(), DoCompactL(), DoCreateL(), DoDeleteL(), DoReadL(), DoReclaimL(), DoReplaceL(), DoRevertL(), DoWriteL(), ExtendL(), ReclaimL(), Revert(), RevertL()


Member functions


NewL()

static CBufStore* NewL(TInt anExpandSize);

Description

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.

Return value

CBufStore*

A pointer to the memory store object.


NewLC()

static CBufStore* NewLC(TInt anExpandSize);

Description

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.

Return value

CBufStore*

A pointer to the memory store object.


~CBufStore()

~CBufStore();

Description

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