--- a/phoneengine/callhandling/src/cpeconferencecall.cpp Fri May 14 15:51:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This file contains the implementation of CPEConferenceCall class
-* member functions.
-*
-*/
-
-
-// INCLUDE FILES
-#include "cpeconferencecall.h"
-#include "mpemessagesender.h"
-#include <pevirtualengine.h>
-#include <talogger.h>
-#include <mccpconferencecallobserver.h>
-#include <pepanic.pan>
-
-// EXTERNAL DATA STRUCTURES
-// None.
-
-// EXTERNAL FUNCTION PROTOTYPES
-// None.
-
-// CONSTANTS
-// None.
-
-// MACROS
-// None.
-
-// LOCAL CONSTANTS AND MACROS
-// None.
-
-// MODULE DATA STRUCTURES
-// None.
-
-// LOCAL FUNCTION PROTOTYPES
-// None.
-
-// ==================== LOCAL FUNCTIONS ====================
-// None.
-
-// ================= MEMBER FUNCTIONS =======================================
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::CPEConferenceCall
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CPEConferenceCall::CPEConferenceCall(
- MPEMessageSender& aOwner,
- MCCEConferenceCall& aCall
- ) : CPECall( aOwner ), iConferenceCall( &aCall )
- {
- TEFLOGSTRING( KTAOBJECT, "cpecall: CPEConferenceCall::CPEConferenceCall start." );
- SetCallState( EPEStateConferenceIdle );
- TEFLOGSTRING( KTAOBJECT, "cpecall: CPEConferenceCall::CPEConferenceCall complete." );
- }
-
- // Destructor
-CPEConferenceCall::~CPEConferenceCall
- (
- // None.
- )
- {
- TEFLOGSTRING( KTAOBJECT, "cpecall: CPEConferenceCall::~CPEConferenceCall: Start." );
- iConferenceCall->Release();
- TEFLOGSTRING( KTAOBJECT, "cpecall: CPEConferenceCall::~CPEConferenceCall: Complete." );
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::ConstructL(
- CCCE& aConvergedCallEngine )
- {
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::ConstructL start." );
- iConferenceCall = &( aConvergedCallEngine.ConferenceCallL( *this ) );
- iConferenceCall->SetObserver( *this );
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::ConstructL complete." );
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPEConferenceCall* CPEConferenceCall::NewL(
- MPEMessageSender& aOwner,
- CCCE& aConvergedCallEngine
- )
- {
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::NewL start." );
- MCCEConferenceCall* temp = NULL;
-
- CPEConferenceCall* self = new ( ELeave ) CPEConferenceCall( aOwner, *temp );
- CleanupStack::PushL( self );
- self->ConstructL( aConvergedCallEngine );
- CleanupStack::Pop( self );
-
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::NewL complete." );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CPEConferenceCall* CPEConferenceCall::NewL(
- MPEMessageSender& aOwner,
- MCCEConferenceCall& aCall
- )
- {
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::NewL start." );
-
- CPEConferenceCall* self = new ( ELeave ) CPEConferenceCall( aOwner, aCall );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::NewL complete." );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::ConstructL()
- {
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::ConstructL start." );
- iConferenceCall->SetObserver( *this );
- TEFLOGSTRING( KTAOBJECT, "cpecallgsm: CPEGsmConferenceCall::ConstructL complete." );
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::AddCall
-// Adds new member to Conference Call
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::AddCallL
- (
- MCCECall& aCall
- )
- {
- if( GetCallState() == EPEStateConferenceIdle )
- {
- SetCallState( EPEStateCreatingConference );
- }
- iConferenceCall->AddCallL( aCall );
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::CallEventOccurred
-// A conference call event has occurred.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPEConferenceCall::CallEventOccurred(
- const MCCEConferenceCallObserver::TCCEConferenceCallEvent aEvent,
- MCCECall* aReferredCall )
- {
- TEFLOGSTRING2( KTAREQEND, "CALL CPEConferenceCall::ConferenceCallEventOccurred, event: %d", aEvent );
-
- if ( aReferredCall )
- {
- //resolve the referred call first
- RMobileCall::TMobileCallInfoV1 callInfo;
- RMobileCall::TMobileCallInfoV1Pckg callInfoPckg( callInfo );
- TEFLOGSTRING( KTAREQOUT, "CALL CPEConferenceCall::ConferenceCallEventOccurred: Request MCCECall::GetMobileCallInfo()" );
- aReferredCall->GetMobileCallInfo( callInfoPckg );
- callInfo = callInfoPckg();
- iCallName = callInfo.iCallName;
-
- // now that the call name has been stored, owner may fetch it
- // upon receiving a conference call related indication
- }
- else
- {
- iCallName = KNullDesC;
- }
-
- switch ( aEvent )
- {
- case MCCEConferenceCallObserver::ECCEConferenceCallAdded:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallEventOccurred, Call added to conference" );
- SendMessage( MEngineMonitor::EPEMessageAddedConferenceMember, iCallName );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceCallRemoved:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallEventOccurred, Call removed from conference" );
- SendMessage( MEngineMonitor::EPEMessageDroppedConferenceMember, iCallName );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceBuilt:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallEventOccurred, Conference call was built" );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceTerminated:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallEventOccurred, Conference call was terminated" );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceSwapped:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallEventOccurred, Conference call was swapped" );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceSplit:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallEventOccurred, Conference call was split" );
- SendMessage( MEngineMonitor::EPEMessageWentOneToOne, iCallName );
- break;
- }
- default:
- {
- TEFLOGSTRING( KTAERROR, "CALL CPEConferenceCall::CallEventOccurred, UNKNOWN CONFERENCE EVENT!" );
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::CallStateChanged
-// A conference call state has changed.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPEConferenceCall::CallStateChanged(
- const MCCEConferenceCallObserver::TCCEConferenceCallState aState )
- {
- switch ( aState )
- {
- case MCCEConferenceCallObserver::ECCEConferenceIdle:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallStateChanged, ECCEConferenceIdle" );
- SetCallState( EPEStateConferenceIdle );
- iLastConferenceDuration = iDuration;
- SendMessage( MEngineMonitor::EPEMessageConferenceIdle );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceActive:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallStateChanged, ECCEConferenceActive" );
- SetCallState( EPEStateConnectedConference );
- SendMessage( MEngineMonitor::EPEMessageConnectedConference );
- break;
- }
- case MCCEConferenceCallObserver::ECCEConferenceHold:
- {
- TEFLOGSTRING( KTAINT, "CALL CPEConferenceCall::CallStateChanged, ECCEConferenceHold" );
- SetCallState( EPEStateHeldConference );
- SendMessage( MEngineMonitor::EPEMessageHeldConference );
- break;
- }
- default:
- {
- TEFLOGSTRING( KTAERROR, "CALL CPEConferenceCall::CallStateChanged, UNKNOWN CONFERENCE STATE!" );
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::CallCapsChanged
-// Conference call capabilities have changed.
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPEConferenceCall::CallCapsChanged(
- const MCCEConferenceCallObserver::TCCEConferenceCallCaps aCaps )
- {
- TEFLOGSTRING2( KTAREQEND, "CALL CPEConferenceCall::CallCapsChanged, caps: %d", aCaps );
- iCaps = aCaps;
- SendMessage( MEngineMonitor::EPEMessageConferenceCapsChange );
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::ErrorOccurred
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CPEConferenceCall::ErrorOccurred( TCCPConferenceCallError aError )
- {
- TEFLOGSTRING2( KTAERROR, "CALL CPEConferenceCall::ErrorOccurred, error: %d", aError );
-
- iOwner.SendErrorMessage( KPEConferenceCallID, aError );
-
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::SendMessage
-// Forwards message to CPEConferenceCall object
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::SendMessage(
- const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage )
- {
- iOwner.SendMessage( aMessage, KPEConferenceCallID );
- }
-
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::SendMessage
-// Forwards message to CPEConferenceCall object
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::SendMessage(
- const MEngineMonitor::TPEMessagesFromPhoneEngine aMessage,
- const TName& aName )
- {
- iOwner.SendMessage( aMessage, aName );
- }
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::GetConferenceDuration
-// Returns Conference duration.
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::GetCallDuration
- (
- TTimeIntervalSeconds& aDuration
- )
- {
- TPEState callState = GetCallState();
- if ( callState != EPEStateConferenceIdle )
- {
- aDuration = iDuration;
- }
- else
- {
- aDuration = iLastConferenceDuration;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::EnumerateCalls
-// Returns number of conference members
-// -----------------------------------------------------------------------------
-//
-TInt CPEConferenceCall::EnumerateCalls()
- {
- TEFLOGSTRING( KTAREQOUT, "cpecall: CPEConferenceCall::EnumerateCalls: MCCEConferenceCall::EnumerateCalls()" );
- return iConferenceCall->EnumerateCalls();
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::GetCallCaps
-// Returns conference call capabilities
-// -----------------------------------------------------------------------------
-//
-MCCEConferenceCallObserver::TCCEConferenceCallCaps
- CPEConferenceCall::CallCaps()
- {
- return iCaps;
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::HangUp
-// Ends conference call.
-// -----------------------------------------------------------------------------
-//
-TInt CPEConferenceCall::HangUp()
- {
- return iConferenceCall->HangUp();
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::Swap
-// Swaps conference between active and held states
-// -----------------------------------------------------------------------------
-//
-TInt CPEConferenceCall::Swap()
- {
- return iConferenceCall->Swap();
- }
-
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::GetConferenceMemberName
-// Returns TName information of added or removed member
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::GetConferenceMemberName
- (
- TName& aCallName
- ) const
- {
- aCallName = iCallName;
- }
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::GoOneToOneL
-// Go one to one
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::GoOneToOneL( MCCECall& aCall )
- {
- iConferenceCall->GoOneToOneL( aCall );
- }
-
-
-// -----------------------------------------------------------------------------
-// CPEConferenceCall::CallDurationChanged
-// -----------------------------------------------------------------------------
-//
-void CPEConferenceCall::CallDurationChanged( const TTimeIntervalSeconds aDuration )
- {
- iDuration = aDuration;
- iOwner.SendMessage( MEngineMonitor::EPEMessageChangedCallDuration, iCallId );
- }
-
-// End Of File