Location:
SdpDocument.h
Link against: sdpcodec.lib
class CSdpDocument : public CBase;
This class encapsulates the Session Description Protocol (SDP) document. The SDP document is a collection of SDP fields and related values describing a session.
The normative reference for correct formatting and values is draft-ietf-mmusic-sdp-new-14 unless specified otherwise in member documentation. The implementation supports this normative reference, but does not enforce it fully.
sdpcodec.lib
CBase
- Base class for all classes to be instantiated on the heap
CSdpDocument
- This class encapsulates the Session Description Protocol (SDP) document
Defined in CSdpDocument
:
AttributeFields()
, BandwidthFields()
, CloneL()
, ConnectionField()
, ConnectionField()
, DecodeL()
, DecodeLC()
, EmailFields()
, EncodeL()
, ExternalizeL()
, Info()
, InternalizeL()
, IsValid()
, Key()
, Key()
, MediaFields()
, NewL()
, NewLC()
, OriginField()
, OriginField()
, PhoneFields()
, SdpVersion()
, SessionName()
, SetConnectionField()
, SetInfoL()
, SetKey()
, SetOriginField()
, SetSessionNameL()
, SetUri()
, SetZoneAdjustmentsL()
, TimeFields()
, Uri()
, Uri()
, ZoneAdjustments()
, ~CSdpDocument()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
static IMPORT_C CSdpDocument *NewL();
Constructs a new, empty SDP document. The instance will have the following initial values: v=0 s=- t=0 0
|
static IMPORT_C CSdpDocument *NewLC();
Constructs a new, empty SDP document document and adds the pointer to the cleanup stack. The instance will have the following initial values: v=0 s=- t=0 0
|
static IMPORT_C CSdpDocument *DecodeL(const TDesC8 &aText);
Constructs a new SDP document.
|
|
static IMPORT_C CSdpDocument *DecodeLC(const TDesC8 &aText);
Constructs a new SDP document and adds the pointer to the cleanup stack.
|
|
IMPORT_C void ExternalizeL(RWriteStream &aStream) const;
Externalizes the object state in an internal, memory optimized format.
|
static IMPORT_C CSdpDocument *InternalizeL(RReadStream &aStream);
Internalizes the object state from an internal, memory optimized format.
|
|
IMPORT_C void EncodeL(RWriteStream &aStream) const;
Outputs the SDP document formatted according to SDP syntax. It is possible to output the document even though it is incomplete
in the sense that all mandatory SDP fields are not present.When creating an SDP document to be used e.g. as part of SIP signalling,
caller should first ensure the validity of the document using the IsValid()
function.
|
IMPORT_C CSdpDocument *CloneL() const;
Creates a new instance that is equal to the target.
|
IMPORT_C TBool IsValid() const;
Checks if the instance represents a valid SDP document.
|
IMPORT_C TUint SdpVersion() const;
Gets the SDP version used in the version field. Note, that the current implementation supports only version number 0.
|
IMPORT_C CSdpOriginField *OriginField();
Gets a reference to the session origin field. Note, that the ownership is not transferred and the instance must not be deleted by the caller.
|
IMPORT_C const CSdpOriginField *OriginField() const;
Gets a reference to the session origin field.
|
IMPORT_C void SetOriginField(CSdpOriginField *aObj);
Sets or removes the session origin field. Note, that the ownership of the argument is transferred to the SDP document object.
|
IMPORT_C const TDesC8 &SessionName() const;
Gets the session name field value.
|
IMPORT_C void SetSessionNameL(const TDesC8 &aValue);
Sets the session name field value.
|
|
IMPORT_C const TDesC8 &Info() const;
Gets the session information field value.
|
IMPORT_C void SetInfoL(const TDesC8 &aValue);
Sets or removes the session information field value.
|
|
IMPORT_C CUri8 *Uri();
Gets the session URI field value. Note, that the ownership is not transferred and the instance must not be deleted by the caller.
|
IMPORT_C const CUri8 *Uri() const;
Gets the session URI field value.
|
IMPORT_C void SetUri(CUri8 *aValue);
Sets or removes the session level URI field. Note, that the ownership of the argument is transferred to the SDP document object.
|
IMPORT_C CDesC8Array &EmailFields();
Gets the set of session level email field values. This array is used to add and remove fields into the document. Note, that only correctly formatted email field values should be placed into the array. Empty values in the array will be ignored.
|
IMPORT_C CDesC8Array &PhoneFields();
Gets the set of session level phone field values. This array is used to add and remove fields into the document. Note, that only correctly formatted phone field values should be placed into the array. Empty values in the array will be ignored.
|
IMPORT_C CSdpConnectionField *ConnectionField();
Gets the session level connection field. Note, that the ownership is not transferred and the instance must not be deleted by the caller.
|
IMPORT_C const CSdpConnectionField *ConnectionField() const;
Gets the session level connection field.
|
IMPORT_C void SetConnectionField(CSdpConnectionField *aObj);
Sets or removes the session level connection field. Note, that the ownership of the argument is transferred to the SDP document object.
|
IMPORT_C RPointerArray< CSdpBandwidthField > &BandwidthFields();
Gets the possibly empty set of session level bandwidth fields. This array is used directly for element insertion and removal. The array may contain zero references and these are ignored.
The objects referenced from the array are owned by the document instance and must not be deleted. An object can be removed from the document by setting the corresponding element to zero. By doing so, the calling party receives ownership of the removed object.
|
IMPORT_C RPointerArray< CSdpTimeField > &TimeFields();
Gets the set of session level time description fields. This array is used directly for element insertion and removal. There must be at least one time description field in a valid SDP document.The array may contain zero references and these are ignored.
The objects referenced from the array are owned by the document instance and must not be deleted. An object can be removed from the document by setting the corresponding element to zero. By doing so, the calling party receives ownership of the removed object.
|
IMPORT_C const TDesC8 &ZoneAdjustments() const;
Gets the zone adjustments field value.
|
IMPORT_C void SetZoneAdjustmentsL(const TDesC8 &aValue);
Sets the zone adjustments field value.
|
IMPORT_C CSdpKeyField *Key();
Gets the session level encryption key field. Note, that the ownership is not transferred and the instance must not be deleted by the caller.
|
IMPORT_C const CSdpKeyField *Key() const;
Gets the session level encryption key field.
|
IMPORT_C void SetKey(CSdpKeyField *aObj);
Sets or removes the encryption key field. Note, that the ownership of the argument is transferred to the SDP document object.
|
IMPORT_C RPointerArray< CSdpAttributeField > &AttributeFields();
Gets the possibly empty set of session level attribute fields. This array is used directly for element insertion and removal. The array may contain zero references and these are ignored.
The objects referenced from the array are owned by the document instance and must not be deleted. An object can be removed from the document by setting the corresponding element to zero. By doing so, the calling party receives ownership of the removed object.
|
IMPORT_C RPointerArray< CSdpMediaField > &MediaFields();
Gets the possibly empty set of media description fields. This array is used directly for element insertion and removal. Note, that media level attributes and fields are managed through the corresponding media field instance and not through the document instance. The array may contain zero references and these are ignored.
The objects referenced from the array are owned by the document instance and must not be deleted. An object can be removed from the document by setting the corresponding element to zero. By doing so, the calling party receives ownership of the removed object.
|