diff -r b31261fd4e04 -r ccd8e69b5392 mmshplugins/mmshaoplugin/src/muscalleventmonitor.cpp --- a/mmshplugins/mmshaoplugin/src/muscalleventmonitor.cpp Tue Feb 02 00:09:07 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,183 +0,0 @@ -/* -* Copyright (c) 2005-2006 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: Monitor the events of CS call -* -*/ - - -#include "mussesseioninformationapi.h" -#include "muscalleventmonitor.h" -#include "muslogger.h" - -#include -#include -#include -#include - - -// ------------------------------------------------------------------------------ -// Symbian two-phase constructor. -// ------------------------------------------------------------------------------ -// -CMusCallEventMonitor* CMusCallEventMonitor::NewL( const RMobileCall& aCall, MMusTsyPropertyObserver& aObserver ) - { - MUS_LOG( "mus: [MUSAO] -> CMusCallEventMonitor::NewL" ) - CMusCallEventMonitor* self = new (ELeave) CMusCallEventMonitor(aCall, aObserver); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - MUS_LOG( "mus: [MUSAO] <- CMusCallEventMonitor::NewL" ) - return self; - } - - -// ------------------------------------------------------------------------------ -// C++ destructor. -// ------------------------------------------------------------------------------ -// -CMusCallEventMonitor::~CMusCallEventMonitor() - { - MUS_LOG( "mus: [MUSAO] -> CMusCallEventMonitor::~CMusCallEventMonitor" ) - Cancel(); - MUS_LOG( "mus: [MUSAO] <- CMusCallEventMonitor::~CMusCallEventMonitor" ) - } - -// ------------------------------------------------------------------------------ -// Symbian second-phase constructor. -// ------------------------------------------------------------------------------ -// -void CMusCallEventMonitor::ConstructL( ) - { - MUS_LOG( "mus: [MUSAO] -> CMusCallEventMonitor::ConstructL" ) - CActiveScheduler::Add( this ); - iCall.NotifyCallEvent( iStatus, iCallEvent ); - SetActive(); - MUS_LOG( "mus: [MUSAO] <- CMusCallEventMonitor::ConstructL" ) - } - - -// ------------------------------------------------------------------------------ -// C++ constructor. -// ------------------------------------------------------------------------------ -// -CMusCallEventMonitor::CMusCallEventMonitor( const RMobileCall& aCall, MMusTsyPropertyObserver& aObserver ) - : CMusCallMonitorBase(aCall, aObserver) - - { - - } - - -// ----------------------------------------------------------------------------- -// CMusCallEventMonitor::RunL() -// From CActive.It will be called any NotifyMobileLineStatusChange -// Event happens. -// ----------------------------------------------------------------------------- -// -void CMusCallEventMonitor::RunL() - { - MUS_LOG( "mus: [MUSAO] -> CMusCallEventMonitor::RunL" ) - iCall.NotifyCallEvent( iStatus, iCallEvent ); - SetActive(); - MUS_LOG1( "mus: [MUSAO] iCallEvent = %d", iCallEvent ) - switch(iCallEvent) - { - case RMobileCall::ELocalHold: - iLocalCallEvent = RMobileCall::ELocalHold; - SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ELocalResume: - iLocalCallEvent = RMobileCall::ELocalResume; - // when local resume happens , check the remote call state. - // without knowing remote call state we can not set the state - // to call connected. - if( iRemoteCallEvent == RMobileCall::ERemoteResume) - { - SetStateL( NMusSessionInformationApi::ECallConnected ); - } - else - { - SetStateL( NMusSessionInformationApi::ECallHold ); - } - break; - case RMobileCall::ELocalDeflectCall: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ELocalTransfer: - SetStateL( NMusSessionInformationApi::ENoCall ); - break; - case RMobileCall::ERemoteHold: - iRemoteCallEvent = RMobileCall::ERemoteHold; - SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ERemoteResume: - iRemoteCallEvent = RMobileCall::ERemoteResume; - // when remote resume happens , check the local call state. - // without knowing local call state we can not set the state - // to call connected. - if( iLocalCallEvent == RMobileCall::ELocalResume) - { - SetStateL( NMusSessionInformationApi::ECallConnected ); - } - else - { - SetStateL( NMusSessionInformationApi::ECallHold ); - } - break; - case RMobileCall::ERemoteTerminated: - SetStateL( NMusSessionInformationApi::ENoCall ); - NotifyCallStateChanged( NMusSessionInformationApi::ENoCall ); - break; - case RMobileCall::ERemoteConferenceCreate: - SetStateL( NMusSessionInformationApi::EConferenceCall ); - break; - case RMobileCall::ERemoteTransferring: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ERemoteTransferAlerting: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ERemoteBarred: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ERemoteForwarding: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ERemoteWaiting: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - case RMobileCall::ELocalBarred: - //SetStateL( NMusSessionInformationApi::ECallHold ); - break; - default: - break; - } - MUS_LOG( "mus: [MUSAO] <- CMusCallEventMonitor::RunL" ) - } - - -// ----------------------------------------------------------------------------- -// CMusCallEventMonitor::DoCancel() -// Implemented for CActive. -// Will be called when Cancel() method is called. -// ----------------------------------------------------------------------------- -// -void CMusCallEventMonitor::DoCancel() - { - MUS_LOG( "mus: [MUSAO] -> CMusCallEventMonitor::DoCancel" ) - iCall.CancelAsyncRequest( EMobileCallNotifyCallEvent ); - MUS_LOG( "mus: [MUSAO] <- CMusCallEventMonitor::DoCancel" ) - } - -// End of file