The following code fragment shows how a write stream is created. A
write stream is represented by an instance of the
RStoreWriteStream
class and an object of this type can be created
on the program stack.
Use the CreateL()
or CreateLC()
member
function of RStoreWriteStream
to create a new stream in a store
and return its stream ID.
...
RStoreWriteStream outstream;
TStreamId id = outstream.CreateLC(*store);
...
CleanupStack::PopAndDestroy();
...
store
is a pointer to an already opened stream
store.
Some stores allow their existing streams to be modified, for
example, by overwriting or appending. To open an existing stream for
overwriting, use OpenL()
or OpenLC()
and identify
both the store and the stream:
...
RStoreWriteStream outstream;
TStreamId id;
...
outstream.CreateLC(*store,id);
...
CleanupStack::PopAndDestroy();
...
In this code fragment, the id of the stream must be known before
calling CreateLC()
.
Note that not all store types support the modification of existing streams. An attempt to open an existing stream for modification for these store types will fail. A direct file store is an example of a store which does not support the modification of existing streams.
The following code fragment shows how a read stream is created. A
read stream is represented by an instance of the RStoreReadStream
class and an object of this type can be created on the program stack.
Use the OpenL()
or OpenLC()
member
function of RStoreReadStream
to open a stream for reading.
RStoreReadStream instream;
TStream id;
...
instream.OpenLC(*store,id);
...
store
is a pointer to an already opened stream
store.
id
identifies the stream to be opened.