Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

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



Location: s32std.h
Link against: estor.lib

Class CStreamDictionary

CStreamDictionary

Support

Supported from 5.0

Description

Maintains two way associations between a UID (a TUid type) and a stream id (a TStreamId type) .

Each UID and stream id pair forms an entry in an array. The class provides member functions to manage these entries, for example, to add a new entry or to change the stream id associated with a UID.

Derivation

CBaseBase class for all classes to be instantiated on the heap
CStreamDictionaryMaintains two way associations between a UID (a TUid type) and a stream id (a TStreamId type)

Defined in CStreamDictionary:
AssignL(), At(), ExternalizeL(), InternalizeL(), IsNull(), NewL(), NewLC(), Remove(), ~CStreamDictionary()

Inherited from CBase:
operator new()

See also:


Construction and destruction


NewL()

static CStreamDictionary* NewL();

Description

Allocates, constructs and returns a pointer to a new stream dictionary.

The function leaves if it cannot complete successfully.

Return value

CStreamDictionary*

A pointer to the new stream dictionary object.


NewLC()

static CStreamDictionary* NewLC();

Description

Allocates, constructs and returns a pointer to a new stream dictionary, putting the pointer onto the cleanup stack.

Putting the pointer onto the cleanup stack allows the object and allocated resources to be cleaned up if a subsequent leave occurs.

The function leaves if it cannot complete successfully.

Return value

CStreamDictionary*

A pointer to the new stream dictionary object.


~CStreamDictionary()

~CStreamDictionary();

Description

Frees resources owned by the object, prior to its destruction.

[Top]


UID/Stream id association management


AssignL()

void AssignL(TUid aUid,TStreamId anId);

Description

Creates or changes an association between a UID and a stream id.

If the stream dictionary already contains an entry with the same UID as aUid, then the associated stream id in that entry is replaced by anId.

If anId has the value KNullStreamId, then the function attempts to remove the entry whose unique identifier matches aUid.

Parameters

TUid aUid

The UID

TStreamId anId

The stream id.

See also:


Remove()

void Remove(TUid aUid);

Description

Removes an association from the stream dictionary.

The function searches the stream dictionary for an entry whose UID matches aUid. If a match is found, the entry is removed. If no match is found, the stream dictionary remains unchanged.

Parameters

TUid aUid

The UID whose matching entry is to be removed from the stream dictionary.


At()

TStreamId At(TUid aUid) const;

Description

Returns the stream id associated with the specified UID.

Parameters

TUid aUid

The UID whose associated stream id is to be returned.

Return value

TStreamId

The stream id associated with the specified UID.KNullStreamId, if no entry in the stream dictionary contains the specified UID.

[Top]


Information


IsNull()

TBool IsNull() const;

Description

Tests whether the stream dictionary is empty.

Return value

TBool

True, if the stream dictionary is empty. False if the stream dictionary contains at least one entry.

[Top]


Stream persistence


ExternalizeL()

void ExternalizeL(RWriteStream& aStream) const;

Description

Externalises an object of this class to a write stream.

The presence of this function means that the standard templated operator<<() can be used to externalise objects of this class.

Parameters

RWriteStream& aStream

Stream to which the object should be externalised


InternalizeL()

InternalizeL()

Description

Internalises an object of this class from a read stream.

The presence of this function means that the standard templated operator>>() can be used to internalise objects of this class.

Note that this function has assignment semantics. It replaces the old value of the object with a new value read from the read stream.

Parameters

RReadStream& aStream

Stream from which the object should be internalised.