eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp
author hgs
Thu, 24 Jun 2010 11:23:08 +0300
changeset 34 ad1f037f1ac2
parent 28 0e43dd645395
child 36 c98682f98478
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
34
hgs
parents: 28
diff changeset
    14
* Description: EAP Auth Notitier implementation
26
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
34
hgs
parents: 28
diff changeset
    18
/*
hgs
parents: 28
diff changeset
    19
* %version: 3 %
hgs
parents: 28
diff changeset
    20
*/
hgs
parents: 28
diff changeset
    21
26
hgs
parents:
diff changeset
    22
// INCLUDE FILES
hgs
parents:
diff changeset
    23
#include <hb/hbcore/hbsymbianvariant.h>
hgs
parents:
diff changeset
    24
#include <e32debug.h> 
34
hgs
parents: 28
diff changeset
    25
#include <EapExpandedType.h>  
26
hgs
parents:
diff changeset
    26
#include "eap_auth_notifier.h"
hgs
parents:
diff changeset
    27
#include "eap_auth_observer.h"
hgs
parents:
diff changeset
    28
#include "eap_auth_ui_strings.h"
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// CONSTANTS
hgs
parents:
diff changeset
    31
const TInt KVariableLength = 30; 
hgs
parents:
diff changeset
    32
const TInt KDlgTypeStrLength = 100; 
hgs
parents:
diff changeset
    33
const TInt KMaxAuthMethodLength = 50;
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
_LIT( KUsername, "username");
hgs
parents:
diff changeset
    36
_LIT( KAuthmethod, "authmethod");
hgs
parents:
diff changeset
    37
_LIT( KPacservername, "pacservername");
hgs
parents:
diff changeset
    38
_LIT( KPacfilename, "pacfilename");
hgs
parents:
diff changeset
    39
_LIT( KEaptype, "eaptype");
hgs
parents:
diff changeset
    40
_LIT( KMessage, "messagetxt");
hgs
parents:
diff changeset
    41
_LIT( KFastprovwaitnote, "notificationtxt");
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
_LIT(KTypeunamepwddlg, "com.nokia.eap.usernamepassworddialog/1.0");
hgs
parents:
diff changeset
    44
_LIT(KTypepwdquerydlg, "com.nokia.eap.passwordquerydialog/1.0");
hgs
parents:
diff changeset
    45
_LIT(KTypequerydlg, "com.nokia.eap.querydialog/1.0"); 
hgs
parents:
diff changeset
    46
_LIT(KTypeinstallpacquerydlg, "com.nokia.eap.fastinstallpacquerydialog/1.0");
hgs
parents:
diff changeset
    47
_LIT(KTypepacstorepwquerydlg, "com.nokia.eap.fastpacstorepwquerydialog/1.0"); 
hgs
parents:
diff changeset
    48
_LIT(KTypemasterkeyquerydlg, "com.nokia.eap.fastcreatemasterkeyquerydialog/1.0"); 
hgs
parents:
diff changeset
    49
_LIT(KTypepacfilepwquerydlg, "com.nokia.eap.fastpacfilepwquerydialog/1.0"); 
hgs
parents:
diff changeset
    50
_LIT(KTypeprovwaitnotedlg, "com.nokia.eap.fastprovwaitnotedialog/1.0"); 
hgs
parents:
diff changeset
    51
_LIT(KTypepwdexpnotedlg,"com.nokia.eap.mschapv2passwordexpirednotedialog/1.0"); 
hgs
parents:
diff changeset
    52
_LIT(KTypeoldpwddlg,"com.nokia.eap.mschapv2oldpassworddialog/1.0"); 
hgs
parents:
diff changeset
    53
_LIT(KTypenewpwddlg,"com.nokia.eap.mschapv2newpassworddialog/1.0"); 
hgs
parents:
diff changeset
    54
_LIT(KTypeshowprovnotsuccdlg,"com.nokia.eap.fastshowprovnotsuccessnotedialog/1.0"); 
hgs
parents:
diff changeset
    55
hgs
parents:
diff changeset
    56
// ---------------------------------------------------------
hgs
parents:
diff changeset
    57
// CEapAuthNotifier::CEapAuthNotifier()
hgs
parents:
diff changeset
    58
// ---------------------------------------------------------
hgs
parents:
diff changeset
    59
//
hgs
parents:
diff changeset
    60
CEapAuthNotifier::CEapAuthNotifier( MNotificationCallback& aClient )
34
hgs
parents: 28
diff changeset
    61
    :iClient(aClient),
hgs
parents: 28
diff changeset
    62
     iDialog(NULL),
hgs
parents: 28
diff changeset
    63
     iObserver(NULL),   
hgs
parents: 28
diff changeset
    64
     iCompleted(EFalse),
hgs
parents: 28
diff changeset
    65
     iCancelled(EFalse) 
26
hgs
parents:
diff changeset
    66
    {
hgs
parents:
diff changeset
    67
    RDebug::Print(_L("CEapAuthNotifier::CEapAuthNotifier DLL++") );
hgs
parents:
diff changeset
    68
    
hgs
parents:
diff changeset
    69
    }
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
// ---------------------------------------------------------
hgs
parents:
diff changeset
    72
// CEapAuthNotifier::~CEapAuthNotifier()
hgs
parents:
diff changeset
    73
// ---------------------------------------------------------
hgs
parents:
diff changeset
    74
//
hgs
parents:
diff changeset
    75
CEapAuthNotifier::~CEapAuthNotifier()
hgs
parents:
diff changeset
    76
    {
hgs
parents:
diff changeset
    77
    RDebug::Print(_L("CEapAuthNotifier::~CEapAuthNotifier") );
hgs
parents:
diff changeset
    78
    
hgs
parents:
diff changeset
    79
    if ( iCancelled == EFalse )
hgs
parents:
diff changeset
    80
        {
hgs
parents:
diff changeset
    81
        iCompleted = ETrue;
hgs
parents:
diff changeset
    82
        if ( iDialog )
hgs
parents:
diff changeset
    83
            { 
hgs
parents:
diff changeset
    84
            iDialog->Cancel();
hgs
parents:
diff changeset
    85
            }
hgs
parents:
diff changeset
    86
        }
hgs
parents:
diff changeset
    87
    if ( iDialog )
hgs
parents:
diff changeset
    88
        { 
hgs
parents:
diff changeset
    89
        delete iDialog;
hgs
parents:
diff changeset
    90
        }
hgs
parents:
diff changeset
    91
    if ( iObserver )
hgs
parents:
diff changeset
    92
        {
hgs
parents:
diff changeset
    93
        delete iObserver;
hgs
parents:
diff changeset
    94
        }
hgs
parents:
diff changeset
    95
    }
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
// ---------------------------------------------------------
hgs
parents:
diff changeset
    98
// CEapAuthNotifier* CEapAuthNotifier::NewL
hgs
parents:
diff changeset
    99
// ---------------------------------------------------------
hgs
parents:
diff changeset
   100
//
34
hgs
parents: 28
diff changeset
   101
EXPORT_C CEapAuthNotifier* CEapAuthNotifier::NewL( 
hgs
parents: 28
diff changeset
   102
    MNotificationCallback& aClient )
26
hgs
parents:
diff changeset
   103
    {
hgs
parents:
diff changeset
   104
    RDebug::Print(_L("CEapAuthNotifier::NewL"));
hgs
parents:
diff changeset
   105
    
34
hgs
parents: 28
diff changeset
   106
    CEapAuthNotifier* self = 
hgs
parents: 28
diff changeset
   107
        new ( ELeave ) CEapAuthNotifier( aClient );
hgs
parents: 28
diff changeset
   108
    CleanupStack::PushL( self );
hgs
parents: 28
diff changeset
   109
    self->ConstructL();
hgs
parents: 28
diff changeset
   110
    CleanupStack::Pop( self );
26
hgs
parents:
diff changeset
   111
    return self;
hgs
parents:
diff changeset
   112
    }
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
// ---------------------------------------------------------
34
hgs
parents: 28
diff changeset
   115
// CEapAuthNotifier::ConstructL
hgs
parents: 28
diff changeset
   116
// ---------------------------------------------------------
hgs
parents: 28
diff changeset
   117
//
hgs
parents: 28
diff changeset
   118
void CEapAuthNotifier::ConstructL()
hgs
parents: 28
diff changeset
   119
    {
hgs
parents: 28
diff changeset
   120
    RDebug::Print(_L("CEapAuthNotifier::ConstructL"));
hgs
parents: 28
diff changeset
   121
    //Observer is needed in order to get the user inputs
hgs
parents: 28
diff changeset
   122
    iObserver = CEapAuthObserver::NewL( this ); 
hgs
parents: 28
diff changeset
   123
    iDialog = CHbDeviceDialogSymbian::NewL();    
hgs
parents: 28
diff changeset
   124
    }
hgs
parents: 28
diff changeset
   125
hgs
parents: 28
diff changeset
   126
// ---------------------------------------------------------
26
hgs
parents:
diff changeset
   127
// void CEapAuthNotifier::StartL
hgs
parents:
diff changeset
   128
// ---------------------------------------------------------
hgs
parents:
diff changeset
   129
//
hgs
parents:
diff changeset
   130
EXPORT_C void CEapAuthNotifier::StartL( 
hgs
parents:
diff changeset
   131
    EEapNotifierType aType,
hgs
parents:
diff changeset
   132
    TEapDialogInfo* aEapInfo, 
hgs
parents:
diff changeset
   133
    TEapExpandedType& aEapType )
hgs
parents:
diff changeset
   134
    {
hgs
parents:
diff changeset
   135
    TInt error;
hgs
parents:
diff changeset
   136
    TBuf<KDlgTypeStrLength> EapNtfType;
hgs
parents:
diff changeset
   137
    TBuf16<KMaxAuthMethodLength> authMethod;
hgs
parents:
diff changeset
   138
               
hgs
parents:
diff changeset
   139
    RDebug::Print(_L("CEapAuthNotifier::StartL: ENTERING"));
hgs
parents:
diff changeset
   140
    
hgs
parents:
diff changeset
   141
    iCancelled = EFalse;
hgs
parents:
diff changeset
   142
    iCompleted = EFalse;
hgs
parents:
diff changeset
   143
    iEapInfo = aEapInfo;
34
hgs
parents: 28
diff changeset
   144
            
hgs
parents: 28
diff changeset
   145
    //Method must be called before using the observer  
hgs
parents: 28
diff changeset
   146
    iObserver->SetNotifierType(aType);
26
hgs
parents:
diff changeset
   147
        
hgs
parents:
diff changeset
   148
    //The variant map is needed to construct the dialog correctly,
hgs
parents:
diff changeset
   149
    CHbSymbianVariantMap* map = CHbSymbianVariantMap::NewL();
hgs
parents:
diff changeset
   150
    CleanupStack::PushL( map );
hgs
parents:
diff changeset
   151
    
hgs
parents:
diff changeset
   152
    if ( aType == EEapNotifierTypeLEapUsernamePasswordDialog )
hgs
parents:
diff changeset
   153
        {
hgs
parents:
diff changeset
   154
        authMethod.Copy(EapAuthUiStrings::Leap);
hgs
parents:
diff changeset
   155
        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );  
hgs
parents:
diff changeset
   156
        EapNtfType.Copy(KTypeunamepwddlg);
hgs
parents:
diff changeset
   157
        }   
hgs
parents:
diff changeset
   158
    else if ( aType == EEapNotifierTypeGTCUsernamePasswordDialog )
hgs
parents:
diff changeset
   159
        {
hgs
parents:
diff changeset
   160
        authMethod.Copy(EapAuthUiStrings::EapGtc);
hgs
parents:
diff changeset
   161
        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );  
hgs
parents:
diff changeset
   162
        EapNtfType.Copy(KTypeunamepwddlg);
hgs
parents:
diff changeset
   163
        }   
hgs
parents:
diff changeset
   164
    else if ( aType == EEapNotifierTypePapUsernamePasswordDialog )
hgs
parents:
diff changeset
   165
        {
hgs
parents:
diff changeset
   166
        authMethod.Copy(EapAuthUiStrings::Pap);
hgs
parents:
diff changeset
   167
        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );    
hgs
parents:
diff changeset
   168
        EapNtfType.Copy(KTypeunamepwddlg);
hgs
parents:
diff changeset
   169
        }   
hgs
parents:
diff changeset
   170
    else if ( aType == EEapNotifierTypeEapMsChapV2UsernamePasswordDialog )
hgs
parents:
diff changeset
   171
        {
hgs
parents:
diff changeset
   172
        authMethod.Copy(EapAuthUiStrings::EapMschapv2);
hgs
parents:
diff changeset
   173
        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );   
hgs
parents:
diff changeset
   174
        EapNtfType.Copy(KTypeunamepwddlg);
hgs
parents:
diff changeset
   175
        }   
hgs
parents:
diff changeset
   176
    else if ( aType == EEapNotifierTypeMsChapV2UsernamePasswordDialog )
hgs
parents:
diff changeset
   177
        {
hgs
parents:
diff changeset
   178
        authMethod.Copy(EapAuthUiStrings::Mschapv2);
hgs
parents:
diff changeset
   179
        SetUsernamePasswordDataL( aEapInfo, aEapType, map, authMethod );  
hgs
parents:
diff changeset
   180
        EapNtfType.Copy(KTypeunamepwddlg);
hgs
parents:
diff changeset
   181
        }   
34
hgs
parents: 28
diff changeset
   182
    else if ( aType == EEapNotifierTypeGtcChallengeDialog )
26
hgs
parents:
diff changeset
   183
        {
hgs
parents:
diff changeset
   184
        authMethod.Copy(EapAuthUiStrings::EapGtc);
34
hgs
parents: 28
diff changeset
   185
        SetQueryDialogDataL( aEapInfo, map, authMethod );
hgs
parents: 28
diff changeset
   186
        EapNtfType.Copy(KTypequerydlg);
hgs
parents: 28
diff changeset
   187
        }    
hgs
parents: 28
diff changeset
   188
    else if ( aType == EEapNotifierTypePapChallengeDialog )
26
hgs
parents:
diff changeset
   189
        {
hgs
parents:
diff changeset
   190
        authMethod.Copy(EapAuthUiStrings::Pap);
34
hgs
parents: 28
diff changeset
   191
        SetQueryDialogDataL( aEapInfo, map, authMethod );
hgs
parents: 28
diff changeset
   192
        EapNtfType.Copy(KTypequerydlg);
26
hgs
parents:
diff changeset
   193
        }
hgs
parents:
diff changeset
   194
    else if ( aType == EEapNotifierTypeGTCQueryDialog )
hgs
parents:
diff changeset
   195
        {
hgs
parents:
diff changeset
   196
        authMethod.Copy(EapAuthUiStrings::EapGtc);
34
hgs
parents: 28
diff changeset
   197
        SetPasswordQueryDataL( aEapType, map, authMethod );
hgs
parents: 28
diff changeset
   198
        EapNtfType.Copy(KTypepwdquerydlg); 
26
hgs
parents:
diff changeset
   199
        }
hgs
parents:
diff changeset
   200
    else if ( aType == EEapNotifierTypePapAuthQueryDialog )
hgs
parents:
diff changeset
   201
        {
hgs
parents:
diff changeset
   202
        authMethod.Copy(EapAuthUiStrings::Pap);
34
hgs
parents: 28
diff changeset
   203
        SetPasswordQueryDataL( aEapType, map, authMethod );
hgs
parents: 28
diff changeset
   204
        EapNtfType.Copy(KTypepwdquerydlg); 
26
hgs
parents:
diff changeset
   205
        }
hgs
parents:
diff changeset
   206
    else if ( aType == EEapNotifierTypeFastInstallPacQueryDialog ) 
hgs
parents:
diff changeset
   207
        {
hgs
parents:
diff changeset
   208
        SetFastInstallPacQueryDialogDataL( aEapInfo, map );
hgs
parents:
diff changeset
   209
        EapNtfType.Copy(KTypeinstallpacquerydlg);
hgs
parents:
diff changeset
   210
        }
hgs
parents:
diff changeset
   211
    else if ( aType == EEapNotifierTypeFastPacStorePwQueryDialog ) 
hgs
parents:
diff changeset
   212
        {
hgs
parents:
diff changeset
   213
        EapNtfType.Copy(KTypepacstorepwquerydlg);
hgs
parents:
diff changeset
   214
        }
hgs
parents:
diff changeset
   215
    else if ( aType == EEapNotifierTypeFastCreateMasterkeyQueryDialog ) 
hgs
parents:
diff changeset
   216
        {
hgs
parents:
diff changeset
   217
        EapNtfType.Copy(KTypemasterkeyquerydlg);
hgs
parents:
diff changeset
   218
        }
hgs
parents:
diff changeset
   219
    else if ( aType == EEapNotifierTypeFastPacFilePwQueryDialog ) 
hgs
parents:
diff changeset
   220
        {
hgs
parents:
diff changeset
   221
        setFastPacFileQueryPwDialogDataL( aEapInfo, map );
hgs
parents:
diff changeset
   222
        EapNtfType.Copy(KTypepacfilepwquerydlg);
hgs
parents:
diff changeset
   223
        }
hgs
parents:
diff changeset
   224
    else if ( aType == EEapNotifierTypeFastStartAuthProvWaitNote )
hgs
parents:
diff changeset
   225
        {
hgs
parents:
diff changeset
   226
        setFastProvWaitNoteDialogDataL( map, ETrue );
hgs
parents:
diff changeset
   227
        EapNtfType.Copy(KTypeprovwaitnotedlg);
hgs
parents:
diff changeset
   228
        }
hgs
parents:
diff changeset
   229
    else if ( aType == EEapNotifierTypeFastStartUnauthProvWaitNote )
hgs
parents:
diff changeset
   230
        {
hgs
parents:
diff changeset
   231
        setFastProvWaitNoteDialogDataL( map, EFalse );
hgs
parents:
diff changeset
   232
        EapNtfType.Copy(KTypeprovwaitnotedlg);
hgs
parents:
diff changeset
   233
        }   
hgs
parents:
diff changeset
   234
    else if ( aType == EEapNotifierTypeMsChapV2PasswordExpiredNote )
hgs
parents:
diff changeset
   235
        {
hgs
parents:
diff changeset
   236
        EapNtfType.Copy(KTypepwdexpnotedlg);
hgs
parents:
diff changeset
   237
        }
hgs
parents:
diff changeset
   238
    else if ( aType == EEapNotifierTypeMsChapV2OldPasswordDialog )
hgs
parents:
diff changeset
   239
        {
hgs
parents:
diff changeset
   240
        EapNtfType.Copy(KTypeoldpwddlg);
hgs
parents:
diff changeset
   241
        }
hgs
parents:
diff changeset
   242
    else if ( aType == EEapNotifierTypeMsChapV2NewPasswordDialog )
hgs
parents:
diff changeset
   243
        {
hgs
parents:
diff changeset
   244
        EapNtfType.Copy(KTypenewpwddlg);
hgs
parents:
diff changeset
   245
        }
hgs
parents:
diff changeset
   246
    else if ( aType == EEapNotifierTypeFastShowProvNotSuccessNote )
hgs
parents:
diff changeset
   247
        {
hgs
parents:
diff changeset
   248
        EapNtfType.Copy(KTypeshowprovnotsuccdlg);
hgs
parents:
diff changeset
   249
        }
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
    RDebug::Print(_L("CEapAuthNotifier::StartL: Load the Dialog NOW!"));
34
hgs
parents: 28
diff changeset
   252
    
hgs
parents: 28
diff changeset
   253
    //Show the dialog.
26
hgs
parents:
diff changeset
   254
    error = iDialog->Show( EapNtfType, *map, iObserver );
hgs
parents:
diff changeset
   255
    
hgs
parents:
diff changeset
   256
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   257
    CleanupStack::PopAndDestroy( map ); 
hgs
parents:
diff changeset
   258
hgs
parents:
diff changeset
   259
    RDebug::Print(_L("CEapAuthNotifier::StartL: LEAVING") );
hgs
parents:
diff changeset
   260
    }
hgs
parents:
diff changeset
   261
hgs
parents:
diff changeset
   262
// ---------------------------------------------------------
hgs
parents:
diff changeset
   263
// void CEapAuthNotifier::setFastProvWaitNoteDialogDataL
hgs
parents:
diff changeset
   264
// ---------------------------------------------------------
hgs
parents:
diff changeset
   265
//
hgs
parents:
diff changeset
   266
void CEapAuthNotifier::setFastProvWaitNoteDialogDataL(    
hgs
parents:
diff changeset
   267
    CHbSymbianVariantMap* aMap,
hgs
parents:
diff changeset
   268
    TBool aAuthProvWaitNote )
hgs
parents:
diff changeset
   269
    {
hgs
parents:
diff changeset
   270
    TInt error;  
hgs
parents:
diff changeset
   271
    TBuf<KVariableLength> key(KFastprovwaitnote);
hgs
parents:
diff changeset
   272
            
hgs
parents:
diff changeset
   273
    CHbSymbianVariant *variant = NULL;
hgs
parents:
diff changeset
   274
    
hgs
parents:
diff changeset
   275
    RDebug::Print(_L("CEapAuthNotifier::setFastProvWaitNoteDialogData: ENTERING"));    
hgs
parents:
diff changeset
   276
hgs
parents:
diff changeset
   277
    //Create the variant data information for the plugin
hgs
parents:
diff changeset
   278
    variant =  CHbSymbianVariant::NewL ( &aAuthProvWaitNote, CHbSymbianVariant::EBool );
hgs
parents:
diff changeset
   279
    CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   280
    error = aMap->Add( key, variant);
hgs
parents:
diff changeset
   281
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   282
    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   283
    
hgs
parents:
diff changeset
   284
    RDebug::Print(_L("CEapAuthNotifier::setFastProvWaitNoteDialogData: LEAVING") );
hgs
parents:
diff changeset
   285
    }
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
// ---------------------------------------------------------
hgs
parents:
diff changeset
   288
// void CEapAuthNotifier::setFastPacFileQueryPwDialogDataL
hgs
parents:
diff changeset
   289
// ---------------------------------------------------------
hgs
parents:
diff changeset
   290
//
hgs
parents:
diff changeset
   291
void CEapAuthNotifier::setFastPacFileQueryPwDialogDataL( 
hgs
parents:
diff changeset
   292
    TEapDialogInfo* aEapInfo,
hgs
parents:
diff changeset
   293
    CHbSymbianVariantMap* aMap )
hgs
parents:
diff changeset
   294
    {
hgs
parents:
diff changeset
   295
    TInt error;  
hgs
parents:
diff changeset
   296
    TBuf<KVariableLength> key(KPacfilename);
hgs
parents:
diff changeset
   297
                
hgs
parents:
diff changeset
   298
    CHbSymbianVariant *variant = NULL;
hgs
parents:
diff changeset
   299
        
hgs
parents:
diff changeset
   300
    RDebug::Print(_L("CEapAuthNotifier::setFastPacFileQueryPwDialogData: ENTERING"));
hgs
parents:
diff changeset
   301
        
hgs
parents:
diff changeset
   302
    if( 0 < aEapInfo->iUidata.Length() )
hgs
parents:
diff changeset
   303
       {
hgs
parents:
diff changeset
   304
       RDebug::Print(_L("CEapAuthNotifier::setFastPacFileQueryPwDialogData: Set PAC filename"));
hgs
parents:
diff changeset
   305
       RDebug::Print(_L("CEapAuthNotifier::setFastPacFileQueryPwDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata );
hgs
parents:
diff changeset
   306
        
hgs
parents:
diff changeset
   307
       // Create the variant data information for the plugin
hgs
parents:
diff changeset
   308
       variant =  CHbSymbianVariant::NewL ( &aEapInfo->iUidata, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   309
       CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   310
       error = aMap->Add( key, variant);
hgs
parents:
diff changeset
   311
       User::LeaveIfError( error );
hgs
parents:
diff changeset
   312
       CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   313
       }     
hgs
parents:
diff changeset
   314
    RDebug::Print(_L("CEapAuthNotifier::setFastPacFileQueryPwDialogData: LEAVING") );
hgs
parents:
diff changeset
   315
    }
hgs
parents:
diff changeset
   316
hgs
parents:
diff changeset
   317
// --------------------------------------------------------------
hgs
parents:
diff changeset
   318
// void CEapAuthNotifier::SetFastInstallPacQueryDialogDataL
hgs
parents:
diff changeset
   319
// --------------------------------------------------------------
hgs
parents:
diff changeset
   320
//
hgs
parents:
diff changeset
   321
void CEapAuthNotifier::SetFastInstallPacQueryDialogDataL( 
hgs
parents:
diff changeset
   322
    TEapDialogInfo* aEapInfo,
hgs
parents:
diff changeset
   323
    CHbSymbianVariantMap* aMap )
hgs
parents:
diff changeset
   324
    {
hgs
parents:
diff changeset
   325
    TInt error;  
hgs
parents:
diff changeset
   326
    TBuf<KVariableLength> key(KPacservername);
hgs
parents:
diff changeset
   327
            
hgs
parents:
diff changeset
   328
    CHbSymbianVariant *variant = NULL;
hgs
parents:
diff changeset
   329
    
hgs
parents:
diff changeset
   330
    RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: ENTERING"));
hgs
parents:
diff changeset
   331
    
hgs
parents:
diff changeset
   332
    if( 0 < aEapInfo->iUidata.Length() )
hgs
parents:
diff changeset
   333
        {
hgs
parents:
diff changeset
   334
        RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: Set PAC Install server name"));
hgs
parents:
diff changeset
   335
        RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata );
hgs
parents:
diff changeset
   336
    
hgs
parents:
diff changeset
   337
        // Create the variant data information for the plugin
hgs
parents:
diff changeset
   338
        variant =  CHbSymbianVariant::NewL ( &aEapInfo->iUidata, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   339
        CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   340
        error = aMap->Add( key, variant);
hgs
parents:
diff changeset
   341
        User::LeaveIfError( error );
hgs
parents:
diff changeset
   342
        CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   343
        }     
hgs
parents:
diff changeset
   344
    RDebug::Print(_L("CEapAuthNotifier::SetFastInstallPacQueryDialogData: LEAVING") );
hgs
parents:
diff changeset
   345
    }
hgs
parents:
diff changeset
   346
hgs
parents:
diff changeset
   347
// ---------------------------------------------------------
hgs
parents:
diff changeset
   348
// void CEapAuthNotifier::SetQueryDialogDataL
hgs
parents:
diff changeset
   349
// ---------------------------------------------------------
hgs
parents:
diff changeset
   350
//
hgs
parents:
diff changeset
   351
void CEapAuthNotifier::SetQueryDialogDataL( 
hgs
parents:
diff changeset
   352
    TEapDialogInfo* aEapInfo,
hgs
parents:
diff changeset
   353
    CHbSymbianVariantMap* aMap,
34
hgs
parents: 28
diff changeset
   354
    const TDesC& aAuthMethod )
26
hgs
parents:
diff changeset
   355
    {
hgs
parents:
diff changeset
   356
    TInt error;  
hgs
parents:
diff changeset
   357
    TBuf<KVariableLength> key1(KAuthmethod);
hgs
parents:
diff changeset
   358
    TBuf<KVariableLength> key2(KMessage);
hgs
parents:
diff changeset
   359
        
hgs
parents:
diff changeset
   360
    CHbSymbianVariant *variant = NULL;
hgs
parents:
diff changeset
   361
    
hgs
parents:
diff changeset
   362
    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: ENTERING"));
hgs
parents:
diff changeset
   363
    
hgs
parents:
diff changeset
   364
    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: Set Heading"));
hgs
parents:
diff changeset
   365
    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: aAuthMethod = %S\n"), &aAuthMethod );
hgs
parents:
diff changeset
   366
    
hgs
parents:
diff changeset
   367
    // Create the variant data information for the plugin
hgs
parents:
diff changeset
   368
    variant =  CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   369
    CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   370
    error = aMap->Add( key1, variant);
hgs
parents:
diff changeset
   371
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   372
    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   373
            
hgs
parents:
diff changeset
   374
    if( 0 < aEapInfo->iUidata.Length() )
hgs
parents:
diff changeset
   375
        {
hgs
parents:
diff changeset
   376
        RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: Set user input message"));
hgs
parents:
diff changeset
   377
        RDebug::Print(_L("CEapAuthObserver::SetQueryDialogData: aEapInfo->iUidata = %S\n"), &aEapInfo->iUidata );
hgs
parents:
diff changeset
   378
    
hgs
parents:
diff changeset
   379
        // Create the variant data information for the plugin
hgs
parents:
diff changeset
   380
        variant =  CHbSymbianVariant::NewL ( &aEapInfo->iUidata, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   381
        CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   382
        error = aMap->Add( key2, variant);
hgs
parents:
diff changeset
   383
        User::LeaveIfError( error );
hgs
parents:
diff changeset
   384
        CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   385
        }     
hgs
parents:
diff changeset
   386
    RDebug::Print(_L("CEapAuthNotifier::SetQueryDialogData: LEAVING") );
hgs
parents:
diff changeset
   387
    }
hgs
parents:
diff changeset
   388
hgs
parents:
diff changeset
   389
// ---------------------------------------------------------
hgs
parents:
diff changeset
   390
// void CEapAuthNotifier::SetPasswordQueryDataL
hgs
parents:
diff changeset
   391
// ---------------------------------------------------------
hgs
parents:
diff changeset
   392
//
hgs
parents:
diff changeset
   393
void CEapAuthNotifier::SetPasswordQueryDataL( 
hgs
parents:
diff changeset
   394
    TEapExpandedType& aEapType,
hgs
parents:
diff changeset
   395
    CHbSymbianVariantMap* aMap,
34
hgs
parents: 28
diff changeset
   396
    const TDesC& aAuthMethod )
26
hgs
parents:
diff changeset
   397
    {
hgs
parents:
diff changeset
   398
    TInt error;  
hgs
parents:
diff changeset
   399
    TBuf<KVariableLength> key2(KAuthmethod);
34
hgs
parents: 28
diff changeset
   400
    TBuf<KVariableLength> key3(KEaptype); 
26
hgs
parents:
diff changeset
   401
    CHbSymbianVariant *variant = NULL;
hgs
parents:
diff changeset
   402
    
hgs
parents:
diff changeset
   403
    RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: ENTERING"));
hgs
parents:
diff changeset
   404
    RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: aAuthMethod = %S\n"), &aAuthMethod );
hgs
parents:
diff changeset
   405
    
hgs
parents:
diff changeset
   406
    //Create the variant data information for the plugin
hgs
parents:
diff changeset
   407
    //Set authentication method 
hgs
parents:
diff changeset
   408
    variant =  CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   409
    CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   410
    error = aMap->Add( key2, variant);
hgs
parents:
diff changeset
   411
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   412
    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   413
    
hgs
parents:
diff changeset
   414
    //Set EAP type
hgs
parents:
diff changeset
   415
    variant =  CHbSymbianVariant::NewL( &aEapType.GetValue(), CHbSymbianVariant::EBinary );
hgs
parents:
diff changeset
   416
    CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   417
    error = aMap->Add( key3, variant);
hgs
parents:
diff changeset
   418
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   419
    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.    
hgs
parents:
diff changeset
   420
    RDebug::Print(_L("CEapAuthNotifier::SetPasswordQueryData: LEAVING") );
hgs
parents:
diff changeset
   421
    }
hgs
parents:
diff changeset
   422
hgs
parents:
diff changeset
   423
// ---------------------------------------------------------
hgs
parents:
diff changeset
   424
// void CEapAuthNotifier::SetUsernamePasswordDataL
hgs
parents:
diff changeset
   425
// ---------------------------------------------------------
hgs
parents:
diff changeset
   426
//
hgs
parents:
diff changeset
   427
void CEapAuthNotifier::SetUsernamePasswordDataL( 
hgs
parents:
diff changeset
   428
    TEapDialogInfo* aEapInfo,
hgs
parents:
diff changeset
   429
    TEapExpandedType& aEapType,
hgs
parents:
diff changeset
   430
    CHbSymbianVariantMap* aMap,
34
hgs
parents: 28
diff changeset
   431
    const TDesC& aAuthMethod )
26
hgs
parents:
diff changeset
   432
    {
hgs
parents:
diff changeset
   433
    TInt error;  
hgs
parents:
diff changeset
   434
    TBuf<KVariableLength> key1(KUsername);
hgs
parents:
diff changeset
   435
    TBuf<KVariableLength> key2(KAuthmethod);
hgs
parents:
diff changeset
   436
    TBuf<KVariableLength> key3(KEaptype);
hgs
parents:
diff changeset
   437
    CHbSymbianVariant *variant = NULL;
hgs
parents:
diff changeset
   438
    
hgs
parents:
diff changeset
   439
    RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: ENTERING"));
hgs
parents:
diff changeset
   440
    RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: aAuthMethod = %S\n"), &aAuthMethod );
hgs
parents:
diff changeset
   441
    
hgs
parents:
diff changeset
   442
    //Create the variant data information for the plugin
hgs
parents:
diff changeset
   443
    //Set authentication method 
hgs
parents:
diff changeset
   444
    variant =  CHbSymbianVariant::NewL ( &aAuthMethod, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   445
    CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   446
    error = aMap->Add( key2, variant);
hgs
parents:
diff changeset
   447
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   448
    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   449
    
hgs
parents:
diff changeset
   450
    //Set username
hgs
parents:
diff changeset
   451
    if( 0 < aEapInfo->iUsername.Length() )
hgs
parents:
diff changeset
   452
        {
hgs
parents:
diff changeset
   453
        RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: Set default UNAME"));
hgs
parents:
diff changeset
   454
        RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: iEapInfo->iUsername = %S\n"), &iEapInfo->iUsername );
hgs
parents:
diff changeset
   455
    
hgs
parents:
diff changeset
   456
        // Create the variant data information for the plugin
hgs
parents:
diff changeset
   457
        variant =  CHbSymbianVariant::NewL ( &aEapInfo->iUsername, CHbSymbianVariant::EDes );
hgs
parents:
diff changeset
   458
        CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   459
        error = aMap->Add( key1, variant);
hgs
parents:
diff changeset
   460
        User::LeaveIfError( error );
hgs
parents:
diff changeset
   461
        CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.
hgs
parents:
diff changeset
   462
        }
hgs
parents:
diff changeset
   463
hgs
parents:
diff changeset
   464
    //Set EAP type
hgs
parents:
diff changeset
   465
    variant =  CHbSymbianVariant::NewL( &aEapType.GetValue(), CHbSymbianVariant::EBinary );
hgs
parents:
diff changeset
   466
    CleanupStack::PushL( variant );
hgs
parents:
diff changeset
   467
    error = aMap->Add( key3, variant);
hgs
parents:
diff changeset
   468
    User::LeaveIfError( error );
hgs
parents:
diff changeset
   469
    CleanupStack::Pop( variant ); // map's cleanup sequence handles variant.    
hgs
parents:
diff changeset
   470
    RDebug::Print(_L("CEapAuthNotifier::SetUsernamePasswordData: LEAVING") );
hgs
parents:
diff changeset
   471
    }
hgs
parents:
diff changeset
   472
hgs
parents:
diff changeset
   473
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   474
// void CEapAuthNotifier::SetSelectedUnameAndPwd( TEapDialogInfo& aEapInfo )
hgs
parents:
diff changeset
   475
// --------------------------------------------------------------------------
hgs
parents:
diff changeset
   476
//
hgs
parents:
diff changeset
   477
void CEapAuthNotifier::SetSelectedUnameAndPwd ( TEapDialogInfo& aEapInfo )
hgs
parents:
diff changeset
   478
    {
hgs
parents:
diff changeset
   479
    RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd"));
hgs
parents:
diff changeset
   480
    
hgs
parents:
diff changeset
   481
    iEapInfo->iIsIdentityQuery = aEapInfo.iIsIdentityQuery;
hgs
parents:
diff changeset
   482
    if ( aEapInfo.iIsIdentityQuery ) 
hgs
parents:
diff changeset
   483
        {
hgs
parents:
diff changeset
   484
        iEapInfo->iUsername = aEapInfo.iUsername;
hgs
parents:
diff changeset
   485
        RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd: iEapInfo->iUsername = %S\n"), &iEapInfo->iUsername );
hgs
parents:
diff changeset
   486
        }
hgs
parents:
diff changeset
   487
    
hgs
parents:
diff changeset
   488
    iEapInfo->iPasswordPromptEnabled = aEapInfo.iPasswordPromptEnabled;
hgs
parents:
diff changeset
   489
    if ( aEapInfo.iPasswordPromptEnabled )
hgs
parents:
diff changeset
   490
        {
hgs
parents:
diff changeset
   491
        iEapInfo->iPassword = aEapInfo.iPassword;
hgs
parents:
diff changeset
   492
        RDebug::Print(_L("CEapAuthNotifier::SetSelectedUnameAndPwd: iEapInfo->iPassword = %S\n"), &iEapInfo->iPassword );
hgs
parents:
diff changeset
   493
        }    
hgs
parents:
diff changeset
   494
    }
hgs
parents:
diff changeset
   495
hgs
parents:
diff changeset
   496
// ------------------------------------------------------------------------------
hgs
parents:
diff changeset
   497
// void CEapAuthNotifier::SetSelectedPassword( TEapDialogInfo& aPasswordInfo )
hgs
parents:
diff changeset
   498
// ------------------------------------------------------------------------------
hgs
parents:
diff changeset
   499
//
hgs
parents:
diff changeset
   500
void CEapAuthNotifier::SetSelectedPassword ( TEapDialogInfo& aPasswordInfo )
hgs
parents:
diff changeset
   501
    {
hgs
parents:
diff changeset
   502
    RDebug::Print(_L("CEapAuthNotifier::SetSelectedPassword"));
hgs
parents:
diff changeset
   503
hgs
parents:
diff changeset
   504
    iEapInfo->iPassword = aPasswordInfo.iPassword;
hgs
parents:
diff changeset
   505
    RDebug::Print(_L("CEapAuthNotifier::SetSelectedPassword: iEapInfo->iPassword = %S\n"), &iEapInfo->iPassword );    
hgs
parents:
diff changeset
   506
    }
hgs
parents:
diff changeset
   507
hgs
parents:
diff changeset
   508
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
   509
// void CEapAuthNotifier::SetSelectedOldPassword( TEapDialogInfo& aPasswordInfo )
hgs
parents:
diff changeset
   510
// ---------------------------------------------------------------------------------
hgs
parents:
diff changeset
   511
//
hgs
parents:
diff changeset
   512
void CEapAuthNotifier::SetSelectedOldPassword ( TEapDialogInfo& aPasswordInfo )
hgs
parents:
diff changeset
   513
    {
hgs
parents:
diff changeset
   514
    RDebug::Print(_L("CEapAuthNotifier::SetSelectedOldPassword"));
hgs
parents:
diff changeset
   515
hgs
parents:
diff changeset
   516
    iEapInfo->iOldPassword = aPasswordInfo.iOldPassword;
hgs
parents:
diff changeset
   517
    RDebug::Print(_L("CEapAuthNotifier::SetSelectedOldPassword: iEapInfo->iOldPassword = %S\n"), &iEapInfo->iOldPassword );    
hgs
parents:
diff changeset
   518
    }
hgs
parents:
diff changeset
   519
hgs
parents:
diff changeset
   520
// ---------------------------------------------------------
34
hgs
parents: 28
diff changeset
   521
// void CEapAuthNotifier::Complete( TInt aStatus )
26
hgs
parents:
diff changeset
   522
// ---------------------------------------------------------
hgs
parents:
diff changeset
   523
//
hgs
parents:
diff changeset
   524
void CEapAuthNotifier::CompleteL( TInt aStatus )
hgs
parents:
diff changeset
   525
    {
hgs
parents:
diff changeset
   526
    RDebug::Print(_L("CEapAuthNotifier::CompleteL"));
hgs
parents:
diff changeset
   527
    
hgs
parents:
diff changeset
   528
    if ( !iCompleted )
hgs
parents:
diff changeset
   529
        {
hgs
parents:
diff changeset
   530
        iClient.DlgComplete(aStatus);
hgs
parents:
diff changeset
   531
        iCompleted = ETrue;
hgs
parents:
diff changeset
   532
        }
hgs
parents:
diff changeset
   533
    }
hgs
parents:
diff changeset
   534
hgs
parents:
diff changeset
   535
// ------------------------------------------------------------
hgs
parents:
diff changeset
   536
// void CEapAuthNotifier::Cancel()
hgs
parents:
diff changeset
   537
// ------------------------------------------------------------
hgs
parents:
diff changeset
   538
//
hgs
parents:
diff changeset
   539
EXPORT_C void CEapAuthNotifier::Cancel()
hgs
parents:
diff changeset
   540
    {
hgs
parents:
diff changeset
   541
    RDebug::Print(_L("CEapAuthNotifier::Cancel"));
hgs
parents:
diff changeset
   542
    if ( !iCompleted )
hgs
parents:
diff changeset
   543
        {
hgs
parents:
diff changeset
   544
        iCancelled = ETrue;
hgs
parents:
diff changeset
   545
        iDialog->Cancel();
hgs
parents:
diff changeset
   546
        }
hgs
parents:
diff changeset
   547
    }