convergedcallengine/csplugin/src/cspetelcallwaitingrequester.cpp
branchRCL_3
changeset 19 7d48bed6ce0c
parent 18 594d59766373
child 20 987c9837762f
--- a/convergedcallengine/csplugin/src/cspetelcallwaitingrequester.cpp	Thu Aug 19 10:28:14 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Contains the implementation of class CSPEtelCallWaitingRequester
-*
-*/
-
-
-
-#include "cspetelcallwaitingrequester.h"
-
-#include <mmretrieve.h>
-#include <etelmm.h>
-
-#include "csplogger.h"
-#include "cspconsts.h"
-
-
-// ---------------------------------------------------------------------------
-// Constructs the requester via two phased constructing.
-// ---------------------------------------------------------------------------
-//
-CSPEtelCallWaitingRequester* CSPEtelCallWaitingRequester::NewL(
-            RMobilePhone& aPhone ) 
-    {
-    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::NewL()" );
-    CSPEtelCallWaitingRequester* self = 
-        new ( ELeave ) CSPEtelCallWaitingRequester( aPhone );
-    CleanupStack::PushL( self );
-    self->ConstructL( );
-    CleanupStack::Pop( self );    
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// Destructor of the object.
-// ---------------------------------------------------------------------------
-//
-CSPEtelCallWaitingRequester::~CSPEtelCallWaitingRequester( )
-    {
-    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::~CSPEtelCallWaitingRequester()" );
-    Cancel();
-    delete iList;
-    }
-
-// ---------------------------------------------------------------------------
-// CSPEtelCallWaitingRequester::GetCallWaitingL
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallWaitingRequester::GetCallWaitingL( const CCCECallParameters& 
-                                                      aParams,
-                                                   TBool& aCallWaitingStatus )
-    {
-    CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL()" );
-    
-    if ( iMode == ECwRequesterInactive )
-        {
-        iMode = ECwRequesterGetStarted;
-        iList->Start( iStatus );
-        SetActive();
-        iWait.Start();
-        
-        if ( iStatus == -5252 )
-	        {
-	        aCallWaitingStatus = ETrue;	
-	        }
-        else
-	        {
-	        // Get the list of call waiting entries
-	        CMobilePhoneCWList* cwList = iList->RetrieveListL();
-	        CleanupStack::PushL(cwList);
-	        
-	        TInt count = cwList->Enumerate();
-	        RMobilePhone::TMobilePhoneCWInfoEntryV1 cwInfo;        
-	        
-	        aCallWaitingStatus = EFalse; // Default false
-	        CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL() iterate" );
-            for( TInt i=0; i < count ; i++ )
-               {
-               cwInfo = cwList->GetEntryL( i );
-     
-                if ( cwInfo.iStatus == RMobilePhone::ECallWaitingStatusActive )
-                    {
-                    if ( cwInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
-                        {
-                        iAuxLineCwStatus = ETrue;
-                        }
-                    else
-                        {
-                        iPrimaryLineCwStatus = ETrue;
-                        }
-                    }
-               } 	   
-            
-            GetCallWaitingStatusByLineType( aParams, aCallWaitingStatus );
-            
-	        CSPLOGSTRING2(CSPINT, 
-	            "CSPEtelCallWaitingRequester::GetCallWaitingL() res:%d", 
-	                    aCallWaitingStatus );
-	        CleanupStack::PopAndDestroy( cwList );
-	        
-	        // Initial value has been read from network, 
-	        // now we must keep the setting value up to date.
-	        StartMonitoring();
-	        }        	
-        }
-
-    else if ( iMode == ECwRequesterMonitoring )
-        {
-        CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL() use cached value" );
-        GetCallWaitingStatusByLineType( aParams, aCallWaitingStatus );
-        }       
-    else if ( iMode == ECwRequesterGetStarted )
-        {
-        CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::GetCallWaitingL() KErrInUse" );
-        User::Leave( KErrInUse );
-        }       
-    }
-    
-// ---------------------------------------------------------------------------
-// From CActive
-// CSPEtelCallWaitingRequester::RunL
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallWaitingRequester::RunL()
-    {
-    CSPLOGSTRING2( CSPREQEND, "CSPEtelCallWaitingRequester::RunL: status: %d", 
-                              iStatus.Int() );
-    if ( iWait.IsStarted() )
-        {
-        iWait.AsyncStop();
-        }
-    else if ( KErrNone == iStatus.Int() )
-        {
-        RMobilePhone::TMobilePhoneCWInfoEntryV1 cwInfo = iDesCwStatus();
-        switch (cwInfo.iStatus)
-            {
-            case RMobilePhone::ECallWaitingStatusActive:
-                if ( cwInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
-                    {
-                    iAuxLineCwStatus = ETrue;
-                    }
-                else
-                    {
-                    iPrimaryLineCwStatus = ETrue;
-                    }
-                break;
-            case RMobilePhone::ECallWaitingStatusNotActive:
-                if ( cwInfo.iServiceGroup == RMobilePhone::EAuxVoiceService )
-                    {
-                    iAuxLineCwStatus = EFalse;
-                    }
-                else
-                    {
-                    iPrimaryLineCwStatus = EFalse;
-                    }   
-                break;
-            default:
-                break;
-            }            
-        
-        CSPLOGSTRING3(CSPINT, 
-                        "CSPEtelCallWaitingRequester::RunL: service:%d new cw status:%d", 
-                        cwInfo.iServiceGroup, cwInfo.iStatus );
-        
-        StartMonitoring();
-        }
-    else
-        {
-        iMode = ECwRequesterInactive;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// From CActive
-// CSPEtelCallWaitingRequester::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallWaitingRequester::DoCancel()
-    {
-    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::DoCancel()" );
-    if ( iMode == ECwRequesterGetStarted )
-        {
-        iList->Cancel();
-        iMode = ECwRequesterInactive;
-        }
-    else if ( iMode == ECwRequesterMonitoring )
-        {
-        iPhone.CancelAsyncRequest( EMobilePhoneNotifyCallWaitingStatusChange );
-        iMode = ECwRequesterInactive;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Constructs the requester.
-// ---------------------------------------------------------------------------
-//
-CSPEtelCallWaitingRequester::CSPEtelCallWaitingRequester(RMobilePhone& aPhone): 
-    CActive( EPriorityStandard ),
-    iPhone( aPhone )
-    {
-    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester::CSPEtelCallWaitingRequester()" );
-    CActiveScheduler::Add( this );
-    iPrimaryLineCwStatus = EFalse;
-    iAuxLineCwStatus = EFalse;
-    iMode = ECwRequesterInactive;
-    }
-
-// ---------------------------------------------------------------------------
-// CSPEtelCallWaitingRequester::ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CSPEtelCallWaitingRequester::ConstructL()
-    {
-    CSPLOGSTRING(CSPINT, "CSPEtelCallWaitingRequester::ConstructL()" );
-    iList = CRetrieveMobilePhoneCWList::NewL(iPhone);
-    }
-
-// ---------------------------------------------------------------------------
-// Start listening call waiting status change notifications. 
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallWaitingRequester::StartMonitoring()
-    {
-    iPhone.NotifyCallWaitingStatusChange( iStatus, iDesCwStatus );
-    SetActive();
-    iMode = ECwRequesterMonitoring;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the call waiting status from call waiting status list by linetype.
-// ---------------------------------------------------------------------------
-//
-void CSPEtelCallWaitingRequester::GetCallWaitingStatusByLineType( const CCCECallParameters& 
-                                                                    aParams,
-                                                                  TBool& aCallWaitingStatus )
-    {
-    CSPLOGSTRING(CSPOBJECT, "CSPEtelCallWaitingRequester:GetCallWaitingStatusByLineType" );
-    
-    if ( aParams.LineType() == CCCECallParameters::ECCELineTypePrimary )
-        {
-        aCallWaitingStatus = iPrimaryLineCwStatus;
-        }
-    else
-        {
-        aCallWaitingStatus = iAuxLineCwStatus;
-        }
-    CSPLOGSTRING3(CSPINT, 
-                "CSPEtelCallWaitingRequester::GetCallWaitingStatusByLineType: line:%d res:%d", 
-                        aParams.LineType(), aCallWaitingStatus );
-    }
-
-// End of file