CSIPTransactionBase Class Reference

#include <mw/siptransactionbase.h>

Link against: sipclient

class CSIPTransactionBase : public CBase

Inherits from

Detailed Description

Base class for managing SIP transactions. It provides services for querying transaction type and its state.

This class is an abstract class and cannot be instantiated.

Member Attribute Documentation

iAssociation

MTransactionAssociation *iAssociation[protected]

Every transaction is associated to exactly one other object: CSIP, CSIPConnection, CSIPRegistrationBinding or CSIPDialogAssocBase

iRequestId

TUint32 iRequestId[protected]

RequestId received from SIP client

Member Enumeration Documentation

Enum TState

SIP transaction state

EnumeratorValueDescription
ETrying

Trying state

ECalling

Calling state

EProceeding

Proceeding state

ECompleted

Completed state

EConfirmed

Confirmed state

ETerminated

Terminated state

EConstructing

Object is being constructed and is not yet ready for use

Constructor & Destructor Documentation

CSIPTransactionBase ( TBool, TUint32, MTransactionAssociation & )

CSIPTransactionBase(TBoolaIsClientTransaction,
TUint32aRequestId,
MTransactionAssociation &aAssociation
)[protected]

~CSIPTransactionBase ( )

~CSIPTransactionBase()[virtual]

Destructor

Member Function Documentation

AffectsDialogState ( )

TBool AffectsDialogState()const

Determines whether this transaction has an effect on the associated dialog's state.

Return Value
ETrue if transaction has an effect on the dialog's state, EFalse otherwise.

ChangeState ( CSIPTransactionBase::TState )

voidChangeState(CSIPTransactionBase::TStateaNextState)

Changes the transaction state.

Parameters
aNextStateState into which transaction moves

CheckAssociationL ( )

voidCheckAssociationL()const [protected]

Checks that iAssociation is available (not NULL). If iAssociation is NULL, it means user has deleted a resource needed by CSIPTransactionBase, and this function leaves.

ConstructL ( RStringF )

voidConstructL(RStringFaType)[protected]

Detach ( const MTransactionAssociation & )

voidDetach(const MTransactionAssociation &aAssociation)[virtual]

Clears the MTransactionAssociation. After this the object can't be used anymore and it is expected that user will delete it soon.

Parameters
aAssociationObject requesting the detach

IsSIPClientTransaction ( )

IMPORT_C TBoolIsSIPClientTransaction()const

Checks the if the actual object is of type CSIPClientTransaction.

Return Value
ETrue if object is of type CSIPClientTransaction and EFalse otherwise

IsTargetRefresh ( RStringF )

TBool IsTargetRefresh(RStringFaType)[static]

Determines whether the transaction type is a target refresh request.

Parameters
aTypeType of transaction
Return Value
ETrue If the transaction is a target refresh request, EFalse otherwise.

RequestId ( )

TUint32 RequestId()const

Obtains the RequestId of the transaction.

Return Value
RequestId

ResponseElements ( )

const CSIPResponseElements *ResponseElements()const [protected]

Gets response elements.

Return Value
Response elements. Ownership isn't transferred.

SetAffectsDialogState ( )

voidSetAffectsDialogState()

Sets this transaction to affect the dialog state.

SetResponseElements ( CSIPResponseElements * )

voidSetResponseElements(CSIPResponseElements *aElements)

Stores response elements. Depending on the status code, transaction may enter another state.

Parameters
aElementsResponse elements, ownership is transferred.

StateL ( )

Gets SIP transaction state
Return Value
SIP transaction state
Leave Codes
KErrSIPResourceNotAvailableif a required SIP Client API object has been deleted

Type ( )

IMPORT_C RStringFType()const

Gets the SIP transaction type

Return Value
SIP transaction type

operator== ( const CSIPTransactionBase & )

IMPORT_C TBooloperator==(const CSIPTransactionBase &aTransaction)const

Compares this object to another object also having CSIPTransactionBase base class The function has to be implemented in each of the sub-classes.

Parameters
aTransactiona CSIPTransactionBase object to compare
Return Value
ETrue if the objects are equal otherwise EFalse