ContentAccess::RStringAttributeSet Class Reference

class ContentAccess::RStringAttributeSet

Holds the values of a predefined set of attributes based upon ContentAccess::TStringAttribute

It is also possible for an agent to provide an extended set of these attributes beyond EAgentSpecificAttributeBase but only applications written to support that particular agent will support this.

No duplicate attributes are allowed in the set

Public Member Functions
RStringAttributeSet()
IMPORT_C voidAddL(TInt)
IMPORT_C voidClose()
IMPORT_C TIntCount()
IMPORT_C voidExternalizeL(RWriteStream &)
IMPORT_C TIntGetValue(TInt, TDes &)
IMPORT_C TIntGetValueLength(TInt)
IMPORT_C voidInternalizeL(RReadStream &)
IMPORT_C TIntSetValue(TInt, const TDesC &, TInt)
IMPORT_C TIntoperator[](TInt)
Private Member Functions
voidAddL(TInt, const TDesC &, TInt)
Private Attributes
RPointerArray< CStringAttribute >iAttributes

Constructor & Destructor Documentation

RStringAttributeSet()

IMPORT_CRStringAttributeSet()

Member Functions Documentation

AddL(TInt)

IMPORT_C voidAddL(TIntaAttribute)

Add a new attribute to the set The attribute value is initalised with an empty string

Parameters

TInt aAttributeThe attribute to add to the set

AddL(TInt, const TDesC &, TInt)

voidAddL(TIntaAttribute,
const TDesC &aValue,
TIntaErrorCode
)[private]

Parameters

TInt aAttribute
const TDesC & aValue
TInt aErrorCode

Close()

IMPORT_C voidClose()

Release all resources used by the RStringAttributeSet

This must be called before the RStringAttribute set goes out of scope

Count()

IMPORT_C TIntCount()const

The number of attributes in the set The number of attributes in the set

ExternalizeL(RWriteStream &)

IMPORT_C voidExternalizeL(RWriteStream &aStream)const

Write the RAttributeSet to a stream

Parameters

RWriteStream & aStreamThe stream to write the attribute set to

GetValue(TInt, TDes &)

IMPORT_C TIntGetValue(TIntaAttribute,
TDes &aValue
)const

Get the value of a specified attribute The value of the attribute

KErrOverflow If the descriptor is not large enough to store the attribute

KErrNotFound if the attribute is not part of the set

Parameters

TInt aAttributeThe attribute to query
TDes & aValueThe value of the attribute is copied to this descriptor

GetValueLength(TInt)

IMPORT_C TIntGetValueLength(TIntaAttribute)const

Get the length of a buffer required to store the value of a specified attribute The length of the value of the attribute

Parameters

TInt aAttributeThe attribute to query

InternalizeL(RReadStream &)

IMPORT_C voidInternalizeL(RReadStream &aStream)

Read the RAttributeSet from a stream This does not clear the contents of the attribute set before reading. The values of any attributes already in the set are updated with new values from the stream. New attributes from the stream and their values are added to the set.

Parameters

RReadStream & aStreamThe stream to read the attribute set from

SetValue(TInt, const TDesC &, TInt)

IMPORT_C TIntSetValue(TIntaAttribute,
const TDesC &aValue,
TIntaErrorCode
)

Set the value of an attribute within the set leave

KErrNotFound if the attribute is not part of the set

Parameters

TInt aAttributeThe attribute to set
const TDesC & aValueThe value of the attribute
TInt aErrorCodeThe error to return when GetValue() is called for this attribute

operator[](TInt)

IMPORT_C TIntoperator[](TIntaIndex)const

Find the attribute stored at a particular index in the set The attribute, NOT the value of the attribute

Parameters

TInt aIndexThe index of the attribute

Member Data Documentation

RPointerArray< CStringAttribute > iAttributes

RPointerArray< CStringAttribute >iAttributes[private]