CSIPDialogAssocImplementation Class Reference

class CSIPDialogAssocImplementation : public CBase

Implementation class of CSIPDialogAssocBase.

Inherits from

  • CSIPDialogAssocImplementation
Public Member Functions
~CSIPDialogAssocImplementation()
voidAddTransactionL(CSIPTransactionBase &)
TInt CheckIfStandAlone()
CSIPClientConnection *ClientConnection()
CSIPClientConnection &ClientConnectionL()
voidConnectionLost()
voidCopyHeaderL(const CSIPHeaderBase &, CSIPMessageElements &, TMessageHeaderCleanup &)
voidDeletingRefresh(CSIPRefresh &, TUint32)
const CSIPDialog &Dialog()
CSIPDialog &Dialog()
CSIPTransactionBase *FindTransaction(TUint32)
TBool HasTransaction(RStringF, TBool)
CSIPDialogAssocImplementation *NewL(RStringF, CSIPDialogAssocBase &, CSIPDialog &)
CSIPDialogAssocImplementation *NewL(RStringF, CSIPDialogAssocBase &, CSIPDialog &, CSIPServerTransaction &)
voidRemoveTransaction(const CSIPTransactionBase &)
CSIPConnection &SIPConnectionL()
CSIPClientTransaction *SendNonTargetRefreshRequestL(RStringF, CSIPMessageElements *)
MTransactionAssociation &TransactionAssociation()
RStringF Type()
CSIPClientTransaction *UpdateRefreshL(CSIPRefresh &, CSIPMessageElements *, TBool)
Protected Member Functions
CSIPDialogAssocImplementation(CSIPDialogAssocBase &, CSIPDialog &)
voidConstructL(RStringF)
voidConstructL(RStringF, CSIPServerTransaction &)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Attributes
CSIPDialogAssocBase &iAssoc
CSIPDialog &iDialog
TBool iStringPoolOpened
RPointerArray< CSIPTransactionBase >iTransactions
RStringF iType

Constructor & Destructor Documentation

CSIPDialogAssocImplementation(CSIPDialogAssocBase &, CSIPDialog &)

CSIPDialogAssocImplementation(CSIPDialogAssocBase &aAssoc,
CSIPDialog &aDialog
)[protected]

Parameters

CSIPDialogAssocBase & aAssoc
CSIPDialog & aDialog

~CSIPDialogAssocImplementation()

~CSIPDialogAssocImplementation()[virtual]

Destructor

Member Functions Documentation

AddTransactionL(CSIPTransactionBase &)

voidAddTransactionL(CSIPTransactionBase &aTransaction)

Parameters

CSIPTransactionBase & aTransaction

CheckIfStandAlone()

TInt CheckIfStandAlone()

ClientConnection()

CSIPClientConnection *ClientConnection()

ClientConnectionL()

CSIPClientConnection &ClientConnectionL()

ConnectionLost()

voidConnectionLost()[virtual]

The connection used by dialog association has been lost. Those classes derived from CSIPDialogAssocImplementation, which can contain refreshes must implement this function for terminating the refresh.

ConstructL(RStringF)

voidConstructL(RStringFaType)[protected]

Parameters

RStringF aType

ConstructL(RStringF, CSIPServerTransaction &)

voidConstructL(RStringFaType,
CSIPServerTransaction &aTransaction
)[protected]

Parameters

RStringF aType
CSIPServerTransaction & aTransaction

CopyHeaderL(const CSIPHeaderBase &, CSIPMessageElements &, TMessageHeaderCleanup &)

voidCopyHeaderL(const CSIPHeaderBase &aHeader,
CSIPMessageElements &aElements,
TMessageHeaderCleanup &aHeaderCleanup
)[static]

Makes a copy of aHeader and adds it into aElements and also into headerCleanup.

Parameters

const CSIPHeaderBase & aHeaderSIP header
CSIPMessageElements & aElementsMessage elements
TMessageHeaderCleanup & aHeaderCleanupInformation to detach and delete the copy of aHeader from aElements in case leave occurs.

DeletingRefresh(CSIPRefresh &, TUint32)

voidDeletingRefresh(CSIPRefresh &aRefresh,
TUint32aRefreshId
)

Parameters

CSIPRefresh & aRefresh
TUint32 aRefreshId

Dialog()

const CSIPDialog &Dialog()const

Gets the dialog this dialog association belongs to

Dialog()

CSIPDialog &Dialog()

Gets dialog this dialog association belongs to

FindTransaction(TUint32)

CSIPTransactionBase *FindTransaction(TUint32aRequestId)

Searches for a transaction with the given aRequestId.

Parameters

TUint32 aRequestIdRequestId of a transaction

HasTransaction(RStringF, TBool)

TBool HasTransaction(RStringFaType,
TBoolaIsClientTransaction
)

Checks if this dialog association has a transaction of the given type.

Parameters

RStringF aTypeTransaction type
TBool aIsClientTransactionETrue if searching for a client transaction, EFalse if searching for a server transaction

NewL(RStringF, CSIPDialogAssocBase &, CSIPDialog &)

CSIPDialogAssocImplementation *NewL(RStringFaType,
CSIPDialogAssocBase &aAssoc,
CSIPDialog &aDialog
)[static]

Parameters

RStringF aType
CSIPDialogAssocBase & aAssoc
CSIPDialog & aDialog

NewL(RStringF, CSIPDialogAssocBase &, CSIPDialog &, CSIPServerTransaction &)

CSIPDialogAssocImplementation *NewL(RStringFaType,
CSIPDialogAssocBase &aAssoc,
CSIPDialog &aDialog,
CSIPServerTransaction &aTransaction
)[static]

Parameters

RStringF aType
CSIPDialogAssocBase & aAssoc
CSIPDialog & aDialog
CSIPServerTransaction & aTransaction

RemoveTransaction(const CSIPTransactionBase &)

voidRemoveTransaction(const CSIPTransactionBase &aTransaction)

Parameters

const CSIPTransactionBase & aTransaction

SIPConnectionL()

CSIPConnection &SIPConnectionL()

SendNonTargetRefreshRequestL(RStringF, CSIPMessageElements *)

CSIPClientTransaction *SendNonTargetRefreshRequestL(RStringFaMethod,
CSIPMessageElements *aElements
)[virtual]
Creates SIP request and sends it to the remote target. This function should be used for sending SIP extension requests within dialog assocation that do not cause sip dialog associations to be created. In SIP terms this request is non target refresh request.
Pre-condition
SIPDialog().State() != CSIPDialog::EInit && SIPDialog().State() != CSIPDialog::ETerminated
Dialog().Connection().State() == EActive
aMethod != "REGISTER" |"INVITE" | "BYE" | "CANCEL" | "ACK" | "SUBSCRIBE" | "NOTIFY" | "UPDATE" | "PRACK"
leave
KErrSIPInvalidDialogState If dialog's state is not correct
leave
KErrArgument if invalid value has been set to aMethod
leave
KErrSIPResourceNotAvailable if a required SIP Client API object has been deleted

Parameters

RStringF aMethod
CSIPMessageElements * aElementscontains optional SIP message headers and body. Ownership is transferred.

TransactionAssociation()

MTransactionAssociation &TransactionAssociation()

Type()

RStringF Type()const

Gets dialog association type.

UpdateRefreshL(CSIPRefresh &, CSIPMessageElements *, TBool)

CSIPClientTransaction *UpdateRefreshL(CSIPRefresh &aRefresh,
CSIPMessageElements *aElements,
TBoolaTerminate
)

Parameters

CSIPRefresh & aRefresh
CSIPMessageElements * aElements
TBool aTerminate

Member Data Documentation

CSIPDialogAssocBase & iAssoc

CSIPDialogAssocBase &iAssoc[private]

CSIPDialog & iDialog

CSIPDialog &iDialog[private]

TBool iStringPoolOpened

TBool iStringPoolOpened[private]

RPointerArray< CSIPTransactionBase > iTransactions

RPointerArray< CSIPTransactionBase >iTransactions[private]

RStringF iType

RStringF iType[private]