CMceRefer Class Reference

class CMceRefer : public CBase

Base class for MCE refers, inherited by both CMceInRefer and CMceOutRefer.

CMceRefer represents peer-to-peer connection made with remote terminal. This connection is also known as dialog and it is set up using SIP REFER method.

MCE refers are typically used for asking remote terminal to perform some action. One such action is session transfer.

The refer is finally terminated by the endpoint performing the action. Refer can implicitically also create an event which is used to inform how the action proceeds. In such case refer and event and tied together and are finally terminated simultaneously.

If for any reason instance of this class is deleted while in active state, event is automatically terminated by MCE server.

mceclient.lib

Inherits from

Public Member Functions
~CMceRefer()
IMPORT_C RPointerArray< CMceEvent > *AssociatedEventsL()
IMPORT_C RPointerArray< CMceRefer > *AssociatedRefersL()
IMPORT_C CMceSession *AssociatedSession()
voidDetachReferEvent()
TUint32 DialogId()
voidErrorOccuredL(TInt)
voidEventReceivedL(TMceIds &)
voidEventReceivedL(TMceIds &, CMceMsgBase &)
voidEventReceivedL(TMceIds &, CMceMsgBase &, HBufC8 *)
voidEventStateChangedL(TMceEvent &)
CMceItcSender &ITCSender()
TUint32 Id()
TBool IsInRefer()
CMceManager &Manager()
IMPORT_C const TDesC8 &Originator()
TUint32 ProfileId()
IMPORT_C const TDesC8 &Recipient()
CMceEvent *ReferEvent()
IMPORT_C const TDesC8 &ReferTo()
IMPORT_C TStateState()
CMceEvent *TransferEventOwnership()
IMPORT_C TTypeType()
Protected Member Functions
CMceRefer(CMceManager &, TUint32, TUint32, TType)
voidConstructL(HBufC8 *, HBufC8 *, HBufC8 *, CDesC8Array *)
voidPrepareForITC(TMceIds &)
TState ResolveStateL()
Private Member Functions
voidEventReceivedL(TMceEvent &)
voidHandleEventL(TMceEvent &)
voidHandleStateChangedL(TMceEvent &)
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()
Public Member Enumerations
enumTState { EIdle, EPending, EAccepted, ETerminated }
enumTType { ENoSuppression, ESuppressed, EMultipleRefer }
Protected Attributes
TUint32 iDialogId
CMceEvent *iEvent
TUint32 iId
CMceManager &iManager
HBufC8 *iOriginator
CMceEvent *iOwnedEvent
TUint32 iProfileId
CMceReferReceiver *iReceiver
HBufC8 *iRecipient
HBufC8 *iReferTo
CMceItcSender *iSender
TState iState
TType iType
Private Attributes
TAny *iReserved

Constructor & Destructor Documentation

CMceRefer(CMceManager &, TUint32, TUint32, TType)

CMceRefer(CMceManager &aManager,
TUint32aProfileId,
TUint32aDialogId,
TTypeaType
)[protected]

C++ default constructor.

Parameters

CMceManager & aManager
TUint32 aProfileIdid of the sip profile used for the even
TUint32 aDialogIdid of the dialog
TType aTypetype of the refer

~CMceRefer()

~CMceRefer()[virtual]

Destructor.

Member Functions Documentation

AssociatedEventsL()

IMPORT_C RPointerArray< CMceEvent > *AssociatedEventsL()const

Returns the associated events, if any.

AssociatedRefersL()

IMPORT_C RPointerArray< CMceRefer > *AssociatedRefersL()const

Returns the associated refers, if any.

AssociatedSession()

IMPORT_C CMceSession *AssociatedSession()const

Returns the associated session, if any.

ConstructL(HBufC8 *, HBufC8 *, HBufC8 *, CDesC8Array *)

voidConstructL(HBufC8 *aRecipient,
HBufC8 *aReferTo,
HBufC8 *aOriginator,
CDesC8Array *params
)[protected]

second-phase constructor

Parameters

HBufC8 * aRecipient
HBufC8 * aReferTo
HBufC8 * aOriginator
CDesC8Array * params

DetachReferEvent()

voidDetachReferEvent()

Detach the refer event

DialogId()

TUint32 DialogId()const

Dialog ID

ErrorOccuredL(TInt)

voidErrorOccuredL(TIntaError)

Handling of error

Parameters

TInt aErrorthe error

EventReceivedL(TMceIds &)

voidEventReceivedL(TMceIds &aId)

Handles reception of event update

Parameters

TMceIds & aIdid of object whose state is needed to be updated

EventReceivedL(TMceIds &, CMceMsgBase &)

voidEventReceivedL(TMceIds &aId,
CMceMsgBase &aMessage
)

Handles reception of event update

Parameters

TMceIds & aIdid of object whose state is needed to be updated
CMceMsgBase & aMessagethe message

EventReceivedL(TMceIds &, CMceMsgBase &, HBufC8 *)

voidEventReceivedL(TMceIds &aId,
CMceMsgBase &aMessage,
HBufC8 *aContent
)

Handles reception of event update

Parameters

TMceIds & aIdid of object whose state is needed to be updated
CMceMsgBase & aMessagethe message
HBufC8 * aContentthe content

EventReceivedL(TMceEvent &)

voidEventReceivedL(TMceEvent &aEvent)[private]

Traversal event handler

Parameters

TMceEvent & aEventthe event

EventStateChangedL(TMceEvent &)

voidEventStateChangedL(TMceEvent &aEvent)

The state of the event established by this refer has changed.

Parameters

TMceEvent & aEventthe ITC event.

HandleEventL(TMceEvent &)

voidHandleEventL(TMceEvent &aEvent)[private]

Handles event

Parameters

TMceEvent & aEventthe event

HandleStateChangedL(TMceEvent &)

voidHandleStateChangedL(TMceEvent &aEvent)[private]

Handles state change

Parameters

TMceEvent & aEventthe event

ITCSender()

CMceItcSender &ITCSender()const

Gets sender for ITC.

Id()

TUint32 Id()const

ID

IsInRefer()

TBool IsInRefer()const [pure virtual]

Returns truth value, is the refer in-refer or not.

Manager()

CMceManager &Manager()const

Gets manager

Originator()

IMPORT_C const TDesC8 &Originator()const

Returns the originator of the refer.

PrepareForITC(TMceIds &)

voidPrepareForITC(TMceIds &aId)[protected]

Prepares ids for ITC

Parameters

TMceIds & aIdITC ids

ProfileId()

TUint32 ProfileId()const

Gets SIP profile id.

Recipient()

IMPORT_C const TDesC8 &Recipient()const

Returns the recipient of the refer.

ReferEvent()

CMceEvent *ReferEvent()const

Gets the event established by this refer. Ownership is not transfered.

ReferTo()

IMPORT_C const TDesC8 &ReferTo()const

Returns the ReferTo header.

ResolveStateL()

TState ResolveStateL()[protected]

Resolves the proper refer state according to the state of refer event.

State()

IMPORT_C TStateState()const

Returns the state of the refer.

TransferEventOwnership()

CMceEvent *TransferEventOwnership()

Transfers the owned refer event to not event. Called, when the application takes the ownership of refer event.

Type()

IMPORT_C TTypeType()const

Returns the refer type

Member Enumerations Documentation

Enum TState

Enumerators

EIdle
EPending
EAccepted
ETerminated

Enum TType

Enumerators

ENoSuppression
ESuppressed
EMultipleRefer

Member Data Documentation

TUint32 iDialogId

TUint32 iDialogId[protected]

dialog id

CMceEvent * iEvent

CMceEvent *iEvent[protected]

The event established by this REFER, not owned.

TUint32 iId

TUint32 iId[protected]

ID

CMceManager & iManager

CMceManager &iManager[protected]

Event manager,not owned

HBufC8 * iOriginator

HBufC8 *iOriginator[protected]

The originator

CMceEvent * iOwnedEvent

CMceEvent *iOwnedEvent[protected]

The event established by this REFER, owned.

TUint32 iProfileId

TUint32 iProfileId[protected]

SIP profile id

CMceReferReceiver * iReceiver

CMceReferReceiver *iReceiver[protected]

Event receiver, owned

HBufC8 * iRecipient

HBufC8 *iRecipient[protected]

The recipient

HBufC8 * iReferTo

HBufC8 *iReferTo[protected]

The event header

TAny * iReserved

TAny *iReserved[private]

CMceItcSender * iSender

CMceItcSender *iSender[protected]

Sender, owned

TState iState

TState iState[protected]

Current event state

TType iType

TType iType[protected]

Refer type