CElementParser Class Reference

class CElementParser : public CBase

Parser for SDP attribute values.

The class parses an input buffer containing an attribute value into its constituent data elements. It calls an MSdpElementBuilder object each time a data element is decoded.

This parser can parse incrementally, and be fed new data as it arrives.

MSdpElementBuilder

Inherits from

Nested Classes and Structures

Constructor & Destructor Documentation

CElementParser(MSdpElementBuilder *)

CElementParser ( MSdpElementBuilder * aBuilder ) [private]

Parameters

MSdpElementBuilder * aBuilder

~CElementParser()

IMPORT_C ~CElementParser ( )

Destructor.

Member Functions Documentation

BufferedParseL(const TDesC8 &)

IMPORT_C TBool BufferedParseL ( const TDesC8 & aData )

Parse out some encoded data, with transparent buffering of unparsed data between calls.

The function stores any incompletely parsed data from a previous call, and automatically prepends to the data buffer when it is next called.

If the function leaves, the unparsed data will be deleted. This means it will not be possible to continue with this data stream; Reset() should be called before the next call to this function.

Parameters

const TDesC8 & aData Buffer to parse

Builder()

IMPORT_C MSdpElementBuilder * Builder ( )

CloseListsL()

void CloseListsL ( ) [private]

ConstructL()

void ConstructL ( ) [private]

IsComposite(TUint8)

TBool IsComposite ( TUint8 aType ) [private, static]

Parameters

TUint8 aType

NewL(MSdpElementBuilder *)

IMPORT_C CElementParser * NewL ( MSdpElementBuilder * aBuilder ) [static]

Allocates and constructs a new CElementParser object.

Parameters

MSdpElementBuilder * aBuilder Object into which to build data element

ParseElementsL(const TDesC8 &)

IMPORT_C TInt ParseElementsL ( const TDesC8 & aData )

Parses a data buffer into the currently set MSdpElementBuilder interface.

If a whole number of data elements can not be parsed out of aData, the number of bytes left unparsed is returned. Those bytes should be prepended to the buffer when the function is next called.

Parameters

const TDesC8 & aData Buffer to parse

Reset()

IMPORT_C void Reset ( )

Resets the parser's buffers to be empty.

Reset(MSdpElementBuilder *)

IMPORT_C void Reset ( MSdpElementBuilder * aBuilder )

Resets the parser's buffers to be empty, and resets the element builder object used.

Parameters

MSdpElementBuilder * aBuilder Element builder object to use

SetBuilder(MSdpElementBuilder *)

IMPORT_C void SetBuilder ( MSdpElementBuilder * aBuilder )

Parameters

MSdpElementBuilder * aBuilder

Member Data Documentation

MSdpElementBuilder * iBuilder

MSdpElementBuilder * iBuilder [private]

CSdpStackFix< TInt > * iListStack

CSdpStackFix < TInt > * iListStack [private]

CLinearBuf * iRemainderBuf

CLinearBuf * iRemainderBuf [private]