CSdpAttrIdMatchList Class Reference

class CSdpAttrIdMatchList : public CBase

SDP Attribute ID Match list.

Holds a list of Attribute IDs to be retrieved from a remote device in an Service Attribute Request. Set in terms of ranges of attributes, each one specified through a TAttrRange.

Inherits from

Constructor & Destructor Documentation

CSdpAttrIdMatchList()

CSdpAttrIdMatchList()[private]

~CSdpAttrIdMatchList()

IMPORT_C~CSdpAttrIdMatchList()

Destructor.

Member Functions Documentation

AddL(TAttrRange)

IMPORT_C voidAddL(TAttrRangeaRange)

Adds a range of IDs to the list.

Parameters

TAttrRange aRangeRange to add

BuildDESL()

MSdpElementBuilder *BuildDESL()[private]

BuildUintL(const TDesC8 &)

MSdpElementBuilder *BuildUintL(const TDesC8 &aUint)[private]

This should be one or two 16 bit integers, representing an AttrId of range thereof respectively.

Parameters

const TDesC8 & aUint

Count()

IMPORT_C TIntCount()const

Gets the number of separate ranges of attribute IDs in the list.

EncodeL(TElementEncoder)

IMPORT_C TUintEncodeL(TElementEncoderaEncoder)const

This method is for internal sub-system use only, it is not to be used otherwise.

Supplies encoder with attribute Ids in the match list

Parameters

TElementEncoder aEncoderThe encoder set to encode the attribute Ids in this match list

EndListL()

MSdpElementBuilder *EndListL()[private]

Attribute list now complete. Stop the parser by returning 0.

Find(TSdpAttributeID, TInt &)

TInt Find(TSdpAttributeIDaAttrId,
TInt &aPos
)const

Tests if the specified attribute ID is in the list, and gets its position.

Parameters

TSdpAttributeID aAttrIdAttribute ID to test
TInt & aPosPosition of ID in the list, or unchanged if attribute not found

FindAttributesL(CSdpServRecord &, MAttributeMatchHandler &)

voidFindAttributesL(CSdpServRecord &aRec,
MAttributeMatchHandler &aHandler
)const

Parameters

CSdpServRecord & aRec
MAttributeMatchHandler & aHandler

FindInOrContiguousWith(TSdpAttributeID, TInt &)

TInt FindInOrContiguousWith(TSdpAttributeIDaAttrId,
TInt &aPos
)const [private]

Tests if the specified attribute ID is in the list (or next to a range in the list), and gets its position.

Parameters

TSdpAttributeID aAttrIdAttribute ID to test
TInt & aPosPosition in the list if the ID is found in a current range, or the lowest range with which the ID is contiguous, or unchanged if neither.

InMatchList(TSdpAttributeID, TInt &)

IMPORT_C TBoolInMatchList(TSdpAttributeIDaAttrId,
TInt &aPos
)const

Tests if the specified attribute ID is in the list, and gets its position. Do not use this - it gives an off-by-one error for aPos unless the attribute is the first one in a contiguous range. Use InMatchListRange() instead

Parameters

TSdpAttributeID aAttrIdAttribute ID to test
TInt & aPosPosition of ID in the list with an off-by-one error for IDs not at the start of a range, or 0 if not found

InMatchList(TSdpAttributeID)

IMPORT_C TBoolInMatchList(TSdpAttributeIDaAttrId)const

Tests if the specified attribute ID is in the list.

Parameters

TSdpAttributeID aAttrIdAttribute ID to test

InMatchListRange(TSdpAttributeID, TInt &)

IMPORT_C TBoolInMatchListRange(TSdpAttributeIDaAttrId,
TInt &aRange
)const

Tests if the specified attribute ID is in the list.

Parameters

TSdpAttributeID aAttrIdAttribute ID to test
TInt & aRangePosition of the range of IDs in the list which contains aAttrId, or 0 if not found

NewL()

IMPORT_C CSdpAttrIdMatchList *NewL()[static]

Allocate and construct a new CSdpAttrIdMatchList object.

NewL(const CSdpAttrIdMatchList &)

IMPORT_C CSdpAttrIdMatchList *NewL(const CSdpAttrIdMatchList &aAttrMatchList)[static]

Allocate and construct a new CSdpAttrIdMatchList object as a copy of another CSdpAttrIdMatchList.

Parameters

const CSdpAttrIdMatchList & aAttrMatchListObject to copy

RemoveL(TAttrRange)

IMPORT_C voidRemoveL(TAttrRangeaRange)

Removes a range of IDs from the list.

Parameters

TAttrRange aRangeRange to remove

StartListL()

MSdpElementBuilder *StartListL()[private]

Member Data Documentation

__DECLARE_TEST

__DECLARE_TEST[private]

CArrayFix< TAttrRange > * iList

CArrayFix< TAttrRange > *iList[private]