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 ()
void AirTimeDurationStart ( CCCECall *)
void AirTimeDurationStop ( CCCECall *)
void AirTimeDurationSwap (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 ()
void ErrorOccurred ( CCCECall *, TCCPError )
MCCEExtensionInterface & ExtensionInterfaceL (const MCCEExtensionObserver &)
TInt GetActiveOrConnectingCalls ( RPointerArray < MCCECallInfo > &)
void GetAirTimeDuration ( 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 ()
void HandleCallStatusChange ( CCPCall::TCallState , CCCECall *, CCECallEnums::TNotifyType )
void HandleConferenceStatusChange ( MCCEConferenceCallObserver::TCCEConferenceCallState )
void HandleEmergencyCallStatusChange ( CCECallEnums::TNotifyType )
TInt MaxNumberOfCalls ()
CCCECallContainer * NewL ( MCCEObserver &)
MCCECall & OpenNewCallL (const TDesC &, const CCCECallParameters &, const MCCECallObserver &)
TInt ReleaseCall ( MCCPCall &, const TUid )
TInt ReleaseCall ( MCCPCall &)
void ReleaseCallInfoCallId ( TInt )
void ReserveCallInfoCallId ( TInt )
void SetObserver ( MCCEObserver &, MCCESsObserver &)
MCCESsObserver * SsObserver ()
void TerminateAllButRingingAndQueuedCalls ()
void TerminateAllCalls ()
void TerminateAllVoIPCalls ()
Private Member Functions
CCCECallContainer ( MCCEObserver &)
void ConstructL ()
void CreateCallDataArraysL ()
void DoReleaseCalls ()
CCCECall * GetCallWithActiveRequest ( CCCECall *)
CCCECall * GetNonConferenceCall ()
TBool IsCsPlugin ( CCCECall *, TBool )
TInt ReleaseCalls ( TAny *)
void ScheduleReleaseCall ( 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 *)

void AirTimeDurationStart ( CCCECall * aCall ) const

Start airtime duration timer

Since
S60 v3.2

Parameters

CCCECall * aCall CCCECall is used for checking call type

AirTimeDurationStop(CCCECall *)

void AirTimeDurationStop ( CCCECall * aCall ) const

Stop airtime duration timer

Since
S60 v3.2

Parameters

CCCECall * aCall CCCECall is used for checking call type

AirTimeDurationSwap(const CCPCall::TCallType)

void AirTimeDurationSwap ( const CCPCall::TCallType aNewCallType )

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 ( TInt aIndex ) const

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()

void ConstructL ( ) [private]

Leaving stuff in constructor

CountCalls(TUid)

TInt CountCalls ( TUid aImplementationUid ) const

Counts calls of specified type

Since
S60 v3.2

Parameters

TUid aImplementationUid

CountCsCalls(TUid)

TInt CountCsCalls ( TUid aImplementationUid ) const

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

Parameters

TUid aImplementationUid

CreateCallDataArraysL()

void CreateCallDataArraysL ( ) [private]

Creates call array

Since
S60 v3.2

DoReleaseCalls()

void DoReleaseCalls ( ) [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

ErrorOccurred(CCCECall *, TCCPError)

void ErrorOccurred ( CCCECall * aCall,
TCCPError aError
)

Call propagated error

Since
S60 v3.2

Parameters

CCCECall * aCall CCCECall failed
TCCPError aError error 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 > & aCallArray Calls are inserted in this array

GetAirTimeDuration(TTimeIntervalSeconds &, TTimeIntervalSeconds &)

void GetAirTimeDuration ( 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 & aCSInfo CS info.

GetCall(TInt)

CCCECall * GetCall ( TInt aCallId ) const

Get call with specific id.

Since
S60 v3.2

Parameters

TInt aCallId Specifies which call is returned

GetCall(CCPCall::TCallState, CCCECall *)

CCCECall * GetCall ( CCPCall::TCallState aCallStatus,
CCCECall * aSkippedCall
) const

Get call with specific state, Skip given call

Since
S60 v3.2

Parameters

CCPCall::TCallState aCallStatus Specified callstatus.
CCCECall * aSkippedCall Skip 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 * aMCCPCall Call to be found.

GetCall(TUid, RPointerArray< CCCECall > &)

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

Get call array of specific type

Since
S60 v3.2

Parameters

TUid aImplementationUid Specifies calltype to be found
RPointerArray < CCCECall > & aCallArray Calls 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 * aCall Call to be skipped

GetLifeTime(TDes8 &)

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

Parameters

TDes8 & aLifeTimeInfo Life 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)

void HandleCallStatusChange ( CCPCall::TCallState aStatus,
CCCECall * aCall,
CCECallEnums::TNotifyType aNotify
)

This is called when call status is changed.

Since
S60 v3.2

Parameters

CCPCall::TCallState aStatus New call state
CCCECall * aCall Pointer to call which is changed Type of notify
CCECallEnums::TNotifyType aNotify

HandleConferenceStatusChange(MCCEConferenceCallObserver::TCCEConferenceCallState)

void HandleConferenceStatusChange ( MCCEConferenceCallObserver::TCCEConferenceCallState aStatus )

This is called when conference status is changed.

Since
S60 v3.2

Parameters

MCCEConferenceCallObserver::TCCEConferenceCallState aStatus New conference state

HandleEmergencyCallStatusChange(CCECallEnums::TNotifyType)

void HandleEmergencyCallStatusChange ( CCECallEnums::TNotifyType aNotify )

Indication from emergency call about status change.

Since
S60 v5.0

Parameters

CCECallEnums::TNotifyType aNotify Type of notify.

IsCsPlugin(CCCECall *, TBool)

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

Tells if cs plugin is used in current call

Since
S60 v3.2

Parameters

CCCECall * aCall Call to be checked
TBool aConference

MaxNumberOfCalls()

TInt MaxNumberOfCalls ( ) const

NewL(MCCEObserver &)

CCCECallContainer * NewL ( MCCEObserver & aObserver ) [static]

Two-phased constructor.

Parameters

MCCEObserver & aObserver Reference 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 TUid aUid
)

Releases call

Since
S60 v3.2

Parameters

MCCPCall & aCalltoRelease
const TUid aUid Uid for this call

ReleaseCall(MCCPCall &)

TInt ReleaseCall ( MCCPCall & aCalltoRelease )

Releases call

Since
S60 v3.2

Parameters

MCCPCall & aCalltoRelease

ReleaseCallInfoCallId(TInt)

void ReleaseCallInfoCallId ( TInt aCallId )

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

Since
S60 v3.2

Parameters

TInt aCallId CallId 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)

void ReserveCallInfoCallId ( TInt aCallId )

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

Since
S60 v3.2

Parameters

TInt aCallId CallId to be reserved

ScheduleReleaseCall(MCCPCall &, const TUid)

void ScheduleReleaseCall ( MCCPCall & aCalltoRelease,
const TUid aUid
) [private]

Add a call to release list

Since
S60 v3.2

Parameters

MCCPCall & aCalltoRelease
const TUid aUid

SetObserver(MCCEObserver &, MCCESsObserver &)

void SetObserver ( MCCEObserver & aObserver,
MCCESsObserver & aSsObserver
)

Parameters

MCCEObserver & aObserver
MCCESsObserver & aSsObserver

SsObserver()

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

TerminateAllButRingingAndQueuedCalls()

void TerminateAllButRingingAndQueuedCalls ( )

Create room to incoming emergency

Since
S60 v3.2

TerminateAllCalls()

void TerminateAllCalls ( )

Create room to emergency

Since
S60 v3.2

TerminateAllVoIPCalls()

void TerminateAllVoIPCalls ( )

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