Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

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



Location: s32strm.h
Link against: estor.lib

Class RWriteStream

RWriteStream

Support

Supported from 5.0

Description

The write stream interface. The process of externalising to a stream is achieved through a reference to an object of this type.

A store aware class defines and implements an ExternalizeL() member function which is used to externalise that object and takes a reference to an RWriteStream as the interface to the write stream.

Defined in RWriteStream:
Attach(), Close(), CommitL(), Detach(), Pop(), PushL(), RWriteStream(), Release(), Sink(), WriteInt16L(), WriteInt32L(), WriteInt8L(), WriteL(), WriteReal32L(), WriteReal64L(), WriteUint16L(), WriteUint32L(), WriteUint8L()


Construction and destruction


RWriteStream()

RWriteStream();

Description

The stream buffer sink, as returned by Sink(), is set to NULL, and the stream has no associated Store map.


RWriteStream()

RWriteStream(const MExternalizer<TStreamRef>& anExter);

Description

Constructs a write stream with an associated store map. The stream buffer sink is set to NULL.

Parameters

const MExternalizer<TStreamRef>& anExter

Specifies an externaliser. For example, CStoreMap implements MExternalizer<TStreamRef>.


RWriteStream()

RWriteStream(MStreamBuf* aSink);

Description

Constructs a write stream over the supplied stream buffer. The stream has no associated Store map.

Parameters

MStreamBuf* aSink

The stream buffer used to write to the write stream.

[Top]


Externalising


WriteL()

void WriteL(const TDesC8& aDes);

Description

Writes the content of the 8 bit descriptor to the stream. No other information is written to this write stream.

Parameters

const TDesC8& aDes

A reference to a descriptor. Passing the build independent type TDesC& allows the compiler to choose the appropriate WriteL() variant (i.e the 8 bit or the 16 bit) at build time.


WriteL()

void WriteL(const TDesC16& aDes);

Description

Writes the content of the 16 bit descriptor to the stream. No other information is written to this write stream.

Parameters

const TDesC16& aDes

A reference to a descriptor. Passing the build independent type TDesC& allows the compiler to choose the appropriate WriteL() variant (i.e the 8 bit or the 16 bit) at build time.


WriteL()

void WriteL(const TDesC8& aDes,TInt aLength);

Description

Writes data of the specified length from the 8 bit descriptor to the stream. No other information is written to this write stream.

Parameters

const TDesC8& aDes

A reference to a descriptor. Passing the build independent type TDesC& allows the compiler to choose the appropriate WriteL() variant (i.e the 8 bit or the 16 bit) at build time.

TInt aLength

The length of data to be written to this stream.


WriteL()

void WriteL(const TDesC16& aDes,TInt aLength);

Description

Writes data of the specified length from the 16 bit descriptor to the stream. No other information is written to this write stream.

Parameters

const TDesC16& aDes

A reference to a descriptor. Passing the build independent type TDesC& allows the compiler to choose the appropriate WriteL() variant (i.e the 8 bit or the 16 bit) at build time.

TInt aLength

The length of data to be written to this stream.


WriteL()

void WriteL(const TUint8* aPtr,TInt aLength);

Description

Writes 8 bit data of the specified length from the specified location to this write stream.

Parameters

const TUint8* aPtr

The location from where data is to be streamed out.

TInt aLength

The length of data to be streamed out.


WriteL()

void WriteL(const TUint16* aPtr,TInt aLength);

Description

Writes 16 bit data of the specified length from the specified location to this write stream.

Parameters

const TUint16* aPtr

The location from where data is to be streamed out.

TInt aLength

The length of data to be streamed out.


WriteL()

void WriteL(RReadStream& aStream);

Description

Writes the content of the specified read stream to this write stream.

Parameters

RReadStream& aStream

A reference to a read stream which is to be written to this stream.


WriteL()

void WriteL(RReadStream& aStream,TInt aLength);

Description

Writes data of the specified length from the specified read stream to this stream.

Parameters

RReadStream& aStream

A reference to a read stream part of whose content is to be written to this stream.

TInt aLength

The length of data from the read stream to be written to this write stream.


WriteInt8L()

void WriteInt8L(TInt aValue);

Description

Writes a TInt value as an 8 bit value to this stream.

Parameters

TInt aValue

The value to be written to this stream.


WriteInt16L()

void WriteInt16L(TInt aValue);

Description

Writes a TInt value as a 16 bit value to this stream.

Parameters

TInt aValue

The value to be written to this stream.


WriteInt32L()

void WriteInt32L(TInt32 aValue);

Description

Writes a TInt32 value as a 32 bit value to this stream.

Parameters

TInt32 aValue

The value to be written to this stream.


WriteUint8L()

void WriteUint8L(TUint aValue);

Description

Writes a TUint value as an 8 bit value to this stream.

Parameters

TUint aValue

The value to be written to this stream.


WriteUint16L()

void WriteUint16L(TUint aValue);

Description

Writes a TUint value as a 16 bit value to this stream.

Parameters

TUint aValue

The value to be written to this stream.


WriteUint32L()

void WriteUint32L(TUint32 aValue);

Description

Writes a TUint32 value as a 32 bit value to this stream.

Parameters

TUint32 aValue

The value to be written to this stream.


WriteReal32L()

void WriteReal32L(TReal aValue);

Description

Writes a TReal value as a 32 bit value to this stream.

Parameters

TReal aValue

The value to be written to this stream.


WriteReal64L()

void WriteReal64L(TReal64 aValue);

Description

Writes a TReal64 value as a 64 bit value to this stream.

Parameters

TReal64 aValue

The value to be written to this stream.

[Top]


Releasing resources


Release()

void Release();

Description

Frees resources before abandoning the stream. The function is called after data has been committed to the stream.

Note that if a cleanup item for the stream was placed on the cleanup stack when the stream was opened (e.g by a call to RStoreWriteStreams’s CreateLC(), OpenLC(), ReplaceLC() or RDictionaryStore’s AssignLC() etc), then this function need not be called explicitly; clean up is implicitly done by CleanupStack::PopAndDestroy().


Close()

void Close();

Description

Commits data to the stream before freeing resources used by the stream. This ensures that any buffered data is written to the stream.

Note that the function cannot leave. Any errors arising from the attempt to commit data to the stream are ignored.

[Top]


Committing data to the stream


CommitL()

void CommitL();

Description

Ensures that any buffered data is written to the stream. Once committed, it is not possible to roll back the newly written data.

[Top]


Cleanup support


Pop()

void Pop();

Description

Removes the cleanup item for this write stream object from the cleanup stack.


PushL()

void PushL();

Description

Puts a cleanup item for this write stream object onto the cleanup stack. This allows allocated resources to be cleaned up if a subsequent leave occurs.

[Top]


Accessing the sink stream buffer


Attach()

protected: void Attach(MStreamBuf* aSink);

Description

Sets the stream buffer sink for this write stream. The existing sink, if there is one, will be discarded.

This is useful for derived classes, enabling them to set the sink following construction.

Note:

Parameters

MStreamBuf* aSink

The stream buffer sink for this write stream.


Detach()

protected: void Detach();

Description

Sets the stream buffer sink for this write stream to NULL. The existing sink, if there is one, will be discarded.

Note:


Sink()

MStreamBuf* Sink();

Description

Gets the underlying stream buffer for the write stream. This provides access to the stream-buffer implementation used by the write stream.

Return value

MStreamBuf*

The underlying stream buffer for the write stream.