diff -r 000000000000 -r 5a93021fdf25 connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/src/ConnectionUiUtilitiesImpl.cpp Thu Dec 17 08:55:21 2009 +0200 @@ -0,0 +1,1167 @@ +/* +* Copyright (c) 2004 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: +* Implementation of class CConnectionUiUtilitiesImpl. +* +* +*/ + + +// INCLUDE FILES + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS +#include +#else +#include +#include +#endif + +#ifndef __WINS__ +#include +#include +#endif // ! __WINS__ + +#include "ConnectionUiUtilitiesImpl.h" +#include "ChangeConnectionDlg.h" +#include "ActiveCChangeConnectionDlg.h" + +#include +#include + +#include "ConnectionDialogsLogger.h" + + +// CONSTANTS + +// ROM folder +_LIT( KDriveZ, "z:" ); + +// RSC file name. +_LIT( KConnUiUtilsResName, "ConnectionUiUtilities.rsc" ); + + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::NewL +// --------------------------------------------------------- +// +CConnectionUiUtilitiesImpl* CConnectionUiUtilitiesImpl::NewL() + { + CConnectionUiUtilitiesImpl* utilsImpl = + new ( ELeave ) CConnectionUiUtilitiesImpl(); + CleanupStack::PushL( utilsImpl ); + utilsImpl->ConstructL(); + CleanupStack::Pop( utilsImpl ); + return utilsImpl; + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CConnectionUiUtilitiesImpl +// --------------------------------------------------------- +// +CConnectionUiUtilitiesImpl::CConnectionUiUtilitiesImpl() +: iResOffset( 0 ), + iIsWlanSupported( EFalse ) + { + for ( TInt i = 0; i < KNumberOfWrappedDialogs; i++ ) + { + iActiveWrapper[i] = NULL; + } + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConstructL +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConstructL() + { + User::LeaveIfError( iNotif.Connect() ); + + FeatureManager::InitializeLibL(); + iIsWlanSupported = + FeatureManager::FeatureSupported( KFeatureIdProtocolWlan ); + FeatureManager::UnInitializeLib(); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::~CConnectionUiUtilitiesImpl +// --------------------------------------------------------- +// +CConnectionUiUtilitiesImpl::~CConnectionUiUtilitiesImpl() + { + if ( iResOffset ) + { + CCoeEnv::Static()->DeleteResourceFile( iResOffset ); + } + iNotif.Close(); + + for ( TInt i = 0; i < KNumberOfWrappedDialogs; i++ ) + { + delete iActiveWrapper[i]; + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::LoadResourceFileL +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::LoadResourceFileL() + { + if ( !iResOffset ) + { + // can't use resource here because it has not been added yet.... + TFileName fileName; + + fileName.Append( KDriveZ ); + fileName.Append( KDC_RESOURCE_FILES_DIR ); + fileName.Append( KConnUiUtilsResName ); + + BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), + fileName ); + iResOffset = CCoeEnv::Static()->AddResourceFileL( fileName ); + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::AlwaysAskPageL +// --------------------------------------------------------- +// + +TBool CConnectionUiUtilitiesImpl::AlwaysAskPageL( + TCuuAlwaysAskResults& aResult ) + { + LoadResourceFileL(); + // options array + CDesCArrayFlat* values = new( ELeave )CDesCArrayFlat( 1 ); + CleanupStack::PushL( values ); + + HBufC* value1 = CCoeEnv::Static()->AllocReadResourceLC( + R_ALWAYS_ASK_ALWAYS_ASK ); + values->AppendL( *value1 ); + CleanupStack::PopAndDestroy( value1 ); + + HBufC* value2 = CCoeEnv::Static()->AllocReadResourceLC( + R_ALWAYS_ASK_USER_DEFINED ); + values->AppendL( *value2 ); + CleanupStack::PopAndDestroy( value2 ); + + TInt index( 0 ); + switch ( aResult ) + { + case ECuuAlwaysAsk: + { + index = 0; + break; + } + case ECuuUserDefined: + { + index = 1; + break; + } + default: + break; + } + + CAknRadioButtonSettingPage* dlg = new ( ELeave )CAknRadioButtonSettingPage( + R_ALWAYS_ASK_PAGE, index, values ); + + TBool oKPressed( EFalse ); + + CleanupStack::PushL( dlg ); + + AknsUtils::SetAvkonSkinEnabledL( ETrue ); + + CleanupStack::Pop( dlg ); + + if ( dlg->ExecuteLD( CAknSettingPage::EUpdateWhenChanged ) ) + { + oKPressed = ETrue; + } + + switch ( index ) + { + case 0: + { + aResult = ECuuAlwaysAsk; + break; + } + case 1: + { + aResult = ECuuUserDefined; + break; + } + default: + break; + } + + CleanupStack::PopAndDestroy( values ); + + return oKPressed; + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ChangeConnectionL +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::ChangeConnectionL( TUint32& aIAPId, + TConnectionPrefs aPrefs ) + { + CLOG_ENTERFN( "CConnectionUiUtilitiesImpl::ChangeConnectionL " ); + + TUint32 origId = aIAPId; + LoadResourceFileL(); + CCommsDatabase* db = CCommsDatabase::NewL( EDatabaseTypeUnspecified ); + CleanupStack::PushL( db ); + + TBuf connName; + + GetConnectionNameL( aIAPId, *db, connName ); + CleanupStack::PopAndDestroy( db ); // db + + CActiveCChangeConnectionDlg* activeChangeConnDlg = + CActiveCChangeConnectionDlg::NewL( &aIAPId, aPrefs, connName ); + CleanupStack::PushL( activeChangeConnDlg ); + + TBool retval = activeChangeConnDlg->StartSearchIAPsL(); + + CLOG_WRITE( "activeChangeConnDlg->StartSearchIAPsL();" ); + + CLOG_WRITEF( _L( "aIAPId : %d" ), aIAPId ); + CLOG_WRITEF( _L( "origId : %d" ), origId ); + CLOG_WRITEF( _L( "retval : %d" ), retval ); + + CleanupStack::PopAndDestroy( activeChangeConnDlg ); + + CLOG_LEAVEFN( "CConnectionUiUtilitiesImpl::ChangeConnectionL " ); + + return retval; + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ShowConnectionChangedNoteL +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ShowConnectionChangedNoteL( + const TUint32& aIAPId ) + + { + LoadResourceFileL(); + CCommsDatabase* db = CCommsDatabase::NewL( EDatabaseTypeUnspecified ); + CleanupStack::PushL( db ); + + TBuf connName; + + GetConnectionNameL( aIAPId, *db, connName ); + CleanupStack::PopAndDestroy( db ); + + HBufC* stringLabel = StringLoader::LoadLC( R_CONN_CHANGED, connName ); + + CAknInformationNote* infNote = new( ELeave )CAknInformationNote(); + infNote->ExecuteLD( *stringLabel ); + + CleanupStack::PopAndDestroy( stringLabel ); + } + + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetwork +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode ) + { + return SearchWLANNetwork( aSSID, + aConnectionMode, + aSecurityMode, + iDummyExtSecMode, + iDummy ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetwork +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode ) + { + return SearchWLANNetwork( aSSID, + aConnectionMode, + iDummySecMode, + aExtSecurityMode, + iDummy ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetwork +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TBool& aProtectedSetupSupported ) + { + return SearchWLANNetwork( aSSID, + aConnectionMode, + aSecurityMode, + iDummyExtSecMode, + aProtectedSetupSupported ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetwork +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + TBool& aProtectedSetupSupported ) + { + return SearchWLANNetwork( aSSID, + aConnectionMode, + iDummySecMode, + aExtSecurityMode, + aProtectedSetupSupported ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetwork +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetwork( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + TBool& aProtectedSetupSupported ) + { + TBool result( EFalse ); + + if ( iIsWlanSupported ) + { + iNetworkPrefs(); + + if ( !iActiveWrapper[ESearchWlan] ) + { + TRAP_IGNORE( iActiveWrapper[ESearchWlan] = + CActiveWrapper::NewL( ESearchWlan ) ); + } + + if ( iActiveWrapper[ESearchWlan] ) + { + iActiveWrapper[ESearchWlan]->StartSearchWLANNetwork( + iNetworkPrefs ); + + CLOG_WRITEF( _L( "iActiveWrapper[ESearchWlan]->iStatus.Int(): %d" ), + iActiveWrapper[ESearchWlan]->iStatus.Int() ); + + result = iActiveWrapper[ESearchWlan]->iStatus.Int() ? EFalse : + ETrue; + } + + if( result ) + { + aSSID = iNetworkPrefs().iSsId; + aConnectionMode = iNetworkPrefs().iNetworkMode; + aSecurityMode = iNetworkPrefs().iSecMode; + aExtSecurityMode = iNetworkPrefs().iExtSecMode; + aProtectedSetupSupported = + iNetworkPrefs().iProtectedSetupSupported; + } + } + + CLOG_WRITEF( _L( "SearchWLANNetwork result : %b" ), result ); + + return result; + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelSearchWLANNetwork +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelSearchWLANNetwork() + { + if ( iIsWlanSupported ) + { + iActiveWrapper[ESearchWlan]->Cancel(); + } + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::GetConnectionNameL +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::GetConnectionNameL( const TUint32& aIAPId, + CCommsDatabase& aDb, + TDes& aConnectionName ) + { + __ASSERT_DEBUG( &aDb, User::Panic( KErrNullPointer, KErrNone ) ); + + CCommsDbTableView* table = aDb.OpenViewMatchingUintLC( TPtrC( IAP ), + TPtrC( COMMDB_ID ), + aIAPId ); + User::LeaveIfError( table->GotoFirstRecord() ); + table->ReadTextL( TPtrC( COMMDB_NAME ), aConnectionName ); + if ( aConnectionName.Length() == 0 || + aConnectionName.Left( KMrouterName().Length() ).CompareF( + KMrouterName ) == 0 ) + { + User::Leave( KErrGeneral ); + } + + TUint32 serviceId; + // Get IAP service + table->ReadUintL( TPtrC( IAP_SERVICE ), serviceId ); + + CleanupStack::PopAndDestroy( table ); + +#ifndef __WINS__ + if ( iIsWlanSupported ) + { + CCommsDbTableView* wLanServiceTable = NULL; + + TRAPD( err, + { // this leaves if the table is empty.... + wLanServiceTable = aDb.OpenViewMatchingUintLC( + TPtrC( WLAN_SERVICE ), + TPtrC( WLAN_SERVICE_ID ), + serviceId ); + CleanupStack::Pop( wLanServiceTable ); // wLanServiceTable + } ); + + CLOG_WRITEF( _L( "OpenViewMatchingUintLC returned %d" ), err ); + + if ( err == KErrNone ) + { + CleanupStack::PushL( wLanServiceTable ); + + TInt errorCode = wLanServiceTable->GotoFirstRecord(); + TWlanSsid ssid; + + if ( errorCode == KErrNone ) + { + wLanServiceTable->ReadTextL( TPtrC( NU_WLAN_SSID ), ssid ); + if ( ssid.Length() == 0 ) + { + CLOG_WRITEF( _L( "It is the EasyWlan!" ) ); + + TWlanSsid ssidConn; + CWlanMgmtClient *wlanMgmtClient = CWlanMgmtClient::NewL(); + CleanupStack::PushL( wlanMgmtClient ); + + if ( !wlanMgmtClient->GetConnectionSsid( ssidConn ) ) + { + CLOG_WRITEF( _L( "ssidConn.Length() = %d" ), ssidConn.Length() ); + + aConnectionName.Copy( ssidConn ); + } + + wlanMgmtClient->CancelNotifications(); + CleanupStack::PopAndDestroy( wlanMgmtClient ); + } + } + + CleanupStack::PopAndDestroy( wLanServiceTable ); + } + else if ( err != KErrNotFound ) + { + User::LeaveIfError( err ); + } + } + +#endif // !__WINS__ + + CLOG_WRITEF( _L( "connectionName = %S" ), &aConnectionName ); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::OffLineWlanNote +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::OffLineWlanNote() + { + CLOG_ENTERFN( "CConnectionUiUtilitiesImpl::OffLineWlanNote" ); + + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[EOffLineWlan] ) + { + TRAP_IGNORE( iActiveWrapper[EOffLineWlan] = + CActiveWrapper::NewL( EOffLineWlan ) ); + CLOG_WRITE( "iActiveWrapper created" ); + } + + if ( iActiveWrapper[EOffLineWlan] ) + { + CLOG_WRITE( "Starting generic note" ); + iActiveWrapper[EOffLineWlan]->StartGenericNote( EOffLineWlan ); + CLOG_WRITE( "Generic note started" ); + return iActiveWrapper[EOffLineWlan]->iStatus.Int() ? EFalse : + ETrue; + } + } + + CLOG_LEAVEFN( "CConnectionUiUtilitiesImpl::OffLineWlanNote" ); + + return EFalse; + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::OffLineWlanNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::OffLineWlanNote( TRequestStatus& aStatus ) + { + CLOG_ENTERFN( "CConnectionUiUtilitiesImpl::OffLineWlanNote Async" ); + + if ( iIsWlanSupported ) + { + if ( iActiveWrapper[EOffLineWlan] ) + { // deleting, to be sure to call the right Cancel function + delete iActiveWrapper[EOffLineWlan]; + iActiveWrapper[EOffLineWlan] = NULL; + } + + iNotif.OffLineWlanNote( aStatus, ETrue ); + } + + CLOG_LEAVEFN( "CConnectionUiUtilitiesImpl::OffLineWlanNote Async" ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelOffLineWlanNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelOffLineWlanNote() + { + if ( iIsWlanSupported ) + { + if ( iActiveWrapper[EOffLineWlan] ) + { + iActiveWrapper[EOffLineWlan]->Cancel(); + } + else + { // Asynchronous version + iNotif.CancelOffLineWlanNote(); + } + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::OffLineWlanDisabledNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::OffLineWlanDisabledNote() + { + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[EWlanDisabled] ) + { + TRAP_IGNORE( iActiveWrapper[EWlanDisabled] = + CActiveWrapper::NewL( EWlanDisabled ) ); + } + + if ( iActiveWrapper[EWlanDisabled] ) + { + iActiveWrapper[EWlanDisabled]->StartGenericNote( EWlanDisabled ); + } + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::EasyWepDlg +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::EasyWepDlg( TDes* aKey, TBool& aHex ) + { + TInt status = KErrNone; + + if ( iIsWlanSupported ) + { + iWepKey().iKey.Copy( *aKey ); + if ( !iActiveWrapper[EWlanEasyWep] ) + { + TRAP_IGNORE( iActiveWrapper[EWlanEasyWep] = + CActiveWrapper::NewL( EWlanEasyWep ) ); + } + + if ( iActiveWrapper[EWlanEasyWep] ) + { + status = iActiveWrapper[EWlanEasyWep]->StartEasyWepDlg( iWepKey ); + } + aKey->Copy( iWepKey().iKey ); + aHex = iWepKey().iHex; + } + return ( status == KErrNone ) ? ETrue : EFalse; + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::EasyWepDlgAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::EasyWepDlgAsync( TRequestStatus& aStatus, TDes* aKey, TBool& aHex ) + { + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[EWlanEasyWep] ) + { + TRAP_IGNORE( iActiveWrapper[EWlanEasyWep] = + CActiveWrapper::NewL( EWlanEasyWep ) ); + } + + if ( iActiveWrapper[EWlanEasyWep] ) + { + iActiveWrapper[EWlanEasyWep]->StartEasyWepDlgAsync( aStatus, aKey, aHex ); + } + } + } + + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelEasyWepDlg +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelEasyWepDlg() + { + if ( iIsWlanSupported ) + { + iActiveWrapper[EWlanEasyWep]->Cancel(); + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::EasyWpaDlg +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::EasyWpaDlg( TDes* aKey ) + { + TInt status = KErrNone; + if ( iIsWlanSupported ) + { + iWpaKey().Copy( *aKey ); + if ( !iActiveWrapper[EWlanEasyWpa] ) + { + TRAP_IGNORE( iActiveWrapper[EWlanEasyWpa] = + CActiveWrapper::NewL( EWlanEasyWpa ) ); + } + + if ( iActiveWrapper[EWlanEasyWpa] ) + { + status = iActiveWrapper[EWlanEasyWpa]->StartEasyWpaDlg( iWpaKey ); + } + aKey->Copy( iWpaKey() ); + } + return ( status == KErrNone ) ? ETrue : EFalse; + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::StartEasyWpaDlgAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::EasyWpaDlgAsync( TRequestStatus& aStatus, TDes* aKey ) + { + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[EWlanEasyWpa] ) + { + TRAP_IGNORE( iActiveWrapper[EWlanEasyWpa] = + CActiveWrapper::NewL( EWlanEasyWpa ) ); + } + + if ( iActiveWrapper[EWlanEasyWpa] ) + { + iActiveWrapper[EWlanEasyWpa]->StartEasyWpaDlgAsync( aStatus, aKey ); + } + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelEasyWpaDlg +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelEasyWpaDlg() + { + if ( iIsWlanSupported ) + { + iActiveWrapper[EWlanEasyWpa]->Cancel(); + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::WLANNetworkUnavailableNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::WLANNetworkUnavailableNote() + { + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[EWlanNetwUnavail] ) + { + TRAP_IGNORE( iActiveWrapper[EWlanNetwUnavail] = + CActiveWrapper::NewL( EWlanNetwUnavail ) ); + } + + if ( iActiveWrapper[EWlanNetwUnavail] ) + { + iActiveWrapper[EWlanNetwUnavail]->StartGenericNote( + EWlanNetwUnavail ); + } + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkSync +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetworkSync( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode ) + { + return SearchWLANNetworkSync( aSSID, aConnectionMode, aSecurityMode, + iDummy ); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkSync +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::SearchWLANNetworkSync( TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TBool& aProtectedSetupSupported ) + { + TBool result( EFalse ); + + if ( iIsWlanSupported ) + { + TRequestStatus status; + iNetworkPrefs(); + + iNotif.SearchWLANNetwork( iNetworkPrefs, status, EFalse ); + User::WaitForRequest( status ); + + if( status == KErrNone ) + { + aSSID = iNetworkPrefs().iSsId; + aConnectionMode = iNetworkPrefs().iNetworkMode; + aSecurityMode = iNetworkPrefs().iSecMode; + aProtectedSetupSupported = + iNetworkPrefs().iProtectedSetupSupported; + result = ETrue; + } + } + + CLOG_WRITEF( _L( "SearchWLANNetworkSync result : %b" ), result ); + return result; + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync( + TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode ) + { + SearchWLANNetworkAsync( aStatus, + aSSID, + aConnectionMode, + aSecurityMode, + iDummyExtSecMode, + iDummy ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync( + TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode ) + { + SearchWLANNetworkAsync( aStatus, + aSSID, + aConnectionMode, + iDummySecMode, + aExtSecurityMode, + iDummy ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync( + TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TBool& aProtectedSetupSupported ) + { + SearchWLANNetworkAsync( aStatus, + aSSID, + aConnectionMode, + aSecurityMode, + iDummyExtSecMode, + aProtectedSetupSupported ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync( + TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + TBool& aProtectedSetupSupported ) + { + SearchWLANNetworkAsync( aStatus, + aSSID, + aConnectionMode, + iDummySecMode, + aExtSecurityMode, + aProtectedSetupSupported ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync( + TRequestStatus& aStatus, + TWlanSsid& aSSID, + TWlanConnectionMode& aConnectionMode, + TWlanConnectionSecurityMode& aSecurityMode, + TWlanConnectionExtentedSecurityMode& aExtSecurityMode, + TBool& aProtectedSetupSupported ) + { + CLOG_ENTERFN( "CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync" ); + + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[ESearchWlan] ) + { + TRAP_IGNORE( iActiveWrapper[ESearchWlan] = + CActiveWrapper::NewL( ESearchWlan ) ); + } + + if ( iActiveWrapper[ESearchWlan] ) + { + iActiveWrapper[ESearchWlan]->StartSearchWLANNetworkAsync( aStatus, + aSSID, aConnectionMode, aSecurityMode, + aExtSecurityMode, + aProtectedSetupSupported ); + + CLOG_WRITEF( _L( "iActiveWrapper[ESearchWlan]->iStatus.Int(): %d" ), + iActiveWrapper[ESearchWlan]->iStatus.Int() ); + } + } + + CLOG_LEAVEFN( "CConnectionUiUtilitiesImpl::SearchWLANNetworkAsync" ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConnectedViaDestAndConnMethodNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConnectedViaDestAndConnMethodNote( + const TUint32 aDestId, + const TUint32 aConnMId ) + { + if ( !iActiveWrapper[EConnViaDestCM] ) + { + TRAP_IGNORE( iActiveWrapper[EConnViaDestCM] = + CActiveWrapper::NewL( EConnViaDestCM ) ); + } + + if ( iActiveWrapper[EConnViaDestCM] ) + { + iActiveWrapper[EConnViaDestCM]->StartGenericNote( EConnViaDestCM, + aConnMId, aDestId ); + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConnectedViaDestAndConnMethodNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConnectedViaDestAndConnMethodNote( + const TUint32 aDestId, + const TUint32 aConnMId, + TRequestStatus& aStatus ) + { + iNotif.ConnectedViaDestAndConnMethodNote( aDestId, aConnMId, aStatus ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelConnectedViaDestAndConnMethodNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelConnectedViaDestAndConnMethodNote() + { + iNotif.CancelConnectedViaDestAndConnMethodNote(); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ChangingConnectionToNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ChangingConnectionToNote( + const TUint32 aConnMId ) + { + if ( !iActiveWrapper[EChangingConnTo] ) + { + TRAP_IGNORE( iActiveWrapper[EChangingConnTo] = + CActiveWrapper::NewL( EChangingConnTo ) ); + } + + if ( iActiveWrapper[EChangingConnTo] ) + { + iActiveWrapper[EChangingConnTo]->StartGenericNote( EChangingConnTo, + aConnMId ); + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ChangingConnectionToNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ChangingConnectionToNote( + const TUint32 aConnMId, + TRequestStatus& aStatus ) + { + iNotif.ChangingConnectionToNote( aConnMId, aStatus ); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelChangingConnectionToNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelChangingConnectionToNote() + { + iActiveWrapper[EChangingConnTo]->Cancel(); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConfirmMethodUsageQuery +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConfirmMethodUsageQuery( + TMsgQueryLinkedResults& aResult, + const TBool aHomeNetwork, + TRequestStatus& aStatus ) + { + iNotif.ConfirmMethodUsageQuery( aResult, aHomeNetwork, aStatus ); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelConfirmMethodUsageQuery +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelConfirmMethodUsageQuery() + { + iNotif.CancelConfirmMethodUsageQuery(); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConnectedViaConnMethodNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConnectedViaConnMethodNote( + const TUint32 aConnMId ) + { + if ( !iActiveWrapper[EConnViaCM] ) + { + TRAP_IGNORE( iActiveWrapper[EConnViaCM] = + CActiveWrapper::NewL( EConnViaCM ) ); + } + + if ( iActiveWrapper[EConnViaCM] ) + { + iActiveWrapper[EConnViaCM]->StartGenericNote( EConnViaCM, aConnMId ); + } + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConnectedViaConnMethodNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConnectedViaConnMethodNote( + const TUint32 aConnMId, + TRequestStatus& aStatus ) + { + iNotif.ConnectedViaConnMethodNote( aConnMId, aStatus ); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelConnectedViaConnMethodNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelConnectedViaConnMethodNote() + { + iNotif.CancelConnectedViaConnMethodNote(); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::WlanPowerSaveTestNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::WlanPowerSaveTestNote( + TBool& aDisable, + TRequestStatus& aStatus ) + { + iNotif.WlanPowerSaveTestNote( aDisable, aStatus ); + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::CancelWlanPowerSaveTestNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::CancelWlanPowerSaveTestNote() + { + iNotif.CancelWlanPowerSaveTestNote(); + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::EasyWapiDlg +// --------------------------------------------------------- +// +TBool CConnectionUiUtilitiesImpl::EasyWapiDlg( TDes* aKey ) + { + TInt status( KErrNone ); + + if ( iIsWlanSupported ) + { + iWapiKey().Copy( *aKey ); + + if ( !iActiveWrapper[ EWlanEasyWapi ] ) + { + TRAP_IGNORE( iActiveWrapper[ EWlanEasyWapi ] = + CActiveWrapper::NewL( EWlanEasyWapi ) ); + } + + if ( iActiveWrapper[ EWlanEasyWapi ] ) + { + status = iActiveWrapper[ EWlanEasyWapi ]->StartEasyWapiDlg( iWapiKey ); + } + + aKey->Copy( iWapiKey() ); + } + return ( status == KErrNone ) ? ETrue : EFalse; + } + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::NoWLANNetworksAvailableNote +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::NoWLANNetworksAvailableNote() + { + if ( iIsWlanSupported ) + { + if ( !iActiveWrapper[ ENoWlanNetwsAvail ] ) + { + TRAP_IGNORE( iActiveWrapper[ ENoWlanNetwsAvail ] = + CActiveWrapper::NewL( ENoWlanNetwsAvail ) ); + } + + if ( iActiveWrapper[ ENoWlanNetwsAvail ] ) + { + iActiveWrapper[ ENoWlanNetwsAvail ]->StartGenericNote( + ENoWlanNetwsAvail ); + } + } + } + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConnectingViaDiscreetPopup +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConnectingViaDiscreetPopup( const TUint32& aIapId, TBool aConnectionAlreadyActive ) + { + iConnInfo().iIapId = aIapId; + iConnInfo().iConnectionAlreadyActive = aConnectionAlreadyActive; + + if ( !iActiveWrapper[ EConnectingViaDiscreetPopup ] ) + { + TRAP_IGNORE( iActiveWrapper[ EConnectingViaDiscreetPopup ] = + CActiveWrapper::NewL( EConnectingViaDiscreetPopup ) ); + } + + if ( iActiveWrapper[ EConnectingViaDiscreetPopup ] ) + { + iActiveWrapper[ EConnectingViaDiscreetPopup ] + ->StartConnectingViaDiscreetPopup( iConnInfo ); + } + } + + + +// --------------------------------------------------------- +// CConnectionUiUtilitiesImpl::ConnectionErrorDiscreetPopup +// --------------------------------------------------------- +// +void CConnectionUiUtilitiesImpl::ConnectionErrorDiscreetPopup( const TInt& aErrCode ) + { + TPckgBuf< TInt > buf; + buf() = aErrCode; + + if ( !iActiveWrapper[ EConnectionErrorDiscreetPopup ] ) + { + TRAP_IGNORE( iActiveWrapper[ EConnectionErrorDiscreetPopup ] = + CActiveWrapper::NewL( EConnectionErrorDiscreetPopup ) ); + } + + if ( iActiveWrapper[ EConnectionErrorDiscreetPopup ] ) + { + iActiveWrapper[ EConnectionErrorDiscreetPopup ] + ->StartConnectionErrorDiscreetPopup( buf ); + } + } + +// End of File