terminalsecurity/SCP/SCPClient/src/SCPClient.cpp
branchRCL_3
changeset 23 007508d6e57b
parent 9 57a65a3a658c
child 59 13d7c31c74e0
equal deleted inserted replaced
21:504e41245867 23:007508d6e57b
   184                 RSCPClient::TSCPButtonConfig aButtonsShown,
   184                 RSCPClient::TSCPButtonConfig aButtonsShown,
   185                 TInt aMinLen,
   185                 TInt aMinLen,
   186                 TInt aMaxLen,
   186                 TInt aMaxLen,
   187                 TUint aResId = 0,
   187                 TUint aResId = 0,
   188                 TDesC* aPrompt = NULL,
   188                 TDesC* aPrompt = NULL,
   189                 TBool aECSSupport = EFalse         
   189                 TBool aECSSupport = EFalse,
       
   190                 CSCPQueryDialog :: TKeypadContext aContext = CSCPQueryDialog :: EContextSensitive
   190               )
   191               )
   191     {
   192     {
   192     Dprint(_L("[RSCPClient]-> RunDialogL() >>> "));
   193     Dprint(_L("[RSCPClient]-> RunDialogL() >>> "));
       
   194     Dprint(_L("[RSCPClient]-> RunDialogL() aContext = %d "), aContext);
       
   195     
   193     FeatureManager::InitializeLibL();
   196     FeatureManager::InitializeLibL();
   194     if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements))
   197     if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements))
   195 	{
   198 	{
   196 			FeatureManager::UnInitializeLib();
   199 			FeatureManager::UnInitializeLib();
   197 		return KErrNotSupported;
   200 		return KErrNotSupported;
   205     CSCPQueryDialog* dialog = new (ELeave) CSCPQueryDialog( 
   208     CSCPQueryDialog* dialog = new (ELeave) CSCPQueryDialog( 
   206         aReplyBuf,
   209         aReplyBuf,
   207         aButtonsShown,
   210         aButtonsShown,
   208         aMinLen,
   211         aMinLen,
   209         aMaxLen,
   212         aMaxLen,
   210         aECSSupport
   213         aECSSupport,
       
   214         aContext
   211         ); 
   215         ); 
   212         
   216         
   213     CleanupStack::PushL( dialog );            
   217     CleanupStack::PushL( dialog );            
   214     
   218     
   215     if ( aResId != 0 )
   219     if ( aResId != 0 )
   818                                       TInt aMode,
   822                                       TInt aMode,
   819                                       TSCPSecCode* aNewDOSCode /*=NULL*/, 
   823                                       TSCPSecCode* aNewDOSCode /*=NULL*/, 
   820                                       HBufC** aNewCodePptr/* = NULL*/)
   824                                       HBufC** aNewCodePptr/* = NULL*/)
   821     {
   825     {
   822     
   826     
       
   827     Dprint(_L("[RSCPClient]-> GetNewCodeAndChange() >>>"));
   823     
   828     
   824     if(!isFlagEnabled)
   829     if(!isFlagEnabled)
   825 	{
   830 	{
   826 		return KErrNotSupported;
   831 		return KErrNotSupported;
   827 	}
   832 	}
   891                                  bConfig, 
   896                                  bConfig, 
   892                                  minLen,
   897                                  minLen,
   893                                  maxLen,
   898                                  maxLen,
   894                                  R_SECUI_TEXT_ENTER_NEW_SEC_CODE,
   899                                  R_SECUI_TEXT_ENTER_NEW_SEC_CODE,
   895                                  NULL,
   900                                  NULL,
   896                                  ecSupport ) );
   901                                  ecSupport,
       
   902                                  CSCPQueryDialog :: EAlphaNumeric) );
   897     
   903     
   898         if ( ( ret ) && ( ret != ESecUiEmergencyCall ) && ( err == KErrNone ) )
   904         if ( ( ret ) && ( ret != ESecUiEmergencyCall ) && ( err == KErrNone ) )
   899             {        
   905             {
   900             verifyCodeBuffer.Zero();
   906             verifyCodeBuffer.Zero();
       
   907             TChar ch = static_cast<TChar>(newCodeBuffer[0]);
   901             
   908             
       
   909             CSCPQueryDialog :: TKeypadContext lKPContext = 
       
   910                     (ch.IsDigit() ? CSCPQueryDialog :: ENumeric : CSCPQueryDialog :: EAlphaNumeric);
       
   911                     
   902             TRAP( err, ret = RunDialogL( verifyCodeBuffer, 
   912             TRAP( err, ret = RunDialogL( verifyCodeBuffer, 
   903                                  bConfig, 
   913                                  bConfig, 
   904                                  minLen,
   914                                  minLen,
   905                                  maxLen,
   915                                  maxLen,
   906                                  R_SECUI_TEXT_VERIFY_NEW_SEC_CODE,
   916                                  R_SECUI_TEXT_VERIFY_NEW_SEC_CODE,
   907                                  NULL,
   917                                  NULL,
   908                                  ecSupport ) );                             
   918                                  ecSupport,
       
   919                                  lKPContext));                             
   909             }
   920             }
   910 
   921 
   911         if ( ( !ret ) || ( err != KErrNone ) || ( ret == ESecUiEmergencyCall ) )
   922         if ( ( !ret ) || ( err != KErrNone ) || ( ret == ESecUiEmergencyCall ) )
   912             {
   923             {
   913             break;
   924             break;
   993     }
  1004     }
   994     
  1005     
   995     delete verifyCodeHBuf;
  1006     delete verifyCodeHBuf;
   996     delete newCodeHBuf;
  1007     delete newCodeHBuf;
   997         
  1008         
       
  1009     Dprint(_L("[RSCPClient]-> GetNewCodeAndChange() <<<"));
   998     return err;        
  1010     return err;        
   999     }
  1011     }
  1000        
  1012        
  1001             
  1013             
  1002         
  1014