Once data has been externalised to a stream, an application must commit a stream before disposing of the write stream object.
This is done by calling CommitL() on the write stream object. The function itself is a member of the write stream interface class, RWriteStream.
The following example code fragment shows this:
... TSimple thesimple; ... ... // Construct a TSimple object ... RStoreWriteStream outstream; TStreamId id = outstream.CreateLC(*store); // Externalize the TSimple object outstream << thesimple; // Commit changes to the stream outstream.CommitL(); // Cleanup the stream object CleanupStack::PopAndDestroy(); ...
store is a pointer to an already opened stream store.
As a simple rule, CreateL() or CreateLC() is matched by a call to CommitL(). More generally, any change to a stream, either the creation of a new one or a change to an existing one, should be matched by a call to CommitL().