diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,489 +0,0 @@ -/* -* Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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 PapNotifDlg dialog plugin. -* -*/ - -/* -* %version: 9 % -*/ - -// INCLUDE FILES -#include -#include -#include -#include -#include - -#include // For RProperty -#include // For KPSUidUikon and KUikGlobalNotesAllowed. - -#include -#include "papnotifdlgplugin.h" -#include "papauthdialog.h" -#include "papchallengemsgdialog.h" -#include "papchallengereplydialog.h" - -// CONSTANTS -//static const TUint KUtf8UnicodeRatio = 2; - -// ================= OTHER EXPORTED FUNCTIONS ============== - -// ----------------------------------------------------------------------------- -// CreateNotifiersL -// ----------------------------------------------------------------------------- -// -LOCAL_C void CreateNotifiersL( CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers ) - { - MEikSrvNotifierBase2 *serNotify; - serNotify = CPapNotifDialogPlugin::NewL(); - CleanupStack::PushL( serNotify ); - aNotifiers->AppendL( serNotify ); - CleanupStack::Pop( serNotify ); - } - - -// ----------------------------------------------------------------------------- -// NotifierArray -// ----------------------------------------------------------------------------- -// -EXPORT_C CArrayPtr< MEikSrvNotifierBase2 >* NotifierArray() - { - // NotifierArray() can't leave - CArrayPtrFlat< MEikSrvNotifierBase2 >* array = - new CArrayPtrFlat< MEikSrvNotifierBase2 >( KPluginGranularity ); - - if ( array ) - { - TRAPD( err, CreateNotifiersL( array ) ); - - if( err ) - { - TInt count = array->Count(); - - while( count-- ) - { - ( *array )[ count ]->Release(); - } - - delete array; - array = NULL; - } - } - - return( array ); - } - - -////////////////////////////////////////////////////////////// -// PAP dialog plugin -///////////////////////////////////////////////////////////// - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::CPapNotifDialogPlugin -// ----------------------------------------------------------------------------- -// -CPapNotifDialogPlugin::CPapNotifDialogPlugin() -: iCancelled( EFalse ), - iAuthDlgDismissed( EFalse ), - iChallengeMsgDismissed( EFalse ), - iChallengeReplyDismissed( EFalse ) - { - iManager = NULL; - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::~CPapNotifDialogPlugin -// ----------------------------------------------------------------------------- -// -CPapNotifDialogPlugin::~CPapNotifDialogPlugin() - { - CCoeEnv::Static()->DeleteResourceFile( iResource ); - - if ( !iAuthDlgDismissed ) - { - delete iPapAuthDialog; - } - - if ( !iChallengeMsgDismissed ) - { - delete iPapChallengeMsgDialog; - } - - if ( !iChallengeReplyDismissed ) - { - delete iPapChallengeReplyDialog; - } - - } - - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::RegisterL -// ----------------------------------------------------------------------------- -// -CPapNotifDialogPlugin::TNotifierInfo CPapNotifDialogPlugin::RegisterL() - { - iInfo.iUid = KUidPapDialog; - iInfo.iPriority = ENotifierPriorityHigh; - iInfo.iChannel = KUidPapDialog; - return iInfo; - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::NewL -// ----------------------------------------------------------------------------- -// -CPapNotifDialogPlugin* CPapNotifDialogPlugin::NewL() - { - CPapNotifDialogPlugin* self = new( ELeave ) CPapNotifDialogPlugin(); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::ConstructL -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::ConstructL() - { - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::ConstructL") ); - #endif - - TFileName fileName; - - fileName.Append( KDriveZ ); - fileName.Append( KDC_RESOURCE_FILES_DIR ); - fileName.Append( KResourceFileName ); - - BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(), fileName ); - iResource = CCoeEnv::Static()->AddResourceFileL( fileName ); - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::StartL -// ----------------------------------------------------------------------------- -// -TPtrC8 CPapNotifDialogPlugin::StartL( const TDesC8& /*aBuffer*/ ) - { - return KNullDesC8().Ptr(); - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::StartL -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::StartL( const TDesC8& aBuffer, - TInt aReplySlot, - const RMessagePtr2& aMessage ) - { - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL") ); - #endif - - iCancelled = EFalse; - iReplySlot = aReplySlot; - iMessage = aMessage; - - // This object gets constructed only once but - // can get called many times. - // So initialize everything here. - iAuthDlgDismissed = EFalse; - iChallengeMsgDismissed = EFalse; - iChallengeReplyDismissed = EFalse; - iPapAuthDialog = NULL; - iPapChallengeMsgDialog = NULL; - iPapChallengeReplyDialog = NULL; - iDataPtr = NULL; - iDataPckgPtr = NULL; - - // We are about to display the password prompt. - // Since this part of the code can be executed during the bootup, check if - // the UI has really started up to display notes/dialogs. - TInt notesAllowed = 0; - TInt error = RProperty::Get( KPSUidUikon, KUikGlobalNotesAllowed, - notesAllowed ); - - // The above call can return error. Ignore the error. What we care is - // if notesAllowed has turned to 1 from 0. - if ( notesAllowed ) - { - iDataPtr = new( ELeave ) TPapUiNotifierInfo; - iDataPckgPtr = new( ELeave ) TPckg( *iDataPtr ); - iDataPckgPtr->Copy( aBuffer ); - - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, state = %d"), iDataPtr->iState ); - #endif - - switch ( iDataPtr->iState ) - { - case TPapUiNotifierInfo::EPapUiNotifierAuthQueryDialog: - { - iPapAuthDialog = CPapAuthDialog::NewL( - iDataPtr->iUsrPwdInfo.iUserName, - iDataPtr->iUsrPwdInfo.iPassword, - this ); - - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, executing auth dialog") ); - #endif - - iPapAuthDialog->ExecuteLD( R_PAPNOTIF_USERNAME_PASSWORD_QUERY ); - - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, auth dialog executed") ); - #endif - - break; - } - - case TPapUiNotifierInfo::EPapUiNotifierPapChallengeSize: - { - iChallengeSize = iDataPtr->iSrvChallengeSize; - break; - } - - case TPapUiNotifierInfo::EPapUiNotifierPapChallengeMsgDialog: - { - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, chal msg dialog start") ); - #endif - - HBufC16* challengetext = HBufC16::NewLC( KMaxPapChallengeLength ); - TPtr16 text = challengetext->Des(); - text.Copy( iDataPtr->iPapChallenge ); - - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, create chal msg dialog") ); - #endif - - iPapChallengeMsgDialog = CPapChallengeMsgDialog::NewL( text, - this ); - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, executing chal msg dialog") ); - #endif - - iPapChallengeMsgDialog->ExecuteLD( R_PAP_CHALLENGE_MESSAGE_QUERY ); - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::StartL, chal msg dialog executed") ); - #endif - - CleanupStack::PopAndDestroy( challengetext ); - - break; - } - - case TPapUiNotifierInfo::EPapUiNotifierPapChallengeReplyQueryDialog: - { - // construct and show the challenge reply dialog, - // save the reply in the password field - iPapChallengeReplyDialog = CPapChallengeReplyDialog::NewL( - iDataPtr->iUsrPwdInfo.iPassword, this ); - iPapChallengeReplyDialog->ExecuteLD( R_PAP_CHALLENGE_REPLY_QUERY); - - break; - } - - default: - { - break; - } - - } - - } - - // In case if the notes are not allowed, this message gets completed when - // EAPOL time out occurs and a subsequent call to cancel - } - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::UpdateL -// ----------------------------------------------------------------------------- -// -TPtrC8 CPapNotifDialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ ) - { - return KNullDesC8().Ptr(); - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::Cancel -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::Cancel() - { - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::Cancel") ); - #endif - - if ( !iCancelled ) - { - iCancelled = ETrue; - - if ( !iMessage.IsNull() ) - { - iMessage.Complete( KErrCancel ); - } - - if ( !iAuthDlgDismissed && iPapAuthDialog ) - { - iAuthDlgDismissed = ETrue; - delete iPapAuthDialog; - iPapAuthDialog = NULL; - } - - if ( !iChallengeMsgDismissed && iPapChallengeMsgDialog ) - { - iChallengeMsgDismissed = ETrue; - delete iPapChallengeMsgDialog; - iPapChallengeMsgDialog = NULL; - } - - if ( !iChallengeReplyDismissed && iPapChallengeReplyDialog ) - { - iChallengeReplyDismissed = ETrue; - delete iPapChallengeReplyDialog; - iPapChallengeReplyDialog = NULL; - } - - } - - if ( iDataPtr ) - { - delete iDataPtr; - iDataPtr = NULL; - } - - if ( iDataPckgPtr ) - { - delete iDataPckgPtr; - iDataPckgPtr = NULL; - } - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::CompleteL -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::CompleteL( TInt aStatus ) - { - #if defined( _DEBUG ) || defined( DEBUG ) - RDebug::Print(_L("CPapNotifDialogPlugin::CompleteL") ); - #endif - - if ( aStatus == KErrNone && !iMessage.IsNull() ) - { - iMessage.WriteL( iReplySlot, *iDataPckgPtr ); - } - - iCancelled = ETrue; - - if ( !iMessage.IsNull() ) - { - iMessage.Complete( aStatus ); - } - - if ( iDataPtr ) - { - delete iDataPtr; - iDataPtr = NULL; - } - - if ( iDataPckgPtr ) - { - delete iDataPckgPtr; - iDataPckgPtr = NULL; - } - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::Release -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::Release() - { - delete this; - } - - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::Info -// ----------------------------------------------------------------------------- -// -CPapNotifDialogPlugin::TNotifierInfo CPapNotifDialogPlugin::Info() const - { - return iInfo; - } - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::Username -// ----------------------------------------------------------------------------- -// -TDes& CPapNotifDialogPlugin::Username() - { - return ( iDataPtr->iUsrPwdInfo.iUserName ) ; - } - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::Password -// ----------------------------------------------------------------------------- -// -TDes& CPapNotifDialogPlugin::Password() - { - return ( iDataPtr->iUsrPwdInfo.iPassword ) ; - } - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::SetAuthDlgDismissed -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::SetAuthDlgDismissed() - { - iAuthDlgDismissed = ETrue; - } - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::SetChallengeMsgDismissed -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::SetChallengeMsgDismissed() - { - iChallengeMsgDismissed = ETrue; - } - -// ----------------------------------------------------------------------------- -// CPapNotifDialogPlugin::SetChallengeReplyDismissed -// ----------------------------------------------------------------------------- -// -void CPapNotifDialogPlugin::SetChallengeReplyDismissed() - { - iChallengeReplyDismissed = ETrue; - } - - - -// End of File