CCCECallContainer Class Reference

class CCCECallContainer : public CBase

Container

This object contains normal calls, emergency call and conference call. Also Dtmf and extension interfaces are located here.

Multicall situations are also handled here.

cce.dll
Since
S60 v3.2

Inherits from

Nested Classes and Structures

Public Member Functions
~CCCECallContainer()
voidAirTimeDurationStart(CCCECall *)
voidAirTimeDurationStop(CCCECall *)
voidAirTimeDurationSwap(const CCPCall::TCallType)
MCCEObserver *CCEObserver()
MCCECallInfo *CallInfo(TInt)
CCCEConferenceCall &ConferenceCall()
CCCEConferenceCall &ConferenceCallL(const MCCEConferenceCallObserver &)
TInt CountCalls(TUid)
TInt CountCsCalls(TUid)
CCCEDtmf &DtmfInterfaceL(const MCCEDtmfObserver &)
MCCECall &EmergencyCall(const MCCECallObserver &)
MCCECallInfo *EmergencyCallInfo()
voidErrorOccurred(CCCECall *, TCCPError)
MCCEExtensionInterface &ExtensionInterfaceL(const MCCEExtensionObserver &)
TInt GetActiveOrConnectingCalls(RPointerArray< MCCECallInfo > &)
voidGetAirTimeDuration(TTimeIntervalSeconds &, TTimeIntervalSeconds &)
TBool GetCSInfo(CSInfo &)
CCCECall *GetCall(TInt)
CCCECall *GetCall(CCPCall::TCallState, CCCECall *)
CCCECall *GetCall(const MCCPCall *)
TInt GetCall(TUid, RPointerArray< CCCECall > &)
TBool GetLifeTime(TDes8 &)
CCCECall *GetNextFreeCall()
voidHandleCallStatusChange(CCPCall::TCallState, CCCECall *, CCECallEnums::TNotifyType)
voidHandleConferenceStatusChange(MCCEConferenceCallObserver::TCCEConferenceCallState)
voidHandleEmergencyCallStatusChange(CCECallEnums::TNotifyType)
TInt MaxNumberOfCalls()
CCCECallContainer *NewL(MCCEObserver &)
MCCECall &OpenNewCallL(const TDesC &, const CCCECallParameters &, const MCCECallObserver &)
TInt ReleaseCall(MCCPCall &, const TUid)
TInt ReleaseCall(MCCPCall &)
voidReleaseCallInfoCallId(TInt)
voidReserveCallInfoCallId(TInt)
voidSetObserver(MCCEObserver &, MCCESsObserver &)
MCCESsObserver *SsObserver()
voidTerminateAllButRingingAndQueuedCalls()
voidTerminateAllCalls()
voidTerminateAllVoIPCalls()
Private Member Functions
CCCECallContainer(MCCEObserver &)
voidConstructL()
voidCreateCallDataArraysL()
voidDoReleaseCalls()
CCCECall *GetCallWithActiveRequest(CCCECall *)
CCCECall *GetNonConferenceCall()
TBool IsCsPlugin(CCCECall *, TBool)
TInt ReleaseCalls(TAny *)
voidScheduleReleaseCall(MCCPCall &, const TUid)
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
CCCEDurationTimer *iCSDuration
CArrayPtrFlat< CCCECall > *iCallArray
TFixedArray< TInt, KCCECallObjects >iCallInfoCallId
CCCECallInfoMediator *iCallStateMediator
RArray< TCallReleaseEntry >iCallstoRelease
CCCEConferenceCall *iConferenceCall
CCCEDtmf *iDtmf
CCCEEmergencyCall *iEmergencyCall
CCCEExtension *iExtension
CIdle *iIdle
MCCEObserver *iMCCEObserver
MCCESsObserver *iMCCESsObserver
CCCEDurationTimer *iPSDuration
CCCEPluginManager *iPluginManager
CCCETransferController *iTransferController

Constructor & Destructor Documentation

CCCECallContainer(MCCEObserver &)

CCCECallContainer(MCCEObserver &aObserver)[private]

Constructor

Parameters

MCCEObserver & aObserver

~CCCECallContainer()

~CCCECallContainer()[virtual]

Destructor.

Member Functions Documentation

AirTimeDurationStart(CCCECall *)

voidAirTimeDurationStart(CCCECall *aCall)const

Start airtime duration timer

Since
S60 v3.2

Parameters

CCCECall * aCallCCCECall is used for checking call type

AirTimeDurationStop(CCCECall *)

voidAirTimeDurationStop(CCCECall *aCall)const

Stop airtime duration timer

Since
S60 v3.2

Parameters

CCCECall * aCallCCCECall is used for checking call type

AirTimeDurationSwap(const CCPCall::TCallType)

voidAirTimeDurationSwap(const CCPCall::TCallTypeaNewCallType)

Switch Air Duration timer, is needed for handover

Stop current timer and starts another one. New timer is initialized with the same value that old timer had when it was stopped

Since
S60 v3.2

Parameters

const CCPCall::TCallType aNewCallType

CCEObserver()

MCCEObserver *CCEObserver()
Get CCE observer
Since
S60 v3.2

CallInfo(TInt)

MCCECallInfo *CallInfo(TIntaIndex)const

From base class MCCECallArray MCCECallArray

Parameters

TInt aIndex

ConferenceCall()

CCCEConferenceCall &ConferenceCall()const

Returns reference to conferencecall

Since
S60 v3.2

ConferenceCallL(const MCCEConferenceCallObserver &)

CCCEConferenceCall &ConferenceCallL(const MCCEConferenceCallObserver &aObserver)

Parameters

const MCCEConferenceCallObserver & aObserver

ConstructL()

voidConstructL()[private]

Leaving stuff in constructor

CountCalls(TUid)

TInt CountCalls(TUidaImplementationUid)const

Counts calls of specified type

Since
S60 v3.2

Parameters

TUid aImplementationUid

CountCsCalls(TUid)

TInt CountCsCalls(TUidaImplementationUid)const

Counts calls of specified type Check implementation UID and call type so that call provided by CS plugin

Parameters

TUid aImplementationUid

CreateCallDataArraysL()

voidCreateCallDataArraysL()[private]

Creates call array

Since
S60 v3.2

DoReleaseCalls()

voidDoReleaseCalls()[private]

Clear the array of calls to be released

Since
S60 v3.2

DtmfInterfaceL(const MCCEDtmfObserver &)

CCCEDtmf &DtmfInterfaceL(const MCCEDtmfObserver &aObserver)

Parameters

const MCCEDtmfObserver & aObserver

EmergencyCall(const MCCECallObserver &)

MCCECall &EmergencyCall(const MCCECallObserver &aCallObserver)

CCCE::EmergencyCall

Parameters

const MCCECallObserver & aCallObserver

EmergencyCallInfo()

MCCECallInfo *EmergencyCallInfo()const

From base class MCCECallArray MCCECallArray

ErrorOccurred(CCCECall *, TCCPError)

voidErrorOccurred(CCCECall *aCall,
TCCPErroraError
)

Call propagated error

Since
S60 v3.2

Parameters

CCCECall * aCallCCCECall failed
TCCPError aErrorerror occured

ExtensionInterfaceL(const MCCEExtensionObserver &)

MCCEExtensionInterface &ExtensionInterfaceL(const MCCEExtensionObserver &aObserver)

Parameters

const MCCEExtensionObserver & aObserver

GetActiveOrConnectingCalls(RPointerArray< MCCECallInfo > &)

TInt GetActiveOrConnectingCalls(RPointerArray< MCCECallInfo > &aCallArray)const

Checks if there is any connected, connecting or dialling calls

Since
S60 v3.2

Parameters

RPointerArray< MCCECallInfo > & aCallArrayCalls are inserted in this array

GetAirTimeDuration(TTimeIntervalSeconds &, TTimeIntervalSeconds &)

voidGetAirTimeDuration(TTimeIntervalSeconds &aCSDuration,
TTimeIntervalSeconds &aPSDuration
)

Parameters

TTimeIntervalSeconds & aCSDuration
TTimeIntervalSeconds & aPSDuration

GetCSInfo(CSInfo &)

TBool GetCSInfo(CSInfo &aCSInfo)
Get CS specific misc info from CS plugin.
Since
S60 v3.2

Parameters

CSInfo & aCSInfoCS info.

GetCall(TInt)

CCCECall *GetCall(TIntaCallId)const

Get call with specific id.

Since
S60 v3.2

Parameters

TInt aCallIdSpecifies which call is returned

GetCall(CCPCall::TCallState, CCCECall *)

CCCECall *GetCall(CCPCall::TCallStateaCallStatus,
CCCECall *aSkippedCall
)const

Get call with specific state, Skip given call

Since
S60 v3.2

Parameters

CCPCall::TCallState aCallStatusSpecified callstatus.
CCCECall * aSkippedCallSkip this call

GetCall(const MCCPCall *)

CCCECall *GetCall(const MCCPCall *aMCCPCall)const

Get call which owns specific MCCPCall. If specified call is NULL return next free call

Since
S60 v3.2

Parameters

const MCCPCall * aMCCPCallCall to be found.

GetCall(TUid, RPointerArray< CCCECall > &)

TInt GetCall(TUidaImplementationUid,
RPointerArray< CCCECall > &aCallArray
)const

Get call array of specific type

Since
S60 v3.2

Parameters

TUid aImplementationUidSpecifies calltype to be found
RPointerArray< CCCECall > & aCallArrayCalls are inserted in this array

GetCallWithActiveRequest(CCCECall *)

CCCECall *GetCallWithActiveRequest(CCCECall *aCall)const [private]

Gets call with active request, skip call which is given as param

Since
S60 v3.2

Parameters

CCCECall * aCallCall to be skipped

GetLifeTime(TDes8 &)

TBool GetLifeTime(TDes8 &aLifeTimeInfo)
Get life time info from CS plugin.
Since
S60 v3.2

Parameters

TDes8 & aLifeTimeInfoLife time info.

GetNextFreeCall()

CCCECall *GetNextFreeCall()const

Get call which isnt in use.

Since
S60 v3.2

GetNonConferenceCall()

CCCECall *GetNonConferenceCall()const [private]

Gets call which isnt part of conference

Since
S60 v3.2

HandleCallStatusChange(CCPCall::TCallState, CCCECall *, CCECallEnums::TNotifyType)

voidHandleCallStatusChange(CCPCall::TCallStateaStatus,
CCCECall *aCall,
CCECallEnums::TNotifyTypeaNotify
)

This is called when call status is changed.

Since
S60 v3.2

Parameters

CCPCall::TCallState aStatusNew call state
CCCECall * aCallPointer to call which is changed Type of notify
CCECallEnums::TNotifyType aNotify

HandleConferenceStatusChange(MCCEConferenceCallObserver::TCCEConferenceCallState)

voidHandleConferenceStatusChange(MCCEConferenceCallObserver::TCCEConferenceCallStateaStatus)

This is called when conference status is changed.

Since
S60 v3.2

Parameters

MCCEConferenceCallObserver::TCCEConferenceCallState aStatusNew conference state

HandleEmergencyCallStatusChange(CCECallEnums::TNotifyType)

voidHandleEmergencyCallStatusChange(CCECallEnums::TNotifyTypeaNotify)

Indication from emergency call about status change.

Since
S60 v5.0

Parameters

CCECallEnums::TNotifyType aNotifyType of notify.

IsCsPlugin(CCCECall *, TBool)

TBool IsCsPlugin(CCCECall *aCall,
TBoolaConference
)const [private]

Tells if cs plugin is used in current call

Since
S60 v3.2

Parameters

CCCECall * aCallCall to be checked
TBool aConference

MaxNumberOfCalls()

TInt MaxNumberOfCalls()const

From base class MCCECallArray MCCECallArray

NewL(MCCEObserver &)

CCCECallContainer *NewL(MCCEObserver &aObserver)[static]

Two-phased constructor.

Parameters

MCCEObserver & aObserverReference to observer

OpenNewCallL(const TDesC &, const CCCECallParameters &, const MCCECallObserver &)

MCCECall &OpenNewCallL(const TDesC &aAddress,
const CCCECallParameters &aCallParameters,
const MCCECallObserver &aCallObserver
)

Parameters

const TDesC & aAddress
const CCCECallParameters & aCallParameters
const MCCECallObserver & aCallObserver

ReleaseCall(MCCPCall &, const TUid)

TInt ReleaseCall(MCCPCall &aCalltoRelease,
const TUidaUid
)

Releases call

Since
S60 v3.2

Parameters

MCCPCall & aCalltoRelease
const TUid aUidUid for this call

ReleaseCall(MCCPCall &)

TInt ReleaseCall(MCCPCall &aCalltoRelease)

Releases call

Since
S60 v3.2

Parameters

MCCPCall & aCalltoRelease

ReleaseCallInfoCallId(TInt)

voidReleaseCallInfoCallId(TIntaCallId)

This is called from cccecall.cpp when it is removed from use.

Since
S60 v3.2

Parameters

TInt aCallIdCallId to be released

ReleaseCalls(TAny *)

TInt ReleaseCalls(TAny *aCallContainer)[private, static]

This is called when call(s) is(are) scheduled to be released

Since
S60 v3.2

Parameters

TAny * aCallContainer

ReserveCallInfoCallId(TInt)

voidReserveCallInfoCallId(TIntaCallId)

This is called from cccecall.cpp when it is taken in use.

Since
S60 v3.2

Parameters

TInt aCallIdCallId to be reserved

ScheduleReleaseCall(MCCPCall &, const TUid)

voidScheduleReleaseCall(MCCPCall &aCalltoRelease,
const TUidaUid
)[private]

Add a call to release list

Since
S60 v3.2

Parameters

MCCPCall & aCalltoRelease
const TUid aUid

SetObserver(MCCEObserver &, MCCESsObserver &)

voidSetObserver(MCCEObserver &aObserver,
MCCESsObserver &aSsObserver
)

Parameters

MCCEObserver & aObserver
MCCESsObserver & aSsObserver

SsObserver()

MCCESsObserver *SsObserver()
Get ss observer
Since
S60 v3.2

TerminateAllButRingingAndQueuedCalls()

voidTerminateAllButRingingAndQueuedCalls()

Create room to incoming emergency

Since
S60 v3.2

TerminateAllCalls()

voidTerminateAllCalls()

Create room to emergency

Since
S60 v3.2

TerminateAllVoIPCalls()

voidTerminateAllVoIPCalls()

Create room to emergency

Since
S60 v3.2

Member Data Documentation

CCCEDurationTimer * iCSDuration

CCCEDurationTimer *iCSDuration[private]

CS call duration Own

CArrayPtrFlat< CCCECall > * iCallArray

CArrayPtrFlat< CCCECall > *iCallArray[private]

Array of call objects Own

TFixedArray< TInt, KCCECallObjects > iCallInfoCallId

TFixedArray< TInt, KCCECallObjects >iCallInfoCallId[private]

Table is filled so that call info callid 0 is used by callid in table index 0 etc.

CCCECallInfoMediator * iCallStateMediator

CCCECallInfoMediator *iCallStateMediator[private]

Call info mediator. Own.

RArray< TCallReleaseEntry > iCallstoRelease

RArray< TCallReleaseEntry >iCallstoRelease[private]

CCCEConferenceCall * iConferenceCall

CCCEConferenceCall *iConferenceCall[private]

Conference call object Own

CCCEDtmf * iDtmf

CCCEDtmf *iDtmf[private]

Dtmf logic container Own

CCCEEmergencyCall * iEmergencyCall

CCCEEmergencyCall *iEmergencyCall[private]

Emergency call object Own

CCCEExtension * iExtension

CCCEExtension *iExtension[private]

Extension interface logic Own

CIdle * iIdle

CIdle *iIdle[private]

Dealyed releaser Own

MCCEObserver * iMCCEObserver

MCCEObserver *iMCCEObserver[private]

Observer Not own

MCCESsObserver * iMCCESsObserver

MCCESsObserver *iMCCESsObserver[private]

Observer Not own

CCCEDurationTimer * iPSDuration

CCCEDurationTimer *iPSDuration[private]

PS call duration Own

CCCEPluginManager * iPluginManager

CCCEPluginManager *iPluginManager[private]

Pluginmanager, manages plugin loading Own

CCCETransferController * iTransferController

CCCETransferController *iTransferController[private]

Transfer controller Own