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.