--- a/convergedconnectionhandler/cchclientapi/cchuinotif/src/cchuinotifierimpl.cpp Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1347 +0,0 @@
-/*
-* Copyright (c) 2008-2010 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: Actual notifier implementation
-*
-*/
-
-
-#include <eikenv.h>
-#include <bautils.h>
-#include <eikclbd.h>
-#include <eikimage.h>
-#include <cchuinotif.rsg>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-#include <cenrepnotifyhandler.h>
-#include <ctsydomainpskeys.h>
-#include <crcseprofileregistry.h>
-#include <sipprofile.h>
-#include <sipmanagedprofileregistry.h>
-#include <AknNotiferAppServerApplication.h> // Application Key enable/disable
-
-#include "cchuilogger.h"
-#include "cchuicommon.hrh"
-#include "cchuinotifierimpl.h"
-#include "cchuipluginbrandinghandler.h"
-#include "cchuinotifconnectionhandler.h"
-#include "cchuicallstatelistener.h"
-
-const TUint32 KBearerSettingWlanOnly = 1;
-
-// ======== MEMBER FUNCTIONS ========
-
-CCCHUiNotifierImpl::CCCHUiNotifierImpl()
- {
- }
-
-CCCHUiNotifierImpl* CCCHUiNotifierImpl::NewL()
- {
- CCCHUiNotifierImpl* self = new (ELeave) CCCHUiNotifierImpl();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-void CCCHUiNotifierImpl::ConstructL()
- {
- CCCHUiNotifierBase::ConstructL();
- iCallStateListener = CCchUiCallStateListener::NewL( *this );
- iSipProfileRegistry = CSIPManagedProfileRegistry::NewL( *this );
- }
-
-CCCHUiNotifierImpl::~CCCHUiNotifierImpl()
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::~CCCHUiNotifierImpl - IN" );
-
- if ( iAppKeyBlocked )
- {
- // Remove application key blocking
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
- iAppKeyBlocked = EFalse;
- }
-
- CCCHUiNotifierBase::Cancel();
- iListQueryDialog = NULL;
- delete iBrandingHandler;
- delete iCallStateListener;
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::~CCCHUiNotifierImpl - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// RunL
-// From CActive.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::RunL( )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::RunL - IN" );
-
- switch( iDialogMode )
- {
- // Only ECchUiDialogTypeNoConnectionAvailable is launched via RunL
- // currently.
- case MCchUiObserver::ECchUiDialogTypeNoConnectionAvailable:
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::RunL - ECchUiDialogTypeNoConnectionAvailable" );
- ShowNoConnectionsQueryL( iReplySlot, iMessage, iServiceId, EFalse );
- }
- break;
-
- default:
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::RunL - Does nothing" );
- }
- break;
- }
-
- CCHUIDEBUG( " CCCHUiNotifierImpl::RunL - OUT" );
- }
-
-
-// ---------------------------------------------------------------------------
-// From class MEikSrvNotifierBase2.
-// Cancelling method.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::Cancel()
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::Cancel - IN" );
- if ( iListQueryDialog )
- {
- delete iListQueryDialog;
- iListQueryDialog = NULL;
- CCCHUiNotifierBase::Cancel();
- }
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::Cancel - OUT" );
- }
-
-
-// ---------------------------------------------------------------------------
-// Shows username & password query.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowUsernamePasswordQueryL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId,
- const TDesC& aUserName )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowUsernamePasswordQueryL - IN" );
-
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- HBufC* userName = HBufC::NewLC( KUserNameLength );
- HBufC* passWord = HBufC::NewLC( KPasswordLength );
-
- // Set current username
- userName->Des().Copy( aUserName );
-
- TPtr ptrUserName( userName->Des() );
- TPtr ptrPassWord( passWord->Des() );
-
- CCHUIDEBUG( "ShowUsernamePasswordQueryL - create query");
-
- CAknMultiLineDataQueryDialog* dlg = CAknMultiLineDataQueryDialog::NewL(
- ptrUserName, ptrPassWord );
-
- // Block application key while showing query
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
- iAppKeyBlocked = ETrue;
-
- if ( dlg->ExecuteLD( R_CCHUINOTIF_USERNAME_PWD_DIALOG ) )
- {
- iResultParams.iDialogMode =
- MCchUiObserver::ECchUiDialogTypeAuthenticationFailed;
- iResultParams.iServiceId = aServiceId;
- iResultParams.iUsername = *userName;
- iResultParams.iPwd = *passWord;
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
- CompleteMessage(KErrNone);
- }
- else
- {
- CCHUIDEBUG( "ShowUsernamePasswordQueryL - cancelled" );
- CompleteMessage( KErrCancel );
- }
-
- // Remove application key blocking
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
- iAppKeyBlocked = EFalse;
-
- CleanupStack::PopAndDestroy( passWord );
- CleanupStack::PopAndDestroy( userName );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowUsernamePasswordQueryL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows no connections query.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowNoConnectionsQueryL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId,
- TBool aNoConnectionsDefined )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowNoConnectionsQueryL - IN" );
-
- iServiceId = aServiceId;
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- CDesCArray* arrayforDialog = new (ELeave) CDesCArrayFlat( 3 );
- CleanupStack::PushL( arrayforDialog );
-
- CCHUIDEBUG( "ShowNoConnectionsQueryL - form content" );
-
- RArray<TCchUiOperationCommand> commandArray;
- CleanupClosePushL( commandArray );
-
- TInt result = KErrNotFound;
- MCchUiObserver::TCchUiDialogType currentType =
- MCchUiObserver::ECchUiDialogTypeNotSet;
- HBufC* string = NULL;
- if ( aNoConnectionsDefined )
- {
- string = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_NO_CONNECTIONS_DEFINED_HEADING );
- FillNoConnectionsDefinedListboxL( *arrayforDialog, commandArray );
- currentType = MCchUiObserver::ECchUiDialogTypeNoConnectionDefined;
- }
- else
- {
- string = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_NO_CONNECTIONS_HEADING );
- FillNoConnectionsAvailableListboxL(
- *arrayforDialog, commandArray, aServiceId );
- currentType = MCchUiObserver::ECchUiDialogTypeNoConnectionAvailable;
- }
-
- iListQueryDialog = new (ELeave) CAknListQueryDialog( &result );
- iListQueryDialog->PrepareLC( R_CCHUINOTIF_NO_CONNECTIONS_AVAILABLE );
-
- iListQueryDialog->MessageBox()->SetMessageTextL( string );
-
- CCHUIDEBUG( "ShowNoConnectionsQueryL - form heading" );
-
- // Set heading ie. service name
- HBufC* serviceName = HBufC::NewLC( KServiceNameLength );
- TPtr serviceNamePtr( serviceName->Des() );
- GetServiceNameL( aServiceId, serviceNamePtr );
- CCHUIDEBUG( "ShowNoConnectionsQueryL - set heading" );
- iListQueryDialog->QueryHeading()->SetTextL( serviceNamePtr );
- CCHUIDEBUG( "ShowNoConnectionsQueryL - heading set ok" );
- CleanupStack::PopAndDestroy(); // serviceName
- CCHUIDEBUG( "ShowNoConnectionsQueryL - proceed to list items" );
-
- CCHUIDEBUG( "ShowNoConnectionsQueryL - set item array" );
- iListQueryDialog->SetItemTextArray( arrayforDialog );
- iListQueryDialog->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- CCHUIDEBUG( "ShowNoConnectionsQueryL - retrieve branded icon" );
- CFbsBitmap* myBitmap = NULL;
- CFbsBitmap* myMask = NULL;
- TRAPD( err, BrandingHandlerL().RetrieveServiceIconL(
- aServiceId, myBitmap, myMask ) );
- CCHUIDEBUG2( "ShowNoConnectionsQueryL - brand err: %d", err );
-
- if ( !err && iListQueryDialog->QueryHeading() )
- {
- CleanupStack::PushL( myBitmap );
- CleanupStack::PushL( myMask );
- CEikImage* image = new (ELeave) CEikImage();
- image->SetPicture( myBitmap, myMask );
- CleanupStack::Pop( myMask );
- CleanupStack::Pop( myBitmap );
- CleanupStack::PushL( image );
- iListQueryDialog->QueryHeading()->SetHeaderImageL( image );
- iListQueryDialog->QueryHeading()->ActivateL();
- CleanupStack::PopAndDestroy( image );
- }
- else if ( !err )
- {
- delete myMask;
- delete myBitmap;
- }
- else
- {
- // Error occurred in RetrieveServiceIconL. Nothing to do.
- }
-
- // Block application key while showing query
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
- iAppKeyBlocked = ETrue;
-
- CCHUIDEBUG( "ShowNoConnectionsQueryL - run dialog" );
- iListQueryDialog->RunLD();
- CCHUIDEBUG( "ShowNoConnectionsQueryL - run dialog done" );
-
- // write result, result now holds the item number
- if ( KErrNotFound != result )
- {
- iResultParams.iDialogMode = currentType;
- iResultParams.iServiceId = aServiceId;
- iResultParams.iOperationCommand = commandArray[ result ];
- TInt error = KErrNone;
- if ( ECchUiCommandCopyGprs == commandArray[ result ] )
- {
- error = ShowGprsSelectionL( aServiceId );
- }
- if ( !error )
- {
- CCHUIDEBUG( "ShowNoConnectionsQueryL - write and complete" );
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
- CompleteMessage( KErrNone );
- }
- else
- {
- CCHUIDEBUG( "ShowNoConnectionsQueryL - complete with cancel" );
- CompleteMessage( error );
- }
- }
- else
- {
- CCHUIDEBUG( "ShowNoConnectionsQueryL - complete with cancel" );
- CompleteMessage( KErrCancel );
- }
-
- // Remove application key blocking
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
- iAppKeyBlocked = EFalse;
-
- CleanupStack::PopAndDestroy( string );
- CleanupStack::PopAndDestroy( &commandArray );
- CleanupStack::PopAndDestroy( arrayforDialog );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowNoConnectionsQueryL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows change connection query.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowChangeConnectionQueryL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId,
- TInt aIapId )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowChangeConnectionQueryL - IN" );
-
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- CDesCArray* arrayforDialog = new (ELeave) CDesCArrayFlat( 3 );
- CleanupStack::PushL( arrayforDialog );
-
- CCHUIDEBUG( "ShowChangeConnectionQueryL - form content" );
-
- RArray<TCchUiOperationCommand> commandArray;
- CleanupClosePushL( commandArray );
-
- TInt result = KErrNotFound;
- MCchUiObserver::TCchUiDialogType type =
- MCchUiObserver::ECchUiDialogTypeChangeConnection;
- HBufC* string = NULL;
-
- RBuf iapName;
- CleanupClosePushL( iapName );
-
- // If we have current connection, show it in query heading
- if ( aIapId )
- {
- CurrentConnectionNameL(
- aServiceId,
- aIapId,
- iapName );
-
- string = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_CHANGE_CURRENT_CONNECTION_HEADING, iapName );
-
- FillChangeCurrentConnectionListboxL( *arrayforDialog, commandArray );
- }
- else // otherwise show in heading that we have no current connection
- {
- string = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_CHANGE_CONNECTION_HEADING );
-
- FillChangeConnectionListboxL( *arrayforDialog, commandArray );
- }
-
- iListQueryDialog = new (ELeave) CAknListQueryDialog( &result );
- iListQueryDialog->PrepareLC( R_CCHUINOTIF_CHANGE_CONNECTION_QUERY );
-
- iListQueryDialog->MessageBox()->SetMessageTextL( string );
-
- CCHUIDEBUG( "ShowChangeConnectionQueryL - form heading" );
- // Set heading ie. service name
- HBufC* serviceName = HBufC::NewLC( KServiceNameLength );
- TPtr serviceNamePtr( serviceName->Des() );
- GetServiceNameL( aServiceId, serviceNamePtr );
- CCHUIDEBUG( "ShowChangeConnectionQueryL - set heading" );
- iListQueryDialog->QueryHeading()->SetTextL( serviceNamePtr );
- CCHUIDEBUG( "ShowChangeConnectionQueryL - heading set ok" );
- CleanupStack::PopAndDestroy(); // serviceName
- CCHUIDEBUG( "ShowChangeConnectionQueryL - proceed to list items" );
-
- CCHUIDEBUG( "ShowChangeConnectionQueryL - set item array" );
- iListQueryDialog->SetItemTextArray( arrayforDialog );
- iListQueryDialog->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- CCHUIDEBUG( "ShowChangeConnectionQueryL - retrieve branded icon" );
-
- CFbsBitmap* myBitmap = NULL;
- CFbsBitmap* myMask = NULL;
- TRAPD( err, BrandingHandlerL().RetrieveServiceIconL(
- aServiceId, myBitmap, myMask ) );
-
- CCHUIDEBUG2( "ShowChangeConnectionQueryL - brand err: %d", err );
-
- if ( !err && iListQueryDialog->QueryHeading() )
- {
- CleanupStack::PushL( myBitmap );
- CleanupStack::PushL( myMask );
- CEikImage* image = new (ELeave) CEikImage();
- image->SetPicture( myBitmap, myMask );
- CleanupStack::Pop( myMask );
- CleanupStack::Pop( myBitmap );
- CleanupStack::PushL( image );
- iListQueryDialog->QueryHeading()->SetHeaderImageL( image );
- iListQueryDialog->QueryHeading()->ActivateL();
- CleanupStack::PopAndDestroy( image );
- }
- else if ( !err )
- {
- delete myMask;
- delete myBitmap;
- }
- else
- {
- // Error occurred in RetrieveServiceIconL. Nothing to do.
- }
-
- // Block application key while showing query
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
- iAppKeyBlocked = ETrue;
-
- CCHUIDEBUG( "ShowChangeConnectionQueryL - run dialog" );
-
- // List query dialog is deleted via RunLD except if there is
- // incoming call at the same time the dialog is shown on screen.
- // In case of incoming call CallStateChanged() method handles
- // the deletion
- iListQueryDialog->RunLD();
- // coverity[check_after_deref]
- if( iListQueryDialog )
- {
- // write result, result now holds the item number
- if ( KErrNotFound != result )
- {
- iResultParams.iDialogMode = type;
- iResultParams.iServiceId = aServiceId;
- iResultParams.iOperationCommand = commandArray[ result ];
- TInt error = KErrNone;
- if ( ECchUiCommandCopyGprs == commandArray[ result ] )
- {
- error = ShowGprsSelectionL( aServiceId );
- }
- if ( !error )
- {
- CCHUIDEBUG( "ShowChangeConnectionQueryL - write and complete" );
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
- CompleteMessage( KErrNone );
- }
- else
- {
- CCHUIDEBUG( "ShowChangeConnectionQueryL - complete with cancel" );
- CompleteMessage( error );
- }
- }
- else
- {
- CCHUIDEBUG( "ShowChangeConnectionQueryL - complete with cancel" );
- CompleteMessage( KErrCancel );
- }
-
- iListQueryDialog = NULL;
- }
-
- // Remove application key blocking
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
- iAppKeyBlocked = EFalse;
-
- CleanupStack::PopAndDestroy( string );
- CleanupStack::PopAndDestroy( &iapName );
- CleanupStack::PopAndDestroy( &commandArray );
- CleanupStack::PopAndDestroy( arrayforDialog );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowChangeConnectionQueryL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows defective settings error note.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowDefectiveSettingsL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowDefectiveSettingsL - IN" );
-
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- // Get service name
- HBufC* serviceName = HBufC::NewLC( KServiceNameLength );
- TPtr serviceNamePtr( serviceName->Des() );
- GetServiceNameL( aServiceId, serviceNamePtr );
-
- // Show info note about defective settings
- HBufC* defectiveText = StringLoader::LoadLC(
- R_QTN_SERVTAB_CONN_ESTABLSH_FAILED_PERMANENTLY_NOTE_TEXT, serviceNamePtr );
- CAknInformationNote* note =
- new( ELeave ) CAknInformationNote( ETrue );
- note->SetTimeout(CAknNoteDialog::ELongTimeout);
- note->ExecuteLD( *defectiveText );
- CleanupStack::PopAndDestroy( defectiveText );
- CleanupStack::PopAndDestroy( serviceName );
-
- iResultParams.iDialogMode =
- MCchUiObserver::ECchUiDialogTypeDefectiveSettings;
- iResultParams.iServiceId = aServiceId;
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
- CompleteMessage(KErrNone);
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowDefectiveSettingsL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows error in connection error note.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowErrorInConnectionNoteL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowErrorInConnectionL - IN" );
-
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- // Show info note about error in connection
- //(access point not suitable for internet calls)
- HBufC* noteText = StringLoader::LoadLC(
- R_QTN_VOIP_ERROR_IN_CONNECTION_NOTE_TEXT );
- CAknInformationNote* note =
- new( ELeave ) CAknInformationNote( ETrue );
- note->SetTimeout(CAknNoteDialog::ELongTimeout);
- note->ExecuteLD( *noteText );
- CleanupStack::PopAndDestroy( noteText );
-
- iResultParams.iDialogMode =
- MCchUiObserver::ECchUiDialogTypeErrorInConnection;
- iResultParams.iServiceId = aServiceId;
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
- CompleteMessage(KErrNone);
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowErrorInConnectionL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows invalid username/password note.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowInvalidUsernamePasswordNoteL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowInvalidUsernamePasswordNoteL - IN" );
-
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- // Show info note about invalid username password
- HBufC* textForNote = StringLoader::LoadLC(
- R_QTN_VOIP_WRONG_SIP_AUTH_NOTE_TEXT );
- CAknInformationNote* note =
- new( ELeave ) CAknInformationNote( ETrue );
- note->SetTimeout(CAknNoteDialog::ELongTimeout);
- note->ExecuteLD( *textForNote );
- CleanupStack::PopAndDestroy( textForNote );
-
- iResultParams.iDialogMode =
- MCchUiObserver::ECchUiDialogTypeUsernamePasswordFailed;
- iResultParams.iServiceId = aServiceId;
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
- CompleteMessage(KErrNone);
-
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::ShowInvalidUsernamePasswordNoteL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows confirmation note to change connection.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ShowConfirmChangeConnectionL(
- TInt aReplySlot,
- const RMessagePtr2& aMessage,
- TUint aServiceId,
- TInt aIapId )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowConfirmChangeConnectionL - IN" );
-
- CCHUIDEBUG2(
- "ShowConfirmChangeConnectionL - aServiceId: %d", aServiceId );
- CCHUIDEBUG2(
- "ShowConfirmChangeConnectionL - aIapId: %d", aIapId );
-
- iMessage = aMessage;
- iReplySlot = aReplySlot;
-
- // Show confirmation note to change connection
- RBuf iapName;
- CleanupClosePushL( iapName );
-
- CurrentConnectionNameL(
- aServiceId,
- aIapId,
- iapName );
-
- HBufC* textForQuery = NULL;
- CAknQueryDialog* query =
- new( ELeave ) CAknQueryDialog( CAknQueryDialog::ENoTone );
-
- CleanupStack::PushL( query );
-
- TBool askToRemoveOldConnection( EFalse );
-
- // Check if current connection is used by any other service
- if ( aIapId && !ConnectionUsedByOthersL( aServiceId, aIapId ) )
- {
- // connection not used by others -> ask to remove old connection
- askToRemoveOldConnection = ETrue;
- }
-
- if ( askToRemoveOldConnection )
- {
- CCHUIDEBUG(
- "ShowConfirmChangeConnectionL - ask to remove connection" );
-
- query->PrepareLC(
- R_CCHUINOTIF_REMOVE_AND_CHANGE_CONNECTION_CONFIRMATION_QUERY );
-
- textForQuery = StringLoader::LoadLC(
- R_QTN_SERVTAB_AP_VOIP_NOT_SUPPORTED_RECONNECT_QUERY_TEXT,
- iapName );
- }
- else
- {
- CCHUIDEBUG(
- "ShowConfirmChangeConnectionL - ask to change connection" );
-
- query->PrepareLC( R_CCHUINOTIF_CHANGE_CONNECTION_CONFIRMATION_QUERY );
-
- textForQuery = StringLoader::LoadLC(
- R_QTN_SERVTAB_AP_VOIP_NOT_SUPPORTED_QUERY_TEXT, iapName );
- }
-
- CCHUIDEBUG( "ShowConfirmChangeConnectionL - set prompt" );
-
- query->SetPromptL( *textForQuery );
- CleanupStack::PopAndDestroy( textForQuery );
- CleanupStack::Pop( query );
-
- // Block application key while showing query
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
- iAppKeyBlocked = ETrue;
-
- // Run query
- if( query->RunLD() )
- {
- iResultParams.iDialogMode =
- MCchUiObserver::ECchUiDialogTypeConfirmChangeConnection;
- iResultParams.iServiceId = aServiceId;
-
- if ( askToRemoveOldConnection )
- {
- CCHUIDEBUG(
- "ShowConfirmChangeConnectionL - set remove old connection");
-
- iResultParams.iRemoveOldConnection = ETrue;
- iResultParams.iCurrentConnectionIapId = aIapId;
- }
- else
- {
- iResultParams.iRemoveOldConnection = EFalse;
- }
-
- iMessage.WriteL( iReplySlot,
- TPckgBuf<TCCHUiNotifierParams>( iResultParams ) );
-
- CCHUIDEBUG( "ShowConfirmChangeConnectionL - complete message" );
-
- CompleteMessage( KErrNone );
- }
- else
- {
- CCHUIDEBUG( "ShowConfirmChangeConnectionL - canceled" );
-
- CompleteMessage( KErrCancel );
- }
-
- // Remove application key blocking
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
- iAppKeyBlocked = EFalse;
-
- CleanupStack::PopAndDestroy( &iapName );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowConfirmChangeConnectionL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Shows gprs iap selection.
-// ---------------------------------------------------------------------------
-//
-TInt CCCHUiNotifierImpl::ShowGprsSelectionL( TUint aServiceId )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ShowGprsSelectionL - IN" );
-
- TInt error = KErrNone;
- RArray<TUint32> iapIds;
- CleanupClosePushL( iapIds );
-
- CDesCArray* arrayforDialog = new (ELeave) CDesCArrayFlat( 3 );
- CleanupStack::PushL( arrayforDialog );
- CCHUIDEBUG( "ShowGprsSelectionL - form content" );
-
- TInt result = KErrNotFound;
- HBufC* string = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_SELECT_GPRS_ACCESS_POINT_HEADING );
-
- CAknListQueryDialog* dialog = new (ELeave) CAknListQueryDialog( &result );
- dialog->PrepareLC( R_CCHUINOTIF_SELECT_GPRS_DIALOG );
-
- CCHUIDEBUG( "ShowGprsSelectionL - form heading" );
- dialog->QueryHeading()->SetTextL( *string );
-
- CCHUIDEBUG( "ShowGprsSelectionL - set item array" );
-
- TUint sourceSnap = KErrNone;
- // Fill array here
- sourceSnap = InternetGprsApsMissingFromServiceSnapL(
- *arrayforDialog, iapIds );
-
- CCHUIDEBUG( "ShowGprsSelectionL - set item array" );
- dialog->SetItemTextArray( arrayforDialog );
- dialog->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
- // Block application key while showing query
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(ETrue);
- iAppKeyBlocked = ETrue;
-
- CCHUIDEBUG( "ShowGprsSelectionL - run dialog" );
-
- dialog->RunLD();
-
- // write result, result now holds the item number
- if ( KErrNotFound != result )
- {
- iResultParams.iServiceId = aServiceId;
- iResultParams.iGprsSourceSnap = sourceSnap;
- iResultParams.iGprsIapId = iapIds[ result ];
- }
- else
- {
- error = KErrCancel;
- }
-
- // Remove application key blocking
- (void) ((CAknNotifierAppServerAppUi*)
- iEikEnv->EikAppUi())->SuppressAppSwitching(EFalse);
- iAppKeyBlocked = EFalse;
-
- CleanupStack::PopAndDestroy( string );
- CleanupStack::PopAndDestroy( arrayforDialog );
- CleanupStack::PopAndDestroy( &iapIds );
-
- CCHUIDEBUG2( "CCCHUiNotifierImpl::ShowGprsSelectionL -return %d", error );
- return error;
- }
-
-// ---------------------------------------------------------------------------
-// Returns handle to branding handler.
-// ---------------------------------------------------------------------------
-//
-CCchUiPluginBrandingHandler& CCCHUiNotifierImpl::BrandingHandlerL()
- {
- if ( !iBrandingHandler )
- {
- iBrandingHandler =
- CCchUiPluginBrandingHandler::NewL( *iSettings );
- }
- return *iBrandingHandler;
- }
-
-// ---------------------------------------------------------------------------
-// Fills list items and commands for no connections available dialog
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::FillNoConnectionsAvailableListboxL(
- CDesCArray& aListItems,
- RArray<TCchUiOperationCommand>& aCommandArray,
- TUint aServiceId )
- {
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::FillNoConnectionsAvailableListboxL - IN" );
-
- HBufC* connectWhenAv = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_CONNECT_WHEN_AV_TEXT );
- HBufC* searchWlan = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_SEARCH_WLAN_NO_COVERAGE_TEXT );
- HBufC* useGprs = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_USE_GPRS_NO_COVERAGE_TEXT );
-
- // Item is available only for SIP protocol services.
- // Check if service supports SIP/VoIP.
- TBool sipVoip( EFalse );
- TRAPD( err, sipVoip = IsSIPVoIPL( aServiceId ) );
-
- if ( !err && sipVoip && IsVoIPOverWCDMAAllowedL() )
- {
- aListItems.AppendL( *connectWhenAv );
- aCommandArray.AppendL( ECchUiCommandConnectWhenAvailable );
- }
-
- aListItems.AppendL( *searchWlan );
- aCommandArray.AppendL( ECchUiCommandSearchWlan );
-
- if ( !IsPhoneOfflineL() && IsGprsIapsAvailableL()
- && IsVoIPOverWCDMAAllowedL() )
- {
- aListItems.AppendL( *useGprs );
- aCommandArray.AppendL( ECchUiCommandCopyGprs );
- }
-
- CleanupStack::PopAndDestroy( useGprs );
- CleanupStack::PopAndDestroy( searchWlan );
- CleanupStack::PopAndDestroy( connectWhenAv );
-
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::FillNoConnectionsAvailableListboxL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Fills list items and commands for no connections defined dialog.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::FillNoConnectionsDefinedListboxL(
- CDesCArray& aListItems, RArray<TCchUiOperationCommand>& aCommandArray )
- {
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::FillNoConnectionsDefinedListboxL - IN" );
-
- CleanupClosePushL( aCommandArray );
-
- HBufC* searchWlan = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_SEARCH_WLAN_NOT_DEF_TEXT );
-
- HBufC* useGprs = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_USE_GPRS_NOT_DEF_TEXT );
-
- aListItems.AppendL( *searchWlan );
- aCommandArray.AppendL( ECchUiCommandSearchWlan );
-
- if ( !IsPhoneOfflineL() && IsGprsIapsAvailableL()
- && IsVoIPOverWCDMAAllowedL() )
- {
- aListItems.AppendL( *useGprs );
- aCommandArray.AppendL( ECchUiCommandCopyGprs );
- }
-
- CleanupStack::PopAndDestroy( useGprs );
- CleanupStack::PopAndDestroy( searchWlan );
- CleanupStack::Pop( &aCommandArray );
-
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::FillNoConnectionsDefinedListboxL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Fills list items and commands for no connections defined dialog
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::FillNoConnectionsFoundListboxL(
- CDesCArray& aListItems, RArray<TCchUiOperationCommand>& aCommandArray )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::FillNoConnectionsFoundListboxL - IN" );
-
- CleanupClosePushL( aCommandArray );
-
- HBufC* searchWlan = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_SEARCH_WLAN_NOT_FOUND_TEXT );
-
- HBufC* useGprs = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_USE_GPRS_NOT_FOUND_TEXT );
-
- aListItems.AppendL( *searchWlan );
- aCommandArray.AppendL( ECchUiCommandSearchWlan );
-
- if ( !IsPhoneOfflineL() && IsGprsIapsAvailableL()
- && IsVoIPOverWCDMAAllowedL() )
- {
- aListItems.AppendL( *useGprs );
- aCommandArray.AppendL( ECchUiCommandCopyGprs );
- }
-
- CleanupStack::PopAndDestroy( useGprs );
- CleanupStack::PopAndDestroy( searchWlan );
- CleanupStack::Pop( &aCommandArray );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::FillNoConnectionsFoundListboxL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Fills list items and commands for change current connection dialog
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::FillChangeCurrentConnectionListboxL(
- CDesCArray& aListItems, RArray<TCchUiOperationCommand>& aCommandArray )
- {
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::FillChangeCurrentConnectionListboxL - IN" );
-
- HBufC* searchWlan = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_SEARCH_WLAN_CHANGE_CURRENT_CONNECTION_TEXT );
-
- HBufC* useGprs = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_USE_GPRS_CHANGE_CURRENT_CONNECTION_TEXT );
-
- aListItems.AppendL( *searchWlan );
- aCommandArray.AppendL( ECchUiCommandSearchWlan );
-
- if ( !IsPhoneOfflineL() && IsGprsIapsAvailableL() &&
- IsVoIPOverWCDMAAllowedL() &&
- IsServiceSnapMissingInternetGprsApsL() )
- {
- aListItems.AppendL( *useGprs );
- aCommandArray.AppendL( ECchUiCommandCopyGprs );
- }
-
- CleanupStack::PopAndDestroy( useGprs );
- CleanupStack::PopAndDestroy( searchWlan );
-
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::FillChangeCurrentConnectionListboxL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// CCCHUiNotifierImpl::IsServiceSnapMissingInternetGprsApsL
-// ---------------------------------------------------------------------------
-//
-TBool CCCHUiNotifierImpl::IsServiceSnapMissingInternetGprsApsL() const
- {
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::IsServiceSnapMissingInternetGprsApsL - IN" );
-
- TBool isMissingGPRSIap = EFalse;
-
- RArray<TUint32> iapIds;
- CleanupClosePushL( iapIds );
-
- CDesCArray* iaps = new (ELeave) CDesCArrayFlat( 1 );
- CleanupStack::PushL( iaps );
-
- InternetGprsApsMissingFromServiceSnapL( *iaps, iapIds );
-
- if ( iapIds.Count() )
- {
- isMissingGPRSIap = ETrue;
- }
- CleanupStack::PopAndDestroy( iaps );
- CleanupStack::PopAndDestroy( &iapIds );
-
- CCHUIDEBUG2(
- "CCCHUiNotifierImpl::IsServiceSnapMissingInternetGprsApsL - return: %d", isMissingGPRSIap );
-
- return isMissingGPRSIap;
- }
-
-// ---------------------------------------------------------------------------
-// CCCHUiNotifierImpl::InternetGprsApsMissingFromServiceSnapL
-// ---------------------------------------------------------------------------
-//
-TUint32 CCCHUiNotifierImpl::InternetGprsApsMissingFromServiceSnapL(
- CDesCArray& aIaps, RArray<TUint32>& aIapIds ) const
- {
- CCHUIDEBUG(
- "CCCHUiNotifierImpl::InternetGprsApsMissingFromServiceSnapL - IN" );
-
- TUint32 internetSnapId = KErrNone;
-
- CCchUiNotifConnectionHandler* connHandler =
- CCchUiNotifConnectionHandler::NewLC();
-
- CDesCArray* voipGprsIaps = new (ELeave) CDesCArrayFlat( 1 );
- CleanupStack::PushL( voipGprsIaps );
-
- RArray<TUint32> voipGprsIapIds;
- CleanupClosePushL( voipGprsIapIds );
-
- connHandler->GetGprsAccessPointsSetToServiceSnapL(
- *voipGprsIaps, voipGprsIapIds, iCurrentConnectionIapId );
-
- CDesCArray* internetGprsIapNames = new (ELeave) CDesCArrayFlat( 2 );
- CleanupStack::PushL( internetGprsIapNames );
-
- RArray<TUint32> internetGprsIapIds;
- CleanupClosePushL( internetGprsIapIds );
-
- TRAPD( err, internetSnapId = connHandler->GetGprsAccessPointsL(
- *internetGprsIapNames, internetGprsIapIds ) );
- CCHUIDEBUG2( "-GetGprsAccessPointsL -Trap err = %d", err );
-
- if ( !KErrNone == err && !KErrNotFound == err )
- {
- User::Leave( err );
- }
-
- for ( TInt i( 0 ); i < internetGprsIapIds.Count(); i++ )
- {
- TBool found = EFalse;
- for ( TInt j( 0 ); j < voipGprsIapIds.Count() && !found; j++ )
- {
- found = connHandler->IsConnectionMethodSimilarL(
- internetGprsIapIds[ i ], voipGprsIapIds[ j ] );
- }
- if ( !found )
- {
- CCHUIDEBUG2(
- "IsVoIPSNAPMissingInternetGPRSAp -missing GPRS AP id: %d", internetGprsIapIds[ i ] );
- aIapIds.AppendL( internetGprsIapIds[ i ] );
- aIaps.AppendL( internetGprsIapNames->MdcaPoint( i ) );
- }
- }
-
- CleanupStack::PopAndDestroy( &internetGprsIapIds );
- CleanupStack::PopAndDestroy( internetGprsIapNames );
- CleanupStack::PopAndDestroy( &voipGprsIapIds );
- CleanupStack::PopAndDestroy( voipGprsIaps );
- CleanupStack::PopAndDestroy( connHandler );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::InternetGprsApsMissingFromServiceSnapL - OUT" );
-
- return internetSnapId;
- }
-
-// ---------------------------------------------------------------------------
-// Fills list items and commands for change connection dialog.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::FillChangeConnectionListboxL(
- CDesCArray& aListItems, RArray<TCchUiOperationCommand>& aCommandArray )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::FillChangeConnectionListboxL - IN" );
-
- HBufC* searchWlan = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_SEARCH_WLAN_CHANGE_CONNECTION_TEXT );
-
- HBufC* useGprs = StringLoader::LoadLC(
- R_QTN_CCHUINOTIF_USE_GPRS_CHANGE_CONNECTION_TEXT );
-
- aListItems.AppendL( *searchWlan );
- aCommandArray.AppendL( ECchUiCommandSearchWlan );
-
- if ( !IsPhoneOfflineL() && IsGprsIapsAvailableL()
- && IsVoIPOverWCDMAAllowedL() )
- {
- aListItems.AppendL( *useGprs );
- aCommandArray.AppendL( ECchUiCommandCopyGprs );
- }
-
- CleanupStack::PopAndDestroy( useGprs );
- CleanupStack::PopAndDestroy( searchWlan );
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::FillChangeConnectionListboxL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// Check if VoIP over WCDMA is allowed
-// ---------------------------------------------------------------------------
-//
-TBool CCCHUiNotifierImpl::IsVoIPOverWCDMAAllowedL()
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::IsVoIPOverWCDMAAllowed - IN" );
-
- TBool allowed( EFalse );
- CRCSEProfileRegistry* cRCSEProfileRegistry;
- cRCSEProfileRegistry = CRCSEProfileRegistry::NewLC();
-
- RPointerArray<CRCSEProfileEntry> entries;
-
- CleanupStack::PushL( TCleanupItem ( ResetAndDestroy, &entries ) ); //CS
-
- cRCSEProfileRegistry->FindByServiceIdL( iServiceId, entries );
- if( entries.Count() )
- {
- RArray<TSettingIds> settingIdArray;
- CleanupClosePushL( settingIdArray ); // CS 3
- settingIdArray = entries[ 0 ]->iIds;
- TInt sipProfileId( KErrNotFound );
- for ( TUint i( 0 ) ; i < settingIdArray.Count() ; i++ )
- {
- if ( settingIdArray[ i ].iProfileType ==
- CRCSEProfileEntry::EProtocolSIP )
- {
- sipProfileId = settingIdArray[ i ].iProfileId;
- }
- }
- TUint32 bearerSetting( KErrNone );
- if ( KErrNotFound != sipProfileId )
- {
- CSIPProfile* profile =
- iSipProfileRegistry->ProfileL( sipProfileId );
- CleanupStack::PushL( profile ); // CS 4
- User::LeaveIfError(
- profile->GetParameter( KBearerType, bearerSetting ) );
- if ( KBearerSettingWlanOnly != bearerSetting )
- {
- allowed = ETrue;
- }
- CleanupStack::PopAndDestroy( profile ); // CS 3
- }
- CleanupStack::Pop( &settingIdArray ); // CS 2
- }
-
- CleanupStack::PopAndDestroy( &entries ); // clItem CS 1
-
- CleanupStack::PopAndDestroy(); //cRCSEProfileRegistry CS 0
-
- return allowed;
- }
-
-// ---------------------------------------------------------------------------
-// For deleting RPointerArray in case of leave
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ResetAndDestroy( TAny* aPointerArray )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::ResetAndDestroy - IN" );
- if ( aPointerArray )
- {
- RPointerArray<CRCSEProfileEntry>* array =
- reinterpret_cast<RPointerArray<CRCSEProfileEntry>*>( aPointerArray );
- TInt i = array->Count();
- array->ResetAndDestroy();
- array->Close();
- }
- CCHUIDEBUG( "CCCHUiNotifierImpl::ResetAndDestroy - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// From class CCCHUiNotifierBase.
-// ---------------------------------------------------------------------------
-//
-CCCHUiNotifierImpl::TNotifierInfo CCCHUiNotifierImpl::RegisterL()
- {
- iInfo.iUid=KCchUiNotifierUid;
- iInfo.iChannel=KCchUiNotifierChannel;
- iInfo.iPriority=ENotifierPriorityVHigh;
- return iInfo;
- }
-
-// ---------------------------------------------------------------------------
-// From class CCCHUiNotifierBase.
-// ---------------------------------------------------------------------------
-//
-TPtrC8 CCCHUiNotifierImpl::UpdateL( const TDesC8& /*aBuffer*/ )
- {
- TPtrC8 ret( KNullDesC8 );
- return ret;
- }
-
-// ---------------------------------------------------------------------------
-// From class CCCHUiNotifierBase.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::StartL(
- const TDesC8& aBuffer,
- TInt aReplySlot,
- const RMessagePtr2& aMessage)
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::StartL - IN" );
-
- __ASSERT_DEBUG( iMessage.IsNull(), User::Leave( KErrAlreadyExists ) );
-
- // Read aBuffer for control information
- TCCHUiNotifierParams param;
- TPckgC<TCCHUiNotifierParams> pckg(param);
- pckg.Set( aBuffer );
-
- CCCHUiNotifierBase::StartL( aBuffer, aReplySlot, aMessage );
- iDialogMode = pckg().iDialogMode;
- iServiceId = pckg().iServiceId;
- iCurrentConnectionIapId = pckg().iCurrentConnectionIapId;
-
- switch( pckg().iDialogMode )
- {
- case MCchUiObserver::ECchUiDialogTypeUsernamePasswordFailed:
- {
- CCHUIDEBUG( "StartL - wrong username/password" );
- ShowInvalidUsernamePasswordNoteL(
- aReplySlot, aMessage, pckg().iServiceId );
- }
- break;
- case MCchUiObserver::ECchUiDialogTypeAuthenticationFailed:
- {
- CCHUIDEBUG( "StartL - auth failed" );
- ShowUsernamePasswordQueryL(
- aReplySlot, aMessage, pckg().iServiceId, pckg().iUsername );
- }
- break;
-
- case MCchUiObserver::ECchUiDialogTypeNoConnectionAvailable:
- {
- CCHUIDEBUG( "StartL - no connections" );
- // Do nothing here. Uses RunL to show notifier instead.
- // Needed for cancel functionality.
- }
- break;
- case MCchUiObserver::ECchUiDialogTypeNoConnectionDefined:
- {
- CCHUIDEBUG( "StartL - no conn defined" );
- ShowNoConnectionsQueryL(
- aReplySlot, aMessage, pckg().iServiceId, ETrue );
- }
- break;
- case MCchUiObserver::ECchUiDialogTypeDefectiveSettings:
- {
- CCHUIDEBUG( "StartL - defective settings" );
- ShowDefectiveSettingsL(
- aReplySlot, aMessage, pckg().iServiceId );
- }
- break;
- case MCchUiObserver::ECchUiDialogTypeErrorInConnection:
- {
- CCHUIDEBUG( "StartL - error in connection" );
- ShowErrorInConnectionNoteL(
- aReplySlot, aMessage, pckg().iServiceId );
- }
- break;
- case MCchUiObserver::ECchUiDialogTypeConfirmChangeConnection:
- {
- CCHUIDEBUG( "StartL - confirm change connection" );
- ShowConfirmChangeConnectionL(
- aReplySlot,
- aMessage,
- pckg().iServiceId,
- pckg().iCurrentConnectionIapId );
- }
- break;
- case MCchUiObserver::ECchUiDialogTypeChangeConnection:
- {
- CCHUIDEBUG( "StartL - change connection" );
- ShowChangeConnectionQueryL(
- aReplySlot,
- aMessage,
- pckg().iServiceId,
- pckg().iCurrentConnectionIapId );
- }
- break;
- default:
- {
- User::Leave( KErrNotSupported );
- }
- break;
- }
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::StartL - OUT" );
- }
-
-// ---------------------------------------------------------------------------
-// From class MCchUiCallStateObserver.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::CallStateChanged( TInt aCallState )
- {
- CCHUIDEBUG( "CCCHUiNotifierImpl::CallStateChangedL - Start" );
-
- switch( aCallState )
- {
- case EPSCTsyCallStateRinging:
- {
- if ( iListQueryDialog )
- {
- delete iListQueryDialog;
- iListQueryDialog = NULL;
-
- CompleteMessage( KErrCancel );
- CCCHUiNotifierBase::Cancel();
- }
- }
- break;
- default:
- {
- // Nothing to do.
- }
- break;
- }
-
- CCHUIDEBUG( "CCCHUiNotifierImpl::CallStateChangedL - End" );
- }
-
-// ---------------------------------------------------------------------------
-// From class MSIPProfileRegistryObserver.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ProfileRegistryEventOccurred(
- TUint32 /*aSIPProfileId*/,
- TEvent /*aEvent*/ )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// From class MSIPProfileRegistryObserver.
-// ---------------------------------------------------------------------------
-//
-void CCCHUiNotifierImpl::ProfileRegistryErrorOccurred(
- TUint32 /*aSIPProfileId*/,
- TInt /*aError*/ )
- {
- }