connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopup.cpp
--- a/connectionutilities/ConnectionDialogs/ConnectionUiUtilities/NotifSrc/connectionerrordiscreetpopup.cpp Fri Apr 16 15:21:37 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,432 +0,0 @@
-/*
- * Copyright (c) 2009 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 CConnectionErrorDiscreetPopup.
- *
- */
-
-// INCLUDE FILES
-#include "connectionerrordiscreetpopup.h"
-#include <akndiscreetpopup.h>
-#include <aknsconstants.hrh>
-#include <StringLoader.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethod.h>
-#include <cmconnectionmethodext.h>
-#include <cmpluginwlandef.h>
-#include <avkon.hrh>
-#include <connectionuiutilities.mbg>
-#include <ConnUiUtilsNotif.rsg>
-
-#ifdef _DEBUG
-#include <e32debug.h>
-#endif
-
-// Error code definitions are from these headers
-#include <wlanerrorcodes.h> // WLAN-specific error code definitions
-#include <in_iface.h>
-#include <etelpckt.h> // GPRS-specific causes for Session Management
-#include <nd_err.h> // NetDial errors
-#include <inet6err.h> // IPv6 error constants
-#include <rmmcustomapi.h>
-
-// Errors in UI spec not found elsewhere
-const TInt KErrPDPMaxContextsReached = -6000;
-const TInt KErrDndNameNotFound = -5120;
-const TInt KErrGeneralConnection = -50000;
-const TInt KErrGenConnNoGPRSNetwork = -3609;
-
-// No discreet popup => Uid 0
-const TUid KDiscreetPopupUidNone =
- {
- 0x0
- };
-// Path of the app's iconfile
-_LIT( KIconFileName, "\\resource\\apps\\connectionuiutilities.mif" );
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::CConnectionErrorDiscreetPopup
-// ---------------------------------------------------------
-//
-CConnectionErrorDiscreetPopup::CConnectionErrorDiscreetPopup(
- CConnectionErrorDiscreetPopupNotif* aNotif) :
- CActive(EPriorityUserInput), // Standard priority
- iNotif(aNotif), iErrorCode(KErrNone)
- {
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::NewLC
-// ---------------------------------------------------------
-//
-CConnectionErrorDiscreetPopup* CConnectionErrorDiscreetPopup::NewLC(
- CConnectionErrorDiscreetPopupNotif* aNotif)
- {
- CConnectionErrorDiscreetPopup* self =
- new (ELeave) CConnectionErrorDiscreetPopup(aNotif);
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::NewL
-// ---------------------------------------------------------
-//
-CConnectionErrorDiscreetPopup* CConnectionErrorDiscreetPopup::NewL(
- CConnectionErrorDiscreetPopupNotif* aNotif)
- {
- CConnectionErrorDiscreetPopup* self =
- CConnectionErrorDiscreetPopup::NewLC(aNotif);
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::ConstructL
-// ---------------------------------------------------------
-//
-void CConnectionErrorDiscreetPopup::ConstructL()
- {
- CActiveScheduler::Add(this); // Add to scheduler
- icmManager.OpenL();
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::~CConnectionErrorDiscreetPopup
-// ---------------------------------------------------------
-//
-CConnectionErrorDiscreetPopup::~CConnectionErrorDiscreetPopup()
- {
- Cancel(); // Cancel any request, if outstanding
- icmManager.Close();
- // Delete instance variables if any
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::DoCancel
-// ---------------------------------------------------------
-//
-void CConnectionErrorDiscreetPopup::DoCancel()
- {
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::StartL
-// ---------------------------------------------------------
-//
-void CConnectionErrorDiscreetPopup::StartL(TUint32 aErrCode)
- {
- Cancel(); // Cancel any request, just to be sure
-
- iErrorCode = aErrCode;
-
- SetActive(); // Tell scheduler a request is active
- iClientStatus = &iStatus;
- User::RequestComplete(iClientStatus, KErrNone);
-
- // Complete the note so client can continue its tasks
- // immediately
- iNotif->SetCancelledFlag(ETrue);
- iNotif->CompleteL(KErrNone);
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::RunL
-// ---------------------------------------------------------
-//
-void CConnectionErrorDiscreetPopup::RunL()
- {
- if (iStatus == KErrNone)
- {
- TInt text1 = 0;
- TInt text2 = 0;
- TInt bitmapId = 0;
- TInt maskId = 0;
- // Show only if error code can be resolved
- if (ResolveErrorCode(text1, text2, bitmapId, maskId))
- {
- // Load strings from resources
- HBufC* stringText1 = StringLoader::LoadLC(text1);
- HBufC* stringText2 = StringLoader::LoadLC(text2);
- CAknDiscreetPopup::ShowGlobalPopupL(*stringText1, // 1st text row
- *stringText2, // second text row
- KAknsIIDDefault, // icon skin id
- KIconFileName, // bitmap file path
- bitmapId, // bitmap id
- maskId, // mask id
- KAknDiscreetPopupDurationLong, // flags
- 0, // command id
- NULL, // command observer
- KDiscreetPopupUidNone, // application to be launched
- KDiscreetPopupUidNone); // view to be activated
-
- CleanupStack::PopAndDestroy(2, stringText1);
- }
- }
-
- // Cleanup
- iNotif->Cancel();
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::RunError
-// ---------------------------------------------------------
-//
-TInt CConnectionErrorDiscreetPopup::RunError(TInt aError)
- {
- return aError;
- }
-
-// ---------------------------------------------------------
-// CConnectionErrorDiscreetPopup::ResolveErrorCode
-// ---------------------------------------------------------
-//
-TInt CConnectionErrorDiscreetPopup::ResolveErrorCode(TInt& aText1,
- TInt& aText2, TInt& aBitmap, TInt& aMask)
- {
-
-#ifdef _DEBUG
- RDebug::Print( _L("CConnectionErrorDiscreetPopup::ResolveErrorCode - code %d"),
- iErrorCode );
-#endif
-
- // Icons, which are resolved at the end
- enum TIconType
- {
- EIconWlan, EIconCellular, EIconNone
- };
-
- // For most cases, icon is WLAN
- TIconType icon = EIconWlan;
-
- // For most cases, aText1 = "Connection failed"
- aText1 = R_QTN_OCC_CONNECTION_FAILED_DISCREET_POPUP_TEXT1;
-
- // Resolve aText1, aText2 and icon of error code.
- // Groups are from OCC GUI spec 1.0
- switch (iErrorCode)
- {
-
- // Group 1
- case KErrIfChangingPassword:
- icon = EIconCellular;
- // These were GPRS; fall through
- case KErrWlanInternalError:
- aText2 = R_QTN_OCC_INTERNAL_ERROR_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 2
- case KErrWlanNetworkNotFound:
- aText2 = R_QTN_OCC_WLAN_NOT_FOUND_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 3
- case KErrGprsUserAuthenticationFailure:
- icon = EIconCellular;
- // These were GPRS; fall through
- case KErrWlanOpenAuthFailed:
- case KErrWlanSharedKeyAuthRequired:
- case KErrWlanWpaAuthRequired:
- case KErrWlanWpaAuthFailed:
- case KErrWlan802dot1xAuthFailed:
- case KErrWlanWpaCounterMeasuresActive:
- case KErrWlanPskModeRequired:
- case KErrWlanEapModeRequired:
- case KErrWlanEapSimFailed:
- case KErrWlanEapTlsFailed:
- case KErrWlanEapPeapFailed:
- case KErrWlanEapMsChapv2: // Is the same as KErrWlanEapMsChaPFailed
- case KErrWlanEapAkaFailed:
- case KErrWlanEapTtlsFailed:
- case KErrWlanLeapFailed:
- case KErrWlanEapGtcFailed:
- case KErrWlanWpa2OnlyModeNotSupported:
- case KErrWlanEapFastTunnelCompromiseError:
- case KErrWlanEapFastUnexpextedTlvExhanged:
- case KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled:
- case KErrWlanEapFastNoMatchingPacForAid:
- case KErrWlanEapFastAuthFailed:
- case KErrWlanEapFastPacStoreCorrupted:
- aText2 = R_QTN_OCC_AUTH_ERROR_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 4
- case KErrWlanSharedKeyAuthFailed:
- case KErrWlanIllegalWpaPskKey:
- case KErrWlanIllegalEncryptionKeys:
- aText2 = R_QTN_OCC_CHECK_KEY_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 5
- case KErrExitModemError:
- case KErrExitLoginFail:
- case KErrExitScriptTimeOut:
- case KErrExitScriptError:
- case KErrIfAuthenticationFailure:
- case KErrIfAuthNotSecure:
- case KErrIfAccountDisabled:
- case KErrIfRestrictedLogonHours:
- case KErrIfPasswdExpired:
- case KErrIfNoDialInPermission:
- case KErrGprsMissingorUnknownAPN:
- icon = EIconCellular;
- aText2 = R_QTN_OCC_CHECK_SETTINGS_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 6
- case KErrWlanSimNotInstalled:
- aText2 = R_QTN_OCC_SIM_ERROR_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 7
- case KErrWlanNotSubscribed:
- case KErrWlanAccessBarred:
- aText2 = R_QTN_OCC_SERVICE_ERROR_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 8
- case KErrPermissionDenied:
- icon = EIconNone; // Permission denied may come with any bearer.
- // Fall through
- case KErrWlanPasswordExpired:
- case KErrWlanNoDialinPermissions:
- case KErrWlanAccountDisabled:
- case KErrWlanRestrictedLogonHours:
- case KErrWlanServerCertificateExpired:
- case KErrWlanCerficateVerifyFailed:
- case KErrWlanNoUserCertificate:
- case KErrWlanNoCipherSuite:
- case KErrWlanUserRejected:
- case KErrWlanUserCertificateExpired:
- aText2 = R_QTN_OCC_ACCESS_ERROR_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 9
- case KErrPDPMaxContextsReached:
- icon = EIconCellular;
- // These were GPRS; fall through
- case KErrWlanConnAlreadyActive:
- aText2 = R_QTN_OCC_ALREADY_ACT_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 10
- case KErrWlanSignalTooWeak:
- aText2 = R_QTN_OCC_WLAN_WEAK_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 11
- case KErrIfCallbackNotAcceptable:
- case KErrIfDNSNotFound:
- case KErrIfLRDBadLine:
- case KErrNetUnreach:
- case KErrHostUnreach:
- case KErrNoProtocolOpt:
- case KErrUrgentData:
- case KErrInet6NoRoute:
- case KErrDndNameNotFound:
- case KErrGeneralConnection:
- case KErrGprsMSCTemporarilyNotReachable:
- case KErrGprsLlcOrSndcpFailure:
- case KErrGprsInsufficientResources:
- case KErrGprsActivationRejectedByGGSN:
- case KErrPacketDataTsyInvalidAPN:
- icon = EIconCellular;
- // These were GPRS; fall through
- case KErrWlanRoamingFailed:
- aText2 = R_QTN_OCC_TRY_AGAIN_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 12
- case KErrGenConnNoGPRSNetwork:
- case KErrGprsServicesNotAllowed:
- case KErrGprsAndNonGprsServicesNotAllowed:
- case KErrGprsMSIdentityCannotBeDerivedByTheNetwork:
- case KErrGprsMSImplicitlyDetached:
- case KErrGsmMMNetworkFailure:
- case KErrGprsUnknownPDPAddress:
- case KErrGprsActivationRejected:
- case KErrGsmMMServiceOptionNotSubscribed:
- case KErrGsmMMServiceOptionTemporaryOutOfOrder:
- case KErrGprsNSAPIAlreadyUsed:
- case KErrGprsQoSNotAccepted:
- case KErrGprsReactivationRequested:
- icon = EIconCellular;
- aText2 = R_QTN_OCC_CONN_UNAVAILABLE_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 13
- case KErrWlanProtectedSetupDevicePasswordAuthFailure:
- case KErrWlanProtectedSetupPINMethodNotSupported:
- case KErrWlanProtectedSetupPBMethodNotSupported:
- aText1 = R_QTN_OCC_CONFIG_FAILED_DISCREET_POPUP_TEXT1;
- aText2 = R_QTN_OCC_AUTH_ERROR_DISCREET_POPUP_TEXT2;
- break;
-
- // Group 14
- case KErrWlanProtectedSetupOOBInterfaceReadError:
- case KErrWlanProtectedSetupDecryptionCRCFailure:
- case KErrWlanProtectedSetup2_4ChannelNotSupported:
- case KErrWlanProtectedSetup5_0ChannelNotSupported:
- case KErrWlanProtectedSetupNetworkAuthFailure:
- case KErrWlanProtectedSetupNoDHCPResponse:
- case KErrWlanProtectedSetupFailedDHCPConfig:
- case KErrWlanProtectedSetupIPAddressConflict:
- case KErrWlanProtectedSetupCouldNotConnectToRegistrar:
- case KErrWlanProtectedSetupMultiplePBCSessionsDetected:
- case KErrWlanProtectedSetupRogueActivitySuspected:
- case KErrWlanProtectedSetupDeviceBusy:
- case KErrWlanProtectedSetupSetupLocked:
- case KErrWlanProtectedSetupMessageTimeout:
- case KErrWlanProtectedSetupRegistrationSessionTimeout:
- aText1 = R_QTN_OCC_CONFIG_FAILED_DISCREET_POPUP_TEXT1;
- aText2 = R_QTN_OCC_TRY_AGAIN_DISCREET_POPUP_TEXT2;
- break;
-
- // Skipped errors, for which popup is not shown.
- case KErrNone:
- case KErrConnectionTerminated:
- case KErrDisconnected:
- case KErrCancel:
- return EFalse;
-
- // For error values not specifically mapped to any error message
- // the discreet pop-up #12 is used.
- default:
- aText2 = R_QTN_OCC_CONN_UNAVAILABLE_DISCREET_POPUP_TEXT2;
- icon = EIconNone;
- break;
- }
-
- // Resolve icon to aBitmap & aMask
- switch (icon)
- {
- case EIconWlan:
- aBitmap = EMbmConnectionuiutilitiesQgn_prop_wlan_bearer;
- aMask = EMbmConnectionuiutilitiesQgn_prop_wlan_bearer_mask;
- break;
- case EIconCellular:
- aBitmap = EMbmConnectionuiutilitiesQgn_prop_wml_gprs;
- aMask = EMbmConnectionuiutilitiesQgn_prop_wml_gprs_mask;
- break;
- default:
- ASSERT(icon == EIconNone);
- aBitmap = -1;
- aMask = -1;
- break;
- }
-
- return ETrue;
- }