Revision: 201035
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 17 Sep 2010 08:35:02 +0300
changeset 56 25a3fbb5e4d3
parent 51 f479c7dc25d6
child 61 1cc4c46c2963
Revision: 201035 Kit: 201037
cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp
devencdiskutils/rom/bld.inf
gba/group/bld.inf
gba/rom/bld.inf
package_definition.xml
package_map.xml
pkiutilities/securitydialognotifiersrv/group/securitydialognotifiersrv.mmp
pkiutilities/securitydialognotifiersrv/inc/securitydialognotifiersession.h
pkiutilities/securitydialognotifiersrv/inc/securitydialogoperation.h
pkiutilities/securitydialognotifiersrv/inc/securitydialogoperbasicpinquery.h
pkiutilities/securitydialognotifiersrv/src/securitydialognotifiersession.cpp
pkiutilities/securitydialognotifiersrv/src/securitydialogoperation.cpp
pkiutilities/securitydialognotifiersrv/src/securitydialogoperbasicpinquery.cpp
pkiutilities/securitydialognotifiersrv/src/securitydialogoperserverauthfail.cpp
securitydialogs/Autolock/Autolock.rss
securitydialogs/Autolock/Autolock_reg.rss
securitydialogs/Autolock/Autolock_reg.rss.back
securitydialogs/Autolock/Autolock_template.pkg
securitydialogs/Autolock/autolockuseractivityservice/bld.inf
securitydialogs/Autolock/bld.inf
securitydialogs/Autolock/src/Autolock.cpp
securitydialogs/Autolock/src/Autolock.h
securitydialogs/SecUi/Src/SecUiSecurityHandler.cpp
securitydialogs/SecUi/Src/SecUiSecuritySettings.cpp
securitydialogs/lockclient/src/keyguardaccessapi.cpp
securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp
--- a/cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/cpsecplugins/devicelockplugin/src/cpdevicelockpluginview.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -428,6 +428,7 @@
                     mPrevRemLockData
                             = mDeviceRemoteLockItem->contentWidgetData(
                                     QString("text"));
+										mRemoteLockMessageItem->setEnabled(true);                                    
                     }
                 else
                     {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/devencdiskutils/rom/bld.inf	Fri Sep 17 08:35:02 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Provides the information required for exporting
+*               Device Encryption ROM.
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+
+// ROM file
+DevEncDiskUtils.iby CORE_MW_LAYER_IBY_EXPORT_PATH(DevEncDiskUtils.iby)
+
+
+// End of file
--- a/gba/group/bld.inf	Thu Sep 02 21:22:45 2010 +0300
+++ b/gba/group/bld.inf	Fri Sep 17 08:35:02 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -15,23 +15,9 @@
 *
 */
 
-
 #include <platform_paths.hrh>
 
-PRJ_EXPORTS
-
-// export iby files
-../rom/gba.iby  CORE_MW_LAYER_IBY_EXPORT_PATH( gba.iby )
-../sis/gba_stub.sis   /epoc32/data/z/system/install/gba_stub.sis
-
-PRJ_MMPFILES
-
-
-//../uicc/group/gbauicc.mmp
-//../gbaserver/group/gbaserver.mmp
-//../gbaapi/group/gba.mmp
-//../gbafilter/group/httpfiltergba.mmp
-
+#include "../rom/bld.inf"
 
 #include "../uicc/group/bld.inf"
 #include "../gbaserver/group/bld.inf"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gba/rom/bld.inf	Fri Sep 17 08:35:02 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Build info file for GBA exports
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_EXPORTS
+
+// export iby files
+gba.iby  CORE_MW_LAYER_IBY_EXPORT_PATH( gba.iby )
+../sis/gba_stub.sis   /epoc32/data/z/system/install/gba_stub.sis
+
+        
+//EOF
--- a/package_definition.xml	Thu Sep 02 21:22:45 2010 +0300
+++ b/package_definition.xml	Fri Sep 17 08:35:02 2010 +0300
@@ -1,15 +1,215 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="securitysrv" name="Security Services" levels="plugin framework server generic specific">
-    <collection id="pkiutilities" name="PKI Utilities" level="plugin">
-     <component id="ocsp" name="Online Certificate Status Protocol" introduced="^2" purpose="optional">
-       <unit bldFile="pkiutilities/ocsp/group" mrp="pkiutilities/ocsp/group/securitysrv_ocsp.mrp"/>
-      </component>
-    </collection>
-    <collection id="securitysrv_info" name="Security Services Info" level="specific">
-      <component id="securitysrv_metadata" name="Security Services Metadata" class="config" introduced="^2" purpose="development" target="desktop">
-        <unit mrp="securitysrv_info/securitysrv_metadata/securitysrv_metadata.mrp"/>
-      </component>
-    </collection>
-  </package>
+<SystemDefinition schema="3.0.0" xmlns:qt="http://www.nokia.com/qt">
+ <package id="securitysrv" name="Security Services" levels="plugin framework server generic specific">
+  <collection id="secsrv_plat" name="Security Services Platform Interfaces" level="specific">
+   <component id="cms_api" name="CMS API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/cms_api/cms_api.metaxml"/>
+    <unit bldFile="secsrv_plat/cms_api/group"/>
+   </component>
+   <component id="pkcs12_parser_api" name="PKCS12 Parser API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/pkcs12_parser_api/pkcs12_parser_api.metaxml"/>
+    <unit bldFile="secsrv_plat/pkcs12_parser_api/group"/>
+   </component>
+   <component id="java_utils_api" name="Java Utils API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/java_utils_api/java_utils_api.metaxml"/>
+    <unit bldFile="secsrv_plat/java_utils_api/group"/>
+   </component>
+   <component id="wim_cert_api" name="WIM Cert API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/wim_cert_api/wim_cert_api.metaxml"/>
+    <unit bldFile="secsrv_plat/wim_cert_api/group"/>
+   </component>
+   <component id="device_key_store_encryption_plugin_api" name="Device Key Store Encryption Plug-in API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/device_key_store_encryption_plugin_api/device_key_store_encryption_plugin_api.metaxml"/>
+    <unit bldFile="secsrv_plat/device_key_store_encryption_plugin_api/group"/>
+   </component>
+   <component id="x509certnameparser_api" name="X.509 Certificate Name Parser API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/x509certnameparser_api/x509certnameparser_api.metaxml"/>
+    <unit bldFile="secsrv_plat/x509certnameparser_api/group"/>
+   </component>
+   <component id="remote_lock_api" name="Remote Lock API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/remote_lock_api/remote_lock_api.metaxml"/>
+    <unit bldFile="secsrv_plat/remote_lock_api/group"/>
+   </component>
+   <component id="pkidialog_api" name="PKI Dialog API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/pkidialog_api/pkidialog_api.metaxml"/>
+    <unit bldFile="secsrv_plat/pkidialog_api/group"/>
+   </component>
+   <component id="provisioning_api" name="Provisioning API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/provisioning_api/provisioning_api.metaxml"/>
+    <unit bldFile="secsrv_plat/provisioning_api/group"/>
+   </component>
+   <component id="keyguard_configuration_api" name="Keyguard Configuration API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/keyguard_configuration_api/keyguard_configuration_api.metaxml"/>
+    <unit bldFile="secsrv_plat/keyguard_configuration_api/group"/>
+   </component>
+   <component id="keylock_policy_api" name="Keylock Policy API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/keylock_policy_api/keylock_policy_api.metaxml"/>
+    <unit bldFile="secsrv_plat/keylock_policy_api/group"/>
+   </component>
+   <component id="security_code_ui_api" name="Security Code UI API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/security_code_ui_api/security_code_ui_api.metaxml"/>
+    <unit bldFile="secsrv_plat/security_code_ui_api/group"/>
+   </component>
+   <component id="gba_api" name="GBA API" class="api" filter="s60">
+    <meta rel="Api" href="secsrv_plat/gba_api/gba_api.metaxml"/>
+    <unit bldFile="secsrv_plat/gba_api/group"/>
+   </component>
+   <component id="keyguard_access_api" name="Keyguard Access API" class="api" filter="s60">
+    <unit bldFile="secsrv_plat/keyguard_access_api/group"/>
+   </component>
+   <component id="devicelock_access_api" name="Device Lock Access API" class="api" filter="s60">
+    <unit bldFile="secsrv_plat/devicelock_access_api/group"/>
+   </component>
+   <component id="lockapp_server_api" name="Lock Application Server API" class="api" filter="s60">
+    <unit bldFile="secsrv_plat/lockapp_server_api/group"/>
+   </component>
+   <component id="devencadaptation_api" name="Device Encryption Adaptation API" class="api" filter="s60">
+    <unit bldFile="secsrv_plat/devencadaptation_api/group"/>
+   </component>
+   <component id="devenccommonutils_api" name="Device Encryption Common Utils API" class="api" filter="s60">
+    <unit bldFile="secsrv_plat/devenccommonutils_api/group"/>
+   </component>
+  </collection>
+  <collection id="cms" name="Certificate Management Service" level="server">
+   <!-- collection is really a component. Need to move down a directory-->
+   <component id="cms_build" filter="s60" name="CMS" introduced="^3">
+    <unit bldFile="cms/group"/>
+   </component>
+  </collection>
+  <collection id="pkiutilities" name="PKI Utilities" level="plugin">
+   <component id="x509certnameparser" filter="s60" name="X.509 Certificate Name Parser">
+    <unit bldFile="pkiutilities/x509certnameparser/group"/>
+   </component>
+   <component id="pkcs12" filter="s60" name="PKCS #12">
+    <unit bldFile="pkiutilities/pkcs12/group"/>
+   </component>
+   <component id="certsaver" filter="s60" name="Certificate Saver">
+    <unit bldFile="pkiutilities/certsaver/group"/>
+   </component>
+   <component id="devicetoken" filter="s60" name="Device Token">
+    <unit bldFile="pkiutilities/devicetoken/group"/>
+   </component>
+   <component id="securitydialognotifier" filter="s60" name="Security Dialogs Notifier" introduced="^4">
+    <unit bldFile="pkiutilities/securitydialognotifier/group"/>
+   </component>
+   <component id="securitydialognotifiersrv" filter="s60" name="Security Dialogs Notifier Server" introduced="^4">
+    <unit bldFile="pkiutilities/securitydialognotifiersrv/group"/>
+   </component>
+   <component id="certificates" filter="s60" name="Certificates">
+    <unit bldFile="pkiutilities/Certificates/group"/>
+   </component>
+   <component id="pkiutilities_build" filter="s60" name="PKI Utilities Build">
+    <!-- need to split this into the above components -->
+    <unit bldFile="pkiutilities/group"/>
+   </component>
+   <component id="ocsp" name="Online Certificate Status Protocol" introduced="^2" purpose="optional">
+    <unit bldFile="pkiutilities/ocsp/group" mrp="pkiutilities/ocsp/group/securitysrv_ocsp.mrp"/>
+   </component>
+   <component id="untrustedcertificatedialog" filter="s60" name="Untrusted Certificate Dialog" introduced="^4">
+    <unit bldFile="pkiutilities/untrustedcertificatedialog" qt:proFile="untrustedcertificateplugin.pro"/>
+   </component>
+  </collection>
+  <collection id="wim" name="Wireless Identity Module" level="framework">
+   <!-- collection is really a component. Need to move down a directory-->
+   <component id="wim_build" filter="s60" name="WIM Build">
+    <unit bldFile="wim/group"/>
+   </component>
+  </collection>
+  <collection id="remotelock" name="Remote Lock" level="generic">
+   <!-- collection is really a component. Need to move down a directory-->
+   <component id="remotelock_build" filter="s60" name="Remote Lock Build">
+    <unit bldFile="remotelock/group"/>
+   </component>
+  </collection>
+  <collection id="securitydialogs" name="Security Dialogs" level="specific">
+   <component id="keylockpolicyapi" filter="s60" name="Keylock Policy API">
+    <unit bldFile="securitydialogs/keylockpolicyapi/group"/>
+   </component>
+   <component id="secui" filter="s60" name="Security UI">
+    <unit bldFile="securitydialogs/secui/group"/>
+   </component>
+   <component id="securitynotifier" filter="s60" name="Security Notifier">
+    <unit bldFile="securitydialogs/securitynotifier/group"/>
+   </component>
+   <component id="lockclient" filter="s60" name="Lock Client" introduced="^3">
+    <unit bldFile="securitydialogs/lockclient/group" qt:proFile="lockclient.pro"/>
+   </component>
+   <component id="lockapp" filter="s60" name="Lock Application" introduced="^3">
+    <unit bldFile="securitydialogs/lockapp/group"/>
+   </component>
+   <component id="secuinotifications" name="Security UI Notifications" introduced="^4" filter="s60">
+      <unit bldFile="securitydialogs/secuinotifications" qt:proFile="secuinotifications.pro"/>
+   </component>
+   <component id="indicatorautolockplugin" name="Auto Lock Indicator Plugin" introduced="^4" filter="s60" class="plugin">
+		<!-- directory at the wrong level to be a component-->
+      <unit bldFile="securitydialogs/autolock/indicatorplugin" qt:proFile="indicatorautolockplugin.pro"/>
+   </component>
+   <component id="autolockuseractivityservice" name="Auto Lock User Activity Service" introduced="^4" filter="s60">
+		<!-- Can't have a component inside another. Need to move to securitydialogs/autolockuseractivityservice -->
+      <unit bldFile="securitydialogs/autolock/autolockuseractivityservice" qt:proFile="autolockuseractivityservice.pro"/>
+   </component>
+   <component id="autolocksrv" name="Auto Lock Server" introduced="^4" filter="s60">
+      <unit bldFile="securitydialogs/autolock" qt:proFile="autolock.pro"/>
+   </component>
+  </collection>
+  <collection id="cpsecplugins" name="Security Settings Plugins" level="plugin">
+   <component id="devicelockplugin" name="Device Lock Plugin" introduced="^4" filter="s60" class="plugin">
+      <unit bldFile="cpsecplugins/devicelockplugin" qt:proFile="devicelockplugin.pro"/>
+   </component>
+   <component id="simpincodeplugin" name="SIM PIN Code Plugin" introduced="^4" filter="s60" class="plugin">
+      <unit bldFile="cpsecplugins/simpincodeplugin" qt:proFile="pincodeplugin.pro"/>
+   </component>
+   <component id="cpadvancedsecplugin" name="Advanced Security Plugin" introduced="^4" filter="s60" class="plugin">
+      <unit bldFile="cpsecplugins/cpadvancedsecplugin/group" qt:proFile="advancedsecplugin.pro"/>
+   </component>
+  </collection>
+  <collection id="boottimeintegritycheck" name="Boot Time Integrity Check" level="plugin">
+   <!-- collection is really a component. Need to move down a directory-->
+   <component id="boottimeintegritycheck_build" filter="s60" name="Boot Time Integrity Check Build">
+    <unit bldFile="boottimeintegritycheck/group"/>
+   </component>
+  </collection>
+  <collection id="gba" name="Generic Bootstrapping Architecture" level="server">
+   <component id="uicc" filter="s60" name="UICC" class="plugin" introduced="^2">
+    <unit bldFile="gba/uicc/group"/>
+   </component>
+   <component id="gbaserver" filter="s60" name="GBA Server" introduced="^2">
+    <unit bldFile="gba/gbaserver/group"/>
+   </component>
+   <component id="gbaapi" filter="s60" name="GBA API" introduced="^2">
+    <unit bldFile="gba/gbaapi/group"/>
+   </component>
+   <component id="gbafilter" filter="s60" name="GBA HTTP Filter" class="plugin" introduced="^2">
+    <unit bldFile="gba/gbafilter/group"/>
+   </component>
+   <component id="gba_rom" filter="s60" name="Generic Boot Architecture ROM" introduced="^2">
+    <unit bldFile="gba/rom"/>
+   </component>
+  </collection>
+  <collection id="devencdiskutils" name="Device Encryption Disk Utils" level="server">
+   <component id="devenccommonutils" filter="s60" name="Device Encryption Common Utils" introduced="^3">
+    <unit bldFile="devencdiskutils/DevEncCommonUtils/group"/>
+   </component>
+   <component id="devencrfsplugin" filter="s60" name="Device Encryption RFS Plugin" introduced="^3" class="plugin">
+    <unit bldFile="devencdiskutils/DevEncRfsPlugin/group"/>
+   </component>
+   <component id="pk5recognizer" filter="s60" name="Device Encryption Pk5 Recognizer" introduced="^3" class="plugin">
+    <unit bldFile="devencdiskutils/Pk5Recognizer/group"/>
+   </component>
+   <component id="devencstarter" filter="s60" name="Device Encryption Starter" introduced="^3" class="plugin">
+    <unit bldFile="devencdiskutils/DevEncStarter/group"/>
+   </component>
+   <component id="devencdiskutils_rom" filter="s60" name="Device Encryption Disk Utils ROM" introduced="^3">
+    <unit bldFile="devencdiskutils/rom"/>
+   </component>
+  </collection>
+  <collection id="securitysrv_info" name="Security Services Info" level="specific">
+   <component id="securitysrv_test" filter="s60,test,api_test" purpose="development" name="Security Services Test">
+    <unit bldFile="tsrc/group" filter="TA_SECURITYSRV"/>
+   </component>
+   <component id="securitysrv_metadata" name="Security Services Metadata" class="config" introduced="^2" purpose="development" target="desktop">
+    <unit mrp="securitysrv_info/securitysrv_metadata/securitysrv_metadata.mrp"/>
+   </component>
+  </collection>
+ </package>
 </SystemDefinition>
--- a/package_map.xml	Thu Sep 02 21:22:45 2010 +0300
+++ b/package_map.xml	Fri Sep 17 08:35:02 2010 +0300
@@ -1,2 +1,1 @@
-<?xml version="1.0"?>
-<PackageMap root="sf" layer="mw" />
\ No newline at end of file
+<PackageMap root="sf" layer="mw"/>
--- a/pkiutilities/securitydialognotifiersrv/group/securitydialognotifiersrv.mmp	Thu Sep 02 21:22:45 2010 +0300
+++ b/pkiutilities/securitydialognotifiersrv/group/securitydialognotifiersrv.mmp	Fri Sep 17 08:35:02 2010 +0300
@@ -32,6 +32,7 @@
 SOURCE          securitydialognotifiersession.cpp
 SOURCE          securitydialogoperation.cpp
 SOURCE          securitydialogoperserverauthfail.cpp
+SOURCE          securitydialogoperbasicpinquery.cpp
 SOURCE          untrustedcertquery.cpp
 
 LIBRARY         euser.lib           // Base classes
@@ -42,6 +43,8 @@
 LIBRARY         crypto.lib          // CSignedObject
 LIBRARY         certstore.lib       // CUnifiedCertStore
 LIBRARY         DevTokenClient.lib  // CTrustSitesStore 
-LIBRARY         HbCore.lib          // CHbDeviceDialog
+LIBRARY         HbCore.lib          // CHbDeviceDialogSymbian
+LIBRARY         HbWidgets.lib       // CHbDeviceMessageBoxSymbian
+LIBRARY         secui.lib           // CSecQueryUi
 
 SMPSAFE
--- a/pkiutilities/securitydialognotifiersrv/inc/securitydialognotifiersession.h	Thu Sep 02 21:22:45 2010 +0300
+++ b/pkiutilities/securitydialognotifiersrv/inc/securitydialognotifiersession.h	Fri Sep 17 08:35:02 2010 +0300
@@ -49,8 +49,9 @@
         CSecurityDialogNotifierServer& Server();
         void DispatchMessageL( const RMessage2& aMessage );
         TBool IsOperationCancelled( const RMessage2& aMessage );
+        void GetInputBufferL( const RMessage2& aMessage );
         void ServerAuthenticationFailureL( const RMessage2& aMessage );
-        void GetInputBufferL( const RMessage2& aMessage );
+        void BasicPinOperationL( const RMessage2& aMessage );
 
     private:    // data
         HBufC8* iInputBuffer;
--- a/pkiutilities/securitydialognotifiersrv/inc/securitydialogoperation.h	Thu Sep 02 21:22:45 2010 +0300
+++ b/pkiutilities/securitydialognotifiersrv/inc/securitydialogoperation.h	Fri Sep 17 08:35:02 2010 +0300
@@ -25,10 +25,10 @@
 
 /**
  * CSecurityDialogOperation is a base class for different kinds of operations
- * defined for security dialogs in /epoc32/include/platform/secdlgimpldefs.h.
- * TSecurityDialogOperation lists the possible operations. A derived class
- * implements each operation separately. This base class works as common API
- * between different operation classes and the main CSecurityDialog class.
+ * defined for security dialogs in secdlgimpldefs.h. TSecurityDialogOperation
+ * lists the possible operations. A derived class implements each operation
+ * separately. This base class works as common API between different operation
+ * classes and the main CSecurityDialog class.
  */
 NONSHARABLE_CLASS( CSecurityDialogOperation ) : public CActive
     {
@@ -46,6 +46,9 @@
     protected:  // from CActive
         TInt RunError( TInt aError );
 
+    protected:  // new functions
+        void ShowWarningNoteL( const TDesC& aMessage );
+
     protected:  // data
         MSecurityDialogOperationObserver& iObserver;
         RMessage2 iMessage;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkiutilities/securitydialognotifiersrv/inc/securitydialogoperbasicpinquery.h	Fri Sep 17 08:35:02 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Basic PIN query operation in security dialog
+*
+*/
+
+#ifndef SECURITYDIALOGOPERBASICPINQUERY_H
+#define SECURITYDIALOGOPERBASICPINQUERY_H
+
+#include "securitydialogoperation.h"    // CSecurityDialogOperation
+#include <secdlgimpldefs.h>             // TPINValue
+
+class MSecurityDialogOperationObserver;
+class CSecQueryUi;
+
+
+/**
+ * CBasicPinQueryOperation is a CSecurityDialogOperation that handles
+ * EEnterPIN, EEnablePIN, EChangePIN, and EDisablePIN operations.
+ */
+NONSHARABLE_CLASS( CBasicPinQueryOperation ) : public CSecurityDialogOperation
+    {
+    public:     // constructors and destructor
+        static CBasicPinQueryOperation* NewL( MSecurityDialogOperationObserver& aObserver,
+                const RMessage2& aMessage, TInt aReplySlot );
+        ~CBasicPinQueryOperation();
+
+    public:     // from CSecurityDialogOperation
+        void StartL( const TDesC8& aBuffer );
+        void CancelOperation();
+
+    protected:  // from CActive (via CSecurityDialogOperation)
+        void RunL();
+        void DoCancel();
+
+    private:    // new functions
+        CBasicPinQueryOperation( MSecurityDialogOperationObserver& aObserver,
+                const RMessage2& aMessage, TInt aReplySlot );
+        void ReturnResultL( TInt aErrorCode );
+
+    private:    // data
+        CSecQueryUi* iQueryUi;
+        const TPINInput* iPinInput;
+        TPINValue iPinValue;
+    };
+
+#endif  // SECURITYDIALOGOPERBASICPINQUERY_H
+
--- a/pkiutilities/securitydialognotifiersrv/src/securitydialognotifiersession.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/pkiutilities/securitydialognotifiersrv/src/securitydialognotifiersession.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -19,6 +19,7 @@
 #include "securitydialognotifierserver.h"   // CSecurityDialogNotifierServer
 #include "securitydialognotifierservername.h" // KSecurityDialogsCancelOperation
 #include "securitydialogoperserverauthfail.h" // CServerAuthFailOperation
+#include "securitydialogoperbasicpinquery.h" // CBasicPinQueryOperation
 #include "securitydialogstrace.h"           // TRACE macro
 #include <secdlgimpldefs.h>                 // TSecurityDialogOperation
 
@@ -139,14 +140,20 @@
             {
             case ESecureConnection:
             case ESignText:
+                // TODO: implement
+                User::Leave( KErrNotSupported );
+                break;
             case EEnterPIN:
             case EEnablePIN:
             case EDisablePIN:
             case EChangePIN:
+                BasicPinOperationL( aMessage );
+                break;
             case EUnblockPIN:
             case EPINBlocked:
             case ETotalBlocked:
             case EUnblockPINInClear:
+                // TODO: implement
                 User::Leave( KErrNotSupported );
                 break;
             case EServerAuthenticationFailure:
@@ -183,22 +190,6 @@
     }
 
 // ---------------------------------------------------------------------------
-// CSecurityDialogNotifierSession::ServerAuthenticationFailureL()
-// ---------------------------------------------------------------------------
-//
-void CSecurityDialogNotifierSession::ServerAuthenticationFailureL( const RMessage2& aMessage )
-    {
-    TRACE( "CSecurityDialogNotifierSession::ServerAuthenticationFailureL, begin" );
-    GetInputBufferL( aMessage );
-
-    __ASSERT_DEBUG( iOperationHandler == NULL, User::Invariant() );
-    iOperationHandler = CServerAuthFailOperation::NewL( *this, aMessage, KOutputParam );
-    iOperationHandler->StartL( *iInputBuffer );
-
-    TRACE( "CSecurityDialogNotifierSession::ServerAuthenticationFailureL, end" );
-    }
-
-// ---------------------------------------------------------------------------
 // CSecurityDialogNotifierSession::GetInputBufferL()
 // ---------------------------------------------------------------------------
 //
@@ -218,3 +209,35 @@
     TRACE( "CSecurityDialogNotifierSession::GetInputBufferL, read complete" );
     }
 
+// ---------------------------------------------------------------------------
+// CSecurityDialogNotifierSession::ServerAuthenticationFailureL()
+// ---------------------------------------------------------------------------
+//
+void CSecurityDialogNotifierSession::ServerAuthenticationFailureL( const RMessage2& aMessage )
+    {
+    TRACE( "CSecurityDialogNotifierSession::ServerAuthenticationFailureL, begin" );
+    GetInputBufferL( aMessage );
+
+    ASSERT( iOperationHandler == NULL );
+    iOperationHandler = CServerAuthFailOperation::NewL( *this, aMessage, KOutputParam );
+    iOperationHandler->StartL( *iInputBuffer );
+
+    TRACE( "CSecurityDialogNotifierSession::ServerAuthenticationFailureL, end" );
+    }
+
+// ---------------------------------------------------------------------------
+// CSecurityDialogNotifierSession::BasicPinOperationL()
+// ---------------------------------------------------------------------------
+//
+void CSecurityDialogNotifierSession::BasicPinOperationL( const RMessage2& aMessage )
+    {
+    TRACE( "CSecurityDialogNotifierSession::BasicPinOperationL, begin" );
+    GetInputBufferL( aMessage );
+
+    ASSERT( iOperationHandler == NULL );
+    iOperationHandler = CBasicPinQueryOperation::NewL( *this, aMessage, KOutputParam );
+    iOperationHandler->StartL( *iInputBuffer );
+
+    TRACE( "CSecurityDialogNotifierSession::BasicPinOperationL, end" );
+    }
+
--- a/pkiutilities/securitydialognotifiersrv/src/securitydialogoperation.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/pkiutilities/securitydialognotifiersrv/src/securitydialogoperation.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -17,6 +17,7 @@
 
 #include "securitydialogoperation.h"    // CSecurityDialogOperation
 #include "securitydialogoperationobserver.h" // MSecurityDialogOperationObserver
+#include <hb/hbwidgets/hbdevicemessageboxsymbian.h> // CHbDeviceMessageBoxSymbian
 #include "securitydialogstrace.h"       // TRACE macro
 
 
@@ -63,3 +64,17 @@
     return KErrNone;
     }
 
+// ---------------------------------------------------------------------------
+// CSecurityDialogOperation::ShowWarningNoteL()
+// ---------------------------------------------------------------------------
+//
+void CSecurityDialogOperation::ShowWarningNoteL( const TDesC& aMessage )
+    {
+    CHbDeviceMessageBoxSymbian *note =
+            CHbDeviceMessageBoxSymbian::NewL( CHbDeviceMessageBoxSymbian::EWarning );
+    CleanupStack::PushL( note );
+    note->SetTextL( aMessage );
+    (void)note->ExecL();    // waits for response or timeout
+    CleanupStack::PopAndDestroy( note );
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pkiutilities/securitydialognotifiersrv/src/securitydialogoperbasicpinquery.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -0,0 +1,214 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Basic PIN query operation in security dialog
+*
+*/
+
+#include "securitydialogoperbasicpinquery.h" // CBasicPinQueryOperation
+#include "securitydialogoperationobserver.h" // MSecurityDialogOperationObserver
+#include <hb/hbcore/hbtextresolversymbian.h> // HbTextResolverSymbian
+#include "securitydialogstrace.h"       // TRACE macro
+
+// TODO: fix this
+#include "../../../securitydialogs/SecUi/Inc/SecQueryUi.h"  // CSecQueryUi
+
+// Descriptors for different password queries
+_LIT( KBasicPinQueryKeyStorePassphrase, "Key store passphrase" );
+_LIT( KBasicPinQueryNewKeyStorePassphrase, "New key store passphrase" );
+_LIT( KBasicPinQueryImportedKeyFilePassphrase, "Passphrase of the imported key file" );
+_LIT( KBasicPinQueryExportedKeyFilePassphrase, "Passphrase of the exported key file" );
+_LIT( KBasicPinQueryPKCS12, "PKCS12");
+
+const TInt KMinimunAcceptedKeystorePassphraseLength = 6;
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::NewL()
+// ---------------------------------------------------------------------------
+//
+CBasicPinQueryOperation* CBasicPinQueryOperation::NewL(
+        MSecurityDialogOperationObserver& aObserver, const RMessage2& aMessage,
+        TInt aReplySlot )
+    {
+    TRACE( "CBasicPinQueryOperation::NewL, aMessage 0x%08x", aMessage.Handle() );
+    return new( ELeave ) CBasicPinQueryOperation( aObserver, aMessage, aReplySlot );
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::~CBasicPinQueryOperation()
+// ---------------------------------------------------------------------------
+//
+CBasicPinQueryOperation::~CBasicPinQueryOperation()
+    {
+    TRACE( "CBasicPinQueryOperation::~CBasicPinQueryOperation" );
+    Cancel();
+    delete iQueryUi;
+    iQueryUi = NULL;
+    iPinInput = NULL;   // not owned
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::StartL()
+// ---------------------------------------------------------------------------
+//
+void CBasicPinQueryOperation::StartL( const TDesC8& aBuffer )
+    {
+    TRACE( "CBasicPinQueryOperation::StartL" );
+    iPinInput = reinterpret_cast< const TPINInput* >( aBuffer.Ptr() );
+    ASSERT( iPinInput != NULL );
+
+    iStatus = KRequestPending;
+    TRequestStatus* status = &iStatus;
+    User::RequestComplete( status, KErrNone );
+    SetActive();
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::CancelOperation()
+// ---------------------------------------------------------------------------
+//
+void CBasicPinQueryOperation::CancelOperation()
+    {
+    TRACE( "CBasicPinQueryOperation::CancelOperation" );
+    // nothing to do
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::RunL()
+// ---------------------------------------------------------------------------
+//
+void CBasicPinQueryOperation::RunL()
+    {
+    TRACE( "CBasicPinQueryOperation::RunL, iStatus.Int()=%d", iStatus.Int() );
+    User::LeaveIfError( iStatus.Int() );
+
+    TBool isRetry = ( iPinInput->iOperation & EPINValueIncorrect );
+    if( isRetry )
+        {
+        // Show "Invalid PIN code" error note, as previous attempt was failed.
+        // TODO: localized UI string needed
+        _LIT( KInvalidPinCode, "Invalid PIN code" );
+        ShowWarningNoteL( KInvalidPinCode );
+        }
+
+    HBufC* caption = NULL;
+    TInt minLength = 0;
+    TInt maxLength = 0;
+    TInt mode = ESecUiAlphaSupported | ESecUiSecretSupported | ESecUiCancelSupported |
+            ESecUiEmergencyNotSupported;
+    if( iPinInput->iPIN.iPINLabel == KBasicPinQueryKeyStorePassphrase )
+        {
+        // "Enter code for phone keystore:"
+        minLength = KMinimunAcceptedKeystorePassphraseLength;
+        // TODO: localized UI string needed
+        _LIT( KText, "Keystore password:" );
+        caption = KText().AllocLC();
+        }
+    else if( iPinInput->iPIN.iPINLabel == KBasicPinQueryNewKeyStorePassphrase )
+        {
+        // "Keystore password must be created for using private keys."
+        minLength = KMinimunAcceptedKeystorePassphraseLength;
+        // SecUi creates two input fields when caption contains two labels
+        // separated with a vertical bar. SecUi verifies that user types the
+        // same passphrase in both fields.
+        // TODO: localized UI strings needed
+        _LIT( KText, "Create keystore password:|Verify:" );
+        caption = KText().AllocLC();
+        }
+    else if( iPinInput->iPIN.iPINLabel == KBasicPinQueryImportedKeyFilePassphrase )
+        {
+        // "Enter code for imported key:"
+        // TODO: localized UI strings needed
+        _LIT( KText, "Enter code for imported key:|Verify:" );
+        caption = KText().AllocLC();
+        }
+    else if( iPinInput->iPIN.iPINLabel == KBasicPinQueryExportedKeyFilePassphrase )
+        {
+        // "Enter new code for exported key:"
+        // TODO: localized UI strings needed
+        _LIT( KText, "Enter new code for exported key:|Verify:" );
+        caption = KText().AllocLC();
+        }
+    else if( iPinInput->iPIN.iPINLabel == KBasicPinQueryPKCS12 )
+        {
+        // "Password for %U:", PKCS#12 password query prompt
+        // TODO: localized UI string needed
+        _LIT( KText, "Password for PKCS#12 file:" );
+        caption = KText().AllocLC();
+        }
+    else
+        {
+        // "Enter code for %0U in %1U"
+        // Data query for PIN request in keystore where %0U is the PIN's name %1U is the keystore's name.
+        // TODO: EEnterPinNR
+        caption = iPinInput->iPIN.iPINLabel.AllocLC();
+        }
+
+    ASSERT( iQueryUi == NULL );
+    iQueryUi = CSecQueryUi::NewL();
+    TInt resultCode = iQueryUi->SecQueryDialog( *caption, iPinValue, minLength, maxLength, mode );
+    ReturnResultL( resultCode );
+
+    if( caption )
+        {
+        CleanupStack::PopAndDestroy( caption );
+        caption = NULL;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::DoCancel()
+// ---------------------------------------------------------------------------
+//
+void CBasicPinQueryOperation::DoCancel()
+    {
+    TRACE( "CBasicPinQueryOperation::DoCancel" );
+    if( iQueryUi )
+        {
+        delete iQueryUi;
+        iQueryUi = NULL;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::CBasicPinQueryOperation()
+// ---------------------------------------------------------------------------
+//
+CBasicPinQueryOperation::CBasicPinQueryOperation(
+        MSecurityDialogOperationObserver& aObserver, const RMessage2& aMessage,
+        TInt aReplySlot ) : CSecurityDialogOperation( aObserver, aMessage, aReplySlot )
+    {
+    }
+
+// ---------------------------------------------------------------------------
+// CBasicPinQueryOperation::ReturnResultL()
+// ---------------------------------------------------------------------------
+//
+void CBasicPinQueryOperation::ReturnResultL( TInt aErrorCode )
+    {
+    TRACE( "CBasicPinQueryOperation::ReturnResultL, begin, aErrorCode=%d", aErrorCode );
+    if( aErrorCode == KErrNone )
+        {
+        TPINValueBuf output( iPinValue );
+        iMessage.WriteL( iReplySlot, output );
+        }
+    TRACE( "CBasicPinQueryOperation::ReturnResultL, completing msg 0x%08x", iMessage.Handle() );
+    iMessage.Complete( aErrorCode );
+    TRACE( "CBasicPinQueryOperation::ReturnResultL, informing observer" );
+    iObserver.OperationComplete();
+    TRACE( "CBasicPinQueryOperation::ReturnResultL, end" );
+    }
+
--- a/pkiutilities/securitydialognotifiersrv/src/securitydialogoperserverauthfail.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/pkiutilities/securitydialognotifiersrv/src/securitydialogoperserverauthfail.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -83,14 +83,14 @@
 void CServerAuthFailOperation::StartL( const TDesC8& aBuffer )
     {
     TRACE( "CServerAuthFailOperation::StartL, begin" );
-    __ASSERT_DEBUG( iInput == NULL, User::Invariant() );
+    ASSERT( iInput == NULL );
     iInput = CServerAuthenticationFailureInput::NewL( aBuffer );
 
     iInput->GetEncodedCert( iEncodedServerCert );
 
     TPtrC8 serverName;
     iInput->GetServerName( serverName );
-    __ASSERT_DEBUG( iServerName == NULL, User::Invariant() );
+    ASSERT( iServerName == NULL );
     iServerName = HBufC::NewL( serverName.Length() );
     iServerName->Des().Copy( serverName );
     TRACE( "CServerAuthFailOperation::StartL, iServerName=%S", iServerName );
@@ -311,10 +311,10 @@
 void CServerAuthFailOperation::StartFetchingTrustedSiteCertsL()
     {
     TRACE( "CServerAuthFailOperation::StartFetchingTrustedSiteCertsL" );
-    __ASSERT_DEBUG( iCertAttributeFilter == NULL, User::Invariant() );
+    ASSERT( iCertAttributeFilter == NULL );
     iCertAttributeFilter = CCertAttributeFilter::NewL();
     iCertAttributeFilter->SetOwnerType( EPeerCertificate );
-    __ASSERT_DEBUG( iTrustedSiteCertStore != NULL, User::Invariant() );
+    ASSERT( iTrustedSiteCertStore != NULL );
     iTrustedSiteCertStore->List( iCertInfos, *iCertAttributeFilter, iStatus );
     iMode = EListTrustedSiteCerts;
     SetActive();
@@ -333,7 +333,7 @@
     // displayed if trusted site certstore open has failed. Other restrictions for
     // permanent accept are defined in device dialog (UntrustedCertificateWidget).
     TBool isTrustedSiteCertStoreOpened = ( iTrustedSiteCertStore != NULL );
-    __ASSERT_DEBUG( iUntrustedCertQuery == NULL, User::Invariant() );
+    ASSERT( iUntrustedCertQuery == NULL );
     iUntrustedCertQuery = CUntrustedCertQuery::NewL( iAuthFailReason, iEncodedServerCert,
             *iServerName, isTrustedSiteCertStoreOpened );
 
@@ -364,7 +364,7 @@
     {
     TRACE( "CServerAuthFailOperation::SaveServerCertToTrustedSiteCertStoreL" );
 
-    __ASSERT_DEBUG( iCertLabel == NULL, User::Invariant() );
+    ASSERT( iCertLabel == NULL );
     CX509Certificate* serverCert = CX509Certificate::NewLC( iEncodedServerCert );
     const CX500DistinguishedName& dName = serverCert->SubjectName();
     HBufC* commonName = dName.ExtractFieldL( KX520CommonName );
@@ -434,7 +434,7 @@
 void CServerAuthFailOperation::RetrieveFirstTrustedSiteCertL()
     {
     TRACE( "CServerAuthFailOperation::RetrieveFirstTrustedSiteCertL" );
-    __ASSERT_DEBUG( iRetrievedCertBuffer == NULL, User::Invariant() );
+    ASSERT( iRetrievedCertBuffer == NULL );
     iRetrieveCertIndex = 0;
 
     RetrieveNextTrustedSiteCertL();
--- a/securitydialogs/Autolock/Autolock.rss	Thu Sep 02 21:22:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-05-24T09:03:31
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// ============================================================================
-
-#include <appinfo.rh>
-#include <Autolock.loc>
-
-RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
-	{
-	short_caption = STRING_r_short_caption;
-	caption_and_icon =
-	CAPTION_AND_ICON_INFO
-		{
-		caption = STRING_r_caption;
-		number_of_icons = 0;
-		icon_file = "";
-		};
-	}
-
--- a/securitydialogs/Autolock/Autolock_reg.rss	Thu Sep 02 21:22:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-05-19T16:00:27
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// ============================================================================
-
-#include <Autolock.rsg>
-#include <appinfo.rh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x100059B5
-
-
-
-/* xqsreg.exe fingerprint */
-#include <xqserviceipcconst.h>
-STRUCT SERVICE_CONFIGURATION {LTEXT xmldata;}
-STRUCT SERVICE_CONFIGURATION_ARRAY {STRUCT service_configuration_array[];}
-
-RESOURCE APP_REGISTRATION_INFO
-	{
-
-	embeddability   = KAppEmbeddable;
-	hidden          = KAppIsHidden;
-	newfile         = KAppDoesNotSupportNewFile;
-	service_list =
-		{
-		SERVICE_INFO
-			{
-			uid = KXQServiceUid;
-			datatype_list = {};
-			opaque_data = r_service_configuration_reg;
-			}
-		};
-
-	app_file="Autolock";
-	localisable_resource_file="\\resource\\apps\\Autolock";
-
-	}
-
-
-RESOURCE SERVICE_CONFIGURATION_ARRAY r_service_configuration_reg
-	{
-		service_configuration_array=
-			{
-				SERVICE_CONFIGURATION
-				{
-				xmldata = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> <service> <name>com.nokia.services.Autolock</name> <filepath>No path really</filepath> <description>Autolock</description> <interface> <name>Autolock</name> <version>2.0</version> <description>Interface";
-				}
-				,
-				SERVICE_CONFIGURATION
-				{
-				xmldata = " to Autolock</description> </interface> </service>";
-				}
-
-			};
-	}
--- a/securitydialogs/Autolock/Autolock_reg.rss.back	Thu Sep 02 21:22:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-// ============================================================================
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-05-19T16:00:27
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// ============================================================================
-
-#include <AutolockSrv.rsg>
-#include <appinfo.rh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0xE0022E73
-
-
-
-/* xqsreg.exe fingerprint */
-#include <xqserviceipcconst.h>
-STRUCT SERVICE_CONFIGURATION {LTEXT xmldata;}
-STRUCT SERVICE_CONFIGURATION_ARRAY {STRUCT service_configuration_array[];}
-
-RESOURCE APP_REGISTRATION_INFO
-	{
-
-	embeddability   = KAppEmbeddable;
-	hidden          = KAppIsHidden;
-	newfile         = KAppDoesNotSupportNewFile;
-	service_list =
-		{
-		SERVICE_INFO
-			{
-			uid = KXQServiceUid;
-			datatype_list = {};
-			opaque_data = r_service_configuration_reg;
-			}
-		};
-
-	app_file="AutolockSrv";
-	localisable_resource_file="\\resource\\apps\\AutolockSrv";
-
-	}
-
-
-RESOURCE SERVICE_CONFIGURATION_ARRAY r_service_configuration_reg
-	{
-		service_configuration_array=
-			{
-				SERVICE_CONFIGURATION
-				{
-				xmldata = "<?xml version=\"1.0\" encoding=\"utf-8\" ?> <service> <name>com.nokia.services.AutolockSrv</name> <filepath>No path really</filepath> <description>AutolockSrv</description> <interface> <name>AutolockSrv</name> <version>2.0</version> <description>Interface";
-				}
-				,
-				SERVICE_CONFIGURATION
-				{
-				xmldata = " to AutolockSrv</description> </interface> </service>";
-				}
-
-			};
-	}
--- a/securitydialogs/Autolock/Autolock_template.pkg	Thu Sep 02 21:22:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-; Autolock_template.pkg generated by qmake at 2010-05-24T09:03:30
-; This file is generated by qmake and should not be modified by the user
-;
-
-; Language
-&EN
-
-
-; SIS header: name, uid, version
-#{"Autolock"},(0x100059B5),1,0,0
-
-; Localised Vendor name
-%{"Vendor"}
-
-; Unique Vendor name
-:"Vendor"
-
-
-; Manual PKG pre-rules from PRO files
-; Default dependency to Qt libraries
-(0x2001E61C), 4, 6, 3, {"Qt"}
-; Default HW/platform dependencies
-[0x101F7961],0,0,0,{"S60ProductID"}
-[0x102032BE],0,0,0,{"S60ProductID"}
-[0x102752AE],0,0,0,{"S60ProductID"}
-[0x1028315F],0,0,0,{"S60ProductID"}
- 
-; Default dependency to QtMobility libraries
-(0x2002AC89), 1, 0, 0, {"QtMobility"}
-
-; Executable and default resource files
-"/epoc32/release/$(PLATFORM)/$(TARGET)/Autolock.exe"    - "!:\sys\bin\Autolock.exe"
-"/epoc32/data/z/resource/apps/Autolock.rsc"    - "!:\resource\apps\Autolock.rsc"
-"/epoc32/data/z/private/10003a3f/import/apps/Autolock_reg.rsc"    - "!:\private\10003a3f\import\apps\Autolock_reg.rsc"
-; DEPLOYMENT
-"/epoc32/release/$(PLATFORM)/$(TARGET)/Autolock.exe"    - "!:\sys\bin\Autolock.exe"
-"/epoc32/data/z/resource/qt/crml/autolock.qcrml"    - "!:\resource\qt\crml\autolock.qcrml"
-
-; Manual PKG post-rules from PRO files
--- a/securitydialogs/Autolock/autolockuseractivityservice/bld.inf	Thu Sep 02 21:22:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-// ============================================================================
-// * Makefile for building: autolockuseractivityservice
-// * Generated by qmake (2.01a) (Qt 4.6.3) on: 2010-05-20T15:50:24
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project:  autolockuseractivityservice.pro
-// * Template: lib
-// ============================================================================
-
-#define BLD_INF_AUTOLOCKUSERACTIVITYSERVICE_FB812CD7
-
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-autolockuseractivityservice_0x2002704D.mmp
-
-prj_extensions
-
-START EXTENSION qt/qmake_extra_pre_targetdep.export
-OPTION PREDEP_TARGET E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/moc_autolockuseractivityservice.cpp
-OPTION DEPS E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc/autolockuseractivityserviceinterface.h E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc/autolockuseractivityservice_global.h E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc/autolockuseractivityservice.h 
-OPTION COMMAND /epoc32/tools/moc  -DSYMBIAN  -DUNICODE -DQT_KEYPAD_NAVIGATION -DQT_SOFTKEYS_ENABLED -DQT_USE_MATH_H_FLOATS -DAUTOLOCKUSERACTIVITYSERVICE_LIB -DQT_GUI_LIB -DQT_CORE_LIB  -I"E:/epoc32/include/mw/QtCore"  -I"E:/epoc32/include/mw/QtGui"  -I"E:/epoc32/include/mw"  -I"E:/sf/mw/qt/mkspecs/common/symbian"  -I"E:/epoc32/include"  -I"E:/epoc32/include/stdapis"  -I"E:/epoc32/include/stdapis/sys"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc"  -I"E:/epoc32/include/platform/mw"  -I"E:/epoc32/include/platform"  -I"E:/epoc32/include/app"  -I"E:/epoc32/include/platform/app"  -I"E:/epoc32/include/platform/loc"  -I"E:/epoc32/include/platform/mw/loc"  -I"E:/epoc32/include/platform/app/loc"  -I"E:/epoc32/include/platform/loc/sc"  -I"E:/epoc32/include/platform/mw/loc/sc"  -I"E:/epoc32/include/platform/app/loc/sc"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/s60/inc"  -I"E:/epoc32/include/stdapis/stlportv5"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/s60/src"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/src" -DSYMBIAN e:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc/autolockuseractivityservice.h -o e:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/moc_autolockuseractivityservice.cpp
-END
-START EXTENSION qt/qmake_extra_pre_targetdep.export
-OPTION PREDEP_TARGET E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/moc_autolockuseractivityserviceinterface.cpp
-OPTION DEPS E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc/autolockuseractivityserviceinterface.h 
-OPTION COMMAND /epoc32/tools/moc  -DSYMBIAN  -DUNICODE -DQT_KEYPAD_NAVIGATION -DQT_SOFTKEYS_ENABLED -DQT_USE_MATH_H_FLOATS -DAUTOLOCKUSERACTIVITYSERVICE_LIB -DQT_GUI_LIB -DQT_CORE_LIB  -I"E:/epoc32/include/mw/QtCore"  -I"E:/epoc32/include/mw/QtGui"  -I"E:/epoc32/include/mw"  -I"E:/sf/mw/qt/mkspecs/common/symbian"  -I"E:/epoc32/include"  -I"E:/epoc32/include/stdapis"  -I"E:/epoc32/include/stdapis/sys"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc"  -I"E:/epoc32/include/platform/mw"  -I"E:/epoc32/include/platform"  -I"E:/epoc32/include/app"  -I"E:/epoc32/include/platform/app"  -I"E:/epoc32/include/platform/loc"  -I"E:/epoc32/include/platform/mw/loc"  -I"E:/epoc32/include/platform/app/loc"  -I"E:/epoc32/include/platform/loc/sc"  -I"E:/epoc32/include/platform/mw/loc/sc"  -I"E:/epoc32/include/platform/app/loc/sc"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/s60/inc"  -I"E:/epoc32/include/stdapis/stlportv5"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/s60/src"  -I"E:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/src" -DSYMBIAN e:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc/autolockuseractivityserviceinterface.h -o e:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/moc_autolockuseractivityserviceinterface.cpp
-END
-
-#if defined(WINSCW)
-#endif
-
-START EXTENSION qt/qmake_store_build
-END
-
-
--- a/securitydialogs/Autolock/bld.inf	Thu Sep 02 21:22:45 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,794 +0,0 @@
-// ============================================================================
-// * Makefile for building: Autolock
-// * Generated by qmake (2.01a) (Qt 4.7.0) on: 2010-08-07T17:22:57
-// * This file is generated by qmake and should not be modified by the
-// * user.
-// * Project:  Autolock.pro
-// * Template: app
-// ============================================================================
-
-#define BLD_INF_AUTOLOCK_04D793A7
-
-
-prj_platforms
-
-WINSCW GCCE ARMV5 ARMV6
-
-
-prj_mmpfiles
-
-Autolock_0x100059B5.mmp
-
-prj_extensions
-
-START EXTENSION qt/qmake_extra_pre_targetdep.export
-OPTION PREDEP_TARGET A:/sf/mw/securitysrv/securitydialogs/Autolock/moc_Autolock.cpp
-OPTION DEPS A:/sf/mw/securitysrv/securitydialogs/SecUi/Inc/SecQueryUi.h A:/sf/mw/securitysrv/securitydialogs/Autolock/src/Autolock.h 
-OPTION COMMAND /epoc32/tools/moc.exe  -DSYMBIAN  -DUNICODE -DQT_KEYPAD_NAVIGATION -DQT_SOFTKEYS_ENABLED -DQT_USE_MATH_H_FLOATS -DHB_HAVE_QT_MOBILITY -DHB_HAVE_PROTECTED_CHUNK -DHB_TOUCHFEEDBACK_TYPE_IS_LONGPRESS -DHB_GESTURE_FW -DHB_EFFECTS -DHB_TEXT_MEASUREMENT_UTILITY -DHB_HAVE_QT_MOBILITY -DHB_HAVE_PROTECTED_CHUNK -DHB_TOUCHFEEDBACK_TYPE_IS_LONGPRESS -DHB_GESTURE_FW -DHB_EFFECTS -DHB_TEXT_MEASUREMENT_UTILITY -DQT_SVG_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB  -I"A:/epoc32/include/mw/QtCore"  -I"A:/epoc32/include/mw/QtNetwork"  -I"A:/epoc32/include/mw/QtGui"  -I"A:/epoc32/include/mw/QtSvg"  -I"A:/epoc32/include/mw"  -I"A:/epoc32/include/mw/QtPublishSubscribe"  -I"A:/sf/mw/qt/mkspecs/common/symbian"  -I"A:/epoc32/include"  -I"A:/epoc32/include/stdapis"  -I"A:/epoc32/include/stdapis/sys"  -I"A:/epoc32/include/platform/mw"  -I"A:/epoc32/include/platform"  -I"A:/epoc32/include/platform/loc"  -I"A:/epoc32/include/platform/mw/loc"  -I"A:/epoc32/include/platform/loc/sc"  -I"A:/epoc32/include/platform/mw/loc/sc"  -I"A:/sf/mw/securitysrv/securitydialogs/Autolock"  -I"A:/sf/mw/securitysrv/securitydialogs/Autolock/inc"  -I"A:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice"  -I"A:/sf/mw/securitysrv/securitydialogs/Autolock/autolockuseractivityservice/inc"  -I"A:/QtPublishSubscribe"  -I"A:/epoc32/include/mw/hb/hbcore"  -I"A:/epoc32/include/mw/hb/hbwidgets"  -I"A:/epoc32/include/mw/hb/hbutils"  -I"A:/epoc32/include/stdapis/stlportv5"  -I"A:/sf/mw/securitysrv/securitydialogs/Autolock/src" -DSYMBIAN a:/sf/mw/securitysrv/securitydialogs/Autolock/src/Autolock.h -o a:/sf/mw/securitysrv/securitydialogs/Autolock/moc_Autolock.cpp
-END
-START EXTENSION qt/qmake_extra_pre_targetdep.export
-OPTION PREDEP_TARGET A:/sf/mw/securitysrv/securitydialogs/Autolock/qrc_Autolock.cpp
-OPTION DEPS A:/sf/mw/securitysrv/securitydialogs/Autolock/Autolock.qrc A:/sf/mw/securitysrv/securitydialogs/Autolock/iconnotifier.svg A:/sf/mw/securitysrv/securitydialogs/Autolock/qtg_large_device_lock.svg 
-OPTION COMMAND /epoc32/tools/rcc.exe -name Autolock a:/sf/mw/securitysrv/securitydialogs/Autolock/Autolock.qrc -o a:/sf/mw/securitysrv/securitydialogs/Autolock/qrc_Autolock.cpp
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ar.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ar.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ar.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ar.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ar.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ar.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_eu.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_eu.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_eu.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_eu.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_eu.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_eu.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_bg.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_bg.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_bg.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_bg.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_bg.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_bg.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ca.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ca.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ca.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ca.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ca.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ca.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hr.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_hr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hr.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_hr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hr.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_hr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_cs.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_cs.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_cs.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_cs.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_cs.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_cs.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_da.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_da.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_da.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_da.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_da.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_da.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_nl.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_nl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_nl.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_nl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_nl.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_nl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_en.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_en.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_en.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_en.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_en.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_en.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_en_US.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_en_US.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_en_US.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_en_US.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_en_US.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_en_US.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_et.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_et.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_et.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_et.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_et.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_et.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fi.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_fi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fi.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_fi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fi.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_fi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fr.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_fr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fr.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_fr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fr.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_fr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fr_CA.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_fr_CA.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fr_CA.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_fr_CA.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_fr_CA.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_fr_CA.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_gl.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_gl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_gl.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_gl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_gl.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_gl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_de.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_de.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_de.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_de.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_de.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_de.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_el.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_el.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_el.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_el.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_el.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_el.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_he.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_he.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_he.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_he.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_he.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_he.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hi.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_hi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hi.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_hi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hi.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_hi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh_HK.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_zh_HK.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh_HK.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_zh_HK.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh_HK.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_zh_HK.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hu.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_hu.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hu.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_hu.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_hu.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_hu.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_is.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_is.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_is.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_is.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_is.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_is.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_id.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_id.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_id.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_id.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_id.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_id.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_it.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_it.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_it.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_it.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_it.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_it.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ja.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ja.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ja.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ja.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ja.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ja.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ko.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ko.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ko.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ko.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ko.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ko.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_lv.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_lv.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_lv.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_lv.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_lv.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_lv.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_lt.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_lt.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_lt.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_lt.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_lt.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_lt.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ms.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ms.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ms.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ms.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ms.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ms.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_no.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_no.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_no.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_no.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_no.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_no.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pl.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_pl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pl.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_pl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pl.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_pl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pt.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_pt.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pt.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_pt.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pt.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_pt.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pt_BR.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_pt_BR.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pt_BR.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_pt_BR.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_pt_BR.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_pt_BR.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_zh.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_zh.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_zh.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ro.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ro.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ro.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ro.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ro.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ro.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ru.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ru.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ru.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ru.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ru.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ru.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sr.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_sr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sr.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_sr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sr.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_sr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sk.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_sk.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sk.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_sk.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sk.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_sk.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sl.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_sl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sl.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_sl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sl.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_sl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_es.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_es.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_es.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_es.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_es.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_es.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_es_419.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_es_419.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_es_419.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_es_419.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_es_419.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_es_419.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sv.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_sv.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sv.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_sv.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_sv.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_sv.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_tl.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_tl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_tl.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_tl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_tl.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_tl.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh_TW.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_zh_TW.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh_TW.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_zh_TW.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_zh_TW.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_zh_TW.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_th.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_th.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_th.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_th.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_th.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_th.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_tr.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_tr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_tr.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_tr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_tr.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_tr.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_uk.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_uk.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_uk.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_uk.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_uk.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_uk.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ur.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_ur.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ur.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_ur.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_ur.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_ur.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_vi.ts
-OPTION QMFILE /epoc32/data/z/resource/qt/translations/calwidget_vi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_vi.ts
-OPTION QMFILE /epoc32/release/winscw/udeb/z/resource/qt/translations/calwidget_vi.qm
-END
-
-START EXTENSION qt/ts2qm
-OPTION TSFILE /epoc32/include/platform/qt/translations/calwidget_vi.ts
-OPTION QMFILE /epoc32/release/winscw/urel/z/resource/qt/translations/calwidget_vi.qm
-END
-
-#if defined(WINSCW)
-START EXTENSION qt/qmake_emulator_deployment
-OPTION DEPLOY_SOURCE a:/sf/mw/securitysrv/securitydialogs/Autolock/autolock.qcrml
-OPTION DEPLOY_TARGET A:/epoc32/winscw/c/resource/qt/crml/autolock.qcrml
-END
-#endif
-START EXTENSION qt/qmake_emulator_deployment
-OPTION DEPLOY_SOURCE a:/sf/mw/securitysrv/securitydialogs/Autolock/autolock.qcrml
-OPTION DEPLOY_TARGET A:/epoc32/data/z/resource/qt/crml/autolock.qcrml
-END
-
-START EXTENSION qt/qmake_store_build
-END
-
-
-
-
-prj_exports
-
-./rom/Autolock.iby CORE_APP_LAYER_IBY_EXPORT_PATH(Autolock.iby)
-./conf/Autolock.confml MW_LAYER_CONFML(Autolock.confml)
-./conf/lock.confml MW_LAYER_CONFML(lock.confml)
-./rom/AutolockSrv.iby CORE_APP_LAYER_IBY_EXPORT_PATH(AutolockSrv.iby)
-./PubSub/SecurityUIsPrivatePSKeys.h |../../inc/securityuisprivatepskeys.h
-./conf/lock_10283322.crml MW_LAYER_CRML(lock_10283322.crml)
--- a/securitydialogs/Autolock/src/Autolock.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/securitydialogs/Autolock/src/Autolock.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -62,7 +62,8 @@
 #include <ctsydomainpskeys.h>
 
 #include <hbdevicedialog.h>
-#include <power_save_display_mode.h>
+// handled now directly but screensaver
+// #include <power_save_display_mode.h>
 
 const TInt KPhoneIndex(0);
 const TInt KTriesToConnectServer(2);
@@ -238,6 +239,8 @@
     RDEBUG("mEKeyBellCaptureHandle", mEKeyBellCaptureHandle);
     RDEBUG("got mKeyCaptureHandle", 1);
 
+		iTempDisableOnlyKeyguardBecauseIncomingCall=0;
+		
     iSecQueryUiCreated = -1;
     iDeviceDialogCreated = EDeviceDialogUninitialized;
     RDEBUG("new iDeviceDialogCreated", iDeviceDialogCreated);
@@ -249,7 +252,7 @@
     hide();
 
     iDeviceDialog = new HbDeviceDialog(HbDeviceDialog::NoFlags, this);
-    connect(iDeviceDialog, SIGNAL(dataReceived(QVariantMap)), SLOT(handleMessageFromScreensaver(QVariantMap)));
+    connect(iDeviceDialog, SIGNAL(dataReceived(QVariantMap)), SLOT(handleMessageFromScreensaver(QVariantMap)), Qt::QueuedConnection);	// Qt::QueuedConnection needed to avoid deadlock at waitForClosed
     connect(iDeviceDialog, SIGNAL(deviceDialogClosed()), SLOT(handleScreensaverClosed()));
 
     // screensaver standby mode timer
@@ -257,17 +260,20 @@
     mScreensaverModeTimer->setInterval(5 * 1000); // milliseconds, TODO: read from cenrep
     connect(mScreensaverModeTimer, SIGNAL(timeout()), SLOT(switchScreensaverToPowerSaveMode()));
     // screensaver AMOLED low power mode support
-    mScreensaverPowerSave = CPowerSaveDisplayMode::NewL();
-    mScreensaverPowerSavePixelBuffer = HBufC16::NewL(360 * 640);
-    mScreensaverPowerSavePixelBuffer->Des().Fill(0);
+
+    // handled now directly but screensaver
+    // mScreensaverPowerSave = CPowerSaveDisplayMode::NewL();
+    // mScreensaverPowerSavePixelBuffer = HBufC16::NewL(360 * 640);
+    // mScreensaverPowerSavePixelBuffer->Des().Fill(0);
     }
 
 Autolock::~Autolock()
     {
     RDEBUG("0", 0);
     delete mService;
-    delete mScreensaverPowerSave;
-    delete mScreensaverPowerSavePixelBuffer;
+    // handled now directly but screensaver
+    // delete mScreensaverPowerSave;
+    // delete mScreensaverPowerSavePixelBuffer;
     RDEBUG("1", 1);
     }
 
@@ -285,7 +291,7 @@
     RDEBUG("KSettingsAutomaticKeyguardTime", KSettingsAutomaticKeyguardTime);
     RDEBUG("cRresult", cRresult);
     RDEBUG("keyguardTime", keyguardTime);
-    if (keyguardTime > 0 && keyguardTime < 1000)
+    if (keyguardTime > 2 && keyguardTime < 24 * 60 * 60)
         {
         serviceKeyguard->setInactivityPeriod(keyguardTime);
         }
@@ -300,13 +306,20 @@
     RDEBUG("cRresult", cRresult);
     RDEBUG("lockTime", lockTime);
     if (lockTime == 65535 * 60) // Special setting "lock at same time as keyguard" at CpDeviceLockPluginView::GetAutoLockIndex which uses this magic number
-        lockTime = keyguardTime - 2; // lock 2 seconds before before, to avoid keyguard->devicelock sequence
-    if (lockTime > 60 && lockTime < 24 * 60 * 60) // lock timer can't be bigger than 1 day
+    		{
+        lockTime = keyguardTime - 2; // lock 2 seconds before keyguard, to avoid keyguard->devicelock sequence
+        if(lockTime<=2)
+        	lockTime=2;
+        RDEBUG("new lockTime", lockTime);
+      	}
+    if (lockTime >= 2 && lockTime < 24 * 60 * 60) // lock timer can't be bigger than 1 day
         {
+        RDEBUG("setInactivityPeriod lockTime", lockTime);
         serviceDevicelock->setInactivityPeriod(lockTime);
         }
     else
         {
+        RDEBUG("setInactivityPeriod infinite", lockTime);
         serviceDevicelock->setInactivityPeriod(12 * 31 * 24 * 60 * 60); // 0x1ea6e00
         }
 
@@ -318,6 +331,16 @@
     qApp->quit();
     }
 
+
+int Autolock::TurnLights(int aMode, int aReason, int aCaller)
+    {
+    RDEBUG("aMode", aMode);
+    RDEBUG("aReason", aReason);
+    RDEBUG("aCaller", aCaller);
+    TInt err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, aMode);
+    RDEBUG("KSecurityUIsLights err", err);
+    return err;
+  	}
 int Autolock::AskValidSecCode(int aReason)
     {
     RDEBUG("aReason", aReason);
@@ -333,8 +356,7 @@
     TInt thisTry(0);
     RTelServer iTelServer;
 
-    err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, ESecurityUIsLightsQueryOnRequest);
-    RDEBUG("KSecurityUIsLights err", err);
+    TurnLights(ESecurityUIsLightsQueryOnRequest, aReason, 0x10);
 
     RMmCustomAPI iCustomPhone;
     while ((err = iTelServer.Connect()) != KErrNone && (thisTry++) <= KTriesToConnectServer)
@@ -465,8 +487,7 @@
         return KErrNone;
 
     // no valid code -> switch off the lights
-    err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, ESecurityUIsLightsLockOffRequest);
-    RDEBUG("KSecurityUIsLights err", err);
+    TurnLights(ESecurityUIsLightsLockOffRequest, aReason, 0x12);
     return KErrCancel;
     }
 
@@ -635,6 +656,8 @@
             if (iLockCodeQueryInDisplay)
                 {
                 // PIN on top and trying to display unlock-code. This is valid
+                // but needs to turn on lights because SysAp switches them off even if query is present
+                TurnLights(ESecurityUIsLightsQueryOnRequest, aReason, 0x13);
                 return KErrAlreadyExists;
                 }
             switch (iLockStatus)
@@ -733,8 +756,7 @@
             RDEBUG("err", err);
             err = RProperty::Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff);
             RDEBUG("err", err);
-            err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, ESecurityUIsLightsLockOnRequest); // lights are required
-            RDEBUG("KSecurityUIsLights err", err);
+            TurnLights(ESecurityUIsLightsLockOnRequest, aReason, 0x14);
 
             // cRresult = repositoryDevicelock->Set(KSettingsAutolockStatus, 0);    // the settings remains. Only ISA changes, as well as the P&S
             cRresult = repositoryKeyguard->Set(KSysApKeyguardActive, 0);
@@ -748,20 +770,18 @@
                 RDEBUG("KAknKeyguardStatus err", err);
                 err = RProperty::Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EAutolockOff);
                 RDEBUG("KCoreAppUIsAutolockStatus err", err);
-                err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, ESecurityUIsLightsLockOffRequest); // same for keyguard and devicelock
-                RDEBUG("KSecurityUIsLights err", err);
+                TurnLights(ESecurityUIsLightsLockOffRequest, aReason, 0x16);	// same for keyguard and devicelock
                 // cRresult = repositoryDevicelock->Set(KSettingsAutolockStatus, 0);
                 cRresult = repositoryKeyguard->Set(KSysApKeyguardActive, 1);
                 RDEBUG("cRresult", cRresult);
                 }
             else if (aReason >= EDevicelockActive)
                 {
-                err = RProperty::Set(KPSUidAvkonDomain, KAknKeyguardStatus, EKeyguardAutolockEmulation); // Other candidates might be: EKeyguardLocked and EKeyguardNotActive
+                err = RProperty::Set(KPSUidAvkonDomain, KAknKeyguardStatus, EKeyguardLocked); // previously EKeyguardAutolockEmulation, but then Telephone doesn't understand that it's keyguarded. Other candidates might be: EKeyguardLocked and EKeyguardNotActive
                 RDEBUG("KAknKeyguardStatus err", err);
                 err = RProperty::Set(KPSUidCoreApplicationUIs, KCoreAppUIsAutolockStatus, EManualLocked);
                 RDEBUG("KCoreAppUIsAutolockStatus err", err);
-                err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, ESecurityUIsLightsLockOffRequest);
-                RDEBUG(" KSecurityUIsLights err", err);
+                TurnLights(ESecurityUIsLightsQueryOnRequest, aReason, 0x18);
                 // cRresult = repositoryDevicelock->Set(KSettingsAutolockStatus, 1);
                 cRresult = repositoryKeyguard->Set(KSysApKeyguardActive, 0); // keyguard disabled, so that user can type and DeviceF can be captured
                 RDEBUG("cRresult", cRresult);
@@ -839,6 +859,12 @@
                 publishStatus(EKeyguardActive);
                 setLockDialog(aReason, 1);
                 }
+            // Telephone might want to re-enable only-keyguard after the call ends. Allow it. This means re-showing the screensaver, not more.
+						if (errorInProcess == KErrPermissionDenied && iTempDisableOnlyKeyguardBecauseIncomingCall==1)
+               {
+               setLockDialog(aReason, 1);
+               iTempDisableOnlyKeyguardBecauseIncomingCall=0;
+             	 }
             }
             break;
         case ELockAppDisableKeyguard: // 2
@@ -854,6 +880,22 @@
                 setLockDialog(aReason, 0);
                 }
             }
+            RDEBUG("errorInProcess", errorInProcess);
+            // Telephone might want to disnable only-keyguard during a call. Allow it. This means hiding the screensaver, not more.
+            if(errorInProcess==KErrPermissionDenied)
+            	{
+					    TInt aCallStatus;
+					    TInt err = RProperty::Get(KPSUidCtsyCallInformation, KCTsyCallState, aCallStatus);
+					    RDEBUG("err", err);
+					    RDEBUG("aCallStatus", aCallStatus);
+							if (aCallStatus != EPSCTsyCallStateUninitialized && aCallStatus != EPSCTsyCallStateNone)
+								{
+								RDEBUG("allowing telephone to disable keyguard . Call setLockDialog 0", 0);
+								setLockDialog(aReason, 0);
+								iTempDisableOnlyKeyguardBecauseIncomingCall=1;
+								errorInProcess=KErrNone;
+								}
+            	}
             break;
         case ELockAppEnableDevicelock: // 3
             {
@@ -888,10 +930,12 @@
                 }
             if (errorInProcess == KErrNone)
                 {
-                setLockDialog(aReason, 0); // hide temporarilly because HbDeviceMessageBox doesn't get in top of the Lock-icon. Thus, dismiss it.
+                RDEBUG("skip setLockDialog", 0);
+                // No need to disable screensaver. Notes now can get on top. Also, this avoids the transition Screensaver->unlockQuery, which produces flicker on HomeScreen.
+                // setLockDialog(aReason, 0); // hide temporarilly because HbDeviceMessageBox doesn't get in top of the Lock-icon. Thus, dismiss it.
                 // do I need to enable touch? it seems to work without it
                 // in any case, lights are needed
-                err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsLights, ESecurityUIsLightsQueryOnRequest);
+                TurnLights(ESecurityUIsLightsQueryOnRequest, aReason, 0x20);
                 RDEBUG("calling HbDeviceMessageBox::question", 0);
                 bool value = true;
                 // not sure whether this question is really needed. The UI doesn't say anything, so I remove it for now.
@@ -902,7 +946,9 @@
                 }
             if (errorInProcess == KErrNone)
                 {
-                setLockDialog(aReason, 0); // hide temporarilly because AskValidSecCode doesn't get in top of the Lock-icon. Thus, dismiss it.
+                RDEBUG("skip setLockDialog", 1);
+                // No need to disable screensaver. Notes now can get on top. Also, this avoids the transition Screensaver->unlockQuery, which produces flicker on HomeScreen.
+                // setLockDialog(aReason, 0); // hide temporarilly because AskValidSecCode doesn't get in top of the Lock-icon. Thus, dismiss it.
                 RDEBUG("calling AskValidSecCode", 0);
                 errorInProcess = AskValidSecCode(ELockAppDisableDevicelock);
                 RDEBUG("errorInProcess", errorInProcess);
@@ -915,7 +961,7 @@
                 publishStatus(ELockNotActive);
                 }
             if (errorInProcess != KErrNone)
-                { // re-lock. For example, if password is wrong
+                { // re-lock. For example, if password is cancelled
                 if (iLockStatus >= EDevicelockActive) // this skips the case "unlocking although it wasn't locked"
                     setLockDialog(ELockAppEnableDevicelock, 1);
                 }
@@ -1032,6 +1078,8 @@
 
             TInt err = RProperty::Set(KPSUidSecurityUIs, KSecurityUIsSecUIOriginatedQuery, ESecurityUIsSecUIOriginatedUninitialized);
             RDEBUG("reset KSecurityUIsSecUIOriginatedQuery. err", err);
+            handleScreensaverClosed();
+            TurnLights(ESecurityUIsLightsQueryOnRequest, aReason, 0x22);
             // Cancel power key and application key capturing
             groupWin.CancelCaptureKey(mPowerKeyCaptureHandle);
             groupWin.CancelCaptureKey(mApplicationKeyCaptureHandle);
@@ -1068,7 +1116,7 @@
 
         // secUiOriginatedQuery should be ESecurityUIsSecUIOriginatedUninitialized . If not, the validation is not correctly filtering it
         QVariantMap params;
-        TBool err;
+        TBool err=EFalse;
 #define ESecUiTypeDeviceLock        0x00100000
 #define ESecUiTypeKeyguard          0x00200000
 
@@ -1091,7 +1139,7 @@
             RDEBUG("creating iDeviceDialog", 0);
             iDeviceDialog = new HbDeviceDialog(HbDeviceDialog::NoFlags, this);
             // in theory this is needed only for screensaver, not for LockIcon. But it doesn't harm
-            connect(iDeviceDialog, SIGNAL(dataReceived(QVariantMap)), SLOT(handleMessageFromScreensaver(QVariantMap)));
+            connect(iDeviceDialog, SIGNAL(dataReceived(QVariantMap)), SLOT(handleMessageFromScreensaver(QVariantMap)), Qt::QueuedConnection);	// Qt::QueuedConnection needed to avoid deadlock at waitForClosed
             connect(iDeviceDialog, SIGNAL(deviceDialogClosed()), SLOT(handleScreensaverClosed()));
             iDeviceDialogCreated = EDeviceDialogCreated;
             RDEBUG("new iDeviceDialogCreated", iDeviceDialogCreated);
@@ -1337,18 +1385,23 @@
             // hardware. However, according to display driver people, this doesn't
             // work if the display component of the device doesn't have internal memory
             // which may be the case in some of our target devices.
+
+			// handled now directly by screensaver
+			/*
             TUint16 *ptr = const_cast<TUint16 *> (mScreensaverPowerSavePixelBuffer->Ptr());
             RDEBUG("switching screen power save on, number of visible rows", endRow-startRow);
             int err = mScreensaverPowerSave->Set(startRow, endRow, ptr);
             RDEBUG("err", err);
+            */
             }
         else
             {
             // any other case is interpreted as an order to switch off the power save and
             // return to the normal mode
             RDEBUG("switching screen power save off 0", 0);
-            int err = mScreensaverPowerSave->Exit();
-            RDEBUG("err", err);
+            // handled now directly by screensaver
+            // int err = mScreensaverPowerSave->Exit();
+            // RDEBUG("err", err);
             }
         }
     }
@@ -1360,12 +1413,16 @@
     // Screensaver (usually) cannot send anymore any commands when
     // it's being closed. Thus, we need to ensure here that screen has lights and
     // full-power mode once screensaver is closed.
+
+    // handled now directly by screensaver
+    /*
     if (mScreensaverPowerSave)
         {
         RDEBUG("switching screen power save off", 0);
         err = mScreensaverPowerSave->Exit();
         RDEBUG("error=", err);
         }
+    */
     RDEBUG("switching screen lights on", 1);
     err = RProperty::Set(KPSUidCoreApplicationUIs, KLightsSSForcedLightsOn, 30);
     RDEBUG("err", err);
@@ -1396,6 +1453,7 @@
                 // This key can be repeated, so that the screensaver remains as long as key is pushed
                 // TODO what happens when holding Power key ?
                 switchScreensaverMode( ESnsrViewTypeActive);
+                TurnLights(ESecurityUIsLightsQueryOnRequest, 0x22 /*aReason*/, 0x24);
                 }
             else if (!keyEvent->isAutoRepeat())
                 {
@@ -1486,6 +1544,14 @@
 	        }
     	iProcessingEvent = 0;
 	    }
+	  else
+	  	{
+	  	// user presses side-switch while another is in process, most probably a unlock-query. Thus, re-switch on the lights
+	  	if (iLockStatus == EDevicelockActive)
+	  		{
+        TurnLights(ESecurityUIsLightsQueryOnRequest, ELockAppEnableDevicelock, 0x26);
+	  		}
+	  	}
     RDEBUG("ret", ret);
     return ret;
     }
@@ -1579,10 +1645,10 @@
     RDEBUG("err", err);
     RDEBUG("aCallStatus", aCallStatus);
     RWindowGroup& groupWin = CEikonEnv::Static()->RootWin();
+    RDEBUG("iLockStatus", iLockStatus);
     if (aCallStatus == EPSCTsyCallStateUninitialized || aCallStatus == EPSCTsyCallStateNone)
         {
         RDEBUG("call is inactive", aCallStatus);
-        RDEBUG("iLockStatus", iLockStatus);
         if (iLockStatus == EKeyguardActive || iLockStatus == EDevicelockActive)
             {
             if (!mEKeyYesCaptureHandle)
@@ -1608,6 +1674,8 @@
             groupWin.CancelCaptureKey(mEKeyNoCaptureHandle);
             mEKeyNoCaptureHandle = NULL;
             }
+        // it seems that Telephone doesn't turn-on the lights when an incoming call on deviceLock. It's done here.
+        TurnLights(ESecurityUIsLightsQueryOnRequest, ELockAppDisableKeyguard, 0x28);
         }
     RDEBUG("9", 9);
     }
--- a/securitydialogs/Autolock/src/Autolock.h	Thu Sep 02 21:22:45 2010 +0300
+++ b/securitydialogs/Autolock/src/Autolock.h	Fri Sep 17 08:35:02 2010 +0300
@@ -78,7 +78,8 @@
 class QTimer;
 
 class AutolockService;
-class CPowerSaveDisplayMode;
+// handled now directly but screensaver
+// class CPowerSaveDisplayMode;
 
 class Autolock : public QWidget
 {
@@ -96,6 +97,7 @@
     void DebugStatus(int value);
     void adjustInactivityTimers(int aReason);
     int updateIndicator(int aReason);
+    int TurnLights(int aMode, int aReason, int aCaller);
     int AskValidSecCode(int aReason);
     int publishStatus(int aReason);
     int TryChangeStatus(int aReason);
@@ -169,9 +171,11 @@
     TInt32 mEKeyNoCaptureHandle;
     TBool iLockCodeQueryInDisplay;
     QTimer *mScreensaverModeTimer;
-    CPowerSaveDisplayMode *mScreensaverPowerSave;
-    HBufC16 *mScreensaverPowerSavePixelBuffer;
+    // these two are handled now directly by screensaver
+    // CPowerSaveDisplayMode *mScreensaverPowerSave;
+    // HBufC16 *mScreensaverPowerSavePixelBuffer;
     TInt32 iProcessingEvent;
+		int iTempDisableOnlyKeyguardBecauseIncomingCall;
 };
 
 class AutolockService : public XQServiceProvider
--- a/securitydialogs/SecUi/Src/SecUiSecurityHandler.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/securitydialogs/SecUi/Src/SecUiSecurityHandler.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -281,9 +281,40 @@
             return ret;
             }
 
+		// Validate the code using SCP. This is needed to get hash
+    RDEBUG("AbortSecurityCode", 0);
+    RSCPClient scpClient;
+    RDEBUG("scpClient.Connect", 0);
+    TInt tRet = scpClient.Connect();
+    RDEBUG("tRet", tRet);
+
+    CleanupClosePushL(scpClient);
+
+    RArray<TDevicelockPolicies> aFailedPolicies;
+    TInt retLockcode = KErrNone;
+    RMobilePhone::TMobilePassword aISACode;
+    TInt scpFlags = 0;
+    RDEBUG("scpClient.VerifyCurrentLockcode", 0);
+    // this validate on ISA . No need to do iPhone.VerifySecurityCode
+    retLockcode = scpClient.VerifyCurrentLockcode(iSecUi_password, aISACode, aFailedPolicies, scpFlags);
+    RDEBUG("retLockcode", retLockcode);
+
+    RDEBUG("aISACode", 0);
+    RDEBUGSTR(aISACode);
+
+    RDEBUG("aFailedPolicies.Count()", aFailedPolicies.Count());
+    RDEBUG("Close", 0);
+    scpClient.Close();
+    RDEBUG("PopAndDestroy", 0);
+    CleanupStack::PopAndDestroy(); //scpClient
+
         CWait* wait = CWait::NewL();
+        RDEBUG("iSecUi_password", 0);
+        RDEBUGSTR(iSecUi_password);
+        RDEBUG("aISACode", 0);
+        RDEBUGSTR(aISACode);
         RDEBUG("VerifySecurityCode", 0);
-        iPhone.VerifySecurityCode(wait->iStatus, secCodeType, iSecUi_password, required_fourth);
+        iPhone.VerifySecurityCode(wait->iStatus, secCodeType, aISACode /* not iSecUi_password !!! */, required_fourth);
         RDEBUG("WaitForRequestL", 0);
         status = wait->WaitForRequestL();
         RDEBUG("status", status);
@@ -296,7 +327,7 @@
             }
 #endif
 
-        ret = ETrue;
+        ret = EFalse;
         queryAccepted = KErrCancel; // because it's not yet validated
         switch (status)
             {
@@ -345,9 +376,11 @@
                 CSecuritySettings::ShowResultNoteL(status, CAknNoteDialog::EErrorTone);
                 }
             }
+        RDEBUG("while AskSecCodeL", 1);
         } // while
 
     iQueryCanceled = ETrue;
+    RDEBUG("ret", ret);
     return ret;
     }
 //
@@ -751,10 +784,10 @@
     TDevicelockPolicies failedPolicy;
     TInt retLockcode = KErrNone;
     RMobilePhone::TMobilePassword aISACode;
-    TInt aFlags = 0;
+    TInt scpFlags = 0;
     RDEBUG("scpClient.VerifyCurrentLockcode", 0);
     // this validate on ISA . No need to do iPhone.VerifySecurityCode
-    retLockcode = scpClient.VerifyCurrentLockcode(iSecUi_password, aISACode, aFailedPolicies, aFlags);
+    retLockcode = scpClient.VerifyCurrentLockcode(iSecUi_password, aISACode, aFailedPolicies, scpFlags);
     RDEBUG("retLockcode", retLockcode);
 
     RDEBUG("aISACode", 0);
@@ -809,9 +842,13 @@
     else
         {
         RDEBUG( "wait", 0 );
+        RDEBUG("iSecUi_password", 0);
+        RDEBUGSTR(iSecUi_password);
+        RDEBUG("aISACode", 0);
+        RDEBUGSTR(aISACode);
         wait = CWait::NewL();
         RDEBUG("VerifySecurityCode", 0);
-        iPhone.VerifySecurityCode(wait->iStatus, secCodeType, iSecUi_password, required_fourth);
+        iPhone.VerifySecurityCode(wait->iStatus, secCodeType, aISACode /* not iSecUi_password !!! */, required_fourth);
         RDEBUG("WaitForRequestL",
                 0);
         status = wait->WaitForRequestL();
@@ -993,6 +1030,8 @@
             }
             break;
         case KErrGsmSSPasswordAttemptsViolation:
+    				RDEBUG("KErrGsmSSPasswordAttemptsViolation", KErrGsmSSPasswordAttemptsViolation);
+    				// and continue
         case KErrLocked:
         		{
             // security code blocked!
@@ -1002,6 +1041,8 @@
           	}
             break;
         case KErrGsm0707IncorrectPassword:
+    				RDEBUG("KErrGsm0707IncorrectPassword", KErrGsm0707IncorrectPassword);
+    				// and continue
         case KErrAccessDenied:
         		{
             RDEBUG("KErrAccessDenied", KErrAccessDenied);
@@ -1096,6 +1137,7 @@
     res = KErrNone;
     codeInfo.iRemainingEntryAttempts = 3;
 #endif
+		RDEBUG("KErrPermissionDenied", KErrPermissionDenied);
     User::LeaveIfError(res);
 
     RDEBUG("codeInfo.iRemainingEntryAttempts",
@@ -1169,6 +1211,7 @@
         case KErrAccessDenied:
             // code was entered erroneously
             CSecuritySettings::ShowResultNoteL(R_CODE_ERROR, CAknNoteDialog::EErrorTone);
+           	RDEBUG("StartUp", StartUp);
             if (StartUp)
                 {
                 returnValue = Pin1RequiredL();
@@ -1178,6 +1221,7 @@
         case KErrLocked:
             // code blocked; show error note and terminate.
             // what if not during Startup? Probably it's Ok since the SIM would had also failed at StartUp
+           	RDEBUG("StartUp", StartUp);
             if (StartUp)
                 CSecuritySettings::ShowResultNoteL(R_CODE_ERROR, CAknNoteDialog::EErrorTone);
             break;
@@ -1271,8 +1315,12 @@
     title.Append(_L("$"));
     title.AppendNum(attempts);
     TInt lSecUiCancelSupported = ESecUiCancelSupported | ESecUiEmergencyNotSupported;
+    RDEBUG("StartUp", 0);
     if (StartUp) // how to know whether PUK comes from failing at Starter, or failing at any other PIN (i.e. changing PIN, or changing PIN-request) ???
+    		{
         lSecUiCancelSupported = ESecUiCancelNotSupported | ESecUiEmergencySupported;
+        RDEBUG("new ", lSecUiCancelSupported);
+      	}
     queryAccepted = iSecQueryUi->SecQueryDialog(title, puk1_password, SEC_C_PUK_CODE_MIN_LENGTH, SEC_C_PUK_CODE_MAX_LENGTH, ESecUiSecretNotSupported | ESecUiAlphaNotSupported
             | lSecUiCancelSupported | ESecUiPukRequired);
     RDEBUG("puk1_password", 0);
@@ -1344,7 +1392,13 @@
         HBufC* stringHolder2 = HbTextResolverSymbian::LoadLC(_L("txt_pin_code_dialog_verify_new_pin_code"));
         title.Append(stringHolder2->Des());
         CleanupStack::PopAndDestroy(stringHolder2);
-        queryAccepted = iSecQueryUi->SecQueryDialog(title, aNewPinPassword, SEC_C_PIN_CODE_MIN_LENGTH, SEC_C_PIN_CODE_MAX_LENGTH, ESecUiAlphaNotSupported | ESecUiCancelSupported
+        lSecUiCancelSupported = ESecUiCancelSupported;
+        RDEBUG("StartUp", 0);
+		    if (StartUp) // how to know whether PUK comes from failing at Starter, or failing at any other PIN (i.e. changing PIN, or changing PIN-request) ???
+		    		{
+		    		lSecUiCancelSupported = ESecUiCancelNotSupported;
+		    		}
+        queryAccepted = iSecQueryUi->SecQueryDialog(title, aNewPinPassword, SEC_C_PIN_CODE_MIN_LENGTH, SEC_C_PIN_CODE_MAX_LENGTH, ESecUiAlphaNotSupported | lSecUiCancelSupported
                 | ESecUiPukRequired);
         RDEBUG("aNewPinPassword", 0);
         RDEBUGSTR(aNewPinPassword);
--- a/securitydialogs/SecUi/Src/SecUiSecuritySettings.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/securitydialogs/SecUi/Src/SecUiSecuritySettings.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -40,7 +40,7 @@
 #include <StringLoader.h>
 #include <RemoteLockSettings.h>
 #include <featmgr.h>
-
+#include <hb/hbwidgets/restricted/hbdevicedialogsextensionsymbian_r.h>
 #include "SecQueryUi.h"
 #include <hb/hbwidgets/hbdevicemessageboxsymbian.h>
 
@@ -399,6 +399,22 @@
     RMobilePhone::TMobilePassword unblockCode; // Required here only as a dummy parameter 
 
 
+		/* TODO not sure if needs to check against the typed, or the hashed */
+		/*
+    RArray<TDevicelockPolicies> aFailedPolicies;
+    TDevicelockPolicies failedPolicy;
+    TInt retLockcode = KErrNone;
+    RMobilePhone::TMobilePassword aISACode;
+    TInt scpFlags = 0;
+    RDEBUG("scpClient.VerifyCurrentLockcode", 0);
+    // this validate on ISA . No need to do iPhone.VerifySecurityCode
+    retLockcode = scpClient.VerifyCurrentLockcode(aRemoteLockCode, aISACode, aFailedPolicies, scpFlags);
+    RDEBUG("retLockcode", retLockcode);
+
+    RDEBUG("aISACode", 0);
+    RDEBUGSTR(aISACode);
+		*/
+
     securityCode = aRemoteLockCode;
     RDEBUG( "EMobilePhoneVerifySecurityCode", EMobilePhoneVerifySecurityCode );
     iWait->SetRequestType(EMobilePhoneVerifySecurityCode);
@@ -1220,6 +1236,10 @@
     RDEBUG("aResourceID", aResourceID);
 
     CHbDeviceMessageBoxSymbian* messageBox = CHbDeviceMessageBoxSymbian::NewL(CHbDeviceMessageBoxSymbian::EWarning);
+    const TInt KCriticalLevel = 2;
+    RDEBUG("KCriticalLevel", KCriticalLevel);
+    HbDeviceDialogsExtensionSymbian::SetShowLevel(messageBox, KCriticalLevel);
+    RDEBUG("done KCriticalLevel", KCriticalLevel);
     CleanupStack::PushL(messageBox);
     TInt satisfactoryIcon = 0;	// might change later, in some scenarios
     _LIT(KText, "ShowResultNoteL: ");
@@ -1430,6 +1450,10 @@
             titleTr.Append(_L("EDevicelockTotalPolicies"));
             title.Append(_L("EDevicelockTotalPolicies"));
             break;
+        case KErrTDevicelockPolicies+EDevicelockTotalPolicies+1:
+            titleTr.Append(_L("SCP server doesn't support this UID"));
+            title.Append(_L("SCP server doesn't support this UID"));
+            break;
 
         default: // " "
             titleTr.Append(_L("Specific Error"));
@@ -2284,10 +2308,29 @@
         }
 
     // check current code before proceeding
+    RSCPClient scpCurrClient;
+    TInt tCurrRet = scpCurrClient.Connect();
+    RDEBUG("tCurrRet", tCurrRet);
+    CleanupClosePushL(scpCurrClient);
+    RArray<TDevicelockPolicies> aCurrFailedPolicies;
+    TInt retCurrLockcode = KErrNone;
+    RMobilePhone::TMobilePassword aCurrISACode;
+    TInt scpCurrFlags = 0;
+    RDEBUG("scpClient.VerifyCurrentLockcode", 0);
+    // this validate on ISA . No need to do iPhone.VerifySecurityCode
+    retCurrLockcode = scpCurrClient.VerifyCurrentLockcode(oldPassword, aCurrISACode, aCurrFailedPolicies, scpCurrFlags);
+    RDEBUG("retCurrLockcode", retCurrLockcode);
+
+    RDEBUG("aCurrISACode", 0);
+    RDEBUGSTR(aCurrISACode);
+    scpCurrClient.Close();
+    RDEBUG("PopAndDestroy", 0);
+    CleanupStack::PopAndDestroy(); //scpCurrClient
+
     RDEBUG("EMobilePhoneVerifySecurityCode", EMobilePhoneVerifySecurityCode);
     iWait->SetRequestType(EMobilePhoneVerifySecurityCode);	// 0x59F1
     RDEBUG("VerifySecurityCode", 0);
-    iPhone.VerifySecurityCode(iWait->iStatus, secCodeType, oldPassword, required_fourth);
+    iPhone.VerifySecurityCode(iWait->iStatus, secCodeType, aCurrISACode /* not oldPassword !!! */, required_fourth);
     RDEBUG("WaitForRequestL", 0);
     res = iWait->WaitForRequestL();
     RDEBUG("WaitForRequestL res", res);
@@ -2349,6 +2392,7 @@
        if(retLockcode == KErrNone )
        	{
 	       RDEBUG( "scpClient.VerifyNewLockcodeAgainstPolicies", 0 );
+	       RDEBUGSTR( newPassword );
 	       retLockcode = scpClient.VerifyNewLockcodeAgainstPolicies( newPassword, aFailedPolicies );
 	       RDEBUG( "retLockcode", retLockcode );
 	       RDEBUG( "aFailedPolicies.Count()", aFailedPolicies.Count() );
@@ -2423,6 +2467,10 @@
                     RArray<TDevicelockPolicies> aFailedPolicies;
                     TDevicelockPolicies failedPolicy;
                     TInt retLockcode = KErrNone;
+                    RDEBUG("newScpCode", 0);
+                    RDEBUGSTR( newScpCode );
+                    RDEBUG("oldScpCode", 0);
+                    RDEBUGSTR( oldScpCode );
                     retLockcode = scpClient.StoreLockcode(newScpCode, oldScpCode, aFailedPolicies);
                     RDEBUG( "retLockcode", retLockcode );
                     RDEBUG( "KErrAccessDenied", KErrAccessDenied );
@@ -2438,6 +2486,8 @@
                     if(retLockcode!=KErrNone)
                     	{
                     	RDEBUG("Undo password change because retLockcode", retLockcode);
+                    	if(retLockcode==KErrAccessDenied)	// this happens if CSCPSession::HandleAuthenticationMessageL doesn't include the UID
+                    		retLockcode = KErrTDevicelockPolicies+EDevicelockTotalPolicies+1;
                     	ShowResultNoteL(retLockcode, CAknNoteDialog::EConfirmationTone);
                     	
                     	// go back to previous password.
--- a/securitydialogs/lockclient/src/keyguardaccessapi.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/securitydialogs/lockclient/src/keyguardaccessapi.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -79,6 +79,8 @@
 		RDEBUG("0", 0);
     TInt value;
     TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
+    RDEBUG("err", err);
+    RDEBUG("value", value);
     if ( err == KErrNone )
         {
         switch( value )
@@ -105,6 +107,8 @@
     RDEBUG("0", 0);
     TInt value;
     TInt err = RProperty::Get(KPSUidAvkonDomain, KAknKeyguardStatus, value);
+    RDEBUG("err", err);
+    RDEBUG("value", value);
     if ( err == KErrNone )
         {
         switch( value )
--- a/securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp	Thu Sep 02 21:22:45 2010 +0300
+++ b/securitydialogs/secuinotifications/secuinotificationdialogplugin/src/secuinotificationcontentwidget.cpp	Fri Sep 17 08:35:02 2010 +0300
@@ -191,7 +191,7 @@
  		    if (queryType & ESecUiSecretSupported)
 		    	{
 					RDEBUG("ESecUiSecretSupported", ESecUiSecretSupported);
- 	    		codeTop->setEchoMode(HbLineEdit::PasswordEchoOnEdit);
+ 	    		codeTop->setEchoMode(HbLineEdit::Password);	// instead of PasswordEchoOnEdit
 		  		}
 				RDEBUG("lMaxLength", lMaxLength);
         if(lMaxLength>2)
@@ -286,7 +286,7 @@
 	 		    if (queryType & ESecUiSecretSupported)
 			    	{
 			    	RDEBUG("ESecUiSecretSupported", 0);
-	 	    		codeBottom->setEchoMode(HbLineEdit::PasswordEchoOnEdit);	// this will also remove predictive, which is what we want
+	 	    		codeBottom->setEchoMode(HbLineEdit::Password);	// this will also remove predictive, which is what we want 	(don't use PasswordEchoOnEdit)
 			  		}
 		    	RDEBUG("connecting", 0);
 	        connect(codeBottom, SIGNAL(textChanged(const QString &)), this, SIGNAL(codeBottomChanged(const QString &)));