author | Pat Downey <patd@symbian.org> |
Wed, 01 Sep 2010 12:27:42 +0100 | |
branch | RCL_3 |
changeset 62 | 19bba8228ff0 |
parent 61 | b183ec05bd8c |
child 65 | 5cc2995847ea |
permissions | -rw-r--r-- |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
1 |
/* |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
2 |
* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
3 |
* All rights reserved. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
5 |
* under the terms of "Eclipse Public License v1.0" |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
8 |
* |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
10 |
* Nokia Corporation - initial contribution. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
11 |
* |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
12 |
* Contributors: |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
13 |
* |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
14 |
* Description: Implementation of terminalsecurity components |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
15 |
* |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
16 |
*/ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
17 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
18 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
19 |
// INCLUDE FILES |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
20 |
#include <e32base.h> |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
21 |
#include <e32std.h> |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
22 |
#include <ecom/implementationproxy.h> |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
23 |
#include <SCPParamObject.h> |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
24 |
#include <featmgr.h> |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
25 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
26 |
#include "SCPPatternPlugin.h" |
62 | 27 |
#include <SCPPatternPluginLang.rsg> |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
28 |
#include "SCP_IDs.h" |
62 | 29 |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
30 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
31 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
32 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
33 |
// ============================= LOCAL FUNCTIONS ============================= |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
34 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
35 |
// ============================= MEMBER FUNCTIONS ============================= |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
36 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
37 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
38 |
// CSCPPatternPlugin::NewL |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
39 |
// Two-phased contructor |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
40 |
// (static, may leave) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
41 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
42 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
43 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
44 |
CSCPPatternPlugin* CSCPPatternPlugin::NewL() |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
45 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
46 |
CSCPPatternPlugin* self = new ( ELeave ) CSCPPatternPlugin(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
47 |
CleanupStack::PushL( self ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
48 |
self->ConstructL(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
49 |
CleanupStack::Pop( self ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
50 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
51 |
Dprint ( ( _L( "( 0x%x ) CSCPPatternPlugin::NewL()" ), self ) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
52 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
53 |
return self; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
54 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
55 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
56 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
57 |
// CSCPPatternPlugin::CSCPPatternPlugin |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
58 |
// Constructor |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
59 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
60 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
61 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
62 |
CSCPPatternPlugin::CSCPPatternPlugin() |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
63 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
64 |
Dprint ( ( _L( "CSCPPatternPlugin::CSCPPatternPlugin()" ) ) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
65 |
return; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
66 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
67 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
68 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
69 |
// CSCPPatternPlugin::ConstructL |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
70 |
// 2nd phase construction |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
71 |
// (may leave) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
72 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
73 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
74 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
75 |
void CSCPPatternPlugin::ConstructL() |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
76 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
77 |
FeatureManager::InitializeLibL(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
78 |
if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements)) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
79 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
80 |
FeatureManager::UnInitializeLib(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
81 |
User::Leave( KErrNotSupported ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
82 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
83 |
FeatureManager::UnInitializeLib(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
84 |
Dprint ( ( _L( "CSCPPatternPlugin::ConstructL()" ) ) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
85 |
return; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
86 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
87 |
|
62 | 88 |
|
89 |
// ---------------------------------------------------------------------------- |
|
90 |
// CSCPPatternPlugin::GetResource |
|
91 |
// GetResource, opens the localisation filesystem |
|
92 |
// Status : Approved |
|
93 |
// ---------------------------------------------------------------------------- |
|
94 |
// |
|
95 |
TInt CSCPPatternPlugin::GetResource() |
|
96 |
{ |
|
97 |
Dprint( (_L("CSCPPatternPlugin::GetResource()") )); |
|
98 |
// The resource has to be loaded manually since it is not an application. |
|
99 |
||
100 |
if ( iFs == NULL ) |
|
101 |
{ |
|
102 |
return KErrNotReady; |
|
103 |
} |
|
104 |
||
105 |
// can't use resource here because it is not added yet.... |
|
106 |
TFileName resourceFile; |
|
107 |
resourceFile.Append( KDriveZ ); |
|
108 |
resourceFile.Append( SCPPatternPluginSrcFile ); |
|
109 |
BaflUtils::NearestLanguageFile( *iFs, resourceFile ); |
|
110 |
||
111 |
TRAPD( err, |
|
112 |
iRf.OpenL( *iFs, resourceFile ); |
|
113 |
iRf.ConfirmSignatureL(); |
|
114 |
); |
|
115 |
||
116 |
return err; |
|
117 |
} |
|
118 |
||
119 |
// ---------------------------------------------------------------------------- |
|
120 |
// CSCPPatternPlugin::LoadResourceLC |
|
121 |
// LoadResourceLC, loads the localisation resource |
|
122 |
// Status : Approved |
|
123 |
// ---------------------------------------------------------------------------- |
|
124 |
// |
|
125 |
HBufC16* CSCPPatternPlugin::LoadResourceLC( TInt aResId ) |
|
126 |
{ |
|
127 |
Dprint ( ( _L( "CSCPPatternPlugin::LoadResourceLC()" ) ) ); |
|
128 |
||
129 |
// load the actual resource |
|
130 |
HBufC8* readBuffer = iRf.AllocReadLC( aResId ); |
|
131 |
// as we are expecting HBufC16... |
|
132 |
const TPtrC16 ptrReadBuffer( (TText16*) readBuffer->Ptr(), |
|
133 |
( readBuffer->Length() + 1 ) >> 1 ); |
|
134 |
HBufC16* textBuffer=HBufC16::NewL( ptrReadBuffer.Length() ); |
|
135 |
*textBuffer=ptrReadBuffer; |
|
136 |
CleanupStack::PopAndDestroy( readBuffer ); // readBuffer |
|
137 |
CleanupStack::PushL( textBuffer ); |
|
138 |
return textBuffer; |
|
139 |
} |
|
140 |
||
141 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
142 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
143 |
// CSCPPatternPlugin::~CSCPPatternPlugin |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
144 |
// Destructor |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
145 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
146 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
147 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
148 |
CSCPPatternPlugin::~CSCPPatternPlugin() |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
149 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
150 |
Dprint( ( _L( "CSCPPatternPlugin::~CSCPPatternPlugin()" ) ) ) ; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
151 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
152 |
// Closes the resource file reader. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
153 |
// This function is called after finishing reading all resources |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
154 |
iRf.Close(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
155 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
156 |
return; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
157 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
158 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
159 |
// CSCPPatternPlugin::HandleEvent |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
160 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
161 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
162 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
163 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
164 |
// |
62 | 165 |
CSCPParamObject* CSCPPatternPlugin::HandleEvent( TInt aID, CSCPParamObject& aParam ) |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
166 |
{ |
62 | 167 |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
168 |
Dprint ( ( _L( "CSCPPatternPlugin::HandleEvent()" ) ) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
169 |
|
62 | 170 |
// Make the ParamObject for success ack, Delete later |
171 |
CSCPParamObject* retParams = NULL; |
|
172 |
||
173 |
TBool errRaised; |
|
174 |
errRaised = EFalse; |
|
175 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
176 |
TBool isInvalid = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
177 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
178 |
// check for Case |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
179 |
switch ( aID ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
180 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
181 |
case ( KSCPEventValidate ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
182 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
183 |
// Get required params for bounds |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
184 |
CSCPParamObject& config = iEventHandler->GetParameters(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
185 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
186 |
TBool argumentError = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
187 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
188 |
// These are the dault values for ThisPlugIn's functions |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
189 |
TInt passcodeminlength, passcodemaxlength, passcodemaxrepeatedcharacters, passcodeminspecialcharacters; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
190 |
TBool passcoderequireupperandlower, passcoderequirecharsandnumbers, passcodeconsecutivenumbers, passcodedisallowsimple; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
191 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
192 |
// Get Values with ID's |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
193 |
if ( config.Get( ( RTerminalControl3rdPartySession::EPasscodeMinLength), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
194 |
passcodeminlength ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
195 |
passcodeminlength = KSCPPasscodeMinLength; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
196 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
197 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeMaxLength), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
198 |
passcodemaxlength ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
199 |
passcodemaxlength = KSCPPasscodeMaxLength; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
200 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
201 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeMaxRepeatedCharacters), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
202 |
passcodemaxrepeatedcharacters ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
203 |
passcodemaxrepeatedcharacters = 0; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
204 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
205 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeRequireCharsAndNumbers), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
206 |
passcoderequirecharsandnumbers ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
207 |
passcoderequirecharsandnumbers = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
208 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
209 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeRequireUpperAndLower), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
210 |
passcoderequireupperandlower ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
211 |
passcoderequireupperandlower = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
212 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
213 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeConsecutiveNumbers), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
214 |
passcodeconsecutivenumbers ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
215 |
passcodeconsecutivenumbers = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
216 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
217 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeMinSpecialCharacters), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
218 |
passcodeminspecialcharacters ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
219 |
passcodeminspecialcharacters = 0; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
220 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
221 |
if ( config.Get( (RTerminalControl3rdPartySession::EPasscodeDisallowSimple), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
222 |
passcodedisallowsimple ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
223 |
passcodedisallowsimple = EFalse; |
62 | 224 |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
225 |
// Get the password from the paramObject |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
226 |
TBuf<KSCPPasscodeMaxLength> password; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
227 |
if ( aParam.Get( KSCPParamPassword, password ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
228 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
229 |
// Nothing to do anymore |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
230 |
break; |
62 | 231 |
} |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
232 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
233 |
// The first rule is to check if securitycode has any |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
234 |
// forbidden chars, like WhiteSpace etc... |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
235 |
// If so, there is a problem >> KErrArgument |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
236 |
for (TInt c1=0; c1 < password.Length(); c1++) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
237 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
238 |
TChar ch = static_cast<TChar>( password[c1] ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
239 |
TChar::TCategory chCat = ch.GetCategory(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
240 |
if ( ch.IsSpace() ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
241 |
{ |
62 | 242 |
TRAPD( err, retParams = CSCPParamObject::NewL() ); |
243 |
if ( err == KErrNone ) |
|
244 |
{ |
|
245 |
retParams->Set( KSCPParamStatus, KErrArgument ); |
|
246 |
} |
|
247 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
248 |
argumentError = ETrue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
249 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
250 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
251 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
252 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
253 |
// Argument failure, not supposed to be! Out! |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
254 |
if (argumentError) break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
255 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
256 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
257 |
// if all required bounds are zero, there is nothing to do. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
258 |
if ( passcodemaxlength != 0 || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
259 |
passcodeminlength != 0 || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
260 |
passcodemaxrepeatedcharacters != 0 || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
261 |
passcoderequireupperandlower || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
262 |
passcoderequirecharsandnumbers || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
263 |
passcodeconsecutivenumbers || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
264 |
passcodeminspecialcharacters != 0 || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
265 |
passcodedisallowsimple) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
266 |
{ |
62 | 267 |
// Get the filesystem for Resource |
268 |
// If fail, bail out |
|
269 |
TInt errgGR = GetResource(); |
|
270 |
if (errgGR != KErrNone) |
|
271 |
{ |
|
272 |
errRaised = ETrue; |
|
273 |
break; // Break out |
|
274 |
} |
|
275 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
276 |
// Declare the Check flags |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
277 |
TBool istoosimilar = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
278 |
TBool consecutively = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
279 |
TBool consecutivechars = ETrue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
280 |
TBool singlerepeat = ETrue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
281 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
282 |
TInt digitCount = 0; // for passcoderequirecharsandnumbers |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
283 |
TInt lowerCount = 0; // for passcoderequireupperandlower |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
284 |
TInt upperCount = 0; // for passcoderequireupperandlower |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
285 |
TInt alphaCount = 0; // for passcoderequirecharsandnumbers |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
286 |
TInt specialCount = 0; // for passcodeminspecialcharacters |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
287 |
TChar temp = '1'; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
288 |
|
62 | 289 |
|
290 |
// Prompt buf, iNote can show only 97 chars, |
|
291 |
// without ... markings. |
|
292 |
HBufC* hbuf = NULL; |
|
293 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
294 |
// Check for required check or not. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
295 |
if (passcodeminlength != 0) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
296 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
297 |
// check for Min lenght |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
298 |
if ( password.Length() < passcodeminlength ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
299 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
300 |
isInvalid = ETrue; |
62 | 301 |
TRAP_IGNORE( |
302 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_MIN, &passcodeminlength ) |
|
303 |
); |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
304 |
} |
62 | 305 |
} |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
306 |
|
62 | 307 |
if (!hbuf) |
308 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
309 |
// Check for required check or not. |
62 | 310 |
if (passcodemaxlength!=0) |
311 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
312 |
// Check for Max Lenght |
62 | 313 |
if ( password.Length() > passcodemaxlength ) |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
314 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
315 |
isInvalid = ETrue; |
62 | 316 |
TRAP_IGNORE( |
317 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_MAX, &passcodemaxlength ); |
|
318 |
); |
|
319 |
} |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
320 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
321 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
322 |
|
62 | 323 |
if (!hbuf) |
324 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
325 |
// Check for required check or not. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
326 |
if ( passcodemaxrepeatedcharacters != 0 ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
327 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
328 |
// Check for TooManySameChars |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
329 |
TRAPD( err, istoosimilar = TooManySameCharsL(password,passcodemaxrepeatedcharacters) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
330 |
if ( ( err == KErrNone ) && ( istoosimilar ) ) |
62 | 331 |
{ |
332 |
if ( passcodemaxrepeatedcharacters > 1 ) |
|
333 |
{ |
|
334 |
isInvalid = ETrue; |
|
335 |
TRAP_IGNORE( |
|
336 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_REPEATED, |
|
337 |
&passcodemaxrepeatedcharacters ); |
|
338 |
); |
|
339 |
} |
|
340 |
else // passcodemaxrepeatedcharacters == 1 |
|
341 |
{ |
|
342 |
isInvalid = ETrue; |
|
343 |
TRAP_IGNORE( |
|
344 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_REPEATED_ONCE ); |
|
345 |
); |
|
346 |
} |
|
347 |
} |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
348 |
} |
62 | 349 |
} |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
350 |
|
62 | 351 |
if (!hbuf) |
352 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
353 |
// Check for Alphadigit |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
354 |
if ( passcoderequirecharsandnumbers) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
355 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
356 |
for (TInt adcounter=0; adcounter < password.Length(); adcounter++) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
357 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
358 |
if ( static_cast<TChar>( password[adcounter] ).IsDigit() ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
359 |
digitCount++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
360 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
361 |
if ( static_cast<TChar>( password[adcounter] ).IsAlpha() ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
362 |
alphaCount++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
363 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
364 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
365 |
if (digitCount >= password.Length() || alphaCount >= password.Length() |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
366 |
|| digitCount == 0 || alphaCount == 0 ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
367 |
{ |
62 | 368 |
isInvalid = ETrue; |
369 |
TRAP_IGNORE( |
|
370 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_LETTERS_NUMBERS ); |
|
371 |
); |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
372 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
373 |
} // End of Alphadigit Check |
62 | 374 |
} |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
375 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
376 |
|
62 | 377 |
if (!hbuf) |
378 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
379 |
// passcodeconsecutivenumbers |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
380 |
if (passcodeconsecutivenumbers) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
381 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
382 |
consecutively = consecutivelyCheck(password); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
383 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
384 |
if ( consecutively ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
385 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
386 |
isInvalid = ETrue; |
62 | 387 |
TRAP_IGNORE( |
388 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_CONSECUTIVE ); |
|
389 |
); |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
390 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
391 |
} |
62 | 392 |
} |
393 |
||
394 |
/* |
|
395 |
if (!hbuf) |
|
396 |
{ |
|
397 |
// Check for required check or not. |
|
398 |
if (passcoderequireupperandlower) |
|
399 |
{ |
|
400 |
// Count the IsDigits first and miinus them from the lenghth! |
|
401 |
// Count the possible NUM's count first! |
|
402 |
for (TInt numcounter=0; numcounter < password.Length(); numcounter++) |
|
403 |
{ |
|
404 |
if ( static_cast<TChar>( password[numcounter] ).IsDigit() ) |
|
405 |
numberCount++; |
|
406 |
} |
|
407 |
||
408 |
// Check for Caps, both |
|
409 |
for (TInt capscounter=0; capscounter < password.Length(); capscounter++) |
|
410 |
{ |
|
411 |
if ( static_cast<TChar>( password[capscounter] ).IsUpper() ) |
|
412 |
upperCount++; |
|
413 |
||
414 |
if ( static_cast<TChar>( password[capscounter] ).IsLower() ) |
|
415 |
lowerCount++; |
|
416 |
} |
|
417 |
||
418 |
if (upperCount >= (password.Length()-numberCount ) ) |
|
419 |
isallcaps = ETrue; |
|
420 |
||
421 |
if (lowerCount >= (password.Length() -numberCount) ) |
|
422 |
isallsmall = ETrue; |
|
423 |
||
424 |
if (isallsmall || isallcaps) |
|
425 |
{ |
|
426 |
isInvalid = ETrue; |
|
427 |
TRAP_IGNORE( |
|
428 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_UPPER_LOWER ); |
|
429 |
); |
|
430 |
} |
|
431 |
} // End of Caps check |
|
432 |
} |
|
433 |
*/ |
|
434 |
||
435 |
if (!hbuf) |
|
436 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
437 |
// Check for required check or not. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
438 |
if (passcoderequireupperandlower) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
439 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
440 |
for (TInt counter=0; counter < password.Length(); counter++) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
441 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
442 |
if ( static_cast<TChar>( password[counter] ).IsAlpha() ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
443 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
444 |
if ( static_cast<TChar>( password[counter] ).IsUpper() ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
445 |
upperCount++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
446 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
447 |
if ( static_cast<TChar>( password[counter] ).IsLower() ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
448 |
lowerCount++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
449 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
450 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
451 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
452 |
if ( upperCount == 0 || lowerCount == 0) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
453 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
454 |
isInvalid = ETrue; |
62 | 455 |
TRAP_IGNORE( |
456 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_UPPER_LOWER ); |
|
457 |
); |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
458 |
} |
62 | 459 |
} |
460 |
} |
|
461 |
||
462 |
||
463 |
||
464 |
if (!hbuf) |
|
465 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
466 |
// Check for required check or not. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
467 |
if (passcodeminspecialcharacters != 0) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
468 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
469 |
for (TInt specialcounter=0; specialcounter< password.Length(); specialcounter++) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
470 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
471 |
if ( ! (static_cast<TChar>( password[specialcounter] ).IsAlpha() ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
472 |
specialCount++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
473 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
474 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
475 |
if ( specialCount < passcodeminspecialcharacters ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
476 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
477 |
isInvalid = ETrue; |
62 | 478 |
TRAP_IGNORE( |
479 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_MIN_SPECIAL_CHARS, |
|
480 |
&passcodeminspecialcharacters ); |
|
481 |
); |
|
482 |
} |
|
483 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
484 |
} |
62 | 485 |
} |
486 |
||
487 |
if (!hbuf) |
|
488 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
489 |
if (passcodedisallowsimple) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
490 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
491 |
for (TInt counter=0; counter< (password.Length()-1); counter++) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
492 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
493 |
if ( (static_cast<TChar>(password[counter])) != (static_cast<TChar>(password[counter+1])) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
494 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
495 |
singlerepeat = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
496 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
497 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
498 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
499 |
if (singlerepeat) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
500 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
501 |
isInvalid = ETrue; |
62 | 502 |
TRAP_IGNORE( |
503 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_SINGLE_REPEAT ) ); |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
504 |
} |
62 | 505 |
if (!hbuf) |
506 |
{ |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
507 |
for (TInt counter=0; counter< (password.Length()-1); counter++) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
508 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
509 |
//The consecutivity to be checked with only Alphanumeric characters. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
510 |
//The check is being made for only the increasing order. Decreasing order is left for |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
511 |
//future implementation if needed. Right now it is left out as this will hit the |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
512 |
//usability of device lock a lot. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
513 |
if ( (static_cast<TChar>( password[counter] ).IsAlphaDigit()) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
514 |
&& (static_cast<TChar>( password[counter+1] ).IsAlphaDigit())) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
515 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
516 |
if ( (static_cast<TChar>(password[counter+1])) - (static_cast<TChar>(password[counter])) != 1 ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
517 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
518 |
consecutivechars = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
519 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
520 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
521 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
522 |
else |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
523 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
524 |
consecutivechars = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
525 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
526 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
527 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
528 |
if (consecutivechars) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
529 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
530 |
isInvalid = ETrue; |
62 | 531 |
TRAP_IGNORE( |
532 |
hbuf = LoadAndFormatResL( R_SET_SEC_CODE_CONSECUTIVE_CHARS ) ); |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
533 |
} |
62 | 534 |
} |
535 |
} |
|
536 |
} |
|
537 |
||
538 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
539 |
if ( isInvalid ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
540 |
{ |
62 | 541 |
// Create the result-object to return |
542 |
TRAPD( err, retParams = CSCPParamObject::NewL() ); |
|
543 |
||
544 |
if ( err == KErrNone ) |
|
545 |
{ |
|
546 |
retParams->Set( KSCPParamStatus, KErrSCPInvalidCode ); |
|
547 |
retParams->Set( KSCPParamAction, KSCPActionShowUI ); |
|
548 |
retParams->Set( KSCPParamUIMode, KSCPUINote ); |
|
549 |
||
550 |
if ( hbuf != NULL ) |
|
551 |
{ |
|
552 |
FormatResourceString(*hbuf); |
|
553 |
TPtr ptr = hbuf->Des(); |
|
554 |
retParams->Set( KSCPParamPromptText, ptr ); |
|
555 |
delete hbuf; |
|
556 |
} |
|
557 |
} |
|
558 |
} |
|
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
559 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
560 |
} // end of All Zero check |
62 | 561 |
// All params were zero! no check! |
562 |
else |
|
563 |
{ |
|
564 |
retParams = NULL; |
|
565 |
} |
|
566 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
567 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
568 |
} // KSCPEventValidate |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
569 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
570 |
case ( KSCPEventConfigurationQuery ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
571 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
572 |
TInt paramID = -1; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
573 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
574 |
// Get the ID from the paramObject |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
575 |
if ( aParam.Get( KSCPParamID, paramID ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
576 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
577 |
// Nothing to do anymore |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
578 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
579 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
580 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
581 |
if ( paramID == (RTerminalControl3rdPartySession::EPasscodeMinLength) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
582 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeMaxLength) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
583 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeRequireUpperAndLower) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
584 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeRequireCharsAndNumbers) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
585 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeMaxRepeatedCharacters) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
586 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeConsecutiveNumbers ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
587 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeMinSpecialCharacters) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
588 |
|| paramID == (RTerminalControl3rdPartySession::EPasscodeDisallowSimple)) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
589 |
{ |
62 | 590 |
|
591 |
// OK, we're interested, check that the value is valid |
|
592 |
TRAPD( err, retParams = CSCPParamObject::NewL() ); |
|
593 |
||
594 |
if ( err != KErrNone ) |
|
595 |
{ |
|
596 |
break; // Fatal, cannot create paramObject |
|
597 |
} |
|
598 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
599 |
// All of our params are TInts |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
600 |
TInt paramValue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
601 |
if ( aParam.Get( KSCPParamValue, paramValue ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
602 |
{ |
62 | 603 |
retParams->Set( KSCPParamStatus, KErrGeneral ); |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
604 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
605 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
606 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
607 |
TInt retStatus = KErrNone; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
608 |
switch ( paramID ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
609 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
610 |
case ( RTerminalControl3rdPartySession::EPasscodeMinLength ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
611 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
612 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
613 |
TInt passcodemaxlength; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
614 |
CSCPParamObject& config = iEventHandler->GetParameters(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
615 |
if ( config.Get( ( RTerminalControl3rdPartySession::EPasscodeMaxLength), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
616 |
passcodemaxlength ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
617 |
passcodemaxlength = KSCPPasscodeMaxLength; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
618 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
619 |
if ( ( paramValue < KSCPPasscodeMinLength ) || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
620 |
( paramValue > KSCPPasscodeMaxLength )|| |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
621 |
( paramValue > passcodemaxlength ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
622 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
623 |
retStatus = KErrArgument; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
624 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
625 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
626 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
627 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
628 |
case ( RTerminalControl3rdPartySession::EPasscodeMaxLength ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
629 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
630 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
631 |
TInt passcodeminlength; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
632 |
CSCPParamObject& config = iEventHandler->GetParameters(); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
633 |
if ( config.Get( ( RTerminalControl3rdPartySession::EPasscodeMinLength), |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
634 |
passcodeminlength ) != KErrNone ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
635 |
passcodeminlength = KSCPPasscodeMinLength; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
636 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
637 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
638 |
if ( ( paramValue < KSCPPasscodeMinLength ) || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
639 |
( paramValue > KSCPPasscodeMaxLength )|| |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
640 |
( paramValue < passcodeminlength ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
641 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
642 |
retStatus = KErrArgument; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
643 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
644 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
645 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
646 |
// Flow through: similar values |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
647 |
case ( RTerminalControl3rdPartySession::EPasscodeRequireUpperAndLower ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
648 |
case ( RTerminalControl3rdPartySession::EPasscodeConsecutiveNumbers ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
649 |
case ( RTerminalControl3rdPartySession::EPasscodeRequireCharsAndNumbers ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
650 |
case ( RTerminalControl3rdPartySession::EPasscodeDisallowSimple ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
651 |
if ( ( paramValue < 0 ) || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
652 |
( paramValue > 1 ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
653 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
654 |
// This is not a valid value |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
655 |
retStatus = KErrArgument; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
656 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
657 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
658 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
659 |
case ( RTerminalControl3rdPartySession::EPasscodeMaxRepeatedCharacters ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
660 |
if ( ( paramValue < 0 ) || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
661 |
( paramValue > KSCPMaxRepeatAmount ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
662 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
663 |
// This is not a valid value |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
664 |
retStatus = KErrArgument; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
665 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
666 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
667 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
668 |
case ( RTerminalControl3rdPartySession::EPasscodeMinSpecialCharacters ): |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
669 |
if ( ( paramValue < 0 ) || |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
670 |
( paramValue > KSCPMinSpecialAmount ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
671 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
672 |
// This is not a valid value |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
673 |
retStatus = KErrArgument; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
674 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
675 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
676 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
677 |
|
62 | 678 |
retParams->Set( KSCPParamStatus, retStatus ); |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
679 |
} |
62 | 680 |
else |
681 |
{ |
|
682 |
retParams = NULL; |
|
683 |
} |
|
684 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
685 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
686 |
} //KSCPEventConfigurationQuery |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
687 |
} // switch ( aID ) |
62 | 688 |
|
689 |
// Check if Any errors were raised and handle it |
|
690 |
if (errRaised) |
|
691 |
{ |
|
692 |
if ( retParams != NULL ) |
|
693 |
{ |
|
694 |
delete retParams; |
|
695 |
} |
|
696 |
retParams = NULL; |
|
697 |
} |
|
698 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
699 |
// The caller will own this pointer from now on |
62 | 700 |
return retParams; |
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
701 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
702 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
703 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
704 |
// CSCPPatternPlugin::SetEventHandler |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
705 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
706 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
707 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
708 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
709 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
710 |
void CSCPPatternPlugin::SetEventHandler( MSCPPluginEventHandler* aHandler ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
711 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
712 |
Dprint( ( _L( "CSCPPatternPlugin::SetEventHandler()" ) ) ) ; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
713 |
iEventHandler = aHandler; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
714 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
715 |
iFs = &(iEventHandler->GetFsSession()); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
716 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
717 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
718 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
719 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
720 |
// ========================= OTHER INTERNAL FUNCTIONS ========================= |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
721 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
722 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
723 |
// CSCPPatternPlugin::TooManySameCharsL |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
724 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
725 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
726 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
727 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
728 |
TBool CSCPPatternPlugin::TooManySameCharsL ( TDes& aParam, TInt aMaxRepeatedCharacters) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
729 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
730 |
Dprint( ( _L( "CSCPPatternPlugin::TooManySameChars()" ) ) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
731 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
732 |
// Make a copy from param |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
733 |
// find the first's index's char from the param. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
734 |
// so that the found char get counter incresed and gets |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
735 |
// replaced with KNullDesC |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
736 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
737 |
// Make copy from securitypass |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
738 |
HBufC* hbuf = HBufC::NewLC( aParam.Length()); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
739 |
hbuf->Des().Copy( aParam ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
740 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
741 |
// Declare the loacl vars. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
742 |
TChar firstChar; // char to search for |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
743 |
TInt charIndex = 0; // locate() index |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
744 |
TInt found = 0; // Count the specific char's occurenaces |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
745 |
TBool flag = EFalse; // if there is a char's too maney, break out. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
746 |
TBool sameCharTooMany = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
747 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
748 |
while (hbuf->Des().Length() >= 1 ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
749 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
750 |
// Get the first char |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
751 |
firstChar = hbuf->Des()[0]; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
752 |
while (charIndex != KErrNotFound) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
753 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
754 |
charIndex = hbuf->Des().Locate(firstChar); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
755 |
if (charIndex != KErrNotFound) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
756 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
757 |
hbuf->Des().Replace( charIndex, 1, KNullDesC ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
758 |
charIndex=0; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
759 |
found++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
760 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
761 |
// So the First char is loopt through and deleted from buf |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
762 |
// Check now for immidate fail case |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
763 |
if (found > aMaxRepeatedCharacters ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
764 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
765 |
flag = ETrue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
766 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
767 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
768 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
769 |
else if (charIndex == KErrNotFound) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
770 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
771 |
// Reset the variables to Reuse. |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
772 |
charIndex = 0; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
773 |
found = 0; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
774 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
775 |
} // End of IF |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
776 |
} // end of While |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
777 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
778 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
779 |
if (flag) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
780 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
781 |
// Rule TooManyChars occured. OUT! |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
782 |
sameCharTooMany = ETrue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
783 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
784 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
785 |
}// End of While |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
786 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
787 |
// Delete the hbuf |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
788 |
CleanupStack::PopAndDestroy( hbuf ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
789 |
return sameCharTooMany; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
790 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
791 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
792 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
793 |
// CSCPPatternPlugin::consecutivelyCheck |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
794 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
795 |
// Status : Approved |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
796 |
// ---------------------------------------------------------------------------- |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
797 |
// |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
798 |
TBool CSCPPatternPlugin::consecutivelyCheck ( TDes& aParam ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
799 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
800 |
Dprint( ( _L( "CSCPPatternPlugin::consecutivelyCheck()" ) ) ); |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
801 |
TBool charTooManyInRow = EFalse; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
802 |
TInt counter = 0; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
803 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
804 |
while ( counter < (aParam.Length()-1 ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
805 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
806 |
if ( ( static_cast<TChar>( aParam[counter] ).IsDigit() ) && |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
807 |
( static_cast<TChar>( aParam[counter+1] ).IsDigit() ) ) |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
808 |
{ |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
809 |
charTooManyInRow = ETrue; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
810 |
break; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
811 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
812 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
813 |
counter++; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
814 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
815 |
|
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
816 |
return charTooManyInRow; |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
817 |
} |
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
818 |
|
62 | 819 |
|
820 |
// ---------------------------------------------------------------------------- |
|
821 |
// CSCPPatternPlugin::LoadAndFormatResL |
|
822 |
// Load the given resouce, and format the string according to the TInt parameters |
|
823 |
// if given. |
|
824 |
// |
|
825 |
// Status : Approved |
|
826 |
// ---------------------------------------------------------------------------- |
|
827 |
// |
|
828 |
HBufC* CSCPPatternPlugin::LoadAndFormatResL( TInt aResId, TInt* aParam1, TInt* aParam2 ) |
|
829 |
{ |
|
830 |
HBufC16* resource = NULL; |
|
831 |
HBufC* hbuf = NULL; |
|
832 |
||
833 |
resource = LoadResourceLC( aResId ); |
|
834 |
FormatResourceString(*resource); |
|
835 |
TInt allocLen = 0; |
|
836 |
if ( aParam1 != NULL ) |
|
837 |
{ |
|
838 |
allocLen += KSCPMaxIntLength; |
|
839 |
} |
|
840 |
if ( aParam2 != NULL ) |
|
841 |
{ |
|
842 |
allocLen += KSCPMaxIntLength; |
|
843 |
} |
|
844 |
||
845 |
hbuf = HBufC::NewL( resource->Length() + allocLen ); |
|
846 |
||
847 |
if ( ( aParam1 == NULL ) && ( aParam2 == NULL ) ) |
|
848 |
{ |
|
849 |
hbuf->Des().Copy( resource->Des() ); |
|
850 |
} |
|
851 |
else |
|
852 |
{ |
|
853 |
if ( aParam1 == NULL ) |
|
854 |
{ |
|
855 |
hbuf->Des().Format( resource->Des(), *aParam2 ); |
|
856 |
} |
|
857 |
else if ( aParam2 == NULL ) |
|
858 |
{ |
|
859 |
hbuf->Des().Format(resource->Des(), *aParam1 ); |
|
860 |
} |
|
861 |
else |
|
862 |
{ |
|
863 |
hbuf->Des().Format(resource->Des(), *aParam1, *aParam2 ); |
|
864 |
} |
|
865 |
} |
|
866 |
||
867 |
CleanupStack::PopAndDestroy( resource ); |
|
868 |
return hbuf; |
|
869 |
} |
|
870 |
||
871 |
// ---------------------------------------------------------------------------- |
|
872 |
// CSCPPatternPlugin::FormatResourceString |
|
873 |
// The buffer that is passed is formatted to have only %i as a format specifier instead of %N or %0N etc. |
|
874 |
// |
|
875 |
// Status : Approved |
|
876 |
// ---------------------------------------------------------------------------- |
|
877 |
// |
|
878 |
void CSCPPatternPlugin::FormatResourceString(HBufC16 &aResStr) |
|
879 |
{ |
|
880 |
TInt pos = 0; |
|
881 |
TInt flag = 0; |
|
882 |
TPtr16 bufPtr = aResStr.Des(); |
|
883 |
_LIT (mess1, "%N"); |
|
884 |
_LIT (mess2, "%i"); |
|
885 |
_LIT (mess3, "%0N"); |
|
886 |
_LIT (mess4, "%1N"); |
|
887 |
||
888 |
while ((pos = bufPtr.Find(mess1)) !=KErrNotFound) |
|
889 |
{ |
|
890 |
bufPtr.Replace(pos,2,mess2); |
|
891 |
flag = 1; |
|
892 |
break; |
|
893 |
} |
|
894 |
||
895 |
if(flag == 0) |
|
896 |
{ |
|
897 |
while ((pos = bufPtr.Find(mess3)) != KErrNotFound) |
|
898 |
{ |
|
899 |
bufPtr.Replace(pos,3,mess2); |
|
900 |
} |
|
901 |
||
902 |
while ((pos = bufPtr.Find(mess4)) != KErrNotFound) |
|
903 |
{ |
|
904 |
bufPtr.Replace(pos,3,mess2); |
|
905 |
} |
|
906 |
} |
|
907 |
} |
|
908 |
||
0
b497e44ab2fc
Revision: 200949
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff
changeset
|
909 |
// End of File |