wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp
branchRCL_3
changeset 18 bad0cc58d154
parent 17 30e048a7b597
child 19 c74b3d9f6b9e
--- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp	Thu Aug 19 09:58:27 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,403 +0,0 @@
-/*
-* Copyright (c) 2001-2010 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 GtcNotif dialog plugin.
-*
-*/
-
-/*
-* %version: 12.1.9 %
-*/
-
-// INCLUDE FILES
-#include <coemain.h>
-#include <eikenv.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-#include <gtcnotifdlgui.rsg>
-#include <e32base.h>
-#include <StringLoader.h>
-
-#include <e32property.h>            // For RProperty 
-#include <UikonInternalPSKeys.h>    // For KPSUidUikon and KUikGlobalNotesAllowed.
-
-#include "GtcNotifDlgPlugin.h"
-#include "GTCResponseQueryDialog.h"
-#include "GTCMessageDisplayDialog.h"
-
-
-// CONSTANTS
-static const TInt KMaxLengthOfGtcResponse = 256;
-
-// Ratio between ascii and unicode character sizes
-static const TUint KAsciiUnicodeRatio = 2;
-
-
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-// -----------------------------------------------------------------------------
-// CreateNotifiersL
-// -----------------------------------------------------------------------------
-//
-LOCAL_C void CreateNotifiersL( 
-                          CArrayPtrFlat< MEikSrvNotifierBase2 >* aNotifiers )
-    {
-    MEikSrvNotifierBase2 *serNotify;
-
-    serNotify = CGtcDialogPlugin::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 );
-    }
-
-
-//////////////////////////////////////////////////////////////
-// Gtc dialog plugin
-/////////////////////////////////////////////////////////////
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::CGtcDialogPlugin
-// -----------------------------------------------------------------------------
-//
-CGtcDialogPlugin::CGtcDialogPlugin()
-: iCancelled( EFalse ), 
-  iGtcMessageCancelled( EFalse )
-    {
-    iManager = NULL;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::~CGtcDialogPlugin
-// -----------------------------------------------------------------------------
-//
-CGtcDialogPlugin::~CGtcDialogPlugin()
-    {
-    CCoeEnv::Static()->DeleteResourceFile( iResource );
-
-    if ( !iGtcMessageCancelled )
-        {
-        delete iGTCMessageDisplayDlg;
-        }
-
-    if ( !iCancelled )
-        {
-        delete iGTCResponseQueryDlg;
-        }
-    }
-
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::RegisterL
-// -----------------------------------------------------------------------------
-//
-CGtcDialogPlugin::TNotifierInfo CGtcDialogPlugin::RegisterL()
-    {
-    iInfo.iUid      = KUidGtcDialog;
-    iInfo.iPriority = ENotifierPriorityHigh;
-    iInfo.iChannel  = KUidGtcDialog;
-    return iInfo;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::NewL
-// -----------------------------------------------------------------------------
-//
-CGtcDialogPlugin* CGtcDialogPlugin::NewL()
-    {
-    CGtcDialogPlugin* self = new ( ELeave ) CGtcDialogPlugin();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::ConstructL
-// -----------------------------------------------------------------------------
-//
-void CGtcDialogPlugin::ConstructL()
-    {
-    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 );
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::StartL
-// -----------------------------------------------------------------------------
-//
-TPtrC8 CGtcDialogPlugin::StartL( const TDesC8& /*aBuffer*/ )
-    {
-    return KNullDesC8().Ptr();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::StartL
-// -----------------------------------------------------------------------------
-//
-void CGtcDialogPlugin::StartL( const TDesC8&  aBuffer, 
-                               TInt aReplySlot, 
-                               const RMessagePtr2& aMessage )
-    {
-    iCancelled = EFalse;
-    iReplySlot = aReplySlot;
-    iMessage   = aMessage;
-     
-    // This object gets constructed only once where as this gets called many 
-    // times, if user is not answering the query. 
-    // So initialize everything here itself.
-    iGTCResponseQueryDlg = NULL;
-    iGTCMessageDisplayDlg = NULL;
-    iDataPtr = NULL;
-    iDataPckgPtr = NULL;
-    iGtcMessageCancelled = EFalse;
-
-    // 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. Don't care the error. What we care is
-    // if notesAllowed has turned to 1 from 0.
-    if ( notesAllowed )
-        {
-        // Display EAP-GTC message if there's one...
-        if ( aBuffer.Length() != 0 )
-            {
-            HBufC16* buffer = HBufC16::NewLC( aBuffer.Size() /
-                                                        KAsciiUnicodeRatio );
-            TPtr16 text = buffer->Des();
-            text.Copy( reinterpret_cast<TUint16 *>( const_cast<TUint8 *> (
-                                        aBuffer.Ptr() ) ), aBuffer.Size() /
-                                                        KAsciiUnicodeRatio );
-
-            iGTCMessageDisplayDlg = CGTCMessageDisplayDialog::NewL( text, 
-                                                                    this );
-            iGTCMessageDisplayDlg->ExecuteLD( R_MESSAGE_QUERY );
-
-            // Do not set iGTCMessageDisplayDlg to NULL here, because then
-            // a timeout cancel will cause a crash. Prevent double deletion
-            // by checking iGtcMessageCancelled in the destructor.
-
-            CleanupStack::PopAndDestroy( buffer );
-            }
-        else
-            {
-            // Show the data query directly since there is no message to display.
-            CompleteMessageDisplayL( KErrNone );
-            }
-        }
-
-    // In case if the notes are not allowed, this message gets completed when 
-    // EAPOL time out occurs and a subsequent call to cancel from 
-    // eap_am_type_securid_symbian_c::DoCancel().
-
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::UpdateL
-// -----------------------------------------------------------------------------
-//
-TPtrC8 CGtcDialogPlugin::UpdateL( const TDesC8& /*aBuffer*/ )
-    {
-    return KNullDesC8().Ptr();
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::Cancel
-// -----------------------------------------------------------------------------
-//
-void CGtcDialogPlugin::Cancel()
-    {
-    if ( !iCancelled )
-        {
-        iCancelled = ETrue;
-
-        if ( !iMessage.IsNull() )
-            {
-            iMessage.Complete( KErrCancel );
-            }
-
-        if ( iGTCResponseQueryDlg )
-            {
-            delete iGTCResponseQueryDlg;
-            iGTCResponseQueryDlg = NULL;
-            }
-
-        if ( !iGtcMessageCancelled && iGTCMessageDisplayDlg )
-            {
-            iGtcMessageCancelled = ETrue;
-            delete iGTCMessageDisplayDlg;
-            iGTCMessageDisplayDlg = NULL;
-            }
-        }
-
-    if( iDataPtr ) 
-        {
-        delete iDataPtr;
-        iDataPtr = NULL;
-        }
-
-    if( iDataPckgPtr ) 
-        {
-        delete iDataPckgPtr;
-        iDataPckgPtr = NULL;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::CompleteL
-// -----------------------------------------------------------------------------
-//
-void CGtcDialogPlugin::CompleteL( TInt aStatus )
-    { 
-    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;
-        }
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::Release
-// -----------------------------------------------------------------------------
-//
-void CGtcDialogPlugin::Release()
-    {
-    delete this;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::Info
-// -----------------------------------------------------------------------------
-//
-CGtcDialogPlugin::TNotifierInfo CGtcDialogPlugin::Info() const
-    {
-    return iInfo;
-    }
-
-
-// -----------------------------------------------------------------------------
-// CGtcDialogPlugin::CompleteMessageDisplayL
-// -----------------------------------------------------------------------------
-//
-void CGtcDialogPlugin::CompleteMessageDisplayL( TInt aStatus )
-    {
-    iGtcMessageCancelled = ETrue;
-
-    if ( aStatus == KErrNone )
-        {
-        // Now user has acknowledged the GTC message.
-        // Show the response query to enter the password.
-
-        iDataPtr = new( ELeave ) TEapGtcUsernamePasswordInfo;
-        iDataPckgPtr = new( ELeave ) TPckg<TEapGtcUsernamePasswordInfo>( 
-                                                                *iDataPtr );
-
-        TBuf16<KMaxLengthOfGtcResponse> response;
-
-        iGTCResponseQueryDlg = CGTCResponseQueryDialog::NewL( 
-                                                iDataPtr->iPasscode, this );
-
-        HBufC* text = StringLoader::LoadLC( R_GTC_RESPONSE );
-        iGTCResponseQueryDlg->SetPromptL( *text );
-        CleanupStack::PopAndDestroy( text );
-
-        iGTCResponseQueryDlg->ExecuteLD( R_GTC_PASSWORD_QUERY);
-
-        // Do not set iGTCResponseQueryDlg to NULL here, because then
-        // a timeout cancel will cause a crash. Prevent double deletion
-        // by checking iCancelled in the destructor.
-        }
-    else
-        {
-        // User probably cancelled the message, some how.
-        // Can not continue to show the password query.
-        if ( !iMessage.IsNull() )
-            {
-            iMessage.Complete( aStatus );
-            }
-        }
-    }
-
-
-// End of File