#include <s32stor.h>
class CEmbeddedStore : public CPersistentStore |
Public Member Functions | |
---|---|
CEmbeddedStore(MStreamBuf *) | |
~CEmbeddedStore() | |
IMPORT_C void | ConstructL(RWriteStream &) |
IMPORT_C void | Detach() |
IMPORT_C CEmbeddedStore * | FromL(RReadStream &) |
IMPORT_C CEmbeddedStore * | FromLC(RReadStream &) |
MStreamBuf * | Host() |
IMPORT_C void | MarshalL(RReadStream &) |
IMPORT_C CEmbeddedStore * | NewL(RWriteStream &) |
IMPORT_C CEmbeddedStore * | NewLC(RWriteStream &) |
TStreamPos | Position(TStreamId) |
void | Reattach(MStreamBuf *) |
TStreamPos | Start() |
Protected Member Functions | |
---|---|
virtual IMPORT_C MStreamBuf * | DoCreateL(TStreamId &) |
virtual IMPORT_C MStreamBuf * | DoReadL(TStreamId) |
Inherited Attributes | |
---|---|
CPersistentStore::iRoot |
Encapsulates an embedded store.
The embedded store may contain an arbitrarily complex network of streams, but is viewed as simply another stream by the embedding store. This means that the embedded store can dealt with as a single stream for purposes of copying or deleting.
Once streams within the embedded store have been committed and closed, they cannot subsequently be changed, i.e. streams cannot be replaced, deleted, extended or changed in any way.
See also: CPersistentStore
IMPORT_C | ~CEmbeddedStore | ( | ) |
Frees resources owned by the object, prior to its destruction. In particular, the destructor closes the associated file.
IMPORT_C void | Detach | ( | ) |
Gives up ownership of the host stream buffer. The caller takes on the responsibility for discarding the buffer.
IMPORT_C MStreamBuf * | DoCreateL | ( | TStreamId & | anId | ) | [protected, virtual] |
Reimplemented from CStreamStore::DoCreateL(TStreamId &)
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.
Parameter | Description |
---|---|
anId | On return, contains the allocated stream id. |
Returns: The stream buffer to be written to.
IMPORT_C MStreamBuf * | DoReadL | ( | TStreamId | anId | ) | const [protected, virtual] |
Reimplemented from CStreamStore::DoReadL(TStreamId)const
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.
See also: RStoreReadStream::OpenL() RStoreReadStream::OpenLC()
Parameter | Description |
---|---|
anId | The stream to be read. |
Returns: A stream buffer positioned at the beginning of the stream to be read.
IMPORT_C CEmbeddedStore * | FromL | ( | RReadStream & | aHost | ) | [static] |
Opens the store hosted by the specified stream.
Note that ownership of the stream passes to the store; the referenced RReadStream is cleared.
Parameter | Description |
---|---|
aHost | A reference to the stream hosting the embedded store. |
Returns: A pointer to the embedded store object.
IMPORT_C CEmbeddedStore * | FromLC | ( | RReadStream & | aHost | ) | [static] |
Open the store hosted by the specified stream, putting a pointer to the store onto the cleanup stack.
Putting a pointer to the embedded store object onto the cleanup stack allows the object and allocated resources to be cleaned up if a subsequent leave occurs.
Note that ownership of the stream passes to the store and the referenced RReadStream is cleared.
Parameter | Description |
---|---|
aHost | A reference to the stream hosting the embedded store. |
Returns: A pointer to the embedded store object.
MStreamBuf * | Host | ( | ) | const [inline] |
Returns a pointer to the stream buffer which is acting as host to this embedded store. The embedded store retains ownership of the host stream buffer.
Returns: A pointer to the stream buffer which is host to this embedded store.
IMPORT_C CEmbeddedStore * | NewL | ( | RWriteStream & | aHost | ) | [static] |
Creates an embedded store within the specified host stream.
Note that ownership of the stream passes to the store and the referenced RWriteStream is cleared.
Parameter | Description |
---|---|
aHost | A reference to the stream which is to host the embedded store. |
Returns: A pointer to the embedded store object.
IMPORT_C CEmbeddedStore * | NewLC | ( | RWriteStream & | aHost | ) | [static] |
Creates an embedded store within the specified host stream, putting a pointer to the store onto the cleanup stack.
Putting a pointer to the embedded store object onto the cleanup stack allows the object and allocated resources to be cleaned up if a subsequent leave occurs.
Note that ownership of the stream passes to the store and the referenced RWriteStream is cleared.
Parameter | Description |
---|---|
aHost | A reference to the stream which is to host the embedded store. |
Returns: A pointer to the embedded store object.
TStreamPos | Position | ( | TStreamId | anId | ) | [static, inline] |
Returns the position of the specified stream, within the host stream.
Parameter | Description |
---|---|
anId | The stream id of the stream in the embedded store whose position within the host stream is to be returned. |
Returns: The position of the stream with id anId within the host stream.
void | Reattach | ( | MStreamBuf * | aHost | ) | [inline] |
Takes ownership of the specified stream buffer. On return from this function, the embedded store assumes this to be the host stream buffer.
Parameter | Description |
---|---|
aHost | A pointer to the stream buffer over which the embedded store is to take ownership. |
TStreamPos | Start | ( | ) | const [inline] |
Returns the start position of this embedded store within the host stream.
Returns: The position of the this embedded store within the host stream.