# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1271422968 -10800 # Node ID 8962128a2656ce8628f4893f8604f1c29152eff7 # Parent 29b591713d44527da62a684faf2d2c2a92720356 Revision: 201011 Kit: 201015 diff -r 29b591713d44 -r 8962128a2656 group/bld.inf --- a/group/bld.inf Tue Feb 02 00:53:00 2010 +0200 +++ b/group/bld.inf Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-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" @@ -50,11 +50,9 @@ ../vpnui/vpnecomnotifier/rom/vpnecomnotifier.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vpnecomnotifier.iby) ../vpnui/vpndialogmanager/rom/vpndialogmanager.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vpndialogmanager.iby) -../vpnui/vpnmanagementui/rom/vpnmanagementui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vpnmanagementui.iby) ../vpnui/vpnpolins/rom/vpnpolins.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vpnpolins.iby) ../vpnui/vpnecomnotifier/rom/vpnecomnotifierResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(vpnecomnotifierResources.iby) -../vpnui/vpnmanagementui/rom/vpnmanagementuiResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(vpnmanagementuiResources.iby) #ifndef FF_GENERIC_ACCESS_NETWORK // UMA not supported ../vpnui/vpnpolicyrecognizer/rom/vpnpolicyrecognizer.iby CORE_MW_LAYER_IBY_EXPORT_PATH(vpnpolicyrecognizer.iby) @@ -110,7 +108,6 @@ #include "../vpnengine/pkiservice/group/bld.inf" #include "../vpnengine/vpnconnagt/group/bld.inf" #include "../vpnengine/vpnmanager/group/bld.inf" -#include "../vpnui/vpnmanagementui/group/bld.inf" #include "../vpnui/vpnpolins/group/bld.inf" #include "../vpnui/vpnpolicyrecognizer/group/bld.inf" #include "../vpnengine/vpncleaner/group/bld.inf" diff -r 29b591713d44 -r 8962128a2656 group/vpnclient_version_update.flm --- a/group/vpnclient_version_update.flm Tue Feb 02 00:53:00 2010 +0200 +++ b/group/vpnclient_version_update.flm Fri Apr 16 16:02:48 2010 +0300 @@ -2,7 +2,7 @@ # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" +# 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". # diff -r 29b591713d44 -r 8962128a2656 group/vpnclient_version_update.xml --- a/group/vpnclient_version_update.xml Tue Feb 02 00:53:00 2010 +0200 +++ b/group/vpnclient_version_update.xml Fri Apr 16 16:02:48 2010 +0300 @@ -4,7 +4,7 @@ # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" +# 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". # @@ -19,7 +19,7 @@ # Name : vpnclient_version_update.xml # Part of : vpnclient # Description : -# Version : %version: 1 % +# Version : %version: 2 % # ============================================================================ --> diff -r 29b591713d44 -r 8962128a2656 layers.sysdef.xml --- a/layers.sysdef.xml Tue Feb 02 00:53:00 2010 +0200 +++ b/layers.sysdef.xml Fri Apr 16 16:02:48 2010 +0300 @@ -8,8 +8,7 @@ + mrp="" bldFile="&layer_real_source_path;/group" name="vpnclient" /> diff -r 29b591713d44 -r 8962128a2656 package_definition.xml --- a/package_definition.xml Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 29b591713d44 -r 8962128a2656 vpnc_plat/vpnapi/group/bld.inf --- a/vpnc_plat/vpnapi/group/bld.inf Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnc_plat/vpnapi/group/bld.inf Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-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,14 +15,12 @@ * */ - #include PRJ_PLATFORMS DEFAULT PRJ_EXPORTS - ../inc/vpnapidefs.h /epoc32/include/vpnapidefs.h - ../inc/vpnapidefs.h MW_LAYER_PLATFORM_EXPORT_PATH(vpnapidefs.h) - ../inc/vpnnotifierdefs.h MW_LAYER_PLATFORM_EXPORT_PATH(vpnnotifierdefs.h) - ../inc/vpnapi.h MW_LAYER_PLATFORM_EXPORT_PATH(vpnapi.h) + ../inc/vpnapidefs.h MW_LAYER_PLATFORM_EXPORT_PATH(vpnapidefs.h) + ../inc/vpnapi.h MW_LAYER_PLATFORM_EXPORT_PATH(vpnapi.h) + ../inc/vpnsipobserverpskeys.h MW_LAYER_PLATFORM_EXPORT_PATH(vpnsipobserverpskeys.h) diff -r 29b591713d44 -r 8962128a2656 vpnc_plat/vpnapi/inc/vpnnotifierdefs.h --- a/vpnc_plat/vpnapi/inc/vpnnotifierdefs.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,184 +0,0 @@ -/* -* Copyright (c) 2003-2006 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: VPN notifier definitions -* -*/ - - -#ifndef __VPNNOTIFIERDEFS_H__ -#define __VPNNOTIFIERDEFS_H__ - -/** - @file - @released - @publishedPartner - - VPN Notifier definitions -*/ -class TNoteDialog - { -public: - enum TDialogId - { - EInfo = -10, - EWarning, - EError - }; - }; - -class TVpnDialogInfo - { -public: - TVpnDialogInfo() - { - iDialogId = 0; - iNoteDialogId = 0; - } - - TVpnDialogInfo(TInt aDialogId, TInt aNoteDialogId) - { - iDialogId = aDialogId; - iNoteDialogId = aNoteDialogId; - } - - TInt DialogId() {return iDialogId;} - TInt NoteDialogId() {return iNoteDialogId;} - -private: - TInt iDialogId; - TInt iNoteDialogId; - }; - -class TVpnDialogOutput - { -public: - TVpnDialogOutput() - { - Clear(); - } - void Clear() - { - iOutBuf.SetLength(0); - iOutBuf2.SetLength(0); - iOutInt = 0; - iOutInt2 = 0; - } - -public: - TBuf<256> iOutBuf; - TBuf<64> iOutBuf2; - TInt iOutInt; - TInt iOutInt2; - }; - -// typedefs for backward compatibility -// typedef new_type old_type -typedef TVpnDialogInfo TIPSecDialogInfo; -typedef TVpnDialogOutput TIPSecDialogOutput; - - -// -// KMD notifier definitions -// -const TUid KUidKmdDialogNotifier = {0x101F513F}; - -_LIT(KKmdNotifierResource, "\\resource\\KMDNOTIFIER.RSC"); - -class TKmdDialog - { -public: - enum TDialogId - { - EUserPwd = 1, // MUST be greater than the last value in enum TNoteDialog::TDialogId - ESecurIdPin, - ESecurIdNextPin, - EChallengeResponse, - EUsername - }; - //added here for backward compatibility - enum TDialogId_OLD_STYLE - { - //EUserPwd = 1, // MUST be greater than the last value in enum TNoteDialog::TDialogId - ESecurIDPIN = 2, - ESecurIDNextPIN - }; - }; - -class TKmdNoteDialog - { -public: - enum TTextId - { - ELamTypeNotSupported = 1, - EAuthenticationFailed, - ECryptoLibraryTooWeak - }; - //added here for backward compatibility - enum TTextId_OLD_STYLE - { - ELAMTypeNotSupported = 1//, - //EAuthenticationFailed, - //ECryptoLibraryTooWeak - }; - }; - -// typedefs for backward compatibility -// typedef existing_type old_type -typedef TKmdDialog TKMDDialog; - -typedef TKmdNoteDialog TKMDNoteDialog; - -// -// PKI notifier definitions -// -_LIT(KPkiNotifierResource,"\\resource\\PKINOTIFIER.RSC"); - -const TUid KUidPkiDialogNotifier = {0x101FAE08}; - -class TPkiDialog - { -public: - enum TDialogId - { - EEnterPwd = 1, // MUST be greater than the last value in enum TNoteDialog::TDialogId (vpnnotifierdefs.h) - EChangeActivePwd, - EInstallVpnPwd, - ECurrentVpnPwd, - EChangePwd, - EDefinePwd, - EEnterImportPwd - }; - }; - -class TPkiNoteDialog - { -public: - enum TTextId - { - EWrongSecurityPwdNote = 1, - EWrongActivatePwdNote, - EActivatePwdErrorNote, - EPwdConfirmationNote, - ECryptoLibraryTooWeak, - EPwdTooShort, - EPwdEmpty - }; - }; - -// typedefs for backward compatibility -// typedef new_type old_type -typedef TPkiDialog TIPSecDialog; -typedef TPkiNoteDialog TIPSecNoteDialog; // this was only used in pkinotifier (ipsecnotifier) - -#endif // __VPNNOTIFIERDEFS_H__ diff -r 29b591713d44 -r 8962128a2656 vpnc_plat/vpnapi/inc/vpnsipobserverpskeys.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnc_plat/vpnapi/inc/vpnsipobserverpskeys.h Fri Apr 16 16:02:48 2010 +0300 @@ -0,0 +1,44 @@ +/* +* 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 : P&S key definition for communication between VPN client +* and SIP Profile server +* +*/ + +#ifndef VPNSIPOBSERVERPSKEYS_H +#define VPNSIPOBSERVERPSKEYS_H + + +/** +* PubSub keys +*/ + +const TUid KPSVpnSipUid = {0x101FD285}; // UID of vpnapi + +const TUint KVpnSipState = 0x00000001; + +enum TVpnSipState +{ + /** Initial value */ + EVpnUndefined = 0, + /** Vpn is about to be started */ + EVpnInitiating, // VPN -> SIP + /** Vpn ended */ + EVpnTerminated, // VPN -> SIP + /** Deregister complete */ + ESipDeregisterCompleted // SIP -> VPN +}; + + +#endif // VPNSIPOBSERVERPSKEYS_H diff -r 29b591713d44 -r 8962128a2656 vpnclient_sis/group/nokia_vpn_client_localised_armv5_udeb.pkg --- a/vpnclient_sis/group/nokia_vpn_client_localised_armv5_udeb.pkg Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnclient_sis/group/nokia_vpn_client_localised_armv5_udeb.pkg Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ ; -; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +; Copyright (c) 2009-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" @@ -274,64 +274,6 @@ ;"\epoc32\data\z\resource\errors\vpnerr.r01"-"!:\resource\Errors\vpnerr.r01" ;"\epoc32\data\z\resource\errors\vpnerr.rsc"-"!:\resource\Errors\vpnerr.rsc" -; VPN Management UI -"\epoc32\release\armv5\udeb\vpnmanagementui.dll"-"!:\sys\bin\vpnmanagementui.dll" - -{ -"\epoc32\data\z\resource\vpnmanagementuirsc.r01" -"\epoc32\data\z\resource\vpnmanagementuirsc.r02" -"\epoc32\data\z\resource\vpnmanagementuirsc.r03" -"\epoc32\data\z\resource\vpnmanagementuirsc.r04" -"\epoc32\data\z\resource\vpnmanagementuirsc.r05" -"\epoc32\data\z\resource\vpnmanagementuirsc.r06" -"\epoc32\data\z\resource\vpnmanagementuirsc.r07" -"\epoc32\data\z\resource\vpnmanagementuirsc.r08" -"\epoc32\data\z\resource\vpnmanagementuirsc.r09" -"\epoc32\data\z\resource\vpnmanagementuirsc.r10" -"\epoc32\data\z\resource\vpnmanagementuirsc.r13" -"\epoc32\data\z\resource\vpnmanagementuirsc.r14" -"\epoc32\data\z\resource\vpnmanagementuirsc.r15" -"\epoc32\data\z\resource\vpnmanagementuirsc.r16" -"\epoc32\data\z\resource\vpnmanagementuirsc.r17" -"\epoc32\data\z\resource\vpnmanagementuirsc.r18" -"\epoc32\data\z\resource\vpnmanagementuirsc.r25" -"\epoc32\data\z\resource\vpnmanagementuirsc.r26" -"\epoc32\data\z\resource\vpnmanagementuirsc.r27" -"\epoc32\data\z\resource\vpnmanagementuirsc.r28" -"\epoc32\data\z\resource\vpnmanagementuirsc.r29" -"\epoc32\data\z\resource\vpnmanagementuirsc.r30" -"\epoc32\data\z\resource\vpnmanagementuirsc.r31" -"\epoc32\data\z\resource\vpnmanagementuirsc.r32" -"\epoc32\data\z\resource\vpnmanagementuirsc.r33" -"\epoc32\data\z\resource\vpnmanagementuirsc.r37" -"\epoc32\data\z\resource\vpnmanagementuirsc.r39" -"\epoc32\data\z\resource\vpnmanagementuirsc.r42" -"\epoc32\data\z\resource\vpnmanagementuirsc.r45" -"\epoc32\data\z\resource\vpnmanagementuirsc.r49" -"\epoc32\data\z\resource\vpnmanagementuirsc.r50" -"\epoc32\data\z\resource\vpnmanagementuirsc.r51" -"\epoc32\data\z\resource\vpnmanagementuirsc.r54" -"\epoc32\data\z\resource\vpnmanagementuirsc.r57" -"\epoc32\data\z\resource\vpnmanagementuirsc.r59" -"\epoc32\data\z\resource\vpnmanagementuirsc.r67" -"\epoc32\data\z\resource\vpnmanagementuirsc.r68" -"\epoc32\data\z\resource\vpnmanagementuirsc.r70" -"\epoc32\data\z\resource\vpnmanagementuirsc.r76" -"\epoc32\data\z\resource\vpnmanagementuirsc.r78" -"\epoc32\data\z\resource\vpnmanagementuirsc.r79" -"\epoc32\data\z\resource\vpnmanagementuirsc.r83" -"\epoc32\data\z\resource\vpnmanagementuirsc.r93" -"\epoc32\data\z\resource\vpnmanagementuirsc.r94" -"\epoc32\data\z\resource\vpnmanagementuirsc.r96" -"\epoc32\data\z\resource\vpnmanagementuirsc.r44" -"\epoc32\data\z\resource\vpnmanagementuirsc.r102" -"\epoc32\data\z\resource\vpnmanagementuirsc.r103" -}-"!:\resource\vpnmanagementuirsc.rsc" - -; icon and GS plugin registration file -"\epoc32\data\z\resource\apps\vpnmanagementui.mif"-"!:\resource\apps\vpnmanagementui.mif" -"\epoc32\data\Z\resource\plugins\vpnmanagementui.rsc"-"!:\resource\plugins\vpnmanagementui.rsc" - ; VPN help resources ; Localized help files are missing, thus use only EE ; Help resources should be already in ROM but content can be updated from SIS package @@ -478,7 +420,6 @@ ; EN - 01 - English IF EXISTS ("z:\resource\avkon.r01") "\epoc32\data\z\resource\vpnecomnotifier.r01"-"!:\resource\vpnecomnotifier.r01" -"\epoc32\data\z\resource\vpnmanagementuirsc.r01"-"!:\resource\vpnmanagementui.r01" IF NOT EXISTS ("z:\resource\xhtml\01\0x10200EC4\index.xml") "\epoc32\data\Z\resource\xhtml\01\0x10200EC4\index.xml"-"!:\resource\xhtml\01\0x10200EC4\index.xml" "\epoc32\data\Z\resource\xhtml\01\0x10200EC4\keywords.xml"-"!:\resource\xhtml\01\0x10200EC4\keywords.xml" @@ -489,232 +430,186 @@ ; FR - 02 - French IF EXISTS ("z:\resource\avkon.r02") "\epoc32\data\z\resource\vpnecomnotifier.r02"-"!:\resource\vpnecomnotifier.r02" -"\epoc32\data\z\resource\vpnmanagementuirsc.r02"-"!:\resource\vpnmanagementui.r02" ENDIF ; GE - 03 - German IF EXISTS ("z:\resource\avkon.r03") "\epoc32\data\z\resource\vpnecomnotifier.r03"-"!:\resource\vpnecomnotifier.r03" -"\epoc32\data\z\resource\vpnmanagementuirsc.r03"-"!:\resource\vpnmanagementui.r03" ENDIF ; SP - 04 - Spanish IF EXISTS ("z:\resource\avkon.r04") "\epoc32\data\z\resource\vpnecomnotifier.r04"-"!:\resource\vpnecomnotifier.r04" -"\epoc32\data\z\resource\vpnmanagementuirsc.r04"-"!:\resource\vpnmanagementui.r04" ENDIF ; IT - 05 - Italian IF EXISTS ("z:\resource\avkon.r05") "\epoc32\data\z\resource\vpnecomnotifier.r05"-"!:\resource\vpnecomnotifier.r05" -"\epoc32\data\z\resource\vpnmanagementuirsc.r05"-"!:\resource\vpnmanagementui.r05" ENDIF ; SW - 06 - Swedish IF EXISTS ("z:\resource\avkon.r06") "\epoc32\data\z\resource\vpnecomnotifier.r06"-"!:\resource\vpnecomnotifier.r06" -"\epoc32\data\z\resource\vpnmanagementuirsc.r06"-"!:\resource\vpnmanagementui.r06" ENDIF ; DA - 07 - Danish IF EXISTS ("z:\resource\avkon.r07") "\epoc32\data\z\resource\vpnecomnotifier.r07"-"!:\resource\vpnecomnotifier.r07" -"\epoc32\data\z\resource\vpnmanagementuirsc.r07"-"!:\resource\vpnmanagementui.r07" ENDIF ; NO - 08 - Norwegian IF EXISTS ("z:\resource\avkon.r08") "\epoc32\data\z\resource\vpnecomnotifier.r08"-"!:\resource\vpnecomnotifier.r08" -"\epoc32\data\z\resource\vpnmanagementuirsc.r08"-"!:\resource\vpnmanagementui.r08" ENDIF ; FI - 09 - Finnish IF EXISTS ("z:\resource\avkon.r09") "\epoc32\data\z\resource\vpnecomnotifier.r09"-"!:\resource\vpnecomnotifier.r09" -"\epoc32\data\z\resource\vpnmanagementuirsc.r09"-"!:\resource\vpnmanagementui.r09" ENDIF ; AM - 10 - American IF EXISTS ("z:\resource\avkon.r10") "\epoc32\data\z\resource\vpnecomnotifier.r10"-"!:\resource\vpnecomnotifier.r10" -"\epoc32\data\z\resource\vpnmanagementuirsc.r10"-"!:\resource\vpnmanagementui.r10" ENDIF ; PO - 13 - Portuguese IF EXISTS ("z:\resource\avkon.r13") "\epoc32\data\z\resource\vpnecomnotifier.r13"-"!:\resource\vpnecomnotifier.r13" -"\epoc32\data\z\resource\vpnmanagementuirsc.r13"-"!:\resource\vpnmanagementui.r13" ENDIF ; TU - 14 - Turkish IF EXISTS ("z:\resource\avkon.r14") "\epoc32\data\z\resource\vpnecomnotifier.r14"-"!:\resource\vpnecomnotifier.r14" -"\epoc32\data\z\resource\vpnmanagementuirsc.r14"-"!:\resource\vpnmanagementui.r14" ENDIF ; IC - 15 - Icelandic IF EXISTS ("z:\resource\avkon.r15") "\epoc32\data\z\resource\vpnecomnotifier.r15"-"!:\resource\vpnecomnotifier.r15" -"\epoc32\data\z\resource\vpnmanagementuirsc.r15"-"!:\resource\vpnmanagementui.r15" ENDIF ; RU - 16 - Russian IF EXISTS ("z:\resource\avkon.r16") "\epoc32\data\z\resource\vpnecomnotifier.r16"-"!:\resource\vpnecomnotifier.r16" -"\epoc32\data\z\resource\vpnmanagementuirsc.r16"-"!:\resource\vpnmanagementui.r16" ENDIF ; HU - 17 - Hungarian IF EXISTS ("z:\resource\avkon.r17") "\epoc32\data\z\resource\vpnecomnotifier.r17"-"!:\resource\vpnecomnotifier.r17" -"\epoc32\data\z\resource\vpnmanagementuirsc.r17"-"!:\resource\vpnmanagementui.r17" ENDIF ; DU - 18 - Dutch IF EXISTS ("z:\resource\avkon.r18") "\epoc32\data\z\resource\vpnecomnotifier.r18"-"!:\resource\vpnecomnotifier.r18" -"\epoc32\data\z\resource\vpnmanagementuirsc.r18"-"!:\resource\vpnmanagementui.r18" ENDIF ; CS - 25 - Czech IF EXISTS ("z:\resource\avkon.r25") "\epoc32\data\z\resource\vpnecomnotifier.r25"-"!:\resource\vpnecomnotifier.r25" -"\epoc32\data\z\resource\vpnmanagementuirsc.r25"-"!:\resource\vpnmanagementui.r25" ENDIF ; SK - 26 - Slovak IF EXISTS ("z:\resource\avkon.r26") "\epoc32\data\z\resource\vpnecomnotifier.r26"-"!:\resource\vpnecomnotifier.r26" -"\epoc32\data\z\resource\vpnmanagementuirsc.r26"-"!:\resource\vpnmanagementui.r26" ENDIF ; PL - 27 - Polish IF EXISTS ("z:\resource\avkon.r27") "\epoc32\data\z\resource\vpnecomnotifier.r27"-"!:\resource\vpnecomnotifier.r27" -"\epoc32\data\z\resource\vpnmanagementuirsc.r27"-"!:\resource\vpnmanagementui.r27" ENDIF ; SL - 28 - Slovenian IF EXISTS ("z:\resource\avkon.r28") "\epoc32\data\z\resource\vpnecomnotifier.r28"-"!:\resource\vpnecomnotifier.r28" -"\epoc32\data\z\resource\vpnmanagementuirsc.r28"-"!:\resource\vpnmanagementui.r28" ENDIF ; TC - 29 - TaiwanChinese IF EXISTS ("z:\resource\avkon.r29") "\epoc32\data\z\resource\vpnecomnotifier.r29"-"!:\resource\vpnecomnotifier.r29" -"\epoc32\data\z\resource\vpnmanagementuirsc.r29"-"!:\resource\vpnmanagementui.r29" ENDIF ; HK - 30 - HongKongChinese IF EXISTS ("z:\resource\avkon.r30") "\epoc32\data\z\resource\vpnecomnotifier.r30"-"!:\resource\vpnecomnotifier.r30" -"\epoc32\data\z\resource\vpnmanagementuirsc.r30"-"!:\resource\vpnmanagementui.r30" ENDIF ; ZH - 31 - PrcChinese IF EXISTS ("z:\resource\avkon.r31") "\epoc32\data\z\resource\vpnecomnotifier.r31"-"!:\resource\vpnecomnotifier.r31" -"\epoc32\data\z\resource\vpnmanagementuirsc.r31"-"!:\resource\vpnmanagementui.r31" ENDIF ; JA - 32 - Japanese IF EXISTS ("z:\resource\avkon.r32") "\epoc32\data\z\resource\vpnecomnotifier.r32"-"!:\resource\vpnecomnotifier.r32" -"\epoc32\data\z\resource\vpnmanagementuirsc.r32"-"!:\resource\vpnmanagementui.r32" ENDIF ; TH - 33 - Thai IF EXISTS ("z:\resource\avkon.r33") "\epoc32\data\z\resource\vpnecomnotifier.r33"-"!:\resource\vpnecomnotifier.r33" -"\epoc32\data\z\resource\vpnmanagementuirsc.r33"-"!:\resource\vpnmanagementui.r33" ENDIF ; AR - 37 - Arabic IF EXISTS ("z:\resource\avkon.r37") "\epoc32\data\z\resource\vpnecomnotifier.r37"-"!:\resource\vpnecomnotifier.r37" -"\epoc32\data\z\resource\vpnmanagementuirsc.r37"-"!:\resource\vpnmanagementui.r37" ENDIF ; TL - 39 - Tagalog IF EXISTS ("z:\resource\avkon.r39") "\epoc32\data\z\resource\vpnecomnotifier.r39"-"!:\resource\vpnecomnotifier.r39" -"\epoc32\data\z\resource\vpnmanagementuirsc.r39"-"!:\resource\vpnmanagementui.r39" ENDIF ; BG - 42 - Bulgarian IF EXISTS ("z:\resource\avkon.r42") "\epoc32\data\z\resource\vpnecomnotifier.r42"-"!:\resource\vpnecomnotifier.r42" -"\epoc32\data\z\resource\vpnmanagementuirsc.r42"-"!:\resource\vpnmanagementui.r42" ENDIF ; HR - 45 - Croatian IF EXISTS ("z:\resource\avkon.r45") "\epoc32\data\z\resource\vpnecomnotifier.r45"-"!:\resource\vpnecomnotifier.r45" -"\epoc32\data\z\resource\vpnmanagementuirsc.r45"-"!:\resource\vpnmanagementui.r45" ENDIF ; ET - 49 - Estonian IF EXISTS ("z:\resource\avkon.r49") "\epoc32\data\z\resource\vpnecomnotifier.r49"-"!:\resource\vpnecomnotifier.r49" -"\epoc32\data\z\resource\vpnmanagementuirsc.r49"-"!:\resource\vpnmanagementui.r49" ENDIF ; FA - 50 - Farsi IF EXISTS ("z:\resource\avkon.r50") "\epoc32\data\z\resource\vpnecomnotifier.r50"-"!:\resource\vpnecomnotifier.r50" -"\epoc32\data\z\resource\vpnmanagementuirsc.r50"-"!:\resource\vpnmanagementui.r50" ENDIF ; CF - 51 - CanadianFrench IF EXISTS ("z:\resource\avkon.r51") "\epoc32\data\z\resource\vpnecomnotifier.r51"-"!:\resource\vpnecomnotifier.r51" -"\epoc32\data\z\resource\vpnmanagementuirsc.r51"-"!:\resource\vpnmanagementui.r51" ENDIF ; EL - 54 - Greek IF EXISTS ("z:\resource\avkon.r54") "\epoc32\data\z\resource\vpnecomnotifier.r54"-"!:\resource\vpnecomnotifier.r54" -"\epoc32\data\z\resource\vpnmanagementuirsc.r54"-"!:\resource\vpnmanagementui.r54" ENDIF ; HE - 57 - Hebrew IF EXISTS ("z:\resource\avkon.r57") "\epoc32\data\z\resource\vpnecomnotifier.r57"-"!:\resource\vpnecomnotifier.r57" -"\epoc32\data\z\resource\vpnmanagementuirsc.r57"-"!:\resource\vpnmanagementui.r57" ENDIF ; IN - 59 - Indonesian IF EXISTS ("z:\resource\avkon.r59") "\epoc32\data\z\resource\vpnecomnotifier.r59"-"!:\resource\vpnecomnotifier.r59" -"\epoc32\data\z\resource\vpnmanagementuirsc.r59"-"!:\resource\vpnmanagementui.r59" ENDIF ; LV - 67 - Latvian IF EXISTS ("z:\resource\avkon.r67") "\epoc32\data\z\resource\vpnecomnotifier.r67"-"!:\resource\vpnecomnotifier.r67" -"\epoc32\data\z\resource\vpnmanagementuirsc.r67"-"!:\resource\vpnmanagementui.r67" ENDIF ; LT - 68 - Lithuanian IF EXISTS ("z:\resource\avkon.r68") "\epoc32\data\z\resource\vpnecomnotifier.r68"-"!:\resource\vpnecomnotifier.r68" -"\epoc32\data\z\resource\vpnmanagementuirsc.r68"-"!:\resource\vpnmanagementui.r68" ENDIF ; MS - 70 - Malay IF EXISTS ("z:\resource\avkon.r70") "\epoc32\data\z\resource\vpnecomnotifier.r70"-"!:\resource\vpnecomnotifier.r70" -"\epoc32\data\z\resource\vpnmanagementuirsc.r70"-"!:\resource\vpnmanagementui.r70" ENDIF ; BP - 76 - BrazilianPortuguese IF EXISTS ("z:\resource\avkon.r76") "\epoc32\data\z\resource\vpnecomnotifier.r76"-"!:\resource\vpnecomnotifier.r76" -"\epoc32\data\z\resource\vpnmanagementuirsc.r76"-"!:\resource\vpnmanagementui.r76" ENDIF ; RO - 78 - Romanian IF EXISTS ("z:\resource\avkon.r78") "\epoc32\data\z\resource\vpnecomnotifier.r78"-"!:\resource\vpnecomnotifier.r78" -"\epoc32\data\z\resource\vpnmanagementuirsc.r78"-"!:\resource\vpnmanagementui.r78" ENDIF ; SR - 79 - Serbian IF EXISTS ("z:\resource\avkon.r79") "\epoc32\data\z\resource\vpnecomnotifier.r79"-"!:\resource\vpnecomnotifier.r79" -"\epoc32\data\z\resource\vpnmanagementuirsc.r79"-"!:\resource\vpnmanagementui.r79" ENDIF ; LS - 83 - LatinAmericanSpanish IF EXISTS ("z:\resource\avkon.r83") "\epoc32\data\z\resource\vpnecomnotifier.r83"-"!:\resource\vpnecomnotifier.r83" -"\epoc32\data\z\resource\vpnmanagementuirsc.r83"-"!:\resource\vpnmanagementui.r83" ENDIF ; UK - 93 - Ukrainian IF EXISTS ("z:\resource\avkon.r93") "\epoc32\data\z\resource\vpnecomnotifier.r93"-"!:\resource\vpnecomnotifier.r93" -"\epoc32\data\z\resource\vpnmanagementuirsc.r93"-"!:\resource\vpnmanagementui.r93" ENDIF ; UR - 94 - Urdu IF EXISTS ("z:\resource\avkon.r94") "\epoc32\data\z\resource\vpnecomnotifier.r94"-"!:\resource\vpnecomnotifier.r94" -"\epoc32\data\z\resource\vpnmanagementuirsc.r94"-"!:\resource\vpnmanagementui.r94" ENDIF ; VI - 96 - Vietnamese IF EXISTS ("z:\resource\avkon.r96") "\epoc32\data\z\resource\vpnecomnotifier.r96"-"!:\resource\vpnecomnotifier.r96" -"\epoc32\data\z\resource\vpnmanagementuirsc.r96"-"!:\resource\vpnmanagementui.r96" ENDIF ; - 44 - Catalan IF EXISTS ("z:\resource\avkon.r44") "\epoc32\data\z\resource\vpnecomnotifier.r44"-"!:\resource\vpnecomnotifier.r44" -"\epoc32\data\z\resource\vpnmanagementuirsc.r44"-"!:\resource\vpnmanagementui.r44" ENDIF ; - 102 - Basque IF EXISTS ("z:\resource\avkon.r102") "\epoc32\data\z\resource\vpnecomnotifier.r102"-"!:\resource\vpnecomnotifier.r102" -"\epoc32\data\z\resource\vpnmanagementuirsc.r102"-"!:\resource\vpnmanagementui.r102" ; Helps do not support language id 102 yet ;IF NOT EXISTS ("z:\resource\xhtml\102\0x10200EC4\index.xml") ;"\epoc32\data\Z\resource\xhtml\102\0x10200EC4\index.xml"-"!:\resource\xhtml\102\0x10200EC4\index.xml" @@ -726,7 +621,6 @@ ; - 103 - Galicia IF EXISTS ("z:\resource\avkon.r103") "\epoc32\data\z\resource\vpnecomnotifier.r103"-"!:\resource\vpnecomnotifier.r103" -"\epoc32\data\z\resource\vpnmanagementuirsc.r103"-"!:\resource\vpnmanagementui.r103" ; Helps do not support language 103 yet ;IF NOT EXISTS ("z:\resource\xhtml\103\0x10200EC4\index.xml") ;"\epoc32\data\Z\resource\xhtml\103\0x10200EC4\index.xml"-"!:\resource\xhtml\103\0x10200EC4\index.xml" diff -r 29b591713d44 -r 8962128a2656 vpnclient_sis/group/nokia_vpn_client_localised_armv5_urel.pkg --- a/vpnclient_sis/group/nokia_vpn_client_localised_armv5_urel.pkg Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnclient_sis/group/nokia_vpn_client_localised_armv5_urel.pkg Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ ; -; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +; Copyright (c) 2009-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" @@ -274,64 +274,6 @@ ;"\epoc32\data\z\resource\errors\vpnerr.r01"-"!:\resource\Errors\vpnerr.r01" ;"\epoc32\data\z\resource\errors\vpnerr.rsc"-"!:\resource\Errors\vpnerr.rsc" -; VPN Management UI -"\epoc32\release\armv5\urel\vpnmanagementui.dll"-"!:\sys\bin\vpnmanagementui.dll" - -{ -"\epoc32\data\z\resource\vpnmanagementuirsc.r01" -"\epoc32\data\z\resource\vpnmanagementuirsc.r02" -"\epoc32\data\z\resource\vpnmanagementuirsc.r03" -"\epoc32\data\z\resource\vpnmanagementuirsc.r04" -"\epoc32\data\z\resource\vpnmanagementuirsc.r05" -"\epoc32\data\z\resource\vpnmanagementuirsc.r06" -"\epoc32\data\z\resource\vpnmanagementuirsc.r07" -"\epoc32\data\z\resource\vpnmanagementuirsc.r08" -"\epoc32\data\z\resource\vpnmanagementuirsc.r09" -"\epoc32\data\z\resource\vpnmanagementuirsc.r10" -"\epoc32\data\z\resource\vpnmanagementuirsc.r13" -"\epoc32\data\z\resource\vpnmanagementuirsc.r14" -"\epoc32\data\z\resource\vpnmanagementuirsc.r15" -"\epoc32\data\z\resource\vpnmanagementuirsc.r16" -"\epoc32\data\z\resource\vpnmanagementuirsc.r17" -"\epoc32\data\z\resource\vpnmanagementuirsc.r18" -"\epoc32\data\z\resource\vpnmanagementuirsc.r25" -"\epoc32\data\z\resource\vpnmanagementuirsc.r26" -"\epoc32\data\z\resource\vpnmanagementuirsc.r27" -"\epoc32\data\z\resource\vpnmanagementuirsc.r28" -"\epoc32\data\z\resource\vpnmanagementuirsc.r29" -"\epoc32\data\z\resource\vpnmanagementuirsc.r30" -"\epoc32\data\z\resource\vpnmanagementuirsc.r31" -"\epoc32\data\z\resource\vpnmanagementuirsc.r32" -"\epoc32\data\z\resource\vpnmanagementuirsc.r33" -"\epoc32\data\z\resource\vpnmanagementuirsc.r37" -"\epoc32\data\z\resource\vpnmanagementuirsc.r39" -"\epoc32\data\z\resource\vpnmanagementuirsc.r42" -"\epoc32\data\z\resource\vpnmanagementuirsc.r45" -"\epoc32\data\z\resource\vpnmanagementuirsc.r49" -"\epoc32\data\z\resource\vpnmanagementuirsc.r50" -"\epoc32\data\z\resource\vpnmanagementuirsc.r51" -"\epoc32\data\z\resource\vpnmanagementuirsc.r54" -"\epoc32\data\z\resource\vpnmanagementuirsc.r57" -"\epoc32\data\z\resource\vpnmanagementuirsc.r59" -"\epoc32\data\z\resource\vpnmanagementuirsc.r67" -"\epoc32\data\z\resource\vpnmanagementuirsc.r68" -"\epoc32\data\z\resource\vpnmanagementuirsc.r70" -"\epoc32\data\z\resource\vpnmanagementuirsc.r76" -"\epoc32\data\z\resource\vpnmanagementuirsc.r78" -"\epoc32\data\z\resource\vpnmanagementuirsc.r79" -"\epoc32\data\z\resource\vpnmanagementuirsc.r83" -"\epoc32\data\z\resource\vpnmanagementuirsc.r93" -"\epoc32\data\z\resource\vpnmanagementuirsc.r94" -"\epoc32\data\z\resource\vpnmanagementuirsc.r96" -"\epoc32\data\z\resource\vpnmanagementuirsc.r44" -"\epoc32\data\z\resource\vpnmanagementuirsc.r102" -"\epoc32\data\z\resource\vpnmanagementuirsc.r103" -}-"!:\resource\vpnmanagementuirsc.rsc" - -; icon and GS plugin registration file -"\epoc32\data\z\resource\apps\vpnmanagementui.mif"-"!:\resource\apps\vpnmanagementui.mif" -"\epoc32\data\Z\resource\plugins\vpnmanagementui.rsc"-"!:\resource\plugins\vpnmanagementui.rsc" - ; VPN help resources (not localized yet) ; Help resources should be already in ROM but content can be updated from SIS package ;"\epoc32\data\Z\resource\xhtml\01\0x10200EC4\contents.zip"-"!:\resource\xhtml\01\0x10200EC4\contents.zip" @@ -475,7 +417,6 @@ ; EN - 01 - English IF EXISTS ("z:\resource\avkon.r01") "\epoc32\data\z\resource\vpnecomnotifier.r01"-"!:\resource\vpnecomnotifier.r01" -"\epoc32\data\z\resource\vpnmanagementuirsc.r01"-"!:\resource\vpnmanagementui.r01" IF NOT EXISTS ("z:\resource\xhtml\01\0x10200EC4\index.xml") "\epoc32\data\Z\resource\xhtml\01\0x10200EC4\index.xml"-"!:\resource\xhtml\01\0x10200EC4\index.xml" "\epoc32\data\Z\resource\xhtml\01\0x10200EC4\keywords.xml"-"!:\resource\xhtml\01\0x10200EC4\keywords.xml" @@ -486,232 +427,186 @@ ; FR - 02 - French IF EXISTS ("z:\resource\avkon.r02") "\epoc32\data\z\resource\vpnecomnotifier.r02"-"!:\resource\vpnecomnotifier.r02" -"\epoc32\data\z\resource\vpnmanagementuirsc.r02"-"!:\resource\vpnmanagementui.r02" ENDIF ; GE - 03 - German IF EXISTS ("z:\resource\avkon.r03") "\epoc32\data\z\resource\vpnecomnotifier.r03"-"!:\resource\vpnecomnotifier.r03" -"\epoc32\data\z\resource\vpnmanagementuirsc.r03"-"!:\resource\vpnmanagementui.r03" ENDIF ; SP - 04 - Spanish IF EXISTS ("z:\resource\avkon.r04") "\epoc32\data\z\resource\vpnecomnotifier.r04"-"!:\resource\vpnecomnotifier.r04" -"\epoc32\data\z\resource\vpnmanagementuirsc.r04"-"!:\resource\vpnmanagementui.r04" ENDIF ; IT - 05 - Italian IF EXISTS ("z:\resource\avkon.r05") "\epoc32\data\z\resource\vpnecomnotifier.r05"-"!:\resource\vpnecomnotifier.r05" -"\epoc32\data\z\resource\vpnmanagementuirsc.r05"-"!:\resource\vpnmanagementui.r05" ENDIF ; SW - 06 - Swedish IF EXISTS ("z:\resource\avkon.r06") "\epoc32\data\z\resource\vpnecomnotifier.r06"-"!:\resource\vpnecomnotifier.r06" -"\epoc32\data\z\resource\vpnmanagementuirsc.r06"-"!:\resource\vpnmanagementui.r06" ENDIF ; DA - 07 - Danish IF EXISTS ("z:\resource\avkon.r07") "\epoc32\data\z\resource\vpnecomnotifier.r07"-"!:\resource\vpnecomnotifier.r07" -"\epoc32\data\z\resource\vpnmanagementuirsc.r07"-"!:\resource\vpnmanagementui.r07" ENDIF ; NO - 08 - Norwegian IF EXISTS ("z:\resource\avkon.r08") "\epoc32\data\z\resource\vpnecomnotifier.r08"-"!:\resource\vpnecomnotifier.r08" -"\epoc32\data\z\resource\vpnmanagementuirsc.r08"-"!:\resource\vpnmanagementui.r08" ENDIF ; FI - 09 - Finnish IF EXISTS ("z:\resource\avkon.r09") "\epoc32\data\z\resource\vpnecomnotifier.r09"-"!:\resource\vpnecomnotifier.r09" -"\epoc32\data\z\resource\vpnmanagementuirsc.r09"-"!:\resource\vpnmanagementui.r09" ENDIF ; AM - 10 - American IF EXISTS ("z:\resource\avkon.r10") "\epoc32\data\z\resource\vpnecomnotifier.r10"-"!:\resource\vpnecomnotifier.r10" -"\epoc32\data\z\resource\vpnmanagementuirsc.r10"-"!:\resource\vpnmanagementui.r10" ENDIF ; PO - 13 - Portuguese IF EXISTS ("z:\resource\avkon.r13") "\epoc32\data\z\resource\vpnecomnotifier.r13"-"!:\resource\vpnecomnotifier.r13" -"\epoc32\data\z\resource\vpnmanagementuirsc.r13"-"!:\resource\vpnmanagementui.r13" ENDIF ; TU - 14 - Turkish IF EXISTS ("z:\resource\avkon.r14") "\epoc32\data\z\resource\vpnecomnotifier.r14"-"!:\resource\vpnecomnotifier.r14" -"\epoc32\data\z\resource\vpnmanagementuirsc.r14"-"!:\resource\vpnmanagementui.r14" ENDIF ; IC - 15 - Icelandic IF EXISTS ("z:\resource\avkon.r15") "\epoc32\data\z\resource\vpnecomnotifier.r15"-"!:\resource\vpnecomnotifier.r15" -"\epoc32\data\z\resource\vpnmanagementuirsc.r15"-"!:\resource\vpnmanagementui.r15" ENDIF ; RU - 16 - Russian IF EXISTS ("z:\resource\avkon.r16") "\epoc32\data\z\resource\vpnecomnotifier.r16"-"!:\resource\vpnecomnotifier.r16" -"\epoc32\data\z\resource\vpnmanagementuirsc.r16"-"!:\resource\vpnmanagementui.r16" ENDIF ; HU - 17 - Hungarian IF EXISTS ("z:\resource\avkon.r17") "\epoc32\data\z\resource\vpnecomnotifier.r17"-"!:\resource\vpnecomnotifier.r17" -"\epoc32\data\z\resource\vpnmanagementuirsc.r17"-"!:\resource\vpnmanagementui.r17" ENDIF ; DU - 18 - Dutch IF EXISTS ("z:\resource\avkon.r18") "\epoc32\data\z\resource\vpnecomnotifier.r18"-"!:\resource\vpnecomnotifier.r18" -"\epoc32\data\z\resource\vpnmanagementuirsc.r18"-"!:\resource\vpnmanagementui.r18" ENDIF ; CS - 25 - Czech IF EXISTS ("z:\resource\avkon.r25") "\epoc32\data\z\resource\vpnecomnotifier.r25"-"!:\resource\vpnecomnotifier.r25" -"\epoc32\data\z\resource\vpnmanagementuirsc.r25"-"!:\resource\vpnmanagementui.r25" ENDIF ; SK - 26 - Slovak IF EXISTS ("z:\resource\avkon.r26") "\epoc32\data\z\resource\vpnecomnotifier.r26"-"!:\resource\vpnecomnotifier.r26" -"\epoc32\data\z\resource\vpnmanagementuirsc.r26"-"!:\resource\vpnmanagementui.r26" ENDIF ; PL - 27 - Polish IF EXISTS ("z:\resource\avkon.r27") "\epoc32\data\z\resource\vpnecomnotifier.r27"-"!:\resource\vpnecomnotifier.r27" -"\epoc32\data\z\resource\vpnmanagementuirsc.r27"-"!:\resource\vpnmanagementui.r27" ENDIF ; SL - 28 - Slovenian IF EXISTS ("z:\resource\avkon.r28") "\epoc32\data\z\resource\vpnecomnotifier.r28"-"!:\resource\vpnecomnotifier.r28" -"\epoc32\data\z\resource\vpnmanagementuirsc.r28"-"!:\resource\vpnmanagementui.r28" ENDIF ; TC - 29 - TaiwanChinese IF EXISTS ("z:\resource\avkon.r29") "\epoc32\data\z\resource\vpnecomnotifier.r29"-"!:\resource\vpnecomnotifier.r29" -"\epoc32\data\z\resource\vpnmanagementuirsc.r29"-"!:\resource\vpnmanagementui.r29" ENDIF ; HK - 30 - HongKongChinese IF EXISTS ("z:\resource\avkon.r30") "\epoc32\data\z\resource\vpnecomnotifier.r30"-"!:\resource\vpnecomnotifier.r30" -"\epoc32\data\z\resource\vpnmanagementuirsc.r30"-"!:\resource\vpnmanagementui.r30" ENDIF ; ZH - 31 - PrcChinese IF EXISTS ("z:\resource\avkon.r31") "\epoc32\data\z\resource\vpnecomnotifier.r31"-"!:\resource\vpnecomnotifier.r31" -"\epoc32\data\z\resource\vpnmanagementuirsc.r31"-"!:\resource\vpnmanagementui.r31" ENDIF ; JA - 32 - Japanese IF EXISTS ("z:\resource\avkon.r32") "\epoc32\data\z\resource\vpnecomnotifier.r32"-"!:\resource\vpnecomnotifier.r32" -"\epoc32\data\z\resource\vpnmanagementuirsc.r32"-"!:\resource\vpnmanagementui.r32" ENDIF ; TH - 33 - Thai IF EXISTS ("z:\resource\avkon.r33") "\epoc32\data\z\resource\vpnecomnotifier.r33"-"!:\resource\vpnecomnotifier.r33" -"\epoc32\data\z\resource\vpnmanagementuirsc.r33"-"!:\resource\vpnmanagementui.r33" ENDIF ; AR - 37 - Arabic IF EXISTS ("z:\resource\avkon.r37") "\epoc32\data\z\resource\vpnecomnotifier.r37"-"!:\resource\vpnecomnotifier.r37" -"\epoc32\data\z\resource\vpnmanagementuirsc.r37"-"!:\resource\vpnmanagementui.r37" ENDIF ; TL - 39 - Tagalog IF EXISTS ("z:\resource\avkon.r39") "\epoc32\data\z\resource\vpnecomnotifier.r39"-"!:\resource\vpnecomnotifier.r39" -"\epoc32\data\z\resource\vpnmanagementuirsc.r39"-"!:\resource\vpnmanagementui.r39" ENDIF ; BG - 42 - Bulgarian IF EXISTS ("z:\resource\avkon.r42") "\epoc32\data\z\resource\vpnecomnotifier.r42"-"!:\resource\vpnecomnotifier.r42" -"\epoc32\data\z\resource\vpnmanagementuirsc.r42"-"!:\resource\vpnmanagementui.r42" ENDIF ; HR - 45 - Croatian IF EXISTS ("z:\resource\avkon.r45") "\epoc32\data\z\resource\vpnecomnotifier.r45"-"!:\resource\vpnecomnotifier.r45" -"\epoc32\data\z\resource\vpnmanagementuirsc.r45"-"!:\resource\vpnmanagementui.r45" ENDIF ; ET - 49 - Estonian IF EXISTS ("z:\resource\avkon.r49") "\epoc32\data\z\resource\vpnecomnotifier.r49"-"!:\resource\vpnecomnotifier.r49" -"\epoc32\data\z\resource\vpnmanagementuirsc.r49"-"!:\resource\vpnmanagementui.r49" ENDIF ; FA - 50 - Farsi IF EXISTS ("z:\resource\avkon.r50") "\epoc32\data\z\resource\vpnecomnotifier.r50"-"!:\resource\vpnecomnotifier.r50" -"\epoc32\data\z\resource\vpnmanagementuirsc.r50"-"!:\resource\vpnmanagementui.r50" ENDIF ; CF - 51 - CanadianFrench IF EXISTS ("z:\resource\avkon.r51") "\epoc32\data\z\resource\vpnecomnotifier.r51"-"!:\resource\vpnecomnotifier.r51" -"\epoc32\data\z\resource\vpnmanagementuirsc.r51"-"!:\resource\vpnmanagementui.r51" ENDIF ; EL - 54 - Greek IF EXISTS ("z:\resource\avkon.r54") "\epoc32\data\z\resource\vpnecomnotifier.r54"-"!:\resource\vpnecomnotifier.r54" -"\epoc32\data\z\resource\vpnmanagementuirsc.r54"-"!:\resource\vpnmanagementui.r54" ENDIF ; HE - 57 - Hebrew IF EXISTS ("z:\resource\avkon.r57") "\epoc32\data\z\resource\vpnecomnotifier.r57"-"!:\resource\vpnecomnotifier.r57" -"\epoc32\data\z\resource\vpnmanagementuirsc.r57"-"!:\resource\vpnmanagementui.r57" ENDIF ; IN - 59 - Indonesian IF EXISTS ("z:\resource\avkon.r59") "\epoc32\data\z\resource\vpnecomnotifier.r59"-"!:\resource\vpnecomnotifier.r59" -"\epoc32\data\z\resource\vpnmanagementuirsc.r59"-"!:\resource\vpnmanagementui.r59" ENDIF ; LV - 67 - Latvian IF EXISTS ("z:\resource\avkon.r67") "\epoc32\data\z\resource\vpnecomnotifier.r67"-"!:\resource\vpnecomnotifier.r67" -"\epoc32\data\z\resource\vpnmanagementuirsc.r67"-"!:\resource\vpnmanagementui.r67" ENDIF ; LT - 68 - Lithuanian IF EXISTS ("z:\resource\avkon.r68") "\epoc32\data\z\resource\vpnecomnotifier.r68"-"!:\resource\vpnecomnotifier.r68" -"\epoc32\data\z\resource\vpnmanagementuirsc.r68"-"!:\resource\vpnmanagementui.r68" ENDIF ; MS - 70 - Malay IF EXISTS ("z:\resource\avkon.r70") "\epoc32\data\z\resource\vpnecomnotifier.r70"-"!:\resource\vpnecomnotifier.r70" -"\epoc32\data\z\resource\vpnmanagementuirsc.r70"-"!:\resource\vpnmanagementui.r70" ENDIF ; BP - 76 - BrazilianPortuguese IF EXISTS ("z:\resource\avkon.r76") "\epoc32\data\z\resource\vpnecomnotifier.r76"-"!:\resource\vpnecomnotifier.r76" -"\epoc32\data\z\resource\vpnmanagementuirsc.r76"-"!:\resource\vpnmanagementui.r76" ENDIF ; RO - 78 - Romanian IF EXISTS ("z:\resource\avkon.r78") "\epoc32\data\z\resource\vpnecomnotifier.r78"-"!:\resource\vpnecomnotifier.r78" -"\epoc32\data\z\resource\vpnmanagementuirsc.r78"-"!:\resource\vpnmanagementui.r78" ENDIF ; SR - 79 - Serbian IF EXISTS ("z:\resource\avkon.r79") "\epoc32\data\z\resource\vpnecomnotifier.r79"-"!:\resource\vpnecomnotifier.r79" -"\epoc32\data\z\resource\vpnmanagementuirsc.r79"-"!:\resource\vpnmanagementui.r79" ENDIF ; LS - 83 - LatinAmericanSpanish IF EXISTS ("z:\resource\avkon.r83") "\epoc32\data\z\resource\vpnecomnotifier.r83"-"!:\resource\vpnecomnotifier.r83" -"\epoc32\data\z\resource\vpnmanagementuirsc.r83"-"!:\resource\vpnmanagementui.r83" ENDIF ; UK - 93 - Ukrainian IF EXISTS ("z:\resource\avkon.r93") "\epoc32\data\z\resource\vpnecomnotifier.r93"-"!:\resource\vpnecomnotifier.r93" -"\epoc32\data\z\resource\vpnmanagementuirsc.r93"-"!:\resource\vpnmanagementui.r93" ENDIF ; UR - 94 - Urdu IF EXISTS ("z:\resource\avkon.r94") "\epoc32\data\z\resource\vpnecomnotifier.r94"-"!:\resource\vpnecomnotifier.r94" -"\epoc32\data\z\resource\vpnmanagementuirsc.r94"-"!:\resource\vpnmanagementui.r94" ENDIF ; VI - 96 - Vietnamese IF EXISTS ("z:\resource\avkon.r96") "\epoc32\data\z\resource\vpnecomnotifier.r96"-"!:\resource\vpnecomnotifier.r96" -"\epoc32\data\z\resource\vpnmanagementuirsc.r96"-"!:\resource\vpnmanagementui.r96" ENDIF ; - 44 - Catalan IF EXISTS ("z:\resource\avkon.r44") "\epoc32\data\z\resource\vpnecomnotifier.r44"-"!:\resource\vpnecomnotifier.r44" -"\epoc32\data\z\resource\vpnmanagementuirsc.r44"-"!:\resource\vpnmanagementui.r44" ENDIF ; - 102 - Basque IF EXISTS ("z:\resource\avkon.r102") "\epoc32\data\z\resource\vpnecomnotifier.r102"-"!:\resource\vpnecomnotifier.r102" -"\epoc32\data\z\resource\vpnmanagementuirsc.r102"-"!:\resource\vpnmanagementui.r102" ; Helps do not support language id 102 yet ;IF NOT EXISTS ("z:\resource\xhtml\102\0x10200EC4\index.xml") ;"\epoc32\data\Z\resource\xhtml\102\0x10200EC4\index.xml"-"!:\resource\xhtml\102\0x10200EC4\index.xml" @@ -723,7 +618,6 @@ ; - 103 - Galicia IF EXISTS ("z:\resource\avkon.r103") "\epoc32\data\z\resource\vpnecomnotifier.r103"-"!:\resource\vpnecomnotifier.r103" -"\epoc32\data\z\resource\vpnmanagementuirsc.r103"-"!:\resource\vpnmanagementui.r103" ; Helps do not support language 103 yet ;IF NOT EXISTS ("z:\resource\xhtml\103\0x10200EC4\index.xml") ;"\epoc32\data\Z\resource\xhtml\103\0x10200EC4\index.xml"-"!:\resource\xhtml\103\0x10200EC4\index.xml" diff -r 29b591713d44 -r 8962128a2656 vpnclient_sis/stub_sis/group/stub_nokia_vpn_client_armv5.pkg --- a/vpnclient_sis/stub_sis/group/stub_nokia_vpn_client_armv5.pkg Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnclient_sis/stub_sis/group/stub_nokia_vpn_client_armv5.pkg Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ ; -; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +; Copyright (c) 2009-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" @@ -11,25 +11,8 @@ ; ; Contributors: ; -; Description: -; - -; ============================================================================ -; Name : stub_nokia_vpn_client_armv5.pkg -; Part of : VPN / VPN -; Description : Nokia VPN Client G1 S60 PACKAGE for Stub-SIS -; Version : %version: % +; Description: vpnclient package file for stub SIS ; -; Copyright © 2006 - 2008 Nokia. All rights reserved. -; This material, including documentation and any related computer -; programs, is protected by copyright controlled by Nokia. All -; rights are reserved. Copying, including reproducing, storing, -; adapting or translating, any or all of this material requires the -; prior written consent of Nokia. This material also contains -; confidential information which may not be disclosed to others -; without the prior written consent of Nokia. -; ============================================================================ -; Template version: 4.1 ; LANGUAGES ; - None (English only by default) @@ -285,15 +268,6 @@ ; VPN API (comes with platform) ""-"z:\sys\bin\vpnapi.dll" -; VPN Management UI -""-"z:\sys\bin\vpnmanagementui.dll" - -""-"z:\resource\vpnmanagementuirsc.r*" - -; icon and GS plugin registration file -""-"z:\resource\apps\vpnmanagementui.mif" -""-"z:\resource\plugins\vpnmanagementui.rsc" - ; VPN help resources (not localized yet) ; Help resources should be already in ROM but content can be updated from SIS package ""-"z:\resource\help\vpn.h*" diff -r 29b591713d44 -r 8962128a2656 vpnengine/eventviewer/data/vpnlogmessages1.lms --- a/vpnengine/eventviewer/data/vpnlogmessages1.lms Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/eventviewer/data/vpnlogmessages1.lms Fri Apr 16 16:02:48 2010 +0300 @@ -1,21 +1,22 @@ /* -* ============================================================================== -* Name : vpnlogmessages1.lms -* Part of : eventviewer -* Description : This is a localisation file for IPSec VPN software log messages. -* Version : %version: 3 % +* Copyright (c) 2003-2008 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". * -* Copyright © 2003-2008 Nokia. All rights reserved. -* This material, including documentation and any related computer -* programs, is protected by copyright controlled by Nokia. All -* rights are reserved. Copying, including reproducing, storing, -* adapting or translating, any or all of this material requires the -* prior written consent of Nokia. This material also contains -* confidential information which may not be disclosed to others -* without the prior written consent of Nokia. -* ============================================================================ -* Template version: 4.1 +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: * +* Description: VPN log messages +* +*/ + + +/* * Syntax of a logical name entry in this file is the following: * * // d:context description (line 1) @@ -44,6 +45,7 @@ * ============================================================================== */ + // LOCALISATION STRINGS // **VPN LOG MESSAGES diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikepolparser/src/ikepolparser.cpp --- a/vpnengine/ikepolparser/src/ikepolparser.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikepolparser/src/ikepolparser.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 1999-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" @@ -451,8 +451,11 @@ else if (token.CompareF(_L("IKE_VERSION:"))==0) //CompareF ignores case { sub_num = NextToken(); - sub_num.Val(aConf->iIkeVersion, EDecimal); - if ( aConf->iIkeVersion != 2 ) + if ( sub_num.Val(aConf->iIkeVersion, EDecimal) != KErrNone ) + { + err = KSecParserErrUnknown; + } + else if ( aConf->iIkeVersion != 2 ) aConf->iIkeVersion = 1; // IKE version 1 is currently the default } else if (token.CompareF(_L("SEND_NOTIFICATION:"))==0) //CompareF ignores case diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikesocket/group/ikesocket.mmp --- a/vpnengine/ikesocket/group/ikesocket.mmp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikesocket/group/ikesocket.mmp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -47,6 +47,5 @@ LIBRARY euser.lib LIBRARY esock.lib LIBRARY insock.lib -LIBRARY commdb.lib LIBRARY extendedconnpref.lib LIBRARY netmeta.lib diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikesocket/group/ikesocket_test.mmp --- a/vpnengine/ikesocket/group/ikesocket_test.mmp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikesocket/group/ikesocket_test.mmp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -48,6 +48,5 @@ LIBRARY euser.lib LIBRARY esock.lib LIBRARY insock.lib -LIBRARY commdb.lib LIBRARY extendedconnpref.lib LIBRARY netmeta.lib diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikesocket/inc/ikeconnection.h --- a/vpnengine/ikesocket/inc/ikeconnection.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikesocket/inc/ikeconnection.h Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -21,7 +21,6 @@ #include #include -#include #include #include "connobserver.h" #include "datatransfer.h" @@ -128,18 +127,20 @@ void ConstructL(); /** - * Creates connection preferences for SNAP usage. + * Creates connection preferences. + * @param aIapId IAP id * @param aSnapId SNAP id * @param aForcedRoaming Indicates whether forced roaming is enabled or * disabled for SNAP */ - void CreateSnapPreferencesL( const TUint32 aSnapId, - const TBool aForcedRoaming ); + void CreatePreferencesL( const TUint32 aIapId, + const TUint32 aSnapId, + const TBool aForcedRoaming ); /** - * Cleans connection preferences created for SNAP usage. + * Cleans connection preferences. */ - void CleanSnapPreferences(); + void CleanPreferences(); /** * Updates IAP id and NET id. @@ -166,7 +167,7 @@ */ void DoCancelResolveFQDNAddress(); - // from base class CActive +// from base class CActive /** * From CActive. @@ -231,12 +232,6 @@ TUint32 iSnapId; /** - * Connection preferences. - * Own. - */ - TCommDbConnPref iPrefs; - - /** * Extended connection preferences. * Own. */ diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikesocket/src/ikeconnection.cpp --- a/vpnengine/ikesocket/src/ikeconnection.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikesocket/src/ikeconnection.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -161,22 +161,13 @@ if ( err == KErrNone ) { // Start connection. - if ( iSnapId ) // SNAP + TRAP( err, CreatePreferencesL( iIapId, + iSnapId, + aForcedRoaming ) ); + if ( err == KErrNone ) { - TRAP( err, CreateSnapPreferencesL( iSnapId, - aForcedRoaming ) ); - if ( err == KErrNone ) - { - iConnection.Start( iConnPrefList, iStatus ); - } - } - else // IAP - { - // Create preference overrides. - iPrefs.SetDialogPreference( ECommDbDialogPrefDoNotPrompt ); - iPrefs.SetIapId( iIapId ); - iConnection.Start( iPrefs, iStatus ); - } + iConnection.Start( iConnPrefList, iStatus ); + } } if ( err != KErrNone ) @@ -336,17 +327,26 @@ } // --------------------------------------------------------------------------- -// Creates connection preferences for SNAP usage. Connection preferences -// list is constructed. +// Creates connection preferences. Connection preferences list is constructed. // --------------------------------------------------------------------------- // -void CIkeConnection::CreateSnapPreferencesL( const TUint32 aSnapId, - const TBool aForcedRoaming ) +void CIkeConnection::CreatePreferencesL( const TUint32 aIapId, + const TUint32 aSnapId, + const TBool aForcedRoaming ) { - CleanSnapPreferences(); + CleanPreferences(); - iExtendedPrefs.SetSnapId( aSnapId ); - iExtendedPrefs.SetForcedRoaming( aForcedRoaming ); + if ( aIapId != 0 ) + { + iExtendedPrefs.SetIapId( aIapId ); + } + else + { + iExtendedPrefs.SetSnapId( aSnapId ); + iExtendedPrefs.SetForcedRoaming( aForcedRoaming ); + } + + iExtendedPrefs.SetNoteBehaviour( TExtendedConnPref::ENoteBehaviourConnDisableNotes ); iConnPrefList.AppendL( &iExtendedPrefs ); } @@ -355,7 +355,7 @@ // Cleans connection preferences created for SNAP usage. // --------------------------------------------------------------------------- // -void CIkeConnection::CleanSnapPreferences() +void CIkeConnection::CleanPreferences() { while( iConnPrefList.Count() > 0 ) { @@ -388,7 +388,7 @@ IKESOCKET_ASSERT( iLinkObserver ); IKESOCKET_ASSERT( iState == EConnecting ); - CleanSnapPreferences(); + CleanPreferences(); TInt err( iStatus.Int() ); @@ -443,7 +443,7 @@ iState = EIdle; iConnection.Close(); - CleanSnapPreferences(); + CleanPreferences(); User::RequestComplete( iClientStatus, KErrCancel ); iClientStatus = NULL; diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikeutils/inc/ipsecsadata.h --- a/vpnengine/ikeutils/inc/ipsecsadata.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikeutils/inc/ipsecsadata.h Fri Apr 16 16:02:48 2010 +0300 @@ -33,7 +33,7 @@ class TIpsecSAData { public: - TIpsecSAData(); + IMPORT_C TIpsecSAData(); public: // data TUint8 iSAType; diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikeutils/inc/pfkeyextdatautil.h --- a/vpnengine/ikeutils/inc/pfkeyextdatautil.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikeutils/inc/pfkeyextdatautil.h Fri Apr 16 16:02:48 2010 +0300 @@ -44,7 +44,7 @@ * @param aDestinAddr Destination address * @param aOriginalAddr Peer original address */ - EXPORT_C static void BuildUdpEncExtensionData( TDes8& aExtData, + IMPORT_C static void BuildUdpEncExtensionData( TDes8& aExtData, TUint32 aNAT_D_Flags, TBool aNATDetected, TBool aNokiaNATProbeUsed, diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikeutils/inc/vpnaddrinfo.h --- a/vpnengine/ikeutils/inc/vpnaddrinfo.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikeutils/inc/vpnaddrinfo.h Fri Apr 16 16:02:48 2010 +0300 @@ -45,7 +45,7 @@ * @param aVPNAddress Internal address info (returned) * @param aDebug Debug trace interface */ - EXPORT_C static void BuildVPNAddrInfo( const CInternalAddress* aInternalAddr, + IMPORT_C static void BuildVPNAddrInfo( const CInternalAddress* aInternalAddr, const TInetAddr& aDnsServerAddr, TVPNAddress& aVPNAddress, MIkeDebug& aDebug ); diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikeutils/src/pfkeyextdatautil.cpp --- a/vpnengine/ikeutils/src/pfkeyextdatautil.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikeutils/src/pfkeyextdatautil.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -37,7 +37,7 @@ // (common macros with IPSEC) // --------------------------------------------------------------------------- // -void PFKeyExtDataUtil::BuildUdpEncExtensionData( TDes8& aExtData, +EXPORT_C void PFKeyExtDataUtil::BuildUdpEncExtensionData( TDes8& aExtData, TUint32 aNAT_D_Flags, TBool aNATDetected, TBool aNokiaNATProbeUsed, diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikeutils/src/vpnaddrinfo.cpp --- a/vpnengine/ikeutils/src/vpnaddrinfo.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikeutils/src/vpnaddrinfo.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -29,7 +29,7 @@ // Build internal address info object from internal address information. // --------------------------------------------------------------------------- // -void VPNAddrInfo::BuildVPNAddrInfo( const CInternalAddress* aInternalAddr, +EXPORT_C void VPNAddrInfo::BuildVPNAddrInfo( const CInternalAddress* aInternalAddr, const TInetAddr& aDnsServerAddr, TVPNAddress& aVPNAddress, MIkeDebug& aDebug ) diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/inc/ikev1extra.h --- a/vpnengine/ikev1lib/inc/ikev1extra.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/inc/ikev1extra.h Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -165,6 +165,8 @@ TInt iTransNum; //Remote transform number selected TPtrC8 iReducedLifeSecs; //Own lifetime (in case is smaller then received) TPtrC8 iReducedLifeKBytes; //Own lifesize (in case is smaller then received) + TPtrC8 iResponderLifetimeSecs; //Responder lifetime + TPtrC8 iResponderLifetimeKBytes; //Responder lifetime size TUint8 iReplayWindowLength; }; @@ -188,9 +190,9 @@ TUint8 iTransformNum; //Transform number TUint8 iTransformID; //Transform ID TBuf8 iLifeDurationSecs; - //TBool iLifetimeReduced; TBuf8 iLifeDurationKBytes; - //TBool iLifesizeReduced; + TBuf8 iResponderLifetimeSecs; + TBuf8 iResponderLifetimeKBytes; TUint16 iGroupDesc; //OAKLEY GROUP TUint16 iEncMode; //Encapsulation Mode TUint16 iAuthAlg; //HMAC diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/inc/ikev1negotiation.h --- a/vpnengine/ikev1lib/inc/ikev1negotiation.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/inc/ikev1negotiation.h Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -362,6 +362,15 @@ TBool IsRetransmit(TLastIKEMsg& aRef); void SaveRetransmitInfo(TLastIKEMsg& aRef); void SaveLastMsgL(); + + HBufC8* GetPskFromPolicyL(); + + void SetPhase2LifeDurations( const TInt64 aSoftAddTime, + const TInt64 aHardAddTime, + const TInt64 aSoftBytes, + const TInt64 aHardBytes, + TAttrib_II& aAttr_II, + TBool aResponder ); public: TCookie iCookie_I; // Initiator Cookie (Used with responder to create KEYID) diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/inc/ikev1receiver.h --- a/vpnengine/ikev1lib/inc/ikev1receiver.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/inc/ikev1receiver.h Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -80,6 +80,11 @@ */ void StartReceive(); + /** + * Cancels receiving. + */ + void CancelReceive(); + private: CIkev1Receiver( MIkeDataInterface& aDataInterface, @@ -135,6 +140,12 @@ TInt iLocalPort; /** + * Informs if receiving data. + * Own. + */ + TBool iReceiving; + + /** * IKE data interface. * Not own. */ diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/src/ikev1extra.cpp --- a/vpnengine/ikev1lib/src/ikev1extra.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/src/ikev1extra.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -250,8 +250,8 @@ if ( iTransformID != aAttr.iTransformID ) //Transform ID return KErrTransformID; - if ((iGroupDesc != aAttr.iGroupDesc) && - (!(iGroupDesc == 0) && (aAttr.iGroupDesc == MODP_768))) //OAKLEY GROUP + if ((aAttr.iGroupDesc < iGroupDesc) && + (!(iGroupDesc == 0))) return KErrGroupDesc; if (iEncMode != aAttr.iEncMode) //Encapsulation Mode return KErrEncMode; @@ -291,6 +291,10 @@ return KErrLifeTime; if (iLifeDurationKBytes.Compare(aAttr.iLifeDurationKBytes)!=0) return KErrLifeSize; + if (iResponderLifetimeSecs.Compare(aAttr.iResponderLifetimeSecs)!=0) + return KErrLifeTime; + if (iResponderLifetimeKBytes.Compare(aAttr.iResponderLifetimeKBytes)!=0) + return KErrLifeSize; } return KErrNone; } @@ -301,6 +305,8 @@ iTransformID = aAttr.iTransformID; //Transform ID iLifeDurationSecs.Copy(aAttr.iLifeDurationSecs); iLifeDurationKBytes.Copy(aAttr.iLifeDurationKBytes); + iResponderLifetimeSecs.Copy(aAttr.iResponderLifetimeSecs); + iResponderLifetimeKBytes.Copy(aAttr.iResponderLifetimeKBytes); iGroupDesc = aAttr.iGroupDesc; //OAKLEY GROUP iEncMode = aAttr.iEncMode; //Encapsulation Mode iAuthAlg = aAttr.iAuthAlg; //HMAC @@ -426,6 +432,8 @@ tmodif->iReplayWindowLength = prop1->iReplayWindowLength; //to update SAD correctly tmodif->iReducedLifeSecs.Set(prop1->iAttrList->At(local_num)->iLifeDurationSecs); tmodif->iReducedLifeKBytes.Set(prop1->iAttrList->At(local_num)->iLifeDurationKBytes); + tmodif->iResponderLifetimeSecs.Set(prop1->iAttrList->At(local_num)->iResponderLifetimeSecs); + tmodif->iResponderLifetimeKBytes.Set(prop1->iAttrList->At(local_num)->iResponderLifetimeKBytes); aTransArray->AppendL(tmodif); //add to the array and go for the next CleanupStack::Pop(); //tmodif safe if ( (i1 + 1) < Count() ) //still proposals left in 'this' list diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/src/ikev1negotiation.cpp --- a/vpnengine/ikev1lib/src/ikev1negotiation.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/src/ikev1negotiation.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -187,8 +187,8 @@ delete iPkiService; // Trusted CA certificate list - delete iSAPayload; - delete iPeerIdentPayload; + delete[] iSAPayload; + delete[] iPeerIdentPayload; delete iOwnIdentPayload; //Keys @@ -833,37 +833,12 @@ } } - //Only Hard Lifetimes taken into account - TInt64 lifetime64 = aReq.iProposal.iComb->sadb_comb_soft_addtime; - iHardLifetime = aReq.iProposal.iComb->sadb_comb_hard_addtime; - - if ( lifetime64 == 0 ) - { - lifetime64 = iHardLifetime; - } - - TUint high = 0; - TUint low = 0; - if (lifetime64!=0) - { - high = ByteOrder::Swap32(I64HIGH(lifetime64)); - if (high > 0) - attr_II->iLifeDurationSecs.Copy((TUint8 *)&high, sizeof(high)); - low = ByteOrder::Swap32(I64LOW(lifetime64)); - attr_II->iLifeDurationSecs.Append((TUint8 *)&low, sizeof(low)); - } - - //Bytes lifetime - lifetime64 = aReq.iProposal.iComb->sadb_comb_soft_bytes; - lifetime64 = (lifetime64/1024); //Bytes to KB - if (lifetime64 != 0) - { - high = ByteOrder::Swap32(I64HIGH(lifetime64)); - if (high > 0) - attr_II->iLifeDurationKBytes.Copy((TUint8 *)&high, sizeof(high)); - low = ByteOrder::Swap32(I64LOW(lifetime64)); - attr_II->iLifeDurationKBytes.Append((TUint8 *)&low, sizeof(low)); - } + SetPhase2LifeDurations( aReq.iProposal.iComb->sadb_comb_soft_addtime, + aReq.iProposal.iComb->sadb_comb_hard_addtime, + aReq.iProposal.iComb->sadb_comb_soft_bytes, + aReq.iProposal.iComb->sadb_comb_hard_bytes, + *attr_II, + EFalse ); //Save some pf_key data to use later in PFKEY_UPDATE msg iAcquireSeq = aReq.iBase.iMsg->sadb_msg_seq; //msg Seq. number @@ -1735,31 +1710,14 @@ break; } - //Only Hard Lifetimes taken into account - TInt64 lifetime64 = spec->iHard.iAddTime; - TUint high = 0; - TUint low = 0; - if (lifetime64!=0) - { - high = ByteOrder::Swap32(I64HIGH(lifetime64)); - if (high > 0) - attr_II->iLifeDurationSecs.Copy((TUint8 *)&high, sizeof(high)); - low = ByteOrder::Swap32(I64LOW(lifetime64)); - attr_II->iLifeDurationSecs.Append((TUint8 *)&low, sizeof(low)); - } - - //Bytes lifetime - lifetime64 = spec->iHard.iBytes; - lifetime64 = (lifetime64/1024); //Bytes to KB - if (lifetime64 != 0) - { - high = ByteOrder::Swap32(I64HIGH(lifetime64)); - if (high > 0) - attr_II->iLifeDurationKBytes.Copy((TUint8 *)&high, sizeof(high)); - low = ByteOrder::Swap32(I64LOW(lifetime64)); - attr_II->iLifeDurationKBytes.Append((TUint8 *)&low, sizeof(low)); - } - if (iPFS) + SetPhase2LifeDurations( spec->iSoft.iAddTime, + spec->iHard.iAddTime, + spec->iSoft.iBytes, + spec->iHard.iBytes, + *attr_II, + ETrue ); + + if (iPFS) { switch (iHostData->iGroupDesc_II) { @@ -3938,7 +3896,6 @@ AppendAttributeError(num, err_buf); DEBUG_LOG(err_buf); #endif - SetErrorStatus( KKmdIkeNoProposalErr ); SendNotifyL(NO_PROPOSAL_CHOSEN); CleanupStack::PopAndDestroy(3); //transarray + recv_proposals + payload return EFalse; @@ -4011,7 +3968,7 @@ } TTransModifier *tmodif; - TInt64 own_time, own_bytes, peer_time, peer_bytes; + TInt64 own_time, own_bytes, peer_time, peer_bytes, responderLifetime_time, responderLifetime_bytes; delete iChosenProp_IIList; //Must be erased because can contain data from previous retransmissions iChosenProp_IIList = NULL; iChosenProp_IIList = new (ELeave) CProposal_IIList(1); @@ -4037,6 +3994,7 @@ attr_II = prop->iAttrList->At(tmodif->iTransNum); //look for the chosen transform in the prop ComputeLifetimes_II(tmodif->iReducedLifeSecs, tmodif->iReducedLifeKBytes, own_time, own_bytes); ComputeLifetimes_II(attr_II->iLifeDurationSecs, attr_II->iLifeDurationKBytes, peer_time, peer_bytes); + ComputeLifetimes_II(tmodif->iResponderLifetimeSecs, tmodif->iResponderLifetimeKBytes, responderLifetime_time, responderLifetime_bytes); //Only copy the chosen transform new_attr_II = new (ELeave) TChosenAttrib_II(); @@ -4057,7 +4015,19 @@ } else new_attr_II->iReducedLifeKBytes.Set(NULL, 0); - + + if (responderLifetime_time) + { + new_attr_II->iResponderLifetimeSecs = tmodif->iResponderLifetimeSecs; + DEBUG_LOG1(_L("Responder lifetime set to %d"), responderLifetime_time); + } + + if (responderLifetime_bytes) + { + new_attr_II->iResponderLifetimeKBytes = tmodif->iResponderLifetimeKBytes; + DEBUG_LOG1(_L("Responder lifetime in bytes set to %d"), responderLifetime_bytes); + } + new_propII->iAttrList->AppendL(new_attr_II); CleanupStack::Pop(); //new_attrII safe @@ -7347,17 +7317,12 @@ prf_data->Des().Copy(iNONCE_I.Ptr(),iNONCE_I.Length()); prf_data->Des().Append(iNONCE_R.Ptr(),iNONCE_R.Length()); DEBUG_LOG(_L("Pre-shared Key")); -#ifdef _UNICODE - HBufC8 *preshared_key_buf = HBufC8::NewLC(iHostData->iPresharedKey.iKey.Length()); - preshared_key_buf->Des().Copy(iHostData->iPresharedKey.iKey); + + HBufC8 *preshared_key_buf = GetPskFromPolicyL(); + CleanupStack::PushL(preshared_key_buf); TPtrC8 preshared_key_ptr(preshared_key_buf->Des()); -#else - TPtrC8 preshared_key_ptr(iHostData->iPresharedKey.iKey); -#endif ComputePRFL(iSKEYID, preshared_key_ptr, prf_data->Des()); -#ifdef _UNICODE - CleanupStack::PopAndDestroy(); //presharedkey_buf -#endif + CleanupStack::PopAndDestroy(preshared_key_buf); } break; default://method not implemented @@ -8091,7 +8056,10 @@ attr_II = (TChosenAttrib_II *)prop->iAttrList->At(0); //only 1 transform is chosen no matter how many there are if ((attr_II->iReducedLifeSecs.Length() != 0) || (attr_II->iReducedLifeKBytes.Length() != 0)) //Any lifetime to update - aMsg.IsakmpResponderLifetime(prop->iProtocol, inboundspi_node.iSPI, attr_II->iReducedLifeSecs, attr_II->iReducedLifeKBytes); + aMsg.IsakmpResponderLifetime(prop->iProtocol, + inboundspi_node.iSPI, + attr_II->iResponderLifetimeSecs, + attr_II->iResponderLifetimeKBytes); } } @@ -8302,5 +8270,127 @@ } } - - +HBufC8* CIkev1Negotiation::GetPskFromPolicyL() +{ + ASSERT(iHostData); + // + // Get Preshared Key from IKE policy and return in to caller in + // HBufc8. + // + HBufC8* psk = NULL; + if ( iHostData->iPresharedKey.iFormat == STRING_KEY ) + { + psk = HBufC8::NewL(iHostData->iPresharedKey.iKey.Length()); + psk->Des().Copy(iHostData->iPresharedKey.iKey); + } + else if ( iHostData->iPresharedKey.iFormat == HEX_KEY ) + { + psk = HBufC8::NewL(iHostData->iPresharedKey.iKey.Length() / 2); + + for(TInt i = 0; i < iHostData->iPresharedKey.iKey.Length(); i += 2) + { + TPtrC hexByte(iHostData->iPresharedKey.iKey.Mid(i, 2)); + TLex lex(hexByte); + TUint8 value; + User::LeaveIfError(lex.Val(value, EHex)); + + psk->Des().Append(&value, 1); + } + + } + + return psk; +} + +void CIkev1Negotiation::SetPhase2LifeDurations( const TInt64 aSoftAddTime, + const TInt64 aHardAddTime, + const TInt64 aSoftBytes, + const TInt64 aHardBytes, + TAttrib_II& aAttr_II, + TBool aResponder ) +{ + TInt64 lifetime64 = aSoftAddTime; + iHardLifetime = aHardAddTime; + + if ( lifetime64 == 0 || + aResponder ) + { + lifetime64 = iHardLifetime; + } + + TUint high = 0; + TUint low = 0; + if ( lifetime64 != 0 ) + { + high = ByteOrder::Swap32(I64HIGH(lifetime64)); + if (high > 0) + { + aAttr_II.iLifeDurationSecs.Copy((TUint8 *)&high, sizeof(high)); + } + low = ByteOrder::Swap32(I64LOW(lifetime64)); + aAttr_II.iLifeDurationSecs.Append((TUint8 *)&low, sizeof(low)); + } + + if ( aResponder ) + { + // Set responder lifetime. + lifetime64 = aSoftAddTime; + if ( lifetime64 == 0 ) + { + lifetime64 = iHardLifetime; + } + + if ( lifetime64 != 0 ) + { + high = ByteOrder::Swap32(I64HIGH(lifetime64)); + if (high > 0) + { + aAttr_II.iResponderLifetimeSecs.Copy((TUint8 *)&high, sizeof(high)); + } + low = ByteOrder::Swap32(I64LOW(lifetime64)); + aAttr_II.iResponderLifetimeSecs.Append((TUint8 *)&low, sizeof(low)); + } + } + + //Bytes lifetime + lifetime64 = aSoftBytes; + + if ( lifetime64 == 0 || + aResponder ) + { + lifetime64 = aHardBytes; + } + + lifetime64 = (lifetime64/1024); //Bytes to KB + if ( lifetime64 != 0 ) + { + high = ByteOrder::Swap32(I64HIGH(lifetime64)); + if (high > 0) + aAttr_II.iLifeDurationKBytes.Copy((TUint8 *)&high, sizeof(high)); + low = ByteOrder::Swap32(I64LOW(lifetime64)); + aAttr_II.iLifeDurationKBytes.Append((TUint8 *)&low, sizeof(low)); + } + + if ( aResponder ) + { + // Set responder lifetime. + if ( lifetime64 == 0 ) + { + lifetime64 = iHardLifetime; + } + lifetime64 = (lifetime64/1024); //Bytes to KB + + if ( lifetime64 != 0 ) + { + high = ByteOrder::Swap32(I64HIGH(lifetime64)); + if (high > 0) + { + aAttr_II.iResponderLifetimeKBytes.Copy((TUint8 *)&high, sizeof(high)); + } + low = ByteOrder::Swap32(I64LOW(lifetime64)); + aAttr_II.iResponderLifetimeKBytes.Append((TUint8 *)&low, sizeof(low)); + } + } +} + + diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/src/ikev1pluginsession.cpp --- a/vpnengine/ikev1lib/src/ikev1pluginsession.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/src/ikev1pluginsession.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -1447,7 +1447,8 @@ CleanupStack::Pop(); //negotiation safe return; } - CleanupStack::PopAndDestroy(); + CleanupStack::Pop(); + DeleteNegotiation(negotiation); } return; } @@ -1900,7 +1901,7 @@ // void CIkev1PluginSession::DoCancelDataTransfer() { - iReceiver->Cancel(); + iReceiver->CancelReceive(); iDataInterface.StopReceive(); DoEmptySendQueue(); iSender->Cancel(); diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/src/ikev1receiver.cpp --- a/vpnengine/ikev1lib/src/ikev1receiver.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/src/ikev1receiver.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2008-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" @@ -82,10 +82,21 @@ // void CIkev1Receiver::StartReceive() { + iReceiving = ETrue; DoReceive(); } // --------------------------------------------------------------------------- +// Cancels receive. +// --------------------------------------------------------------------------- +// +void CIkev1Receiver::CancelReceive() + { + iReceiving = EFalse; + Cancel(); + } + +// --------------------------------------------------------------------------- // From class CActive // Handles completion of receive. // --------------------------------------------------------------------------- @@ -112,13 +123,15 @@ } else { + iReceiving = EFalse; iCallback.ReceiveError( iStatus.Int() ); } delete iUdpData; iUdpData = NULL; - if ( iStatus.Int() == KErrNone ) + if ( iReceiving && + iStatus.Int() == KErrNone ) { // Continue receiving. DoReceive(); @@ -145,6 +158,8 @@ // TInt CIkev1Receiver::RunError( TInt aError ) { + iReceiving = EFalse; + delete iUdpData; iUdpData = NULL; diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev1lib/src/ikev1trans.cpp --- a/vpnengine/ikev1lib/src/ikev1trans.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev1lib/src/ikev1trans.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -675,7 +675,6 @@ TInt CTransNegotiation::ProcessXauthRequestL(TDataISAKMP* aAttr, TInt aLth) { TInt status = TRANSACTION_CONTINUE; - TUint16 xauth_type = ATTR_XAUTH_GENERIC; TUint32 request_flags = 0; TPtr8 challenge(NULL, 0); TUint16 attr_type; @@ -823,18 +822,6 @@ iDialog->GetAsyncSecureNextPinDialogL(iDialogInfo, (MIkeDialogComplete*)this); break; - case ( (1 << (ATTR_CHALLENGE - ATTR_XAUTH_TYPE)) ): - // - // User Challenge response dialog - // - if ( xauth_type == ATTR_XAUTH_RADIUS_CHAP ) - { - iDialog = CIkev1Dialog::NewL(iPluginSession, iPluginSession->DialogAnchor(), iDebug); - iDialogInfo = new(ELeave) CAuthDialogInfo(iPluginSession, XAUTH_DIALOG_ID, iNegotiation->SAId(), iCurrExchange->iMessageId); - iDialog->GetAsyncRespDialog(challenge, iDialogInfo, (MIkeDialogComplete*)this); - } - break; - default: break; diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/inc/ikev2Negotiation.h --- a/vpnengine/ikev2lib/inc/ikev2Negotiation.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/inc/ikev2Negotiation.h Fri Apr 16 16:02:48 2010 +0300 @@ -67,11 +67,9 @@ const TInt KStateIkeSARekeyResponse = 24; const TInt KStateIkeInfoRequest = 31; -const TInt KStateIkeInfoResponse = 32; const TInt KStateIkeDeleteRequest = 33; const TInt KStateIkeDeleteResponse = 34; const TInt KStateChildDeleteRequest = 35; -const TInt KStateChildDeleteResponse = 36; class CIkev2PluginSession; class CPFKeySocketIf; diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/inc/ikev2SA.h --- a/vpnengine/ikev2lib/inc/ikev2SA.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/inc/ikev2SA.h Fri Apr 16 16:02:48 2010 +0300 @@ -73,6 +73,7 @@ TIkeV2IpsecSAData* iIpsecSaQue; // Ipsec SA information queue CIkeV2KeepAlive* iIkeKeepAlive; // Pointer to common IKE keepalive object TUint32 iRemainingTime; // Current lifetime left + TUint32 iRekeyingThreshold; }; diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/src/ikecrypto.cpp --- a/vpnengine/ikev2lib/src/ikecrypto.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/src/ikecrypto.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -22,9 +22,11 @@ CDHKeys* CDHKeys::NewL(const TDesC8& aN, const TDesC8& aG) { - CDHKeys *keys = new (ELeave) CDHKeys(); + CDHKeys* keys = new (ELeave) CDHKeys(); + CleanupStack::PushL(keys); keys->iDHKey = TUtlCrypto::MakeDiffieHellmanL(aN, aG); - keys->iModuluslength = aN.Length(); + keys->iModuluslength = aN.Length(); + CleanupStack::Pop(keys); return keys; } diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/src/ikev2mobike.cpp --- a/vpnengine/ikev2lib/src/ikev2mobike.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/src/ikev2mobike.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -192,7 +192,7 @@ aNegotiation->SendIkeMsgL(ikeMsg); aNegotiation->iIkeV2PlugInSession.UpdateIkev2SAL(&aNegotiation->iHdr, NULL); if ( (aNegotiation->iState != KStateIkeInfoRequest) && (aNegotiation->iState != KStateIkeDeleteRequest) && (aNegotiation->iState != KStateIkeDeleteResponse) ) - aNegotiation->iState = KStateIkeInfoResponse; + aNegotiation->iState = KStateIkeSaCompleted; } // // else diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/src/ikev2negotiation.cpp --- a/vpnengine/ikev2lib/src/ikev2negotiation.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/src/ikev2negotiation.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -1532,7 +1532,7 @@ void CIkev2Negotiation::IkeV2PkiInitCompleteL(TInt aStatus) { - DEBUG_LOG(_L("-> CIkev2Negotiation::IkeV2PkiInitCompleteL")); + DEBUG_LOG(_L("CIkev2Negotiation::IkeV2PkiInitCompleteL")); // // The implementation for class MPkiServiceComplete virtual function // This method is called when a PKI service operation is @@ -1578,7 +1578,6 @@ break; } - DEBUG_LOG(_L("<- CIkev2Negotiation::IkeV2PkiInitCompleteL")); } @@ -2620,7 +2619,6 @@ DEBUG_LOG1(_L("IKE SA Rekey started by peer for SAID: %d"), iHdr.SaId()); iState = KStateIkeSARekeyResponse; Status = ProcessIkeSARekeyL(aIkeMsg); - iIkeV2PlugInSession.UpdateIkev2SAL(&iHdr, NULL); } return Status; } @@ -2942,8 +2940,7 @@ SendIkeMsgL(ikeMsg); if ( (iState != KStateIkeInfoRequest) && (iState != KStateIkeDeleteRequest) && (iState != KStateIkeDeleteResponse) ) { - iState = KStateIkeInfoResponse; - iIkeV2PlugInSession.UpdateIkev2SAL(&iHdr, NULL); + iState = KStateIkeSaCompleted; } } } @@ -3187,8 +3184,7 @@ CleanupStack::Pop(ikeMsg); SendIkeMsgL(ikeMsg); CleanupStack::PopAndDestroy(SpiList); - iState = KStateIkeInfoResponse; - iIkeV2PlugInSession.UpdateIkev2SAL(&iHdr, NULL); + iState = KStateIkeSaCompleted; aRequest = EFalse; } diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/src/ikev2pluginsession.cpp --- a/vpnengine/ikev2lib/src/ikev2pluginsession.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/src/ikev2pluginsession.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -273,18 +273,14 @@ void CIkev2PluginSession::DoDeleteIkeSAExhangeL(TIkev2SAData& aIkev2SAdata) { DEBUG_LOG1(_L("Deleting IKE SA SAID = %d"), aIkev2SAdata.SaId()); - - __ASSERT_DEBUG(iFirstNegotiation == NULL, User::Invariant()); - - CIkev2Negotiation* negotiation = CIkev2Negotiation::NewL(*this, iPfKeySocketIf, - iEventLogger, *iMessageSendQue, - iDebug, aIkev2SAdata); - CleanupStack::PushL(negotiation); - negotiation->StartIkeSADeleteL(); - CleanupStack::Pop(negotiation); - - __ASSERT_DEBUG( !negotiation->Stopped(), User::Invariant() ); - + + CIkev2Negotiation* negotiation = CIkev2Negotiation::NewL(*this, iPfKeySocketIf, + iEventLogger, *iMessageSendQue, + iDebug, aIkev2SAdata); + CleanupStack::PushL(negotiation); + negotiation->StartIkeSADeleteL(); + CleanupStack::Pop(negotiation); + __ASSERT_DEBUG( !negotiation->Stopped(), User::Invariant() ); } diff -r 29b591713d44 -r 8962128a2656 vpnengine/ikev2lib/src/ikev2sa.cpp --- a/vpnengine/ikev2lib/src/ikev2sa.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/ikev2lib/src/ikev2sa.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -22,6 +22,9 @@ #include "ikev2ipsecsadata.h" #include "ikev2pluginsession.h" +static const TUint32 KMinRekeyingThreshold = 70; +static const TUint32 KMaxRekeyingThreshold = 95; + CIkev2SA* CIkev2SA::NewL(CIkev2PluginSession& aIkeV2PluginSession, TIkev2SAData& aIkev2SAdata, MIkeDebug& aDebug) { CIkev2SA *sa = new (ELeave) CIkev2SA(aIkeV2PluginSession, aDebug); @@ -45,9 +48,32 @@ // Calculate lifetime value for the new IKE SA // The jitter value is adjusted from SA internal ID (SAId mod 8) // - iRemainingTime = iIkeV2SaData.iLifetime + (iIkeV2SaData.SaId() % 8); + + if (iIkeV2SaData.iIkeData->iRekeyingThreshold != 0) + { + if (iIkeV2SaData.iIkeData->iRekeyingThreshold < KMinRekeyingThreshold) + { + iRekeyingThreshold = KMinRekeyingThreshold; + } + else if (iIkeV2SaData.iIkeData->iRekeyingThreshold > KMaxRekeyingThreshold) + { + iRekeyingThreshold = KMaxRekeyingThreshold; + } + else + { + iRekeyingThreshold = iIkeV2SaData.iIkeData->iRekeyingThreshold; + } + TReal lifeTime = (TReal)iIkeV2SaData.iLifetime * ((TReal)iRekeyingThreshold / 100.0); + iRemainingTime = (TUint32)lifeTime + (iIkeV2SaData.SaId() % 8); + } + else + { + iRemainingTime = iIkeV2SaData.iLifetime + (iIkeV2SaData.SaId() % 8); + } + iIkeV2SaData.iSAState = KSaStateReady; + TInt DPDHeartbeat = 0; if ( iIkeV2SaData.iIkeData->iDPDHeartBeat ) DPDHeartbeat = iIkeV2SaData.iIkeData->iDPDHeartBeat; @@ -236,7 +262,7 @@ iIkeV2SaData.SaId(), iRemainingTime ); if (iRemainingTime == 0) { - if ( iIpsecSaQue ) + if ( iIpsecSaQue && iRekeyingThreshold != 0) { iIkeV2PluginSession.RekeyIkeSAL(&iIkeV2SaData); } diff -r 29b591713d44 -r 8962128a2656 vpnengine/utlpkcs10/EABI/utlpkcs10U.def --- a/vpnengine/utlpkcs10/EABI/utlpkcs10U.def Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/utlpkcs10/EABI/utlpkcs10U.def Fri Apr 16 16:02:48 2010 +0300 @@ -13,4 +13,6 @@ _ZN10CPkcs10ReqD2Ev @ 12 NONAME _ZTI10CPkcs10Req @ 13 NONAME ; ## _ZTV10CPkcs10Req @ 14 NONAME ; ## + _ZN10CPkcs10ReqC1Ev @ 15 NONAME + _ZN10CPkcs10ReqC2Ev @ 16 NONAME diff -r 29b591713d44 -r 8962128a2656 vpnengine/utlpkcs10/bwins/UTLPKCS10U.DEF --- a/vpnengine/utlpkcs10/bwins/UTLPKCS10U.DEF Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/utlpkcs10/bwins/UTLPKCS10U.DEF Fri Apr 16 16:02:48 2010 +0300 @@ -9,4 +9,5 @@ ?SetDistinguishedNameExtendedL@CPkcs10Req@@QAEHABVTDesC8@@@Z @ 8 NONAME ; int CPkcs10Req::SetDistinguishedNameExtendedL(class TDesC8 const &) ?SetPublicKey@CPkcs10Req@@QAEHABVTDesC8@@@Z @ 9 NONAME ; int CPkcs10Req::SetPublicKey(class TDesC8 const &) ?SetSubjectAltNameRfc822@CPkcs10Req@@QAEHABVTDesC8@@@Z @ 10 NONAME ; int CPkcs10Req::SetSubjectAltNameRfc822(class TDesC8 const &) + ??0CPkcs10Req@@QAE@XZ @ 11 NONAME ; CPkcs10Req::CPkcs10Req(void) diff -r 29b591713d44 -r 8962128a2656 vpnengine/utlpkcs10/inc/pkcs10.h --- a/vpnengine/utlpkcs10/inc/pkcs10.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/utlpkcs10/inc/pkcs10.h Fri Apr 16 16:02:48 2010 +0300 @@ -130,10 +130,8 @@ class CPkcs10Req : public CBase { public: -#ifdef __EABI__ /** Cause vtable & typeinfo to be exported */ - IMPORT_C CPkcs10Req() {}; -#endif + IMPORT_C CPkcs10Req(); IMPORT_C ~CPkcs10Req(); ////////////////////////////////////////////////////////////////////// // Visible interface diff -r 29b591713d44 -r 8962128a2656 vpnengine/utlpkcs10/src/pkcs10.cpp --- a/vpnengine/utlpkcs10/src/pkcs10.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/utlpkcs10/src/pkcs10.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003 - 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003 - 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" @@ -27,6 +27,10 @@ #include "pkidefs.h" #include "utlcrypto.h" +EXPORT_C CPkcs10Req::CPkcs10Req() + { + } + ////////////////////////////////////////////////////////////////////////////// // Destructor ////////////////////////////////////////////////////////////////////////////// @@ -1038,31 +1042,20 @@ CRInfoPtr += DERSetInteger(CRInfoPtr, 0); // version // Copy component ders - if(commonAttributes != NULL && commonAttributes->Length() > 0) + if(commonAttributes->Length() > 0) CRInfoPtr += CPkcs10Req::ASNCopy(CRInfoPtr, CONST_CAST(TUint8 *, commonAttributes->Ptr()), commonAttributes->Length()); - if(pkiInfo != NULL && pkiInfo->Length() > 0) + if(pkiInfo->Length() > 0) CRInfoPtr += CPkcs10Req::ASNCopy(CRInfoPtr, CONST_CAST(TUint8 *, pkiInfo->Ptr()), pkiInfo->Length()); - if(extendedAttributes != NULL && extendedAttributes->Length() > 0) + if(extendedAttributes->Length() > 0) CRInfoPtr += CPkcs10Req::ASNCopy(CRInfoPtr, CONST_CAST(TUint8 *, extendedAttributes->Ptr()), extendedAttributes->Length()); } - if(extendedAttributes != NULL) - { - delete extendedAttributes; - CleanupStack::Pop(1); - } - if(pkiInfo != NULL) - { - delete pkiInfo; - CleanupStack::Pop(1); - } - if(commonAttributes != NULL) - { - delete commonAttributes; - CleanupStack::Pop(1); - } + CleanupStack::PopAndDestroy(extendedAttributes); + CleanupStack::PopAndDestroy(pkiInfo); + CleanupStack::PopAndDestroy(commonAttributes); + if(CRInfoBuffer != NULL) CleanupStack::PushL(CRInfoBuffer); // to be destroyed by the caller diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpncleaner/group/vpncleaner.mmp --- a/vpnengine/vpncleaner/group/vpncleaner.mmp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpncleaner/group/vpncleaner.mmp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-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" @@ -36,7 +36,6 @@ MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib -LIBRARY centralrepository.lib LIBRARY cmmanager.lib LIBRARY rfs.lib LIBRARY efsrv.lib diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpncleaner/src/vpncleanerexe.cpp --- a/vpnengine/vpncleaner/src/vpncleanerexe.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpncleaner/src/vpncleanerexe.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -17,13 +17,10 @@ #include #include -#include // link against centralrepository.lib -#include #include "vpncleaner.h" -LOCAL_C void setKeysL(); LOCAL_C TBool vpnOnRom(); @@ -38,8 +35,6 @@ { TVpnCleaner vpnc; vpnc.Clean(); - - TRAP_IGNORE( setKeysL() ); } delete cleanup; @@ -49,19 +44,6 @@ } -LOCAL_C void setKeysL() - { - // Connecting and initialization: - CRepository* repository = CRepository::NewL( - KCRUidCommunicationSettings ); - - repository->Set( KSettingsVPNSupported, 0 ); - repository->Delete( KSettingsVPNImplementation ); - - delete repository; - } - - LOCAL_C TBool vpnOnRom() { TBool ret = EFalse; diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpncommon/inc/vpnclientuids.h --- a/vpnengine/vpncommon/inc/vpnclientuids.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpncommon/inc/vpnclientuids.h Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2007-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" @@ -35,11 +35,6 @@ */ #define KUidGenericNotifier 0x10009D8D -/** -* UID of the generic GS plugin -*/ -#define KUidGenericGsPlugin 0x10207236 - /// VPN specific UIDs /** @@ -254,16 +249,6 @@ //#define KUidPkiNotifier 0x101FAE08 /** -* UID of the VpnManagementUi -*/ -#define KUidVpnManagementUi 0x101F6D31 - -/** -* UID of the KUidVpnManagementImplementation -*/ -#define KUidVpnManagementImplementation 0x101F6D32 - -/** * UID of the VpnPolIns */ #define KUidVpnPolIns 0x1000597E diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnconnagt/group/vpnconnagt.mmp --- a/vpnengine/vpnconnagt/group/vpnconnagt.mmp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnconnagt/group/vpnconnagt.mmp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-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,8 +15,6 @@ * */ - - #include TARGET vpnconnagt.agt @@ -32,6 +30,7 @@ SOURCEPATH ../src SOURCE vpnconnagt.cpp +SOURCE vpnsipobserver.cpp USERINCLUDE ../inc USERINCLUDE ../../vpncommon/inc @@ -46,6 +45,7 @@ LIBRARY insock.lib LIBRARY eventmedapi.lib LIBRARY cmmanager.lib +LIBRARY featmgr.lib DEBUGLIBRARY flogger.lib diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnconnagt/group/vpnconnagt_test.mmp --- a/vpnengine/vpnconnagt/group/vpnconnagt_test.mmp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnconnagt/group/vpnconnagt_test.mmp Fri Apr 16 16:02:48 2010 +0300 @@ -32,6 +32,7 @@ SOURCEPATH ../src SOURCE vpnconnagt.cpp +SOURCE vpnsipobserver.cpp USERINCLUDE ../inc USERINCLUDE ../../vpncommon/inc @@ -46,6 +47,7 @@ LIBRARY insock.lib LIBRARY eventmedapi.lib LIBRARY cmmanager.lib +LIBRARY featmgr.lib DEBUGLIBRARY flogger.lib diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnconnagt/inc/vpnconnagt.h --- a/vpnengine/vpnconnagt/inc/vpnconnagt.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnconnagt/inc/vpnconnagt.h Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2000-2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2000-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" @@ -40,6 +40,11 @@ _LIT(KVPNConnAgtName,"vpnconnagt"); + +// P&S key observer for communication between VPN client and SIP Profile server. +class CVpnSipObserver; + + /** * A Factory for creating a VPNConnAgent. */ @@ -197,6 +202,12 @@ * the status of the real interface. */ void EventOccured(TInt aStatus, TEventType aType, TDesC8* aData); + + /** + * Is called when SIP deregistration is completed. In here a VPN session + * is actually started. + */ + void ProceedServiceStart(); protected: // Methods @@ -337,7 +348,7 @@ force it to shutdown without trying to send any packets anymore */ TDeactivateType iDisconnectType; - /* State of the agent object */ + /** State of the agent object */ TRequestState iState; /** Boolean to define wether disconnecting operation is ongoing */ @@ -348,7 +359,13 @@ TPckgBuf iStartVpnConnDes; TPckgBuf iCloseVpnConnDes; TPckgBuf iObserveRealIapConnDes; + + /** Own: P&S key observer */ + CVpnSipObserver* iSipObserver; + + /** Feature Manager initialzation flag */ + TBool iFeatureManagerInitialized; }; + #endif // VPN_CONN_AGT_H - diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnconnagt/inc/vpnsipobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnengine/vpnconnagt/inc/vpnsipobserver.h Fri Apr 16 16:02:48 2010 +0300 @@ -0,0 +1,103 @@ +/* +* 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 : P&S key monitor for communication between VPN client +* and SIP Profile server +* Name : vpnsipobserver.h +* Part of : VPN client / VPN Connection Agent +* Version : 1.0 +* +*/ + +#ifndef VPNSIPOBSERVER_H +#define VPNSIPOBSERVER_H + +#include +#include "vpnconnagt.h" // Reference to CVPNConnAgt is needed for call back + +class CVPNConnAgt; + +NONSHARABLE_CLASS( CVpnSipObserver ): public CActive + { +public: // Constructor & destructor + + /** + * Two-phased constructor + */ + static CVpnSipObserver* NewL( CVPNConnAgt& aAgent ); + + /** + * Destructor + */ + virtual ~CVpnSipObserver(); + + +public: // New methods + + /** + * Closes the sip connections + * @return ETrue if connections are succesfully closed + */ + TInt RequestDeregister(); + + /** + * Re-opens connection in case vpn session ends + */ + TInt RequestRegister(); + + +private: // From CActive + + /** + * From CActive + */ + void RunL(); + + /** + * From CActive + */ + void DoCancel(); + + +private: // New methods + + /** + * Subscribes to the property + */ + void Subscribe(); + + /** + * 2nd phase constructor + */ + void ConstructL(); + + /** + * C++ constructor + */ + CVpnSipObserver( CVPNConnAgt& aAgent ); + + +private: // Data + + /** + * Own: P&S for communication between SIP Profile Server and VPN client + */ + RProperty iSIPProperty; + + /** + * Own: Owner of this observer + */ + CVPNConnAgt& iAgent; + }; + +#endif // VPNSIPOBSERVER_H diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnconnagt/src/vpnconnagt.cpp --- a/vpnengine/vpnconnagt/src/vpnconnagt.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnconnagt/src/vpnconnagt.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2000-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" @@ -24,8 +24,10 @@ #include #include #include +#include #include "vpnconnagt.h" +#include "vpnsipobserver.h" /***************CVPNConnAgtFactory********************/ @@ -76,6 +78,8 @@ iEventActivatedClose = EFalse; iDisconnectType = (TDeactivateType)NORMAL_DISCONNECT_MODE; // means the normal way to shutdown + + iFeatureManagerInitialized = EFalse; } // --------------------------------------------------------------------------- @@ -88,6 +92,18 @@ name.AppendFormat(_L("[0x%08x]"), this); Log::Printf(_L("%s Destructing VPN Connection Agent\n"),name.PtrZ())); + if ( FeatureManager::FeatureSupported( KFeatureIdFfImsDeregistrationInVpn ) ) + { + delete iSipObserver; + iSipObserver = NULL; + } + + if ( iFeatureManagerInitialized ) + { + // We can safely call UnInitializeLib as we have really intialized it. + FeatureManager::UnInitializeLib(); // Decreases ref.count + } + iEventMediator.Close(); iServiceStartedCallback.Cancel(); @@ -121,6 +137,17 @@ iDisconnecting = EFalse; LOG_("CVPNConnAgt::ReadConfigurationL EventMediator"); User::LeaveIfError(iEventMediator.Connect()); + + // Initialize Feature Manager. + FeatureManager::InitializeLibL(); // Successfull call increases reference count + iFeatureManagerInitialized = ETrue; + + // Create CVpnSipObserver for communicating with SIP profile server via + // P&S keys for SIP de/re-registration. this pointer is passed to have call back. + if ( FeatureManager::FeatureSupported( KFeatureIdFfImsDeregistrationInVpn ) ) + { + iSipObserver = CVpnSipObserver::NewL( *this ); + } } // --------------------------------------------------------------------------- @@ -293,6 +320,38 @@ return; } + // SIP is deregistered before starting a VPN session. First tell SIP profile server to + // perform deregistration. And when it's completed, continue VPN session start. + // Note: A wait note is not used here for holding VPN session starting process because + // CInternetConnectionManager is showing one. + // Tell SIP Profile Server to perform deregistration before proceeding VPN start. + // Multiple VPN connection use cases are handled in SIP side. VPN just notifies SIP + // a VPN session is about to start. + if ( FeatureManager::FeatureSupported( KFeatureIdFfImsDeregistrationInVpn ) ) + { + // For some reason, if the request fails, just proceeds. + if ( iSipObserver->RequestDeregister() != KErrNone ) + { + ProceedServiceStart(); + } + // Return for now. ProceedServiceStart() will be called later by iSipObserver when + // deregistration process has been completed. Then VPN start process will be actually + // initiated. + return; + } + // If KFeatureIdFfImsDeregistrationInVpn is disabled, no SIP deregisration is performed. + else + { + ProceedServiceStart(); + } + } + +/****************************************************************************/ +/* ProceedServiceStart() */ +/* Proceed VPN session start process */ +/****************************************************************************/ +void CVPNConnAgt::ProceedServiceStart() + { LOG_1("[0x%08x] Get protocol version\n", this); iProtocolVersionDes().iId = iEventMediator.NewEventSpecId(); iProtocolVersionDes().iPolicyId = *(iVPNParameters.GetVPNPolicy()); @@ -408,6 +467,13 @@ return; } + if ( FeatureManager::FeatureSupported( KFeatureIdFfImsDeregistrationInVpn ) ) + { + // SIP is re-registered when a VPN session ends. + // Note: return value ignored. Nothing to do here for error cases. + iSipObserver->RequestRegister(); + } + iNotify->AgentProgress(EVPNConnAgtDisconnected, KErrNone); iNotify->DisconnectComplete(); iDisconnecting = EFalse; @@ -499,6 +565,14 @@ break; case ECloseVpnConnEvent: LOG(Log::Printf(_L("%s ECloseVpnConnEvent\n"),name.PtrZ())); + + if ( FeatureManager::FeatureSupported( KFeatureIdFfImsDeregistrationInVpn ) ) + { + // SIP is re-registered when a VPN session ends. + // Note: return value ignored. Nothing to do here for error cases. + iSipObserver->RequestRegister(); + } + closeData = (TCloseVpnConnEventData*)(aData->Ptr()); if ( closeData->iTaskStatus ) { diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnconnagt/src/vpnsipobserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vpnengine/vpnconnagt/src/vpnsipobserver.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -0,0 +1,161 @@ +/* +* 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 : P&S key monitor for communication between VPN client +* and SIP Profile server +* Name : vpnsipobserver.cpp +* Part of : VPN client / VPN Connection Agent +* Version : 1.0 +* +*/ + +// SYSTEM INCLUDES +#include // For P&S key +#include // For P&S key definition + +// USER INCLUDES +#include "vpnsipobserver.h" + +// --------------------------------------------------------------------------- +// two phased constructor +// --------------------------------------------------------------------------- +// +CVpnSipObserver* CVpnSipObserver::NewL( CVPNConnAgt& aAgent ) + {// dkangchecked + CVpnSipObserver* self = new( ELeave ) CVpnSipObserver( aAgent ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + return self; + } + +// --------------------------------------------------------------------------- +// second phased constructor +// --------------------------------------------------------------------------- +// +void CVpnSipObserver::ConstructL() + { + // KVpnSipState P&S key is used for communication between VPN client + // and SIP Profile Server regarding SIP de/re-registration. + // KPSVpnSipUid is defined in a SIP System State Monitor plugin + // (CSipVpnMonitorAo). + User::LeaveIfError( iSIPProperty.Attach( KPSVpnSipUid, KVpnSipState ) ); + + // Start monitoring the P&S key. + Subscribe(); + } + +// --------------------------------------------------------------------------- +// C++ constructor +// --------------------------------------------------------------------------- +// +CVpnSipObserver::CVpnSipObserver( CVPNConnAgt& aAgent ) + : CActive( EPriorityStandard ), + iAgent( aAgent ) + { + CActiveScheduler::Add( this ); + } + +// --------------------------------------------------------------------------- +// C++ destructor +// --------------------------------------------------------------------------- +// +CVpnSipObserver::~CVpnSipObserver() + { + Cancel(); + iSIPProperty.Close(); + } + +// --------------------------------------------------------------------------- +// CVpnSipObserver::RequestDeregister +// --------------------------------------------------------------------------- +// +TInt CVpnSipObserver::RequestDeregister() + { + // Tells SIP Profile Server that a VPN session is about to be started. + // This will trigger SIP deregistration process by SIP Profile Server. + // Should not leave if failed. This will be handled by VPN Conn Agt. + return iSIPProperty.Set( KPSVpnSipUid, KVpnSipState, EVpnInitiating ); + } + +// --------------------------------------------------------------------------- +// CVpnSipObserver::RequestRegister +// --------------------------------------------------------------------------- +// +TInt CVpnSipObserver::RequestRegister() + { + // Tells SIP Profile Server that a VPN session ended. + // This will trigger SIP re-registration process by SIP Profile Server. + // Should not leave if failed. This will be handled by VPN Conn Agt. + return iSIPProperty.Set( KPSVpnSipUid, KVpnSipState, EVpnTerminated ); + } + +// --------------------------------------------------------------------------- +// CVpnSipObserver::RunL +// --------------------------------------------------------------------------- +// +void CVpnSipObserver::RunL() + { + if ( iStatus == KErrNone ) + { + TInt val = 0; + // SIP Profile Server notified completion of SIP deregistration. + TInt err = iSIPProperty.Get( KPSVpnSipUid, KVpnSipState, val ); + + if ( err == KErrNone ) + { + // If SIP is deregistered, let the VPN Connection Agent to + // proceed VPN session start. + if ( val == ESipDeregisterCompleted ) + { + iAgent.ProceedServiceStart(); + } + } + // Keep monitoring. + Subscribe(); + } + // Check if observer can be restarted. + else if ( iStatus != KErrCancel + && iStatus != KErrServerTerminated + && iStatus != KErrNotSupported ) + { + // Keep monitoring. + Subscribe(); + } + else + { + // Error. + LOG_1( "CVpnSipObserver::RunL Unknown error situation, iStatus = %d", iStatus.Int() ); + } + } + +// --------------------------------------------------------------------------- +// CVpnSipObserver::DoCancel +// --------------------------------------------------------------------------- +// +void CVpnSipObserver::DoCancel() + { + iSIPProperty.Cancel(); + } + +// --------------------------------------------------------------------------- +// CVpnSipObserver::Subscribe +// --------------------------------------------------------------------------- +// +void CVpnSipObserver::Subscribe() + { + iSIPProperty.Subscribe( iStatus ); + SetActive(); + } diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnins/group/vpnins.mmp --- a/vpnengine/vpnins/group/vpnins.mmp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnins/group/vpnins.mmp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2003-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" @@ -33,6 +33,5 @@ MW_LAYER_SYSTEMINCLUDE LIBRARY euser.lib -LIBRARY centralrepository.lib LIBRARY certstore.lib LIBRARY ctframework.lib diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnins/src/vpninsexe.cpp --- a/vpnengine/vpnins/src/vpninsexe.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnins/src/vpninsexe.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-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" @@ -18,23 +18,16 @@ #include - - #include // link against centralrepository.lib - #include +#include - #include - - -_LIT(KVpnManagementUiDllName, "vpnmanagementui.dll"); - -LOCAL_C void setKeysAndOtherSettingsL(); +LOCAL_C void setSettingsL(); // The starting point GLDEF_C TInt E32Main() { __UHEAP_MARK; CTrapCleanup* cleanup = CTrapCleanup::New(); - TRAPD(error, setKeysAndOtherSettingsL()); + TRAPD(error, setSettingsL()); if (error != KErrNone) { ; @@ -45,14 +38,8 @@ } -LOCAL_C void setKeysAndOtherSettingsL() +LOCAL_C void setSettingsL() { - // Connecting and initialization: - CRepository* repository = CRepository::NewL( KCRUidCommunicationSettings ); - repository->Set( KSettingsVPNSupported, 1 ); - repository->Set( KSettingsVPNImplementation, KVpnManagementUiDllName ); - delete repository; - CCertificateAppInfoManager* manager = CCertificateAppInfoManager::NewLC(); const TUid KUidVpn = {0x101F7993}; diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnipsecpolparser/src/ipsecpolparser.cpp --- a/vpnengine/vpnipsecpolparser/src/ipsecpolparser.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnipsecpolparser/src/ipsecpolparser.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-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" @@ -2054,15 +2054,8 @@ LOG_("Querying DNS tasks\n"); - if (iPolicies != NULL) - { - iPolicies->GetFQDNAddressListL(*iPolicyList); - } - else - { - LOG_("No ipsec policies!\n"); - } - LOG_("CIpSecurityPiece::GetFQDNAddressListL() exit\n"); + iPolicies->GetFQDNAddressListL(*iPolicyList); } + LOG_("CIpSecurityPiece::GetFQDNAddressListL() exit\n"); return iPolicyList; } diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnmanager/inc/cmmanagerutils.h --- a/vpnengine/vpnmanager/inc/cmmanagerutils.h Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnmanager/inc/cmmanagerutils.h Fri Apr 16 16:02:48 2010 +0300 @@ -48,8 +48,7 @@ const TUint32 aInternetDestinationId); - static HBufC* CreateConnectionMethodNameLC(RCmManagerExt& aCmManagerExt, - const TDesC& aPolicyName); + static HBufC* CreateConnectionMethodNameLC(const TDesC& aPolicyName); static HBufC* CreateIntranetDestinationNameLC(RCmManagerExt& aCmManagerExt); diff -r 29b591713d44 -r 8962128a2656 vpnengine/vpnmanager/src/cmmanagerutils.cpp --- a/vpnengine/vpnmanager/src/cmmanagerutils.cpp Tue Feb 02 00:53:00 2010 +0200 +++ b/vpnengine/vpnmanager/src/cmmanagerutils.cpp Fri Apr 16 16:02:48 2010 +0300 @@ -65,8 +65,7 @@ if ( internetDestinationId != 0) { //Generate name for the connection method - HBufC* name = CreateConnectionMethodNameLC(cmManagerExt, - aVpnPolicyInfo.iName); + HBufC* name = CreateConnectionMethodNameLC(aVpnPolicyInfo.iName); //Create VPN connection method RCmConnectionMethodExt vpnConnectionMethod = @@ -111,59 +110,16 @@ LOG_("CmManagerUtils::SetVpnConnectionMethodAttributesL - end \n"); } -HBufC* CmManagerUtils::CreateConnectionMethodNameLC(RCmManagerExt& aCmManagerExt, - const TDesC& aPolicyName) +HBufC* CmManagerUtils::CreateConnectionMethodNameLC(const TDesC& aPolicyName) { - using namespace CMManager; - + LOG_("CmManagerUtils::CreateConnectionMethodNameLC \n"); HBufC* name = HBufC::NewLC(KMaxDestinationNameLength); TPtr namePtr = name->Des(); - RArray connections; - CleanupClosePushL( connections ); - aCmManagerExt.ConnectionMethodL( connections, EFalse, EFalse, EFalse ); + namePtr.Copy(aPolicyName.Left(KMaxDestinationNameLength)); - TInt connectionMethodCount = connections.Count(); - TBool matchFound = EFalse; - TInt counter = 1; - do - { - matchFound = EFalse; - - namePtr.Copy(aPolicyName.Left(KMaxDestinationNameLength)); - if (counter > 1) - { - TBuf<10> numberValue; - numberValue.Format(_L("(%d)"), counter); - if (namePtr.MaxLength() < numberValue.Length() + namePtr.Length()) - { - namePtr.SetLength(namePtr.MaxLength() - numberValue.Length()); - - } - namePtr.Append(numberValue); - } - - for (TInt i = 0; i < connectionMethodCount; i++) - { - RCmConnectionMethodExt connectionMethod = aCmManagerExt.ConnectionMethodL( connections[i] ); - CleanupClosePushL(connectionMethod); - HBufC* existingName = connectionMethod.GetStringAttributeL( ECmName ); - CleanupStack::PopAndDestroy(); //connectionMethod - - if (name->Compare(*existingName) == 0) - { - delete existingName; - matchFound = ETrue; - break; - } - delete existingName; - } - counter++; - }while(matchFound); - - CleanupStack::PopAndDestroy(); // connections LOG_("CmManagerUtils::CreateConnectionMethodNameLC - end \n"); return name; } diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/BMARM/VPNMANAGEMENTUIU.DEF --- a/vpnui/vpnmanagementui/BMARM/VPNMANAGEMENTUIU.DEF Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -EXPORTS - NewUiRunnerL__Fv @ 1 NONAME R3UNUSED ; NewUiRunnerL(void) - NewLC__12CVpnUiLoaderRC5TRectG4TUid @ 2 NONAME R3UNUSED ; CVpnUiLoader::NewLC(TRect const &, TUid) - NewL__12CVpnUiLoaderRC5TRectG4TUid @ 3 NONAME R3UNUSED ; CVpnUiLoader::NewL(TRect const &, TUid) - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/BWINS/VPNMANAGEMENTUIU.DEF --- a/vpnui/vpnmanagementui/BWINS/VPNMANAGEMENTUIU.DEF Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/EABI/vpnmanagementuiU.DEF --- a/vpnui/vpnmanagementui/EABI/vpnmanagementuiU.DEF Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -EXPORTS - _ZTI12CVpnUiLoader @ 1 NONAME ; ## - _ZTI12CVpnUiRunner @ 2 NONAME ; ## - _ZTI14CAcuApiWrapper @ 3 NONAME ; ## - _ZTI14CVpnApiWrapper @ 4 NONAME ; ## - _ZTI16CVpnManagementUi @ 5 NONAME ; ## - _ZTI19CServerSettingsView @ 6 NONAME ; ## - _ZTI20CVpnManagementUiView @ 7 NONAME ; ## - _ZTI23CVpnManagementUiLogView @ 8 NONAME ; ## - _ZTI24CServerSettingsContainer @ 9 NONAME ; ## - _ZTI25CVpnManagementUiContainer @ 10 NONAME ; ## - _ZTI26CVpnManagementUiPolicyView @ 11 NONAME ; ## - _ZTI26CVpnManagementUiServerView @ 12 NONAME ; ## - _ZTI28CVpnManagementUiLogContainer @ 13 NONAME ; ## - _ZTI31CVpnManagementUiPolicyContainer @ 14 NONAME ; ## - _ZTI31CVpnManagementUiServerContainer @ 15 NONAME ; ## - _ZTV12CVpnUiLoader @ 16 NONAME ; ## - _ZTV12CVpnUiRunner @ 17 NONAME ; ## - _ZTV14CAcuApiWrapper @ 18 NONAME ; ## - _ZTV14CVpnApiWrapper @ 19 NONAME ; ## - _ZTV16CVpnManagementUi @ 20 NONAME ; ## - _ZTV19CServerSettingsView @ 21 NONAME ; ## - _ZTV20CVpnManagementUiView @ 22 NONAME ; ## - _ZTV23CVpnManagementUiLogView @ 23 NONAME ; ## - _ZTV24CServerSettingsContainer @ 24 NONAME ; ## - _ZTV25CVpnManagementUiContainer @ 25 NONAME ; ## - _ZTV26CVpnManagementUiPolicyView @ 26 NONAME ; ## - _ZTV26CVpnManagementUiServerView @ 27 NONAME ; ## - _ZTV28CVpnManagementUiLogContainer @ 28 NONAME ; ## - _ZTV31CVpnManagementUiPolicyContainer @ 29 NONAME ; ## - _ZTV31CVpnManagementUiServerContainer @ 30 NONAME ; ## - _Z24ImplementationGroupProxyRi @ 31 NONAME - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/data/101F6D31.rss --- a/vpnui/vpnmanagementui/data/101F6D31.rss Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -/* -* Copyright (c) 2007 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: -* ECOM plugin resource file for VPN Management Ui plugin. -* -*/ - - -#include - - -RESOURCE REGISTRY_INFO theInfo - { - dll_uid = 0x101F6D31; // Plugin dll UID - interfaces = - { - INTERFACE_INFO - { - interface_uid = 0x10207236; // UID for CGSPluginInterface - implementations = - { - IMPLEMENTATION_INFO - { - implementation_uid = 0x101F6D32; // Plugin UID - version_no = 1; - display_name = "VPN Management Ui Plugin"; // Plugin debug name - default_data = "0x200255B9"; // Parent UID (Connection View) - opaque_data = "60"; // Order number - } - }; - } - }; - } - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/data/vpnmanagementuirsc.rss --- a/vpnui/vpnmanagementui/data/vpnmanagementuirsc.rss Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1252 +0,0 @@ -/* -* Copyright (c) 2003-2007 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: Resource definitions for project vpnmanagementui -* -*/ - - - -// RESOURCE IDENTIFIER -NAME VPNM // 4 letter ID - -// INCLUDES -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include "vpnmanagementui.hrh" - -// RESOURCE DEFINITIONS -RESOURCE RSS_SIGNATURE { } - -RESOURCE TBUF { buf="vpnui"; } - - -// **MANAGEMENT VIEW -//---------------------------------------------------- -// -// r_vpn_management_title -// Management view's title. -// -//---------------------------------------------------- -// -RESOURCE TITLE_PANE r_vpn_management_title - { - txt = qtn_vpn_management_title; - } - -RESOURCE TBUF r_vpn_management_title_buf - { - buf= qtn_set_folder_conn_vpn; - } - -//---------------------------------------------------- -// -// r_vpnui_management_view -// ?description -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_vpnui_management_view - { - menubar=r_vpnui_menubar_management_view; - cba=R_AVKON_SOFTKEYS_SELECTION_LIST; - } - -//---------------------------------------------------- -// -// r_msk_open -// MiddleSoftKey in vpn management view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_open - { - buf= qtn_msk_open; - } - -//---------------------------------------------------- -// -// r_vpnui_menubar_management_view -// ?description -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_vpnui_menubar_management_view - { - titles= - { - //MENU_TITLE { menu_pane=r_vpnui_app_menu; txt="App"; }, - MENU_TITLE { menu_pane=r_vpnui_management_view_menu; txt="View"; } - }; - } - -//---------------------------------------------------- -// -// r_vpnui_management_view_menu -// ?description -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_vpnui_management_view_menu - { - items= - { - MENU_ITEM { command=EVpnUiCmdOpen; txt = qtn_set_options_open; flags = EEikMenuItemAction; }, - #ifdef __SERIES60_HELP - MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, - #endif //__SERIES60_HELP - - MENU_ITEM { command=EAknCmdExit; txt = qtn_options_exit; } - }; - } - -//---------------------------------------------------- -// -// r_vpn_policies -// First item in VPN management view's list -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_policies - { - buf= "\t"qtn_vpn_policies; - } - -//---------------------------------------------------- -// -// r_vpn_policy_servers -// Second item in VPN management view's list -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_policy_servers - { - buf= "\t"qtn_vpn_policy_servers; - } - -//---------------------------------------------------- -// -// r_vpn_log -// Third item in VPN management view's list -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_log - { - buf= "\t"qtn_vpn_log; - } - -// **VPN Policies view -//---------------------------------------------------- -// -// r_vpn_policies_title -// VPN policies view's title -// -//---------------------------------------------------- -// -RESOURCE TITLE_PANE r_vpn_policies_title - { - txt= qtn_vpn_policies_title; - } - -//---------------------------------------------------- -// -// r_vpnui_policies_view -// VPN UI Policies View Menubar & Soft keys -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_vpnui_policies_view - { - menubar=r_vpnui_policies_view_menubar; - cba=R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - -//---------------------------------------------------- -// -// r_msk_install_vpn_policies -// MiddleSoftKey for empty policies view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_install_vpn_policies - { - buf= qtn_msk_install_vpn_policies; - } - -//---------------------------------------------------- -// -// r_msk_vpn_details -// MiddleSoftKey for policies view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_vpn_details - { - buf= qtn_msk_vpn_details; - } - -//---------------------------------------------------- -// -// r_vpnui_policies_view_menubar -// Menubar for VPN policies view -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_vpnui_policies_view_menubar - { - titles= - { - MENU_TITLE { menu_pane=r_vpnui_policies_view_menu; } - }; - } - -//---------------------------------------------------- -// -// r_vpnui_policies_view_menu -// Menu pane for VPN policies view -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_vpnui_policies_view_menu - { - items= - { - MENU_ITEM { - command=EVpnUiCmdInstallPolicies; - txt = qtn_vpn_options_install_policies; }, - MENU_ITEM { - command=EVpnUiCmdPolicyDetails; - txt = qtn_vpn_options_policy_details; - flags=EEikMenuItemSpecific; - }, - MENU_ITEM { - command=EVpnUiCmdUpdatePolicy; - txt = qtn_vpn_options_update_policy; }, - MENU_ITEM { - command=EVpnUiCmdDeletePolicy; - txt = qtn_vpn_options_delete_policy; - flags=EEikMenuItemSpecific; - }, - -#ifdef __SERIES60_HELP - MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, -#endif //__SERIES60_HELP - - MENU_ITEM { command=EAknCmdExit; txt = qtn_options_exit; } - }; - } - -//---------------------------------------------------- -// -// r_vpn_policies_empty -// Empty Policy list text -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_policies_empty - { - buf = qtn_vpn_policies_empty; - } - -//---------------------------------------------------- -// -// r_vpn_quest_dl_policies_now -// Install policies from server query -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_dl_policies_now - { - buf = qtn_vpn_quest_dl_policies_now; - } - -//---------------------------------------------------- -// -// r_vpn_quest_delete_policy -// Delete a VPN policy query not associated -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_delete_policy - { - buf = qtn_vpn_quest_delete_policy; - } - -//---------------------------------------------------- -// -// r_vpn_quest_delete_policy_associated -// Delete a VPN policy query associated -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_delete_policy_associated - { - buf = qtn_vpn_quest_delete_policy_associated; - } - - -// **VPN policy servers view -//---------------------------------------------------- -// -// r_vpn_policy_servers_title -// VPN policy servers view's title -// -//---------------------------------------------------- -// -RESOURCE TITLE_PANE r_vpn_policy_servers_title - { - txt= qtn_vpn_policy_servers_title; - } - - -//---------------------------------------------------- -// -// r_vpnui_policy_servers_view -// VPN UI Policy Server View Menubar & Soft keys -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_vpnui_policy_servers_view - { - menubar=r_vpnui_policy_servers_view_menubar; - cba=R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - -//---------------------------------------------------- -// -// r_msk_add_vpn_server -// MiddleSoftKey for servers view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_add_vpn_server - { - buf= qtn_msk_add_vpn_server; - } - -//---------------------------------------------------- -// -// r_msk_edit -// MiddleSoftKey for servers view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_edit - { - buf= qtn_msk_edit; - } - -//---------------------------------------------------- -// -// r_vpnui_policy_servers_view_menubar -// Menubar for VPN policy servers view -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_vpnui_policy_servers_view_menubar - { - titles= - { - MENU_TITLE { menu_pane=r_vpnui_policy_servers_view_menu; } - }; - } - -//---------------------------------------------------- -// -// r_vpnui_policy_servers_view_menu -// Menu pane for VPN policy servers view -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_vpnui_policy_servers_view_menu - { - items= - { - MENU_ITEM { - command=EVpnUiCmdEditServer; - txt = qtn_vpn_options_edit_server; }, - MENU_ITEM { - command=EVpnUiCmdAddServer; - txt = qtn_vpn_options_add_new_server; }, - MENU_ITEM { - command=EVpnUiCmdSynchronise; - txt = qtn_vpn_options_synchronise_server; }, - MENU_ITEM { - command=EVpnUiCmdDeleteServer; - txt = qtn_vpn_options_delete_server; }, - -#ifdef __SERIES60_HELP - MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, -#endif //__SERIES60_HELP - - MENU_ITEM { command=EAknCmdExit; txt = qtn_options_exit; } - }; - } - -//---------------------------------------------------- -// -// r_vpn_policy_servers_empty -// Empty Policy servers list text -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_policy_servers_empty - { - buf = qtn_vpn_policy_servers_empty; - } - -//---------------------------------------------------- -// -// r_vpn_quest_define_new_server -// Define a policy server query -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_define_new_server - { - buf = qtn_vpn_quest_define_new_server; - } - -//---------------------------------------------------- -// -// r_vpn_quest_synchronise_server -// Synchronise server query -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_synchronise_server - { - buf = qtn_vpn_quest_synchronise_server; - } - -//---------------------------------------------------- -// -// r_vpn_quest_delete_server -// Delete a VPN policy server -// No policies related to the server -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_delete_server - { - buf = qtn_vpn_quest_delete_server; - } - -//---------------------------------------------------- -// -// r_vpn_quest_delete_server_associated -// Delete a VPN policy server -// Policies related to the server -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_delete_server_associated - { - buf = qtn_vpn_quest_delete_server_associated; - } - -//---------------------------------------------------- -// -// r_vpn_info_policy_server_in_use -// Policy server currently in use information note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_info_policy_server_in_use - { - buf = qtn_vpn_info_policy_server_in_use; - } - -//---------------------------------------------------- -// -// r_list_query -// Policy server selection pop-up -// -//---------------------------------------------------- -// -RESOURCE DIALOG r_list_query - { - flags=EGeneralQueryFlags; - buttons=R_AVKON_SOFTKEYS_SELECT_CANCEL; - items= - { - DLG_LINE - { - type = EAknCtListQueryControl; - id = EListQueryControl; //Avkon.hrh - control = AVKON_LIST_QUERY_CONTROL - { - listtype = EAknCtSinglePopupMenuListBox; - listbox = LISTBOX - { - flags = EAknListBoxMenuList; - }; - heading = qtn_vpn_prmpt_policy_server_selection; - }; - } - }; - } - -//---------------------------------------------------- -// -// r_msk_change -// MiddleSoftKey in vpn server parameters view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_change - { - buf= qtn_msk_change; - } - - -// **VPN log view -//---------------------------------------------------- -// -// r_vpn_log_title -// VPN log view's title -// -//---------------------------------------------------- -// -RESOURCE TITLE_PANE r_vpn_log_title - { - txt= qtn_vpn_log_title; - } - -//---------------------------------------------------- -// -// r_vpnui_log_view -// VPN UI Log View Menubar & Soft keys -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_vpnui_log_view - { - menubar=r_vpnui_log_view_menubar; - cba=R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - -//---------------------------------------------------- -// -// r_msk_refresh_vpn_log -// MiddleSoftKey for log view -// -//---------------------------------------------------- -// -RESOURCE TBUF r_msk_refresh_vpn_log - { - buf= qtn_msk_refresh_vpn_log; - } - -//---------------------------------------------------- -// -// r_vpnui_log_view_menubar -// Menubar for VPN log view -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_vpnui_log_view_menubar - { - titles= - { - MENU_TITLE { menu_pane=r_vpnui_log_view_menu; txt="View log"; } - }; - } - - -//---------------------------------------------------- -// -// r_vpnui_log_view_menu -// Menu pane for VPN log view -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_vpnui_log_view_menu - { - items= - { - MENU_ITEM { - command=EVpnUiCmdLogDetails; - txt = qtn_logs_cmd_details; - flags=EEikMenuItemSpecific; - }, - MENU_ITEM { - command=EVpnUiCmdRefreshLog; - txt = qtn_vpn_options_refresh_log; }, - MENU_ITEM { - command=EVpnUiCmdClearLog; - txt = qtn_logs_cmd_clear_list; }, - -#ifdef __SERIES60_HELP - MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, -#endif //__SERIES60_HELP - - MENU_ITEM { command=EAknCmdExit; txt = qtn_options_exit; } - }; - } - -//---------------------------------------------------- -// -// r_vpn_log_empty -// Empty VPN log list text -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_log_empty - { - buf = qtn_vpn_log_empty; - } - -//---------------------------------------------------- -// -// r_vpn_quest_clear_log -// Clear a VPN log confirmation query -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_clear_log - { - buf = qtn_vpn_quest_clear_log; - } - -//---------------------------------------------------- -// -// r_vpn_navi_client_version -// Version text in VPN log navi pane -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_navi_client_version - { - buf = qtn_vpn_navi_client_version; - } - - -//---------------------------------------------------- -// -// r_vpn_log_icon_array -// Icons in the vpn log view. -// -//---------------------------------------------------- -// -RESOURCE AKN_ICON_ARRAY r_vpn_log_icon_array - { - bmpfile = "\\resource\\apps\\vpnmanagementui.mbm"; - - icons = - { - AKN_ICON - { - iconId = EMbmVpnmanagementuiQgn_prop_vpn_log_info; - maskId = EMbmVpnmanagementuiQgn_prop_vpn_log_info_mask; - }, - AKN_ICON - { - iconId = EMbmVpnmanagementuiQgn_prop_vpn_log_warn; - maskId = EMbmVpnmanagementuiQgn_prop_vpn_log_warn_mask; - }, - AKN_ICON - { - iconId = EMbmVpnmanagementuiQgn_prop_vpn_log_error; - maskId = EMbmVpnmanagementuiQgn_prop_vpn_log_error_mask; - } - }; - } - - -// **VPN Policy and VPN log details -//---------------------------------------------------- -// -// r_message_query_details_view -// VPN policy and VPN log details message query -// -//---------------------------------------------------- -// -RESOURCE DIALOG r_message_query_details_view - { - flags = EGeneralQueryFlags | EEikDialogFlagNoBorder | EEikDialogFlagNoShadow; - buttons = R_AVKON_SOFTKEYS_OK_EMPTY; - items= - { - DLG_LINE - { - type = EAknCtPopupHeadingPane; - id = EAknMessageQueryHeaderId; - control = AVKON_HEADING - { - }; - }, - DLG_LINE - { - type = EAknCtMessageQuery; - id = EAknMessageQueryContentId; - control = AVKON_MESSAGE_QUERY - { - }; - } - }; - } - -//---------------------------------------------------- -// -// r_confirmation_query -// Confirmation query -// -//---------------------------------------------------- -// -RESOURCE DIALOG r_confirmation_query - { - flags=EGeneralQueryFlags; - buttons=R_AVKON_SOFTKEYS_YES_NO; - items= - { - DLG_LINE - { - type=EAknCtQuery; - id=EGeneralQuery; - control= AVKON_CONFIRMATION_QUERY - { - layout = EConfirmationLayout; - }; - } - }; - } - -//*************************** - -//---------------------------------------------------- -// -// r_vpn_detail_policy_description -// Text for detail's topic -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_description - { - buf = qtn_vpn_detail_policy_description; - } - -//---------------------------------------------------- -// -// r_vpn_detail_policy_status -// Text for detail's topic -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_status - { - buf = qtn_vpn_detail_policy_status; - } - -//---------------------------------------------------- -// -// r_vpn_detail_cert_status -// Text for detail's topic -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_cert_status - { - buf = qtn_vpn_detail_cert_status; - } - -//---------------------------------------------------- -// -// r_vpn_detail_policy_name -// Text for detail's topic -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_name - { - buf = qtn_vpn_detail_policy_name; - } - -//---------------------------------------------------- -// -// r_vpn_detail_source_server_name -// Text for detail's topic -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_source_server_name - { - buf = qtn_vpn_detail_source_server_name; - } - -//---------------------------------------------------- -// -// r_vpn_detail_policy_update_time -// Text for detail's topic -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_update_time - { - buf = qtn_vpn_detail_policy_update_time; - } - -//---------------------------------------------------- -// -// r_vpn_detail_policy_not_associated -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_not_associated - { - buf = qtn_vpn_detail_policy_not_associated; - } - -//---------------------------------------------------- -// -// r_vpn_detail_policy_associated -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_associated - { - buf = qtn_vpn_detail_policy_associated; - } - -//---------------------------------------------------- -// -// r_vpn_detail_policy_active -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_policy_active - { - buf = qtn_vpn_detail_policy_active; - } - -//---------------------------------------------------- -// -// r_vpn_detail_cert_status_ok -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_cert_status_ok - { - buf = qtn_vpn_detail_cert_status_ok; - } - -//---------------------------------------------------- -// -// r_vpn_detail_cert_status_expired -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_cert_status_expired - { - buf = qtn_vpn_detail_cert_status_expired; - } - -//---------------------------------------------------- -// -// r_vpn_detail_cert_status_missing -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_cert_status_missing - { - buf = qtn_vpn_detail_cert_status_missing; - } - -//---------------------------------------------------- -// -// r_vpn_detail_cert_status_not_yet_valid -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_cert_status_not_yet_valid - { - buf = qtn_vpn_detail_cert_status_not_yet_valid; - } - -//---------------------------------------------------- -// -// r_vpn_detail_log_entry_info -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_log_entry_info - { - buf = "Information:"; - } - -//---------------------------------------------------- -// -// r_vpn_detail_log_entry_warning -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_log_entry_warning - { - buf = "Warning:"; - } - -//---------------------------------------------------- -// -// r_vpn_detail_log_entry_error -// Text for detailed info -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_detail_log_entry_error - { - buf = "Error:"; - } - -// **VPN Policy server parameters view - -//---------------------------------------------------- -// -// r_vpnmanagementui_server_parameters_view -// Server parameters view Menubar & Soft keys -// -//---------------------------------------------------- -// -RESOURCE AVKON_VIEW r_vpnmanagementui_server_parameters_view - { - menubar=r_vpnmanagementui_server_parameters_view_menubar; - cba=R_AVKON_SOFTKEYS_OPTIONS_BACK; - } - -//---------------------------------------------------- -// -// r_vpnmanagementui_server_parameters_view_menubar -// Menubar for VPN policy server parameters view -// -//---------------------------------------------------- -// -RESOURCE MENU_BAR r_vpnmanagementui_server_parameters_view_menubar - { - titles= - { - MENU_TITLE { menu_pane=r_vpnmanagementui_server_parameters_view_menu; txt="View parameters"; } - }; - } - -//---------------------------------------------------- -// -// r_vpnmanagementui_server_parameters_view_menu -// Menu pane for VPN policy server parameters view -// -//---------------------------------------------------- -// -RESOURCE MENU_PANE r_vpnmanagementui_server_parameters_view_menu - { - items= - { - MENU_ITEM { command=EVpnUiCmdChange;txt = qtn_set_options_change; }, - -#ifdef __SERIES60_HELP - MENU_ITEM { command = EAknCmdHelp; txt = qtn_options_help; }, -#endif //__SERIES60_HELP - - MENU_ITEM { command=EAknCmdExit; txt = qtn_options_exit; } - }; - } - -//---------------------------------------------------- -// r_text_resource_server_parameters_view_empty_list -//---------------------------------------------------- -// -RESOURCE TBUF r_text_resource_server_parameters_view_empty_list - { - buf = qtn_log_empty_list; - } - -//---------------------------------------------------- -// -// r_vpn_quest_incomplete_server_def_delete -// Incomplete VPN policy server definition query -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_quest_incomplete_server_def_delete - { - buf = qtn_vpn_quest_incomplete_server_def_delete; - } - -//---------------------------------------------------- -// -// r_fldr_name_already_used -// Name already in use note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_fldr_name_already_used - { - buf = qtn_fldr_name_already_used; - } - - -// **VPN policy server name text setting page -//---------------------------------------------------- -// -// r_server_name_setting_page -//---------------------------------------------------- -// -RESOURCE AVKON_SETTING_PAGE r_server_name_setting_page - { - label= qtn_vpn_sett_policy_server_name; - softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL; - type = EEikCtEdwin; - editor_resource_id = r_server_name_edwin; - } - -//---------------------------------------------------- -// -// r_server_name_edwin -// Server name editor. -// -//---------------------------------------------------- -// -RESOURCE EDWIN r_server_name_edwin - { - width = 9; - lines = 5; - maxlength = 30; - allowed_input_modes = EAknEditorTextInputMode |EAknEditorNumericInputMode; - avkon_flags = EAknEditorFlagNoT9; - flags= EEikEdwinNoLineOrParaBreaks; - } - -// **VPN policy server address text setting page -//---------------------------------------------------- -// -// r_server_address_setting_page -// -// -//---------------------------------------------------- -// -RESOURCE AVKON_SETTING_PAGE r_server_address_setting_page - { - label= qtn_vpn_sett_policy_server_address; - softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL; - type = EEikCtEdwin; - editor_resource_id = r_server_address_edwin; - } - -//---------------------------------------------------- -// -// r_server_address_edwin -// Server address editor. -// -//---------------------------------------------------- -// -RESOURCE EDWIN r_server_address_edwin - { - width = 9; - lines = 5; - maxlength = 512; - numeric_keymap=EAknEditorCalculatorNumberModeKeymap; - allowed_input_modes = EAknEditorTextInputMode |EAknEditorNumericInputMode; - default_input_mode = EAknEditorTextInputMode; - special_character_table = R_AVKON_URL_SPECIAL_CHARACTER_TABLE_DIALOG; - default_case = EAknEditorLowerCase; - allowed_case_modes = EAknEditorLowerCase | EAknEditorUpperCase; - avkon_flags = EAknEditorFlagNoT9 | EAknEditorFlagLatinInputModesOnly; - flags= EEikEdwinAutoSelection | EAknEditorLowerCase | EEikEdwinNoLineOrParaBreaks; - } - -// ***************************************************** -// **CONFIRMATION QUERIES - -// **CONFIRMATION NOTES -//---------------------------------------------------- -// -// r_vpn_conf_policy_server_sync_ok -// VPN synchronisation OK confirmation note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_conf_policy_server_sync_ok - { - buf = qtn_vpn_conf_policy_server_sync_ok; - } - -//---------------------------------------------------- -// -// r_vpn_conf_policy_update_complete -// VPN policy update OK confirmation note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_conf_policy_update_complete - { - buf = qtn_vpn_conf_policy_update_complete; - } - -// **INFORMATION NOTES - -//---------------------------------------------------- -// -// r_vpn_info_cannot_modify_server_def -// Cannot be modified information note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_info_cannot_modify_server_def - { - buf = qtn_vpn_info_cannot_modify_server_def; - } - -//---------------------------------------------------- -// -// r_vpn_info_policy_dl_error -// Policy update failed information note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_info_policy_dl_error - { - buf = qtn_vpn_info_policy_dl_error; - } - -//---------------------------------------------------- -// -// r_vpn_info_server_cert_expired -// Server certificate expired information note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_info_server_cert_expired - { - buf = qtn_vpn_info_server_cert_expired; - } - -//---------------------------------------------------- -// -// r_vpn_info_policy_server_sync_error -// Synchronisation failed information note -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_info_policy_server_sync_error - { - buf = qtn_vpn_info_policy_server_sync_error; - } - - -// **WAIT NOTES - -//---------------------------------------------------- -// -// r_vpn_connecting_via_ap -// wait note text for synchronise and update notes -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_connecting_via_ap - { - buf = qtn_vpn_connecting_via_ap; - } - -//---------------------------------------------------- -// -// r_vpn_wait_policy_dl_processing -// wait note text for synchronise and update notes -// -//---------------------------------------------------- -// -RESOURCE TBUF r_vpn_wait_policy_dl_processing - { - buf = qtn_vpn_wait_policy_dl_processing; - } - -//---------------------------------------------------- -// -// r_vpn_wait_note -// wait note for synchronise and update process -// -//---------------------------------------------------- -// -RESOURCE DIALOG r_vpn_wait_note - { - flags = EAknProgressNoteFlags; - buttons = R_AVKON_SOFTKEYS_CANCEL; - items = - { - DLG_LINE - { - type = EAknCtNote; - id = EVpnUiWaitNote; - control= AVKON_NOTE - { - layout = EWaitLayout; - singular_label = ""; - plural_label = ""; - animation = R_QGN_GRAF_WAIT_BAR_ANIM; - }; - } - }; - } - -//------------------------------------------------------------------------------ -// r_vpn_server_setting_list -//------------------------------------------------------------------------------ -// -RESOURCE AVKON_SETTING_ITEM_LIST r_vpn_server_setting_list - { - items = - { - AVKON_SETTING_ITEM - { - identifier = EVpnUiSettingServerName; - setting_page_resource = r_server_name_setting_page; - name = qtn_vpn_sett_policy_server_name; - empty_item_text = qtn_selec_sett_val_field_none; - }, - AVKON_SETTING_ITEM - { - identifier = EVpnUiSettingServerAddress; - setting_page_resource = r_server_address_setting_page; - name = qtn_vpn_sett_policy_server_address; - empty_item_text = qtn_set_compulsory; - compulsory_ind_string = "*"; - }, - AVKON_SETTING_ITEM - { - identifier = EVpnUiSettingIap; - name = qtn_vpn_sett_vpn_iap_real_netw_reference; - empty_item_text = qtn_set_compulsory; - compulsory_ind_string = "*"; - } - - }; - } - - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/group/bld.inf --- a/vpnui/vpnmanagementui/group/bld.inf Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* -* Copyright (c) 2003-2009 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 information file for vpnmanagementui -* -*/ - -#include - -PRJ_PLATFORMS - -PRJ_EXPORTS -// export localised loc file -../loc/vpnmanagementui.loc MW_LAYER_LOC_EXPORT_PATH(vpnmanagementui.loc) - -PRJ_MMPFILES - -vpnmanagementui.mmp - -PRJ_EXTENSIONS - -START EXTENSION s60/mifconv -OPTION TARGETFILE vpnmanagementui.mif -OPTION HEADERFILE vpnmanagementui.mbg -OPTION SOURCES -c8,8 qgn_prop_vpn_log_info \ - -c8,8 qgn_prop_vpn_log_warn \ - -c8,8 qgn_prop_vpn_log_error \ - -c16,8 qgn_prop_set_conn_vpn -END - -PRJ_TESTMMPFILES diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/group/vpnmanagementui.mmp --- a/vpnui/vpnmanagementui/group/vpnmanagementui.mmp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Project definition file for project vpnmanagementui -* -*/ - -#include -#include -#include - -TARGET vpnmanagementui.dll -TARGETTYPE PLUGIN -UID 0x10009D8D 0x101F6D31 - -CAPABILITY CAP_ECOM_PLUGIN -VENDORID VID_DEFAULT - -SOURCEPATH ../data - -//ECOM resource definition -START RESOURCE 101F6D31.rss -TARGET vpnmanagementui.rsc -END - -START RESOURCE vpnmanagementuirsc.rss -HEADER -TARGETPATH RESOURCE_FILES_DIR -LANGUAGE_IDS -END - -SOURCEPATH ../src -SOURCE vpnmanagementuiview.cpp -SOURCE vpnmanagementuicontainer.cpp -SOURCE vpnmanagementuipolicyview.cpp -SOURCE vpnmanagementuiserverview.cpp -SOURCE vpnmanagementuilogview.cpp -SOURCE vpnmanagementuipolicycontainer.cpp -SOURCE vpnmanagementuiservercontainer.cpp -SOURCE vpnmanagementuilogcontainer.cpp -SOURCE vpnmanagementuiserversettingscontainer.cpp -SOURCE vpnmanagementuiserversettingsview.cpp -SOURCE vpnuiloader.cpp -SOURCE vpnapiwrapper.cpp -SOURCE vpnmanagementuiimplementationtable.cpp -SOURCE serversettingconnectionsettingitem.cpp - -USERINCLUDE . ../inc -USERINCLUDE ../data -USERINCLUDE ../../../vpnengine/pkiserviceapi/inc -USERINCLUDE ../../../vpnengine/eventmediatorapi/inc -USERINCLUDE ../../../vpnengine/vpnmanager/inc -USERINCLUDE ../../../vpnengine/kmdserver/inc -USERINCLUDE ../../../vpnengine/eventviewer/inc -USERINCLUDE ../../../vpnapiimpl/inc -USERINCLUDE ../../../vpnengine/vpncommon/inc //for logcommon.h -USERINCLUDE ../../vpnecomnotifier/data - -MW_LAYER_SYSTEMINCLUDE -APP_LAYER_SYSTEMINCLUDE - -LIBRARY commonengine.lib // StringLoader.h -LIBRARY eikctl.lib // markable icons -LIBRARY euser.lib -LIBRARY GSFramework.lib -LIBRARY GSEcomPlugin.lib -LIBRARY cone.lib -LIBRARY eikcore.lib -LIBRARY eikcoctl.lib -LIBRARY avkon.lib -LIBRARY bafl.lib -LIBRARY commdb.lib -LIBRARY efsrv.lib -LIBRARY sysutil.lib -LIBRARY commonui.lib -LIBRARY vpnapi.lib -LIBRARY eventmedapi.lib -LIBRARY eventviewer.lib -LIBRARY centralrepository.lib -LIBRARY cmmanager.lib -#ifdef __SCALABLE_ICONS -LIBRARY AknSkins.lib -#endif //__SCALABLE_ICONS -DEBUGLIBRARY flogger.lib - -#ifdef __SERIES60_HELP -LIBRARY hlplch.lib // for "Help" options menu -#endif //__SERIES60_HELP - -#ifndef __SCALABLE_ICONS -// Bitmaps for VPN log view -START BITMAP vpnmanagementui.mbm -HEADER - -SOURCEPATH S60_SRC_BITMAP_DIR - -TARGETPATH RESOURCE_FILES_DIR - -// VPN log icons -SOURCE c8 qgn_prop_vpn_log_info.bmp // Information -SOURCE c8 qgn_prop_vpn_log_warn.bmp // Warning -SOURCE c8 qgn_prop_vpn_log_error.bmp // Error - -// VPN GS listbox icon -SOURCE c16 qgn_prop_set_conn_vpn.bmp - -// Masks for VPN log icons -SOURCE c8 qgn_prop_vpn_log_info_mask.bmp // Information -SOURCE c8 qgn_prop_vpn_log_warn_mask.bmp // Warning -SOURCE c8 qgn_prop_vpn_log_error_mask.bmp // Error - -// Mask for VPN GS listbox icon -SOURCE c8 qgn_prop_set_conn_vpn_mask.bmp - -END - -// - used only by Codewarrior for convenience. -DOCUMENT 101F6D31.rss - -#endif - -// end of file \ No newline at end of file diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/group/vpnmanagementuiicons.mk --- a/vpnui/vpnmanagementui/group/vpnmanagementuiicons.mk Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -# -# Copyright (c) 2004 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: VpnManagementUi icons. -# - -ifeq (WINS,$(findstring WINS, $(PLATFORM))) -ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z -else -ZDIR=\epoc32\data\z -endif - -TARGETDIR=$(ZDIR)\SYSTEM\Data -HEADERDIR=\epoc32\include -ICONTARGETFILENAME=$(TARGETDIR)\VpnManagementUi.MIF -HEADERFILENAME=$(HEADERDIR)\VpnManagementUi.MBG - -do_nothing : - @rem do_nothing - -MAKMAKE : do_nothing - -BLD : do_nothing - -CLEAN : do_nothing - -LIB : do_nothing - -CLEANLIB : do_nothing - -# ---------------------------------------------------------------------------- -# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by -# MifConv if the mask detph is defined. -# -# NOTE 2: Usually, source paths should not be included in the bitmap -# definitions. MifConv searches for the icons in all icon directories in a -# predefined order, which is currently \s60\icons, \s60\bitmaps2. -# The directory \s60\icons is included in the search only if the feature flag -# __SCALABLE_ICONS is defined. -# ---------------------------------------------------------------------------- - -RESOURCE : - mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \ - /c8,8 qgn_prop_vpn_log_info.bmp \ - /c8,8 qgn_prop_vpn_log_warn.bmp \ - /c8,8 qgn_prop_vpn_log_error.bmp \ - /c16,8 qgn_prop_set_conn_vpn.bmp - -FREEZE : do_nothing - -SAVESPACE : do_nothing - -RELEASABLES : - @echo $(HEADERFILENAME)&& \ - @echo $(ICONTARGETFILENAME) - -FINAL : do_nothing diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/group/vpnmanagementuiicons_dc.mk --- a/vpnui/vpnmanagementui/group/vpnmanagementuiicons_dc.mk Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -# -# Copyright (c) 2004 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: VpnManagementUi icons. -# - -ifeq (WINS,$(findstring WINS, $(PLATFORM))) -ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z -else -ZDIR=\epoc32\data\z -endif - -TARGETDIR=$(ZDIR)\resource\apps -HEADERDIR=\epoc32\include -ICONTARGETFILENAME=$(TARGETDIR)\VpnManagementUi.MIF -HEADERFILENAME=$(HEADERDIR)\VpnManagementUi.MBG - -do_nothing : - @rem do_nothing - -MAKMAKE : do_nothing - -BLD : do_nothing - -CLEAN : do_nothing - -LIB : do_nothing - -CLEANLIB : do_nothing - -# ---------------------------------------------------------------------------- -# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by -# MifConv if the mask detph is defined. -# -# NOTE 2: Usually, source paths should not be included in the bitmap -# definitions. MifConv searches for the icons in all icon directories in a -# predefined order, which is currently \s60\icons, \s60\bitmaps2. -# The directory \s60\icons is included in the search only if the feature flag -# __SCALABLE_ICONS is defined. -# ---------------------------------------------------------------------------- - -RESOURCE : - mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \ - /c8,8 qgn_prop_vpn_log_info.bmp \ - /c8,8 qgn_prop_vpn_log_warn.bmp \ - /c8,8 qgn_prop_vpn_log_error.bmp \ - /c16,8 qgn_prop_set_conn_vpn.bmp - -FREEZE : do_nothing - -SAVESPACE : do_nothing - -RELEASABLES : - @echo $(HEADERFILENAME)&& \ - @echo $(ICONTARGETFILENAME) - -FINAL : do_nothing diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/log_vpnmanagementui.h --- a/vpnui/vpnmanagementui/inc/log_vpnmanagementui.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -/* -* Copyright (c) 2003 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: Logging utility. -* -*/ - - - -#if !defined(__LOG_VPNMANAGEMENTUI_H__) -#define __LOG_VPNMANAGEMENTUI_H__ - -_LIT(KLogFile,"vpnmanagementui.txt"); - -#include "logcommon.h" - -#endif // __LOG_VPNMANAGEMENTUI_H__ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/serversettingconnectionsettingitem.h --- a/vpnui/vpnmanagementui/inc/serversettingconnectionsettingitem.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* Copyright (c) 2008 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: Custom setting item for selectin used connection -* -*/ - - - -#ifndef SERVER_SETTING_CONNECTION_SETTING_ITEM_H -#define SERVER_SETTING_CONNECTION_SETTING_ITEM_H - -#include -#include -#include - -/** - * A custom setting for selecting the used destination or connection method. - */ -class CServerSettingConnectionSettingItem : public CAknSettingItem - { -public: - - CServerSettingConnectionSettingItem(TInt aIdentifier, TCmSettingSelection& aSelection); - virtual ~CServerSettingConnectionSettingItem(); - - - void StoreL(); - void LoadL(); - void EditItemL( TBool aCalledFromMenu ); - - const TDesC& SettingTextL(); - -private: - - void UpdateSettingTextL(); - - TCmSettingSelection& iExternalValue; - TCmSettingSelection iInternalValue; - - HBufC* iSettingText; - }; - -#endif // SERVER_SETTING_CONNECTION_SETTING_ITEM_H diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/uirunner.h --- a/vpnui/vpnmanagementui/inc/uirunner.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -/* -* Copyright (c) 2009 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: -* The UI runner interface that applications can use to launch UI -* implementations. -* -*/ - -#ifndef __UI_RUNNER_H__ -#define __UI_RUNNER_H__ - -#include - -// The second UID for DLLs that implement -// the UI runner interface. -const TInt KUiRunnerUidValue = 0x10200EC4; -const TUid KUiRunnerUid = { KUiRunnerUidValue }; - -/** - * Flags that indicate how the UI launched through - * the UI runner interface completes. These flags - * are returned to the calling application in the - * aUirEvent parameter of the UiComplete call. The - * flags can be combined if needed. - */ -const TInt KUirEventNone = 0x00000000; // UI left with the Back button -const TInt KUirEventExitRequested = 0x00000020; // UI left with Options->Exit - -/** - * UI observation interface. An application that - * uses the UI runner interface to launch a certain - * UI must have an object that implements this - * interface and pass a pointer to this object - * in the RunUiL method (see below). The UI - * implementation will call the UiComplete method - * of this interface when the user leaves the UI. - */ -class MUiRunnerObserver - { -public: - virtual void UiComplete(TInt aUirEvent) = 0; - }; - -/** - * The UI runner interface that applications - * can use to launch UI implementations. - */ -class CUiRunner : public CBase - { -public: - /** - * Second-phase constructor - */ - virtual void ConstructL() = 0; - - /** - * Runs the UI, ASYNCHRONOUS. - * - * @param A pointer to an object that implements the - * MUiRunnerObserver interface. The UI implementation - * will call the UiComplete method of this interface - * when the user leaves the UI. - */ - virtual void RunUiL(MUiRunnerObserver* aObserver) = 0; - }; - -#endif // __UI_RUNNER_H__ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnapiwrapper.h --- a/vpnui/vpnmanagementui/inc/vpnapiwrapper.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Declaration of the CVpnApiWrapper class. -* -*/ - -#ifndef __VPNAPIWRAPPER_H__ -#define __VPNAPIWRAPPER_H__ - -#include -#include "vpnapi.h" - - -class MVpnApiWrapperCaller - { -public: - virtual void NotifyPolicyImportComplete(TInt aResult) = 0; - }; - -/** - * The class definitions for CVpnApiWrapper - - * Wrapper class for VPN API calls - */ -class CVpnApiWrapper : public CActive - { -public: - /** - * NewL method starts the standard two phase construction. - */ - static CVpnApiWrapper* NewL(); - - /** - * Destructor - */ - ~CVpnApiWrapper(); - - CArrayFixFlat* PolicyListL(); - - /** - * Deletes the specified policy. - * - * @param aPolicyIndex Index of the listbox in the policy view - */ - void DeletePolicyL(TInt aPolicyIndex); - - /** - * Gets detailed information about the specified policy. - * - * @param aPolicyIndex Index of the listbox in the policy view - * - * @param aPolicyDetails [out] Policy information structure - */ - void GetPolicyDetailsL( - TInt aPolicyIndex, TVpnPolicyDetails& aPolicyDetails); - - /** - * Imports a new VPN policy to the policy store. - * - * @param aImportDir An absolute path to the VPN policy files directory - * - * @param aCaller - */ - void ImportPolicyL( - const TDesC& aImportDir, MVpnApiWrapperCaller* aCaller); - - /** - * Gets the last update time of the specified policy. - * @param aPolicyIndex Index of the listbox in the policy view. - * @param aTime Last update time to be returned. - * @return Returns KErrNone if succeed. - * Otherwise it returns KErrNotFound. - */ - TInt GetLastUpdateTime(TInt aPolicyIndex, TTime& aTime); - -protected: // From CActive - void DoCancel(); - void RunL(); - -private: - /** - * Constructor - */ - CVpnApiWrapper(); - - /** - * Second phase constructor - */ - void ConstructL(); - - /** - * Builds the list of the installed policies. - */ - void BuildPolicyListL(); - -private: - - enum TTask - { - ETaskNone = 1, - ETaskImportPolicies - }; - - RVpnApi iVpnApi; - - CArrayFixFlat* iPolicyList; - TFileName iImportDir; - - TTask iOngoingTask; - MVpnApiWrapperCaller* iCaller; - }; - -#endif // __VPNAPIWRAPPER_H__ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementui.hrh --- a/vpnui/vpnmanagementui/inc/vpnmanagementui.hrh Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* Copyright (c) 2003-2007 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: Resource headers for project vpnmanagementui -* -*/ - - - -#ifndef VPNMANAGEMENTUI_HRH -#define VPNMANAGEMENTUI_HRH - -enum TVpnUiCommandIds - { - EVpnUiCmdInstallPolicies = 1, - EVpnUiCmdPolicyDetails, - EVpnUiCmdDeletePolicy, - EVpnUiCmdUpdatePolicy, - EVpnUiCmdEditServer, - EVpnUiCmdAddServer, - EVpnUiCmdSynchronise, - EVpnUiCmdDeleteServer, - EVpnUiCmdLogDetails, - EVpnUiCmdClearLog, - EVpnUiCmdRefreshLog, - EVpnUiCmdChangePassword, - EVpnUiCmdChange, - EVpnUiCmdOpen - }; - -enum TVpnUiSettingItems - { - EVpnUiSettingServerName, - EVpnUiSettingServerAddress, - EVpnUiSettingIap - }; - - -enum TVpnUiCtrlIds - { - EVpnUiWaitNote = 1 - }; - -#endif // VPNUI_HRH diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuicontainer.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuicontainer.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +0,0 @@ -/* -* Copyright (c) 2003-2006 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: Declaration of the CVpnManagementUiContainer class. -* -*/ - - - -#ifndef __VPNMANAGEMENTUICONTAINER_H__ -#define __VPNMANAGEMENTUICONTAINER_H__ - -// INCLUDES -#include -#include "vpnmanagementuiview.h" - -// FORWARD DECLARATIONS -class CEikTextListBox; - -// CLASS DECLARATION - -/** -* CVpnManagementUiContainer container control class. -* -*/ -class CVpnManagementUiContainer : public CCoeControl, public MCoeControlObserver - { - /** - * Container needs to get access to CVpnManagementUiView's DoActivateL - */ - friend void CVpnManagementUiView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&); - - public: // Constructors and destructor - - /** - * Overrided Default constructor - */ - CVpnManagementUiContainer(CVpnManagementUiView& aParent, CVpnUiLoader& aLoader); - - /** - * Destructor. - */ - ~CVpnManagementUiContainer(); - - /** - * Draws listbox - */ - void DrawListBoxL(TInt aCurrentPosition, TInt aTopItem); - - /** - * From CCoeControl - */ - void HandleResourceChange( TInt aType ); - - - public: // New functions - - public: // Functions from base classes - - private: // Functions from base classes - - /** - * Symbian OS default constructor. - * @param aRect Frame rectangle for container. - */ - void ConstructL(const TRect& aRect); - - /** - * From CoeControl,SizeChanged. - */ - void SizeChanged(); - - /** - * From CoeControl,CountComponentControls. - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl,ComponentControl. - */ - CCoeControl* ComponentControl(TInt aIndex) const; - - /** - * Handles control events - * - * event handling section - * e.g Listbox events - */ - void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); - - /** - * Handles the key events OK button, arrow keys, delete key. - */ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); - - void TitlePaneTextsL(); - - /** - * Creates listbox, sets empty listbox text - */ - void CreateListBoxL(); - - void ShowItemsL(); - - #ifdef __SERIES60_HELP - /** - * This function is called when Help application is launched. - * (other items were commented in a header). - */ - void GetHelpContext(TCoeHelpContext& aContext) const; - #endif //__SERIES60_HELP - - public: //data - - CEikTextListBox* iListBox; - - /** - * To get hold of View - */ - CVpnManagementUiView& iParent; - - /** - * To get hold of CVpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To store the list item count - */ - TInt iListItemCount; - - }; - -#endif // __VPNUIMANAGEMENTCONTAINER_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuidefs.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuidefs.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -/* -* Copyright (c) 2003-2006 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: Common definitions of the vpnmanagementui.dll -* -*/ - - - -#ifndef __VPNMANAGEMENTUIDEFS_H__ -#define __VPNMANAGEMENTUIDEFS_H__ - -// INCLUDES -#include - -#include // for menu and cba support -#include -#include -#include -#include -#include -#include // for TResourceReader -#include - -// _LITS -_LIT(KVpnManagementUiEnter, "\n"); -_LIT(KVpnManagementUiEnterTwice, "\n\n"); -_LIT(KVpnManagementUiSpaceHyphenSpace, " - "); -_LIT(KVpnManagementUiSpace, " "); - -_LIT(KIpsecAcuPlugInDllName, "ipsecacuplugin.dll"); - -// Pathname of the MBM file containing icons for VPN Log view -_LIT( KVpnLogIcons, "\\resource\\apps\\VpnManagementUi.mbm" ); - -// FORWARD DECLARATIONS -// CONSTS -const TUid KUidVpnManagementUi = { 0x10200EC4 }; //UID of dll for help -const TUid KUidIpsecAcuPlugIn = { 0x101F6EB8 }; - -const TInt KChangeViewBack = -2; -const TInt KChangeViewPrevious = -1; -const TInt KChangeViewPolicy = 0; -const TInt KChangeViewServer = 1; -const TInt KChangeViewLog = 2; -const TInt KChangeViewSettings = 3; - -// For setting the correct title -const TInt KViewTitleManagementView = 4; -const TInt KViewTitlePolicyView = 5; -const TInt KViewTitleServerView = 6; -const TInt KViewTitleLogView = 7; -const TInt KViewTitleParametersView = 8; - -// Granularity of the created iconarrays -LOCAL_D const TInt KGranularity = 4; - -// "dd/mm/yyyy0" -const TInt KMaxLengthTextDateString = 11; -// Maximum length of dynamic strings is 4092, -// plus 13 resource strings with average lenght of 50 makes 650 -// total 4742 rounded up to 5000 -const TInt KMaxLengthTextDetailsBody = 5000; - -// Max length for ave_list_setting_pane_1 is 52 and -// for ave_list_setting_pane_2 51 (formatting 7) , total 103 + end mark -const TInt KMaxLengthTextSettListOneTwo = 104; -// Max length for ave_list_setting_pane_1 is 52 -const TInt KMaxLengthTextSettListOne = 52; - -const TInt KMaxServerUrlLength = 512; -const TInt KMaxServerNameLength = 30; -const TInt KMaxUiSelectionNameLength = 50; - -const TInt KMaxLogListLength = 50; -#endif // __VPNMANAGEMENTUIDEFS_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuilogcontainer.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuilogcontainer.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,239 +0,0 @@ -/* -* Copyright (c) 2003-2006 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: Declaration of the CVpnManagementUiLogContainer class. -* -*/ - - - - -#ifndef __VPNMANAGEMENTUILOGCONTAINER_H__ -#define __VPNMANAGEMENTUILOGCONTAINER_H__ -// INCLUDES -#include "vpnmanagementuilogview.h" -#include "eventviewer2.h" - - -// FORWARD DECLARATIONS -class CAknIconArray; - -// CLASS DECLARATION - -/** -* CVpnManagementUiLogContainer container control class. -* -* @lib vpnmanagementui.lib -*/ -class CVpnManagementUiLogContainer : public CCoeControl, MCoeControlObserver, MEikListBoxObserver - { - - /** - * Policy Container needs to get access to CVpnManagementUiLogView's DoActivateL - */ - friend void CVpnManagementUiLogView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&); - - public: // functions - - /** - * Overrided Default constructor - */ - CVpnManagementUiLogContainer(CVpnManagementUiLogView& aParent, CVpnUiLoader& aLoader); - - /** - * Destructor. - */ - ~CVpnManagementUiLogContainer(); - - /** - * Change focus - */ - void FocusChanged(TDrawNow aDrawNow); - - /** - * From CCoeControl - */ - void HandleResourceChange( TInt aType ); - - /** - * Draws listbox, fetches graphic icons for markable list - */ - void DrawListBoxL(TInt aCurrentPosition, TInt aTopItem); - - /** - * Gets previous log event and updates listbox. - * @return KErrNone or KErrNotFound. - */ - TInt UpdateListBoxL(TInt& aCurrentPosition); - - /** - * Handles listbox events - */ - void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); - - /** - * Gets list of Log events and displays them in listbox. - */ - void ShowLogsL(); - - /** - * Creates the log details message query - * Appends strings from resource and eventviewer to one - * message body text and displays it. - */ - void LogDetailsL(TInt aIndex); - - /** - * Asks confirmation from user. - * Clears VPN log view. - * Calls eventviewer to clear log. - */ - void ClearLogL(); - - public: // data - - /** - * To handle listbox - * Cannot be private because CVpnManagementUiLogView uses it - */ - CAknDoubleGraphicStyleListBox* iListBox; - - /** - * To get hold of PolicyView - */ - CVpnManagementUiLogView& iParent; - - /** - * To get hold of CVpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To store the list item count - */ - TInt iListItemCount; - - private: // functions - - /** - * Default constructor - */ - CVpnManagementUiLogContainer(); - - /** - * Symbian OS default constructor. - * @param aRect Frame rectangle for container. - */ - void ConstructL(const TRect& aRect, TInt& aCurrentPosition); - - /** - * Creates listbox, sets empty listbox text - */ - void CreateListBoxL(); - - /** - * Reads text from resource to empty log view - * and put text to the listbox. - */ - void EmptyViewTextL(); - - /** - * Reads text from resource - */ - void ReadResourceL(HBufC& aText, TInt aResource); - - /** - * Removes all from listbox. - */ - void RemoveAllFromListBoxL(); - - /** - * From CoeControl,SizeChanged. - */ - void SizeChanged(); - - /** - * From CoeControl,CountComponentControls. - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl,ComponentControl. - */ - CCoeControl* ComponentControl(TInt aIndex) const; - - /** - * Handles control events - * - * event handling section - * e.g Listbox events - */ - void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); - - /** - * Handles the key events OK button, arrow keys, delete key. - */ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); - - /** - * Creates the iconarray. 0th icon is info icon, - * 1st icon is warning icon and 2nd icon is error icon. - * @return The created iconarray. Owner is the caller. - */ - CAknIconArray* CreateIconArrayL() const; - - /** - * Get resource id for the iconarray. - * @return The resource id for the icon array. - */ - TInt IconArrayResourceId() const; - - /** - * Get corresponding icon of category - * @param aCategory category of logtext - * @return The index of icon array. - */ - TInt GetIconArrayIndex(TLogCategory2& aCategory); - - /** - * Formats date and time string for Log entry. - */ - void TimeLogEntryL(TDes& aDes, TTime aTime); - - /** - * Searches all drive letters and tries - * to find vpnmanagementui.mif file. - * @return The full name and path of the MIF file - * containing icons for VPN Log view - */ - TFileName CVpnManagementUiLogContainer::GetIconFilenameL(); - - - -#ifdef __SERIES60_HELP - /** - * This function is called when Help application is launched. - * (other items were commented in a header). - */ - void GetHelpContext(TCoeHelpContext& aContext) const; -#endif //__SERIES60_HELP - - private: //data - - CEventViewer* iEventViewer; - CArrayFixFlat* iLogList; - }; - -#endif // __VPNMANAGEMENTUILOGCONTAINER_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuilogview.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuilogview.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -/* -* Copyright (c) 2003 - 2006 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: Declaration of the CVpnManagementUiLogView class. -* -*/ - - -#ifndef __VPNMANAGEMENTUILOGVIEW_H__ -#define __VPNMANAGEMENTUILOGVIEW_H__ - -// INCLUDES -#include -#include "vpnmanagementuiviewid.h" - -class CVpnManagementUiLogContainer; -class CVpnUiLoader; -/** -* CVpnManagementUiLogView view class. -* -* @lib vpnmanagementui.dll -*/ -class CVpnManagementUiLogView : public CAknView - { - public: - - /** - * Destructor. - */ - ~CVpnManagementUiLogView(); - - /** - * NewL - */ - static class CVpnManagementUiLogView* NewL(const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * NewLC - */ - static class CVpnManagementUiLogView* NewLC(const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * Returns Log view id - */ - TUid Id() const; - - /** - * Handles ClientRectChange - */ - void HandleClientRectChange(); - - /** - * Returns iLogContainer - */ - CCoeControl* Container(); - - /** - * Handles Softkey and Options list commands - */ - void HandleCommandL(TInt aCommand); - - /** - * Sets appropriate MSK for view - */ - void SetMiddleSoftKeyL(TBool aDrawNow); - - - public: // data - - /** - * To get hold of VpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To get access to log list in log view - */ - CVpnManagementUiLogContainer* iLogContainer; - - /** - * To store the position of the focus in the Log view - */ - TInt iCurrentPosition; - - private: // functions - - /** - * Constructor. - */ - CVpnManagementUiLogView(CVpnUiLoader& aLoader); - - /** - * Symbian OS default constructor. - */ - void ConstructL(); - - /** - * From AknView, - * Updates the view when opening it - */ - void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - /** - * From AknView, - * Saves focus position when closing view - */ - void DoDeactivate(); - - /** - * Updates Options list with correct items depending on - * whether the listbox is empty or if it has any marked items - */ - void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane); - - /** - * Sets MSK - */ - void SetMiddleSoftKeyLabelL(TInt aResourceId, TInt aCommandId); - - private: // Data - - /** - * Stores top item in the listbox - */ - TInt iTopItem; - }; - - -#endif // __VPNMANAGEMENTUILOGVIEW_H__ \ No newline at end of file diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuipolicycontainer.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuipolicycontainer.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,210 +0,0 @@ -/* -* Copyright (c) 2003 - 2009 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: Declaration of the CVpnManagementUiPolicyContainer class. -* -*/ - -#ifndef __VPNMANAGEMENTUIPOLICYCONTAINER_H__ -#define __VPNMANAGEMENTUIPOLICYCONTAINER_H__ - -// INCLUDES -#include "vpnmanagementuipolicyview.h" - - -// FORWARD DECLARATIONS - -// CLASS DECLARATION - -/** -* CVpnManagementUiPolicyContainer container control class. -* -* @lib vpnmanagementui.lib -*/ -class CVpnManagementUiPolicyContainer : - public CCoeControl, - public MCoeControlObserver, - public MEikListBoxObserver - { - - /** - * Policy Container needs to get access to CVpnManagementUiPolicyView's DoActivateL - */ - friend void CVpnManagementUiPolicyView::DoActivateL( - const TVwsViewId&, TUid, const TDesC8&); - - public: // functions - - /** - * Overrided Default constructor - */ - CVpnManagementUiPolicyContainer( - CVpnManagementUiPolicyView& aParent, CVpnUiLoader& aLoader); - - /** - * Destructor. - */ - ~CVpnManagementUiPolicyContainer(); - - /** - * Overrided ActivateL function from base class CCoeControl - */ - virtual void ActivateL(); - - /** - * Change focus - */ - void FocusChanged(TDrawNow aDrawNow); - - /** - * From CCoeControl - */ - void HandleResourceChange( TInt aType ); - - /** - * Draws listbox, fetches graphic icons for markable list - */ - void DrawListBoxL(TInt aCurrentPosition, TInt aTopItem); - - /** - * Updates listbox after deletion, sets No VPN policies text - * if deleted policy was a last one. - */ - void UpdateListBoxL(TInt& aCurrentPosition); - - /** - * Handles listbox events - */ - void HandleListBoxEventL( - CEikListBox* aListBox, TListBoxEvent aEventType); - - void InstallPoliciesL(); - - void SynchroniseServerL(); - - void UpdatePolicyL(TVpnPolicyId aPolicyId); - - // from MAcuApiWrapperCaller - void NotifyUpdatePolicyCompleteL(TInt aResult); - void NotifySynchroniseServerCompleteL(TInt aResult); - void NotifyStepChangedL(TInt aResult); - - - public: // data - - /** - * To handle listbox - * Cannot be private because CVpnManagementUiPolicyView uses it - */ - CEikColumnListBox* iListBox; - - /** - * To get hold of PolicyView - */ - CVpnManagementUiPolicyView& iParent; - - /** - * To get hold of CVpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To store the list item count - */ - TInt iListItemCount; - - /** - * If ETrue, Show Waitnote. - */ - TBool iShowWaitNote; - - private: // functions - - /** - * Default constructor - */ - CVpnManagementUiPolicyContainer(); - - /** - * Symbian OS default constructor. - * @param aRect Frame rectangle for container. - */ - void ConstructL( - const TRect& aRect, TInt& aCurrentPosition, TInt& aTopItem); - - /** - * Creates listbox, sets empty listbox text - */ - void CreateListBoxL(); - - /** - * From CoeControl,SizeChanged. - */ - void SizeChanged(); - - /** - * From CoeControl,CountComponentControls. - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl,ComponentControl. - */ - CCoeControl* ComponentControl(TInt aIndex) const; - - /** - * Handles control events - * - * event handling section - * e.g Listbox events - */ - void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); - - /** - * Handles the key events OK button, arrow keys, delete key. - */ - TKeyResponse OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType); - - /** - * Gets list of policies from VpnAPI and displays them in listbox. - * - */ - void ShowPoliciesL(); - - void PoliciesListEmptyL(); - - - -#ifdef __SERIES60_HELP - /** - * This function is called when Help application is launched. - * (other items were commented in a header). - */ - void GetHelpContext(TCoeHelpContext& aContext) const; -#endif //__SERIES60_HELP - - protected: //data - - /** - * If ETrue, ConstructL calls PoliciesListEmptyL() method. - */ - TBool iCallPoliciesListEmpty; - - private: //data - - }; - -#endif // __VPNMANAGEMENTUIPOLICYCONTAINER_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuipolicyview.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuipolicyview.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,151 +0,0 @@ -/* -* Copyright (c) 2003 - 2006 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: Declaration of the CVpnManagementUiPolicyView class. -* -*/ - - -#ifndef __VPNMANAGEMENTUIPOLICYVIEW_H__ -#define __VPNMANAGEMENTUIPOLICYVIEW_H__ - -// INCLUDES -#include -#include "vpnapiwrapper.h" -#include "vpnmanagementuiviewid.h" - -class CVpnManagementUiPolicyContainer; -/** -* CVpnManagementUiPolicyView view class. -* -* @lib vpnmanagementui.dll -*/ -class CVpnManagementUiPolicyView : public CAknView - { - public: - - /** - * Destructor. - */ - ~CVpnManagementUiPolicyView(); - - /** - * NewL - */ - static class CVpnManagementUiPolicyView* NewL(const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * NewLC - */ - static class CVpnManagementUiPolicyView* NewLC(const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * Returns Policy view id - */ - TUid Id() const; - - /** - * Handles ClientRectChange - */ - void HandleClientRectChange(); - - /** - * Returns iPolicyContainer - */ - CCoeControl* Container(); - - /** - * Handles Softkey and Options list commands - */ - void HandleCommandL(TInt aCommand); - - /** - * Creates the whole of policy details view - * Appends strings from both resources and VpnAPI to one - * message body text and displays it. - */ - void PolicyDetailsL(TInt aIndex); - - void ReadResourceL(HBufC& aText, TInt aResource); - - /** - * Sets appropriate MSK for view - */ - void SetMiddleSoftKeyL(TBool aDrawNow); - - - public: // data - - /** - * To get hold of VpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To get access to policy list in policy view - */ - CVpnManagementUiPolicyContainer* iPolicyContainer; - - /** - * To store the position of the focus in the Policy view - */ - TInt iCurrentPosition; - - private: // functions - - /** - * Constructor. - */ - CVpnManagementUiPolicyView(CVpnUiLoader& aLoader); - - /** - * Symbian OS default constructor. - */ - void ConstructL(); - - /** - * From AknView, - * Updates the view when opening it - */ - void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - /** - * From AknView, - * Saves focus position when closing view - */ - void DoDeactivate(); - - /** - * Updates Options list with correct items depending on - * whether the listbox is empty or if it has any marked items - */ - void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane); - - TBool NotAssociatedToIapL(TInt aIndex, TVpnPolicyName& aPolicyName); - - /** - * Sets MSK - */ - void SetMiddleSoftKeyLabelL(TInt aResourceId, TInt aCommandId); - - private: // Data - - /** - * Stores top item in the listbox - */ - TInt iTopItem; - }; - - -#endif // __VPNMANAGEMENTUIPOLICYVIEW_H__ \ No newline at end of file diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuiservercontainer.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuiservercontainer.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,190 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Declaration of the CVpnManagementUiServerContainer class. -* -*/ - -#ifndef __VPNMANAGEMENTUISERVERCONTAINER_H__ -#define __VPNMANAGEMENTUISERVERCONTAINER_H__ - -// INCLUDES -#include "vpnmanagementuiserverview.h" - - -// FORWARD DECLARATIONS - -// CLASS DECLARATION - -/** -* CVpnManagementUiServerContainer container control class. -* -* @lib vpnmanagementui.lib -*/ -class CVpnManagementUiServerContainer : public CCoeControl, - public MCoeControlObserver, - public MEikListBoxObserver - { - /** - * Policy Container needs to get access to CVpnManagementUiServerView's DoActivateL - */ - friend void CVpnManagementUiServerView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&); - - public: // functions - - /** - * Overrided Default constructor - */ - CVpnManagementUiServerContainer(CVpnManagementUiServerView& aParent, CVpnUiLoader& aLoader); - - /** - * Destructor. - */ - ~CVpnManagementUiServerContainer(); - - /** - * Overrided ActivateL function from base class CCoeControl - */ - virtual void ActivateL(); - - /** - * Change focus - */ - void FocusChanged(TDrawNow aDrawNow); - - /** - * From CCoeControl - */ - void HandleResourceChange( TInt aType ); - - /** - * Draws listbox - */ - void DrawListBoxL(TInt aCurrentPosition, TInt aTopItem); - - /** - * Refresh listbox after VPN policy server deletion. - */ - void UpdateListBoxL(TInt& aCurrentPosition); - - /** - * Ask confirmation to delete server. - * Calls AcuAgent API's DeleteServer and updates listbox and iServerList - * Show an information note if server is currently in use and - * can't be deleted. - */ - void DeleteServerL(TInt aIndex); - - /** - * Calls AcuAgent API's SynchroniseServerL - */ - void SynchroniseServerL(TInt aIndex); - - // from MAcuApiWrapperCaller - void NotifyUpdatePolicyCompleteL(TInt aResult); - void NotifySynchroniseServerCompleteL(TInt aResult); - void NotifyStepChangedL(TInt aResult); - - void HandleListBoxEventL (CEikListBox *aListBox, TListBoxEvent aEventType); - - public: // data - - /** - * To handle listbox - */ - CEikColumnListBox* iListBox; - - /** - * To get hold of ServerView - */ - CVpnManagementUiServerView& iParent; - - /** - * To get hold of CVpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To store the list item count - */ - TInt iListItemCount; - - /** - * If ETrue, Show Waitnote. - */ - TBool iShowWaitNote; - - private: // functions - - /** - * Default constructor - */ - CVpnManagementUiServerContainer(); - - /** - * Symbian OS default constructor. - * @param aRect Frame rectangle for container. - */ - void ConstructL(const TRect& aRect, TInt& aCurrentPosition, TInt& aTopItem); - - /** - * Creates listbox, sets empty listbox text - */ - void CreateListBoxL(); - - /** - * From CoeControl,SizeChanged. - */ - void SizeChanged(); - - /** - * From CoeControl,CountComponentControls. - */ - TInt CountComponentControls() const; - - /** - * From CCoeControl,ComponentControl. - */ - CCoeControl* ComponentControl(TInt aIndex) const; - - /** - * Handles control events - * - * event handling section - * e.g Listbox events - */ - void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); - - /** - * Handles the key events OK button, arrow keys. - */ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType); - - void ShowServersL(); - - -#ifdef __SERIES60_HELP - /** - * This function is called when Help application is launched. - * (other items were commented in a header). - */ - void GetHelpContext(TCoeHelpContext& aContext) const; -#endif //__SERIES60_HELP - - private: //data - - }; - -#endif // __VPNMANAGEMENTUISERVERCONTAINER_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuiserversettingscontainer.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuiserversettingscontainer.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Declaration of the CServerSettingsContainer class. -* -*/ - -#ifndef __VPNMANAGEMENTUISERVERSETTINGSCONTAINER_H__ -#define __VPNMANAGEMENTUISERVERSETTINGSCONTAINER_H__ - -#include - - -/** - * CServerSettingsContainer container control class. - * - * @lib vpnmanagementui.lib - * @since S60 v3.0 -*/ -class CServerSettingsContainer : public CAknSettingItemList - { -public: // functions - - /** - * NewL - * - * @since S60 3.2 - * @param aLoader VPN UI loader for common view handling. - * @param aServerIndex index of selected server or KErrNotFound. - * @return self - */ - static CServerSettingsContainer* NewL( - CVpnUiLoader& aLoader, TInt aServerIndex); - /** - * Destructor. - */ - ~CServerSettingsContainer(); - - /** - * From CAknSettingItemList - */ - CAknSettingItem* CreateSettingItemL( TInt aSettingId ); - - /** - * ServerNameExistsL - * @return ETrue name already in use - */ - TBool ServerNameExistsL( const TDesC& aText ) const; - /** - * ChangeSettingValueL - * Opens Setting page for currently selected setting item - */ - void ChangeSettingValueL(); - - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - const TAcuApiServerDetails& ServerDetailsL(); ***/ - - static HBufC* GetDestinationNameL( TUint aId ); - static HBufC* GetConnectionMethodNameL( TUint aId ); - - void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); - - TInt ServerIndex() const; - -private: // functions - - /** - * Default constructor - */ - CServerSettingsContainer(); - - /** - * Overrided Default constructor - */ - CServerSettingsContainer( - CVpnUiLoader& aLoader, TInt aServerIndex ); - - /** - * Symbian OS default constructor. - * @param aRect Frame rectangle for container. - */ - void ConstructL(); - -private: // implementation - - void UpdateTitleL( TDes& aText ); - -#ifdef __SERIES60_HELP - /** - * This function is called when Help application is launched. - * (other items were commented in a header). - */ - void GetHelpContext(TCoeHelpContext& aContext) const; -#endif //__SERIES60_HELP - -private: // data - - /** - * To get hold of VpnUiLoader - */ - CVpnUiLoader& iLoader; - - /// Server details - // TAcuApiServerDetails iServerDetails; - TBuf iServerAddressBuffer; - - /** - * To get the index of server list - * -1 when user has select Add new server - * Must be public so that view can access - */ - TInt iServerIndex; - }; - -#endif // __VPNMANAGEMENTUISERVERSETTINGSCONTAINER_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuiserversettingsview.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuiserversettingsview.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -/* -* Copyright (c) 2003-2007 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: Declaration of the CServerSettingsView class. -* -*/ - - - -#ifndef __VPNMANAGEMENTUISERVERSETTINGSVIEW_H__ -#define __VPNMANAGEMENTUISERVERSETTINGSVIEW_H__ - -// INCLUDES -#include -#include "vpnmanagementuiviewid.h" - -// FORWARD DECLERATIONS -class CServerSettingsContainer; - -// CLASS DECLARATION - -/** -* CServerSettingsView view class. -* -* @lib vpnmanagementui.dll -*/ -class CServerSettingsView : public CAknView - { - public: // functions - - /** - * Destructor - */ - ~CServerSettingsView(); - - /** - * NewL - */ - static CServerSettingsView* NewL( - const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * NewLC - */ - static CServerSettingsView* NewLC( - const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * Returns Trust view id - */ - TUid Id() const; - - /** - * Handles ClientRectChange - */ - void HandleClientRectChange(); - - - /** - * Handles Softkey and Options list commands - */ - void HandleCommandL(TInt aCommand); - - public: // data - - /** - * To get hold of CVpnUiLoader - */ - CVpnUiLoader& iLoader; - - /** - * To get access to ServerSettingsContainer - */ - CServerSettingsContainer* iContainer; - - private: // functions - - /** - * Constructor. - */ - CServerSettingsView(CVpnUiLoader& aLoader); - - /** - * Symbian OS default constructor. - */ - void ConstructL(); - - /** - * Updates the view when opening it - */ - void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - /** - * Closes the view - */ - void DoDeactivate(); - - - TInt CompleteSettingsL(); - - private: // Data - }; - -#endif // __VPNMANAGEMENTUISERVERSETTINGSVIEW_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuiserverview.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuiserverview.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -/* -* Copyright (c) 2003 - 2006 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: Declaration of the CVpnManagementUiServerView class. -* -*/ - - - -#ifndef __VPNMANAGEMENTUISERVERVIEW_H__ -#define __VPNMANAGEMENTUISERVERVIEW_H__ - -// INCLUDES -#include -#include "vpnmanagementuiviewid.h" - -// CONSTANTS - -// FORWARD DECLARATIONS -class CVpnManagementUiServerContainer; - -// CLASS DECLARATION - -/** -* CVpnManagementUiServerView view class. -* -* @lib vpnmanagementui.lib -*/ -class CVpnManagementUiServerView : public CAknView - { - public: // Constructors and destructor - - /** - * Destructor. - */ - ~CVpnManagementUiServerView(); - - /** - * NewL - */ - static class CVpnManagementUiServerView* NewL(const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * NewLC - */ - static class CVpnManagementUiServerView* NewLC(const TRect& aRect, CVpnUiLoader& aLoader); - - /** - * Returns server view id - */ - TUid Id() const; - - /** - * Handles ClientRectChange - */ - void HandleClientRectChange(); - - /** - * Returns iServerContainer - */ - CCoeControl* Container(); - - /** - * Handles Softkey and Options list commands - */ - void HandleCommandL(TInt aCommand); - - /** - * Sets appropriate MSK for view - */ - void SetMiddleSoftKeyL(TBool aDrawNow); - - - public: // data - - /** - * To get hold of VpnUiLoader - */ - CVpnUiLoader& iLoader; - - - - private: // functions - - /** - * Constructor. - */ - CVpnManagementUiServerView(CVpnUiLoader& aLoader); - - /** - * Symbian OS default constructor. - */ - void ConstructL(); - - /** - * From AknView, - * Updates the view when opening it - */ - void DoActivateL(const TVwsViewId& aPrevViewId,TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - /** - * From AknView, - * Saves focus position when closing view - */ - void DoDeactivate(); - - /** - * Updates Options list with correct items depending on - * whether the listbox is empty or if it has any marked items - */ - void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane); - - /** - * Sets MSK - */ - void SetMiddleSoftKeyLabelL(TInt aResourceId, TInt aCommandId); - - - private: // Data - - /** - * To get access to policy server list in Policy server view - */ - CVpnManagementUiServerContainer* iServerContainer; - - /** - * To store the position of the focus in the Policy server view - */ - TInt iCurrentPosition; - - /** - * Stores top item in the listbox - */ - TInt iTopItem; - - }; - - -#endif // __VPNMANAGEMENTUISERVERVIEW_H__ \ No newline at end of file diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuiview.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuiview.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,237 +0,0 @@ -/* -* Copyright (c) 2003 - 2007 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: Declaration of the CVpnManagementUiView class. -* -*/ - - - -#ifndef __VPNMANAGEMENTUIVIEW_H__ -#define __VPNMANAGEMENTUIVIEW_H__ - -// INCLUDES -#include -#include -#include -#include -#include "vpnmanagementuiviewid.h" -#include "vpnapiwrapper.h" -#include "vpnuiloader.h" - -#ifdef __SERIES60_HELP -#include // For HlpLauncher -#endif //__SERIES60_HELP - - -// FORWARD DECLARATIONS -class CVpnManagementUiContainer; - -// CLASS DECLARATION - -/** - * CVpnManagementUiView view class. - * - * @lib (internal) vpnmanagementui.lib - * @since S60 v3.0 - */ -class CVpnManagementUiView : public CGSPluginInterface, public MEikListBoxObserver, public MVpnApiWrapperCaller - { - public: // Constructors and destructor - - /** - * Destructor. - */ - ~CVpnManagementUiView(); - - /** - * NewL - */ - static class CVpnManagementUiView* NewL(); - - /** - * NewLC - */ - static class CVpnManagementUiView* NewLC(); - - - - public: // Functions from base classes - - /** - * Method for getting caption of this plugin. This should be the - * localized name of the settings view to be shown in parent view. - * - * @param aCaption pointer to Caption variable - */ - virtual void GetCaptionL( TDes& aCaption ) const; - - /** - * Returns Management view id - */ - TUid Id() const; - - /** - * Handles ClientRectChange - */ - void HandleClientRectChange(); - - /** - * Returns iContainer - */ - CCoeControl* Container(); - - /** - * Handles Softkey and Options list commands - */ - void HandleCommandL(TInt aCommand); - - // from MAcuApiWrapperCaller - void NotifyPolicyImportComplete(TInt aResult); - - public: - - /** - * from CGSPluginInterface - */ - - /** - * Method for checking plugin's Uid. Uid identifies this GS plugin. Use - * same Uid as the ECOM plugin implementation Uid. - * - * @return PluginUid - */ - TUid PluginUid() const; - - /** - * Method for checking, if item has bitmap icon to be shown in list - * - * @return ETrue if plugin has icon bitmap - * @return EFalse if plugin does not have a bitmap - */ - TBool HasBitmap() const; - - /** - * Method for reading bitmap icon. - * - * @param aBitmap plugin bitmap - * @param aMask plugin icon bitmap mask - */ - void GetBitmapL( CFbsBitmap* aBitmap, CFbsBitmap* aMask ) const; - - /** - * Method for reading the ID of the plugin provider category. See - * - * @return Plugin provider category ID defined by - * - */ - TInt PluginProviderCategory() const; - - /** - * Method for checking, if plugin should be visible and used in GS FW. - * (for example shown in listbox of the parent view). - * - * On default plugin is visible. Overwrite this function to enable or - * disable your plugin dynamically. - * - * @return ETrue if plugin should be visible in GS. - * @return EFalse if plugin should not be visible in GS. - */ - virtual TBool Visible() const; - - /** - * Creates a new icon of desired type. Override this to provide custom - * icons. Othervise default icon is used. Ownership of the created icon - * is transferred to the caller. - * - * Icon type UIDs (use these defined constants): - * KGSIconTypeLbxItem - ListBox item icon. - * KGSIconTypeTab - Tab icon. - * - * @param aIconType UID Icon type UID of the icon to be created. - * @return Pointer of the icon. NOTE: Ownership of this icon is - * transferred to the caller. - */ - CGulIcon* CreateIconL( const TUid aIconType ); - - /** - * From MUiRunnerObserver - */ - void UiComplete( TInt aUirEvent ); - - /** - * Handles the actual selected list box item - */ - void HandleListBoxSelectionL(); - - /** - * Shows a information note. - * @param aResourceId Resource id of the showed text . - */ - void ShowInfoNoteL( TInt aResourceId ); - - public: // data - - /** - * To get hold of VpnUiLoader - */ - CVpnUiLoader* iLoader; - - /** - * To get access to list in management view - */ - CVpnManagementUiContainer* iContainer; - - /** - * To store the position of the focus in the management view - */ - TInt iCurrentPosition; - - private: // functions - - /** - * Constructor. - */ - CVpnManagementUiView(); - - /** - * Symbian OS default constructor. - */ - void ConstructL(); - - /** - * From AknView, - * Updates the view when opening it - */ - void DoActivateL(const TVwsViewId& aPrevViewId, - TUid aCustomMessageId, - const TDesC8& aCustomMessage); - - /** - * From AknView, - * Saves focus position when closing view - */ - void DoDeactivate(); - - void HandleListBoxEventL(CEikListBox* aListBox, - TListBoxEvent aEventType); - - private: // Data - - TInt iCurrentItem; // currently selected listbox item - TInt iTopItemIndex; // first item in the listbox - }; - -#endif // __VPNMANAGEMENTUIVIEW_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnmanagementuiviewid.h --- a/vpnui/vpnmanagementui/inc/vpnmanagementuiviewid.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* Copyright (c) 2003 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: Contains the view ID's for VPN management UI's views. -* -*/ - - - -#ifndef __VPNMANAGEMENTUIVIEWID_H__ -#define __VPNMANAGEMENTUIVIEWID_H__ - -// CONSTANTS -// -// View ID's -const TUid KVpnManagementPluginUid = { 0x101F6D31 }; -const TUid KVpnManagementUiPolicyViewId = {28}; -const TUid KVpnManagementUiServerViewId = {29}; -const TUid KVpnManagementUiLogViewId = {30}; -const TUid KVpnManagementUiParametersViewId = {31}; - -#endif // __VPNMANAGEMENTUIVIEWID_H - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/inc/vpnuiloader.h --- a/vpnui/vpnmanagementui/inc/vpnuiloader.h Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,277 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: VPN management main view -* -*/ - -#ifndef __VPNUILOADER_H__ -#define __VPNUILOADER_H__ - -// INCLUDES -#include -#include -#include "vpnapiwrapper.h" -#include "vpnmanagementuidefs.h" -#include "uirunner.h" - -// CONSTANTS -/** - * Specifies the type of the waitnote text. - */ -enum - { - EConnectingVia = 0x0, - EProcessingStepN = 0x1 - }; - -const TInt KSecondsToShowConnectingVia = 3; - -// FORWARD DECLARATIONS - -// CLASS DECLARATION -class CAknWaitDialog; -class CVpnManagementUiView; -class CVpnManagementUi; -/** -* CVpnUiLoader view control class. -* -* @lib vpnmanagementui.lib -*/ -class CVpnUiLoader : public CCoeControl, public MCoeControlObserver, - public MProgressDialogCallback - { - public: // functions - - /** - * Destructor. - */ - ~CVpnUiLoader(); - - /** - * NewL - * - * @since S60 3.0 - * @param aRect ?description - * @param aViewId ?description - * @return self - */ - static class CVpnUiLoader* NewL( - const TRect& aRect, TUid aViewId, CVpnManagementUiView* aUiView ); - - /** - * NewLC - */ - static class CVpnUiLoader* NewLC( - const TRect& aRect, TUid aViewId, CVpnManagementUiView* aUiView ); - - /** - * ChangeViewL - * @param aNewTab change to given tab - */ - void ChangeViewL(TInt aNewTab, TInt aSelectionIndex = -1); - - /** - * Activates the VPN policies, VPN policy servers and - * VPN log views title - */ - void ActivateTitleL(TInt aCurrentTitle); - - void ActivateTitleL(TInt aCurrentTitle, TDes& aText); - - /** - * Activates the VPN log view Navipane text - */ - void ActivateNaviTextL(); - - /** - * Added here because FocusChanged need to be included - * in every control derived from CCoeControl that can have listbox - */ - void FocusChanged(TDrawNow aDrawNow); - - /** - * Push the NaviPane to stack. - */ - void PushNaviPaneL(); - - /** - * Pop the NaviPane from stack. - */ - void PopNaviPane(); - - /** - * Push the DefaultNaviPane (empty) to stack. - */ - void PushDefaultNaviPaneL(); - - /** - * Shows the error note - */ - void ShowErrorNoteL(); - - /** - * Get selection name to the connecting via wait note - */ - void GetSelectionNameL(TDes& aText); - - /** - * Shows the Connecting via or Processing step wait note - */ - void ShowWaitNoteL(); - - /** - * Deletes the wait note - */ - void DeleteWaitNoteL(); - - /** - * Set text to wait note - */ - void SetTextL(); - - //from MProgressDialogCallback - void DialogDismissedL( TInt aButtonId ); - - /** - * Check if Disk space goes below critical level. - * @param aShowErrorNote If ETrue, a warning note is shown. - * @param aBytesToWrite Amount of disk space to be allocated. - * @return ETrue if allocation would go below critical level. - */ - TBool FFSSpaceBelowCriticalLevelL( TBool aShowErrorNote, - TInt aBytesToWrite /*=0*/ ); - - /** - * Returns pointer to main management view - */ - CAknView* GetVpnManagementUiView() const; - - /** - * CVpnApiWrapper - */ - CVpnApiWrapper& VpnApiWrapperL(); - - /** - * Returns the id to the GS view that launched us - */ - TVwsViewId GSViewId() const; - - /** - * Sets the id to the GS view that launched us - * @param aGsViewId The id to the GS view - */ - void SetGSViewId( TVwsViewId aGsViewId ); - - public: //data - - /** - * Added here because FocusChanged need to be included - * in every control derived from CCoeControl that can have listbox - */ - CEikColumnListBox* iListBox; - - /** - * If ETrue, We are coming back from server parameters view. - */ - TBool iBackFromServerDefinition; - - /** - * If ETrue, new Server definition has created. - */ - TBool iNewServerDefinition; - /** - * If ETrue, show Define policy server query when empty list. - */ - TBool iShowDefineQuery; - - MUiRunnerObserver* iObserver; - - CAknWaitDialog* iWaitDialog; - - TInt iCurrentPolicyIndex; - TInt iCurrentServerIndex; - TBool iPolicyUpdate; - TBuf iSelectionName; - - private: // data - - /** - * Used to wrap asynchronous calls - */ - CVpnApiWrapper* iVpnApiWrapper; - - private: // implementation - - void ConstructL(const TRect& aRect, TUid aViewId); - CVpnUiLoader(CVpnManagementUiView* aUiView); - void HandleControlEventL( CCoeControl* aControl, - TCoeEvent aEventType ); - TKeyResponse OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType); - public: - void AddResourceFileL(TBool aKeepOpen = EFalse); - void ReleaseResource(TBool aForceClose = EFalse); - - private: //data - - /** - * For Navipane - */ - CAknNavigationDecorator* iVersionInfoInNaviPane; - - /** - * For Navipane - */ - CAknNavigationControlContainer* iNaviPane; - - - /** - * To store the previous view id - */ - TUid iPreviousViewId; - - /** - * To store the previous view id - */ - TUid iPreviousAppViewId; - - TInt iTextToShow; - TInt iStateCodeToShow; - TTime iWaitNoteStartTime; - - /** - * Views to be registered and unregistered - */ - CAknView* iVpnManagementUiView; - CAknView* iVpnManagementUiLogView; - CAknView* iVpnManagementUiPolicyView; - CAknView* iVpnManagementUiParametersView; - CAknView* iVpnManagementUiServerView; - - CVpnManagementUi* iCVpnManagementUi; - - /** - * To get hold of iResourceLoader - */ - RConeResourceLoader iResourceLoader; - - TVwsViewId iGsViewId; // the view id of the view which launched us - TBool iKeepOpen; - TBool iPolicyViewVisited; - TBool iLogViewVisited; - }; - -#endif // __VPNUILOADER_H__ - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/loc/vpnmanagementui.loc --- a/vpnui/vpnmanagementui/loc/vpnmanagementui.loc Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,420 +0,0 @@ -/* -* Copyright (c) 2003-2007 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: This is a localisation file for VPN management UI dll. -* -*/ - - - -// LOCALISATION STRINGS - -// ** VPN Setting item in GS connection view - -//d:Text of a list item in Connection view's list -//d:Item opens VPN view -//l:list_single_large_graphic_pane_t1 -//r:3.2 -// -#define qtn_set_folder_conn_vpn "Virtual Private Networking (VPN)" - - -// **VPN MANAGEMENT VIEW - -//d:Name of the view for title pane -//l:title_pane_t2/opt9 -// -#define qtn_vpn_management_title "VPN management" - -//d:Text of a list item in VPN management view -//d:Item opens VPN policies view -//l:list_setting_pane_t1 -// -#define qtn_vpn_policies "VPN policies" - -//d:Text of a list item in VPN management view -//d:Item opens Policy servers view -//l:list_setting_pane_t1 -// -#define qtn_vpn_policy_servers "VPN policy servers" - -//d:Text of a list item in VPN management view -//d:Item opens VPN log view -//l:list_setting_pane_t1 -// -#define qtn_vpn_log "VPN log" - - - - -// **VPN POLICIES VIEW - -//d:Name of view for title pane -//l:title_pane_t2/opt9 -// -#define qtn_vpn_policies_title "VPN policies" - -//d:Policy view empty list placeholder text -//l:main_list_empty_pane -// -#define qtn_vpn_policies_empty "(no VPN policies)" - -//d:Middle soft key in VPN policies view when we have no policies installed. -//d:Starts policy installation procedure -//l:control_pane_t3/opt7 -// -#define qtn_msk_install_vpn_policies "Install policy" - -//d:Middle soft key in VPN policies view when we have installed policies. -//d:Opens VPN policy details view. -//l:control_pane_t3/opt7 -// -#define qtn_msk_vpn_details "Details" - - -// **OPTIONS MENU VPN POLICIES VIEW - -//d:Command in options menu in VPN policies view. -//d:Starts policy installation procedure -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_install_policies "Install policy" - -//d:Command in options menu in VPN policies view. -//d:Opens VPN policy details view. -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_policy_details "Details" - -//d:Command in options menu in VPN policies view. -//d:Starts policy update procedure -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_update_policy "Update policy" - -//d:Command in options menu in VPN policies view. -//d:Delete a VPN policy. -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_delete_policy "Delete policy" - - -// **VPN POLICY DETAILS VIEW - -//d:Detail's topic in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_description "Description:" - -//d:Detail's topic in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_status "Policy status:" - -//d:Detail's topic in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_cert_status "Certificate status:" - -//d:Detail's topic in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_name "Policy name:" - -//d:Detail's topic in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_source_server_name "Source server name:" - -//d:Detail's topic in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_update_time "Updated:" - -//d:Detailed info about Policy status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_not_associated "Not associated with a VPN access point" - -//d:Detailed info about Policy status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_associated "Associated with a VPN access point" - -//d:Detailed info about Policy status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_policy_active "Active" - -//d:Detailed info about Certificate status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_cert_status_ok "OK" - -//d:Detailed info about Certificate status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_cert_status_expired "Expired" - -//d:Detailed info about Certificate status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_cert_status_missing "Missing" - -//d:Detailed info about Certificate status in message query. -//l:popup_info_list_pane_t2/opt1 -// -#define qtn_vpn_detail_cert_status_not_yet_valid "Not yet valid" - - -// **VPN POLICY SERVERS VIEW - -//d:Name of view for title pane -//l:title_pane_t2/opt9 -// -#define qtn_vpn_policy_servers_title "VPN policy servers" - -//d:Policy server view empty list placeholder text -//l:main_list_empty_pane -// -#define qtn_vpn_policy_servers_empty "(no VPN policy servers)" - -//d:Prompt text in VPN policy server selection popup. -//l:heading_pane_t1 -// -#define qtn_vpn_prmpt_policy_server_selection "Policy server:" - -//d:Middle soft key in empty VPN policy servers view. -//d:Opens VPN policy server parameters view for editing -//l:control_pane_t3/opt7 -// -#define qtn_msk_add_vpn_server "New server" - - - -// **OPTIONS MENU VPN POLICY SERVERS VIEW - -//d:Command in options menu in VPN policy servers view. -//d:Opens VPN policy server parameters view -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_add_new_server "New server" - -//d:Command in options menu in VPN policy servers view. -//d:Opens VPN policy server parameters view for editing -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_edit_server "Edit server" - -//d:Command in options menu in VPN policy servers view. -//d:Starts policy installation/update procedure -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_synchronise_server "Synchronise server" - -//d:Command in options menu in VPN policy servers view. -//d:Deletes a VPN policy server definition -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_delete_server "Delete server" - - -// **VPN POLICY SERVER PARAMETERS VIEW - -//d:Text of a first list item in VPN policy server parameters view's setting list -//d:Item opens VPN policy server name text setting item -//l:list_setting_pane_t1 -// -#define qtn_vpn_sett_policy_server_name "Policy server name" - -//d:Text of a second list item in VPN policy server parameters view's setting list -//d:Item opens VPN policy server address text setting item -//l:list_setting_pane_t1 -// -#define qtn_vpn_sett_policy_server_address "Policy server address" - -//d:Text of a third list item in VPN policy server parameters view's setting list -//d:Similar content as in §qtn_netw_conset_sett_destination§ in cmmanager.loc. -//d:Item opens a pop-up setting item -//l:list_setting_pane_t1 -// -#define qtn_vpn_sett_vpn_iap_real_netw_reference "Network connection" - - -// **VPN LOG VIEW - -//d:Name of view for title pane -//l:title_pane_t2/opt9 -// -#define qtn_vpn_log_title "VPN log" - -//d:Display version information about the VPN client installed. -//l:navi_text_pane_t1 -// -#define qtn_vpn_navi_client_version "mVPN v%U" - -//d:Log view empty list placeholder text -//l:main_list_empty_pane -// -#define qtn_vpn_log_empty "(no VPN log entries)" - -//d:Middle soft key in VPN log view. -//d:Refresh the VPN log -//l:control_pane_t3/opt7 -// -#define qtn_msk_refresh_vpn_log "Refresh log" - - -// **OPTIONS MENU VPN LOG VIEW - -//d:Command in options menu in VPN log view. -//d:Opens VPN log details view -//l:list_single_pane_t1_cp2 -// -#define qtn_logs_cmd_details "View details" - -//d:Command in options menu in VPN log view. -//d:Refresh the VPN log -//l:list_single_pane_t1_cp2 -// -#define qtn_vpn_options_refresh_log "Refresh log" - -//d:Command in options menu in VPN log view. -//d:Clears the VPN log -//l:list_single_pane_t1_cp2 -// -#define qtn_logs_cmd_clear_list "Clear log" - -// **CONFIRMATION QUERIES - -//d:Confirmation query text in empty VPN policies view. -//l:popup_note_window -// -#define qtn_vpn_quest_dl_policies_now "No VPN policies installed. Install now?" - -//d:Confirmation query text when user selects to delete -//d:a VPN policy. Case: not associated with a VPN access point. -//l:popup_note_window -// -#define qtn_vpn_quest_delete_policy "Delete VPN policy '%U'?" - -//d:Confirmation query text when user selects to delete -//d:a VPN policy. Case: associated with a VPN access point. -//l:popup_note_window -// -#define qtn_vpn_quest_delete_policy_associated "Policy is associated with a VPN access point. Delete anyway?" - -//d:Confirmation query text in empty VPN policy servers view -//l:popup_note_window -// -#define qtn_vpn_quest_define_new_server "No VPN policy servers defined. Define now?" - -//d:Confirmation query text after user has defined -//d:a new policy server -//l:popup_note_window -// -#define qtn_vpn_quest_synchronise_server "New VPN policy server defined. Synchronise now?" - -//d:Confirmation query text if the compulsory -//d:field is left empty -//l:popup_note_window -// -#define qtn_vpn_quest_incomplete_server_def_delete "Incomplete VPN policy server details. Exit without saving?" - -//d:Confirmation query text when user selects to delete a VPN -//d:policy server definition. Case: no policies related to the server. -//l:popup_note_window -// -#define qtn_vpn_quest_delete_server "Delete VPN policy server '%U'?" - -//d:Confirmation query text when user selects to delete a VPN -//d:policy server definition. Case: policies related to the server. -//l:popup_note_window -// -#define qtn_vpn_quest_delete_server_associated "Deleting this policy server will also delete related policies. Continue?" - -//d:Confirmation query text in VPN log view -//l:popup_note_window -// -#define qtn_vpn_quest_clear_log "Clear VPN log?" - - -// **CONFIRMATION NOTES - -//d:Confirmation note text in case when policy server -//d:synchronisation completed -//l:popup_note_window -// -#define qtn_vpn_conf_policy_server_sync_ok "Policy server synchronisation complete. See VPN log for details." - - -// **INFORMATION NOTES - -//d:Information note text in case when user tries to delete a policy server -//d:that is currently in use -//l:popup_note_window -// -#define qtn_vpn_info_policy_server_in_use "Policy server is currently in use. Unable to delete." - -//d:Information note text in case when user tries to edit a policy server -//d:address that cannot be modified -//l:popup_note_window -// -#define qtn_vpn_info_cannot_modify_server_def "Cannot be modified. Please create a new server definition." - -//d:Policy server synchronisation failed -//l:popup_note_window -// -#define qtn_vpn_info_policy_server_sync_error "Synchronisation failed. See VPN log for details." - -// **WAIT NOTE -//d:Wait note is shown when connecting the access point. -//d:%U indicates the name of access point which we are connecting to -//l:popup_note_wait_window -// -#define qtn_vpn_connecting_via_ap "Connecting via '%U'" - -//d:Wait note text in synchronization and update -//d:note dialogs -//l:popup_note_wait_window -// -#define qtn_vpn_wait_policy_dl_processing "Processing step %N" - - -// **SETTINGS VALUE TEXT - -//d:Setting value text in VPN policy server parameters view. -//l:list_set_graphic_pane_t1 -#define qtn_set_compulsory "Must be defined" - - -// **OPTIONS MENU - -//d:Command in options menu. -//d:Opens the currently selected setting item. -//l:list_single_pane_t1_cp2 -#define qtn_set_options_open "Open" - -//d:Command in Options menu settings view. -//d:Opens value changing dialog of highlighted item -//l:list_single_pane_t1_cp2 -#define qtn_set_options_change "Change" - - - - - - - - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/rom/vpnmanagementui.iby --- a/vpnui/vpnmanagementui/rom/vpnmanagementui.iby Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* -* Copyright (c) 2005-2006 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: Image description file for project vpnmanagementui -* -*/ - - - -/** - * @file vpnmanagementui.iby - * - */ - -#ifndef __VPNMANAGEMENTUI_IBY__ -#define __VPNMANAGEMENTUI_IBY__ - -#ifdef SYMBIAN_EXCLUDE_IPSEC - -REM Feature VPNMANAGEMENTUI not included in this rom - -#else - -data=ZRESOURCE\apps\vpnmanagementui.mif APP_RESOURCE_DIR\vpnmanagementui.mif -ECOM_PLUGIN(vpnmanagementui.dll,101F6D31.rsc) - -#endif // SYMBIAN_EXCLUDE_IPSEC - -#endif // __VPNMANAGEMENTUI_IBY__ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/rom/vpnmanagementuiResources.iby --- a/vpnui/vpnmanagementui/rom/vpnmanagementuiResources.iby Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* -* Copyright (c) 2005-2006 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: Image description file for project vpnmanagementui's resources -* -*/ - - - -#ifndef __VPNMANAGEMENTUIRESOURCES_IBY__ -#define __VPNMANAGEMENTUIRESOURCES_IBY__ - -#ifdef SYMBIAN_EXCLUDE_IPSEC - -REM Feature VPNMANAGEMENTUI not included in this rom - -#else - -data=DATAZ_\RESOURCE_FILES_DIR\vpnmanagementuirsc.rsc RESOURCE_FILES_DIR\vpnmanagementuirsc.rsc -data=DATAZ_\HELP_FILE_DIR\vpn.hlp HELP_FILE_DIR\vpn.hlp - -#endif // SYMBIAN_EXCLUDE_IPSEC - -#endif // __VPNMANAGEMENTUIRESOURCES_IBY__ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/serversettingconnectionsettingitem.cpp --- a/vpnui/vpnmanagementui/src/serversettingconnectionsettingitem.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -/* -* Copyright (c) 2008-2009 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: -* Nokia Corporation -* -* Description: Setting item for the connection settings. -* -*/ - -#include "serversettingconnectionsettingitem.h" - -#include -#include -#include -#include -#include - -using namespace CMManager; - -CServerSettingConnectionSettingItem::CServerSettingConnectionSettingItem(TInt aIdentifier, - TCmSettingSelection& aSelection) -:CAknSettingItem(aIdentifier), iExternalValue(aSelection) - { - } - - -CServerSettingConnectionSettingItem::~CServerSettingConnectionSettingItem() - { - delete iSettingText; - } - - -void CServerSettingConnectionSettingItem::StoreL() - { - iExternalValue = iInternalValue; - } - - -void CServerSettingConnectionSettingItem::LoadL() - { - iInternalValue = iExternalValue; - UpdateSettingTextL(); - } - - -void CServerSettingConnectionSettingItem::EditItemL( TBool /*aCalledFromMenu*/ ) - { - RCmManagerExt cmManager; - cmManager.OpenLC(); - // Get supported bearer filter types - const TInt KArrayGranularity = 10; - RArray bearers = RArray( KArrayGranularity ); - CleanupClosePushL( bearers ); - cmManager.SupportedBearersL( bearers ); - // Do not include VPN bearer - TInt index = bearers.Find( KPluginVPNBearerTypeUid ); - if ( index != KErrNotFound ) - { - bearers.Remove( index ); - } - // Show settings page - - CCmApplicationSettingsUi* settings = CCmApplicationSettingsUi::NewL(); - CleanupStack::PushL( settings ); - TBool selected = settings->RunApplicationSettingsL( iInternalValue, - EShowDestinations | - EShowConnectionMethods, - bearers ); - CleanupStack::PopAndDestroy( 2 ); // settings, bearers - - if ( selected ) - { - UpdateSettingTextL(); - UpdateListBoxTextL(); - } - - CleanupStack::PopAndDestroy(); // cmManager - - } - - -const TDesC& CServerSettingConnectionSettingItem::SettingTextL() - { - if (iSettingText == NULL) - { - return CAknSettingItem::SettingTextL(); - } - else - { - return *iSettingText; - } - } - - -void CServerSettingConnectionSettingItem::UpdateSettingTextL() - { - delete iSettingText; - iSettingText = NULL; - - if ((iInternalValue.iResult == EDestination || - iInternalValue.iResult == EConnectionMethod) && - iInternalValue.iId != 0) - { - - RCmManagerExt cmManager; - cmManager.OpenLC(); - - if ( iInternalValue.iResult == EDestination ) - { - // Destination selected - RCmDestinationExt dest; - TRAPD( err, dest = cmManager.DestinationL( iInternalValue.iId ) ); - - if( KErrNone == err ) - { - CleanupClosePushL( dest ); - iSettingText = dest.NameLC(); - CleanupStack::Pop(iSettingText); - CleanupStack::PopAndDestroy(); // dest - } - } - else if ( iInternalValue.iResult == EConnectionMethod ) - { - // Connection method selected - RCmConnectionMethodExt conn; - TRAPD( err, conn = cmManager.ConnectionMethodL( iInternalValue.iId ) ); - - if( KErrNone == err ) - { - CleanupClosePushL( conn ); - iSettingText = conn.GetStringAttributeL( ECmName ); - CleanupStack::PopAndDestroy(); // conn - } - } - - CleanupStack::PopAndDestroy(); // cmManager - } - } - -/***/ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnapiwrapper.cpp --- a/vpnui/vpnmanagementui/src/vpnapiwrapper.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,143 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Wrapper for vpnapi -* -*/ - -#include "vpnapiwrapper.h" -#include "vpnapi.h" -#include "log_vpnmanagementui.h" - - -CVpnApiWrapper* CVpnApiWrapper::NewL() - { - CVpnApiWrapper* self = new (ELeave) CVpnApiWrapper(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -CVpnApiWrapper::CVpnApiWrapper() : - CActive(EPriorityNormal), iOngoingTask(ETaskNone) - { - } - -CVpnApiWrapper::~CVpnApiWrapper() - { - delete iPolicyList; - Cancel(); - iVpnApi.Close(); - } - -void CVpnApiWrapper::DoCancel() - { - LOG_("CVpnApiWrapper::DoCancel() called\n"); - - if (iOngoingTask == ETaskImportPolicies) - { - iVpnApi.CancelImport(); - } - - iOngoingTask = ETaskNone; - } - -void CVpnApiWrapper::RunL() - { - LOG_1("CVpnApiWrapper::RunL():%d", iStatus.Int()); - - if (iOngoingTask == ETaskImportPolicies) - { - iCaller->NotifyPolicyImportComplete(iStatus.Int()); - } - - iOngoingTask = ETaskNone; - } - -void CVpnApiWrapper::ConstructL() - { - LOG_("CVpnApiWrapper::ConstructL() - begin"); - - CActiveScheduler::Add(this); - LOG_("CVpnApiWrapper::ConstructL() - begin 2"); - User::LeaveIfError(iVpnApi.Connect()); - - LOG_("CVpnApiWrapper::ConstructL() - end"); - } - -CArrayFixFlat* CVpnApiWrapper::PolicyListL() - { - BuildPolicyListL(); - return iPolicyList; - } - -void CVpnApiWrapper::BuildPolicyListL() - { - LOG_("CVpnApiWrapper::BuildPolicyListL() - begin"); - - delete iPolicyList; - iPolicyList = NULL; - - iPolicyList = new (ELeave) CArrayFixFlat(2); - - User::LeaveIfError(iVpnApi.GetPolicyInfoList(iPolicyList)); - - TKeyArrayFix Key( _FOFF(TVpnPolicyInfo,iName), ECmpCollated ); - Key.SetPtr( iPolicyList ); - iPolicyList->Sort( Key ); - - LOG_("CVpnApiWrapper::BuildPolicyListL() - end"); - } - -void CVpnApiWrapper::DeletePolicyL(TInt aPolicyIndex) - { - LOG_("CVpnApiWrapper::DeletePolicyL() - begin"); - - TVpnPolicyId& policyToDelete = iPolicyList->At(aPolicyIndex).iId; - User::LeaveIfError(iVpnApi.DeletePolicy(policyToDelete)); - - LOG_("CVpnApiWrapper::DeletePolicyL() - end"); - } - -void CVpnApiWrapper::GetPolicyDetailsL(TInt aPolicyIndex, TVpnPolicyDetails& aPolicyDetails) - { - LOG_("CVpnApiWrapper::GetPolicyDetailsL() - begin"); - - TVpnPolicyId& policyOfInterest = iPolicyList->At(aPolicyIndex).iId; - User::LeaveIfError(iVpnApi.GetPolicyDetails(policyOfInterest, aPolicyDetails)); - - LOG_("CVpnApiWrapper::GetPolicyDetailsL() - end"); - } - -void CVpnApiWrapper::ImportPolicyL(const TDesC& aImportDir, MVpnApiWrapperCaller* aCaller) - { - LOG_("CVpnApiWrapper::ImportPolicyL() - begin"); - - if (iOngoingTask != ETaskNone) - { - User::Leave(KErrInUse); - } - - iCaller = aCaller; - iImportDir.Copy(aImportDir); - - iVpnApi.ImportPolicy(iImportDir, iStatus); - - iOngoingTask = ETaskImportPolicies; - SetActive(); - LOG_("CVpnApiWrapper::ImportPolicyL() - end"); - } - - -/***/ diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuicontainer.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuicontainer.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,279 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Management UI Container -* -*/ - - - -// INCLUDE FILES -#include //for CAknTitlePane -#include //for TResourceReader -#include -#include //for listbox control -#include -#include -#include -#include "vpnuiloader.h" -#include "vpnmanagementuicontainer.h" - -#ifdef __SERIES60_HELP -#include // for help context of VPN Management UI -#endif //__SERIES60_HELP - - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiContainer::CVpnManagementUiContainer( -// CVpnManagementUiView& aParent, CVpnUiLoader& aLoader) -// Constructor with parent -// --------------------------------------------------------- -// -CVpnManagementUiContainer::CVpnManagementUiContainer( - CVpnManagementUiView& aParent, CVpnUiLoader& aLoader ) : - iParent ( aParent ), iLoader ( aLoader ) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::~CVpnManagementUiContainer() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiContainer::~CVpnManagementUiContainer() - { - delete iListBox; - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::ConstructL(const TRect& aRect) -// EPOC two phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiContainer::ConstructL(const TRect& aRect) - { - CreateWindowL(); - - TitlePaneTextsL(); - - CreateListBoxL(); - ShowItemsL(); - - SetRect(aRect); - ActivateL(); - } - - -// --------------------------------------------------------- -// CVpnManagementUiContainer::SizeChanged() -// Called by framework when the view size is changed -// --------------------------------------------------------- -// -void CVpnManagementUiContainer::SizeChanged() - { - if (iListBox) - { - iListBox->SetRect(Rect()); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::CountComponentControls -// --------------------------------------------------------- -// -TInt CVpnManagementUiContainer::CountComponentControls() const - { - return 1; // return nbr of controls inside this container - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::ComponentControl -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiContainer::ComponentControl(TInt aIndex) const - { - switch ( aIndex ) - { - case 0: - return iListBox; - default: - return NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::HandleResourceChange -// --------------------------------------------------------- -// -void CVpnManagementUiContainer::HandleResourceChange( TInt aType ) - { - CCoeControl::HandleResourceChange(aType); - - //Handle change in layout orientation - if (aType == KEikDynamicLayoutVariantSwitch || - aType == KAknsMessageSkinChange ) - { - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect( - AknLayoutUtils::EMainPane, mainPaneRect); - SetRect(mainPaneRect); - DrawNow(); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::DrawListBoxL() -// Draws listbox -// --------------------------------------------------------- -// -void CVpnManagementUiContainer::DrawListBoxL( - TInt aCurrentPosition, TInt aTopItem) - { - if (aCurrentPosition >= 0) - { - iListBox->SetTopItemIndex( aTopItem ); - iListBox->SetCurrentItemIndex( aCurrentPosition ); - } - ActivateL(); - DrawNow(); - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::HandleControlEventL( -// CCoeControl* aControl,TCoeEvent aEventType) -// --------------------------------------------------------- -// -void CVpnManagementUiContainer::HandleControlEventL( - CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) - { - } - -TKeyResponse CVpnManagementUiContainer::OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType) - { - if (aType!=EEventKey) - { - return EKeyWasNotConsumed; - } - switch (aKeyEvent.iCode) - { - case EKeyUpArrow: - if (iListBox) - { - return iListBox->OfferKeyEventL(aKeyEvent, aType); - } - break; - case EKeyDownArrow: - if (iListBox) - { - return iListBox->OfferKeyEventL(aKeyEvent, aType); - } - break; - case EKeyEnter: - case EKeyDevice3: - // Select button or enter key pressed, do default action - if (iListBox) - { - return iListBox->OfferKeyEventL(aKeyEvent, aType); - } - break; - - default: - break; - } - return EKeyWasNotConsumed; - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::TitlePaneTextsL -// Initialized Title pane text -// --------------------------------------------------------- -// -void CVpnManagementUiContainer::TitlePaneTextsL() - { - // first get StatusPane. Not owned - CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane(); - if (statusPane) - { - // then get TitlePane. Not owned - CAknTitlePane* titlePane = ( CAknTitlePane* ) statusPane->ControlL( - TUid::Uid( EEikStatusPaneUidTitle ) ); - - // set new titlepane text - TResourceReader reader; - iEikonEnv->CreateResourceReaderLC(reader, R_VPN_MANAGEMENT_TITLE); - titlePane->SetFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader - } - } - -void CVpnManagementUiContainer::CreateListBoxL() - { - iListBox = new(ELeave) CAknSettingStyleListBox; - iListBox->SetContainerWindowL( *this); - - iListBox->ConstructL( this, EAknListBoxSelectionList); - iListBox->CreateScrollBarFrameL(ETrue); - iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( - CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto); - } - - -void CVpnManagementUiContainer::ShowItemsL() - { - CDesCArrayFlat* itemTextArray = - static_cast(iListBox->Model()->ItemTextArray()); - - itemTextArray->Reset(); - iListBox->Reset(); - - HBufC* resourceText = NULL; - - //Create VPN policies setting listbox item - resourceText = StringLoader::LoadLC( R_VPN_POLICIES ); - itemTextArray->AppendL(*resourceText); - CleanupStack::PopAndDestroy(); // resourceText - - //Create Policy servers setting listbox item - // Hide policy server from UI - // NSSM support is discontinued - // Policy server UI may be used for another purpose in future - // resourceText = StringLoader::LoadLC( R_VPN_POLICY_SERVERS ); - // itemTextArray->AppendL(*resourceText); - // CleanupStack::PopAndDestroy(); // resourceText - - //Create Log setting listbox item - resourceText = StringLoader::LoadLC( R_VPN_LOG ); - itemTextArray->AppendL(*resourceText); - CleanupStack::PopAndDestroy(); // resourceText - - iListBox->HandleItemAdditionL(); - } - -// --------------------------------------------------------- -// CVpnManagementUiContainer::GetHelpContext -// This function is called when Help application is launched. -// --------------------------------------------------------- -// -#ifdef __SERIES60_HELP -void CVpnManagementUiContainer::GetHelpContext( - TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidVpnManagementUi; - aContext.iContext = KSET_HLP_VPN_CONFIG_MAIN; - } -#endif //__SERIES60_HELP - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuiimplementationtable.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuiimplementationtable.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* -* Copyright (c) 2007 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: -* ECOM proxy table for this plugin -* -*/ - - - -// System includes -#include -#include - -// User includes -#include "vpnmanagementuiview.h" - -// Constants -const TImplementationProxy KVpnManagementUiImplementationTable[] = - { - IMPLEMENTATION_PROXY_ENTRY( 0x101F6D32, CVpnManagementUiView::NewL ) - }; - - -// --------------------------------------------------------------------------- -// ImplementationGroupProxy -// Gate/factory function -// -// --------------------------------------------------------------------------- -// -EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) - { - aTableCount = sizeof( KVpnManagementUiImplementationTable ) - / sizeof( TImplementationProxy ); - return KVpnManagementUiImplementationTable; - } - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuilogcontainer.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuilogcontainer.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,692 +0,0 @@ -/* -* Copyright (c) 2003-2006 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: The container is responsible of showing log viewer. -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include //for LOG details message query -#include -#include "vpnuiloader.h" -#include "vpnmanagementuilogcontainer.h" -#include "vpnmanagementuidefs.h" -#include "vpnmanagementui.hrh" -#ifdef __SCALABLE_ICONS -#include -#include -#endif //__SCALABLE_ICONS - - -#ifdef __SERIES60_HELP -#include // for help context of VPN Management UI -#endif //__SERIES60_HELP - -//CONSTANTS -const TInt KVpnLogNumberOfIcons = 3; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::CVpnManagementUiLogContainer( -// CVpnManagementUiLogView& aParent, CVpnUiLoader& aLoader) -// Constructor with parent -// --------------------------------------------------------- -// -CVpnManagementUiLogContainer::CVpnManagementUiLogContainer( - CVpnManagementUiLogView& aParent, CVpnUiLoader& aLoader ) : - iParent ( aParent ), iLoader ( aLoader ) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::~CVpnManagementUiLogContainer() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiLogContainer::~CVpnManagementUiLogContainer() - { - if(iEventViewer) - { - delete iEventViewer; - iEventViewer = NULL; - } - if(iLogList) - { - delete iLogList; - iLogList = NULL; - } - delete iListBox; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::ConstructL( -// const TRect& aRect, TInt& aCurrentPosition, TInt& aTopItem) -// EPOC two phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::ConstructL( - const TRect& aRect, TInt& /*aCurrentPosition*/ ) - { - CreateWindowL(); - CreateListBoxL(); - - ShowLogsL(); - SetRect( aRect ); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::SizeChanged() -// Called by framework when the view size is changed -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::SizeChanged() - { - iListBox->SetRect(Rect()); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::FocusChanged(TDrawNow aDrawNow) -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::FocusChanged(TDrawNow aDrawNow) - { - if ( iListBox ) - { - iListBox->SetFocus( IsFocused(), aDrawNow ); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::HandleResourceChange -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::HandleResourceChange( TInt aType ) - { - CCoeControl::HandleResourceChange(aType); - - //Handle change in layout orientation - if (aType == KEikDynamicLayoutVariantSwitch || aType == KAknsMessageSkinChange ) - { - iListBox->HandleResourceChange(aType); - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect); - SetRect(mainPaneRect); - DrawNow(); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::HandleListBoxEventL( -// CEikListBox* /*aListBox*/, TListBoxEvent aEventType) -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::HandleListBoxEventL( - CEikListBox* /*aListBox*/, TListBoxEvent aEventType ) - { - switch(aEventType) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - iParent.HandleCommandL(EVpnUiCmdLogDetails); - break; - default: - //Do nothing - break; - } - } -enum { EListBoxControl, ENumberOfControls }; - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::CountComponentControls() const -// --------------------------------------------------------- -// -TInt CVpnManagementUiLogContainer::CountComponentControls() const - { - // return number of controls inside this container - return ENumberOfControls; // return nbr of controls inside this container - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::ComponentControl(TInt aIndex) const -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiLogContainer::ComponentControl(TInt aIndex) const - { - switch ( aIndex ) - { - case 0: - return iListBox; - default: - return NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::HandleControlEventL( -// CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) -// Cannot be changed to non-leaving function. -// L-function is required by the class definition, even if empty. -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::HandleControlEventL( - CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::OfferKeyEventL( -// const TKeyEvent& aKeyEvent, TEventCode aType) -// Handles the key events OK button, arrow keys, delete key. -// OK button show VPN log details, -// if list is empty then arrow keys and OK inactive. -// Delete active only if list not empty. -// --------------------------------------------------------- -// -TKeyResponse CVpnManagementUiLogContainer::OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType) - { - TKeyResponse retval = EKeyWasNotConsumed; - if ( aType==EEventKey ) - { - if ( (aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter) && // select or enter - iListBox->CurrentItemIndex() > -1) //This is for empty list - { - // Selection key pressed. - LogDetailsL(iListBox->CurrentItemIndex()); - - retval = EKeyWasConsumed; - } - - else if ( aKeyEvent.iCode == EKeyUpArrow ) - { - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - else if ( aKeyEvent.iCode == EKeyDownArrow ) - { - TEventProperties eventProperties; - HBufC* eventText = NULL; - TInt currentPosition = iListBox->CurrentItemIndex(); - if((iEventViewer != NULL) && (iLogList->Count() > 0)) - { - iEventViewer->GetEventUsingEventNumber(eventText, iLogList->At(iLogList->Count() - 1).iEventNumber, eventProperties); - delete eventText; - } - UpdateListBoxL(currentPosition); - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - } - else - { - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - - - return retval; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::CreateListBoxL() -// Creates listbox, sets empty listbox text. -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::CreateListBoxL() - { - iListBox = new( ELeave ) CAknDoubleGraphicStyleListBox; - iListBox->SetContainerWindowL( *this ); - iListBox->ConstructL( this, EAknListBoxSelectionList ); - iListBox->CreateScrollBarFrameL( ETrue ); - iListBox->ScrollBarFrame()-> - SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto ); - iListBox->SetListBoxObserver(this); - -#ifdef __SCALABLE_ICONS - - CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( KVpnLogNumberOfIcons ); - CleanupStack::PushL( icons ); - - MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); - - TFileName fileName = GetIconFilenameL(); - - icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, - KAknsIIDQgnPropVpnLogInfo, - fileName, - EMbmVpnmanagementuiQgn_prop_vpn_log_info, - EMbmVpnmanagementuiQgn_prop_vpn_log_info_mask ) ); - - icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, - KAknsIIDQgnPropVpnLogWarn, - fileName, - EMbmVpnmanagementuiQgn_prop_vpn_log_warn, - EMbmVpnmanagementuiQgn_prop_vpn_log_warn_mask ) ); - - icons->AppendL( AknsUtils::CreateGulIconL( skinInstance, - KAknsIIDQgnPropVpnLogError, - fileName, - EMbmVpnmanagementuiQgn_prop_vpn_log_error, - EMbmVpnmanagementuiQgn_prop_vpn_log_error_mask ) ); - - iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons ); - - CleanupStack::Pop(); // icons -#else - CAknIconArray* icons = new(ELeave) CAknIconArray(KVpnLogNumberOfIcons); - icons->ConstructFromResourceL(R_VPN_LOG_ICON_ARRAY); - - iListBox->ItemDrawer()->ColumnData()->SetIconArray(icons); - -#endif //__SCALABLE_ICONS - - EmptyViewTextL(); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::EmptyViewTextL() -// Reads text from resource to empty log view -// and put text to the listbox. -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::EmptyViewTextL() - { - HBufC* stringHolder = StringLoader::LoadLC( R_VPN_LOG_EMPTY ); - iListBox->View()->SetListEmptyTextL( *stringHolder ); - CleanupStack::PopAndDestroy(); // stringHolder - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::RemoveAllFromListBoxL() -// Removes all from listbox. -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::RemoveAllFromListBoxL() - { - MDesCArray* itemList = iListBox->Model()->ItemTextArray(); - CDesCArray* itemArray = (CDesCArray*) itemList; - itemArray->Reset(); - iListBox->HandleItemRemovalL(); - iListItemCount = 0; - DrawNow(); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::DrawListBoxL(TInt aCurrentPosition, TInt aTopItem) -// Draws listbox, fetches graphic icons for markable list -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::DrawListBoxL( - TInt aCurrentPosition, TInt aTopItem ) - { - - if (aCurrentPosition >= 0) - { - iListBox->SetTopItemIndex( aTopItem ); - iListBox->SetCurrentItemIndex( aCurrentPosition ); - } - ActivateL(); - DrawNow(); - - } - -void CVpnManagementUiLogContainer::ShowLogsL() - { - iListItemCount = 0; - - //Create CEventViewer object - delete iEventViewer; - iEventViewer = NULL; - TRAPD(error, iEventViewer = CEventViewer::NewL()); - if (error != KErrNone) - return; - - delete iLogList; - iLogList = NULL; - iLogList = new (ELeave) CArrayFixFlat(3); - - CDesCArrayFlat* itemTextArray = static_cast(iListBox->Model()->ItemTextArray()); - - itemTextArray->Reset(); - iListBox->Reset(); - - TEventProperties eventProperties; - HBufC* eventText = NULL; - - //First item - TBuf<100> itemName; - TInt ret = iEventViewer->GetMostRecentEvent(eventText, eventProperties); - if(ret==KErrNone) - { - CleanupStack::PushL(eventText); - - iLogList->AppendL(eventProperties); - - //append index of icon array - itemName.AppendNum(GetIconArrayIndex(eventProperties.iCategory)); - - itemName.Append(_L("\t")); - - TPtr eventTextDesc(eventText->Des()); - TInt length = eventTextDesc.Length(); - if(length > KMaxLogListLength) - { - eventTextDesc.Delete(KMaxLogListLength, length-KMaxLogListLength); - } - itemName.Append(eventTextDesc); - CleanupStack::PopAndDestroy(); //eventText - itemName.Append(_L("\t")); - - //Format time stamp for LOG view - TBuf<2 * KMaxLengthTextDateString + 3> logEntry; - TimeLogEntryL(logEntry, eventProperties.iTimeStamp); - - itemName.Append(logEntry); - - itemTextArray->AppendL(itemName); - iListBox->HandleItemAdditionL(); - iListItemCount++; - //Get rest of events - while (ret==KErrNone) - { - TInt currentPosition = iListBox->CurrentItemIndex(); - ret = UpdateListBoxL(currentPosition); - } - - } - - } - -TInt CVpnManagementUiLogContainer::GetIconArrayIndex(TLogCategory2& aCategory) - { - //index of icon array - if (aCategory == ELogInfo) - return 0; //index of icon array - else if (aCategory == ELogWarning) - return 1; //index of icon array - else if (aCategory == ELogError) - return 2; //index of icon array - else - return 2; - } - - -void CVpnManagementUiLogContainer::TimeLogEntryL(TDes& aDes, TTime aTime) - { - // Date - HBufC* dateFormat = StringLoader::LoadLC(R_QTN_DATE_USUAL_WITH_ZERO); - TBuf dateString; - aTime.FormatL(dateString, *dateFormat); - AknTextUtils::DisplayTextLanguageSpecificNumberConversion(dateString); - CleanupStack::PopAndDestroy(); //dateFormat - - // Time - dateFormat = StringLoader::LoadLC(R_QTN_TIME_USUAL_WITH_ZERO); - TBuf timeString; - aTime.FormatL(timeString, *dateFormat); - AknTextUtils::DisplayTextLanguageSpecificNumberConversion(timeString); - CleanupStack::PopAndDestroy(); //dateFormat - -// TBuf dateBuffer; // KMaxShortDateFormatSpec is defined in e32std.h -// TBuf timeBuffer; // KMaxTimeFormatSpec is defined in e32std.h - - TBuf<2 * KMaxLengthTextDateString + 3> logEntry; - - TTime now; - now.HomeTime(); - if ( (now.YearsFrom( aTime ).Int() > 0) || - (aTime.DayNoInYear() < now.DayNoInYear()) ) - { - logEntry.Append(dateString); - logEntry.Append(KVpnManagementUiSpaceHyphenSpace); - } - - logEntry.Append(timeString); - aDes = logEntry; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::UpdateListBoxL(TInt& aCurrentPosition) -// -// --------------------------------------------------------- -// -TInt CVpnManagementUiLogContainer::UpdateListBoxL(TInt& /*aCurrentPosition*/) - { - MDesCArray* itemList = iListBox->Model()->ItemTextArray(); - CDesCArray* itemArray = ( CDesCArray* )itemList; - - TEventProperties eventProperties; - HBufC* eventText = NULL; - TBuf<100> itemName; - - //next item - if(iEventViewer != NULL) - { - TInt ret = iEventViewer->GetPreviousEvent(eventText, eventProperties); - if(ret==KErrNone) - { - CleanupStack::PushL(eventText); - iLogList->AppendL(eventProperties); - - //append index of icon array - itemName.AppendNum(GetIconArrayIndex(eventProperties.iCategory)); - - itemName.Append(_L("\t")); - - TPtr eventTextDesc(eventText->Des()); - TInt length = eventTextDesc.Length(); - if(length > KMaxLogListLength) - eventTextDesc.Delete(KMaxLogListLength, length-KMaxLogListLength); - itemName.Append(eventTextDesc); - CleanupStack::PopAndDestroy(); //eventText - itemName.Append(_L("\t")); - - //Format time stamp for LOG view - TBuf<2 * KMaxLengthTextDateString + 3> logEntry; - TimeLogEntryL(logEntry, eventProperties.iTimeStamp); - - itemName.Append(logEntry); - - itemArray->AppendL(itemName); - iListBox->HandleItemAdditionL(); - iListItemCount++; - } - - iParent.SetMiddleSoftKeyL(ETrue); - return ret; - - } - - iParent.SetMiddleSoftKeyL(ETrue); - return KErrNotFound; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::LogDetailsL() -// Creates the log details message query -// Appends strings from resource and eventviewer to one -// message body text and displays it. -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::LogDetailsL(TInt aIndex) - { - TEventProperties eventProperties; - eventProperties = iLogList->At(aIndex); - - HBufC* message = NULL; - HBufC* eventText = NULL; - iEventViewer->GetEventUsingEventNumber(eventText, eventProperties.iEventNumber, eventProperties); - CleanupStack::PushL( eventText ); - - if(eventProperties.iCategory == ELogInfo) - { - // Info: - message = StringLoader::LoadLC( R_VPN_DETAIL_LOG_ENTRY_INFO ); - } - - if(eventProperties.iCategory == ELogWarning) - { - // Warning: - message = StringLoader::LoadLC( R_VPN_DETAIL_LOG_ENTRY_WARNING ); - } - - if(eventProperties.iCategory == ELogError) - { - // Error: - message = StringLoader::LoadLC( R_VPN_DETAIL_LOG_ENTRY_ERROR ); - } - - __ASSERT_DEBUG(message != NULL, User::Invariant()); - - HBufC* messageText = HBufC::NewLC(message->Length() + eventText->Length() + 2); - - messageText->Des().Append(*message); //Append category - messageText->Des().Append(KVpnManagementUiSpace); - messageText->Des().Append(*eventText); //Append log entry message - - // Heading is the date and the time of the log entry - //Format time stamp for LOG view - TBuf<2 * KMaxLengthTextDateString + 3> logEntry; - TimeLogEntryL(logEntry, eventProperties.iTimeStamp); - - CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL(*messageText); - - CleanupStack::PopAndDestroy(3); // message Text, message, eventText - - dlg->PrepareLC(R_MESSAGE_QUERY_DETAILS_VIEW); - dlg->QueryHeading()->SetTextL(logEntry); - dlg->RunLD(); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::ReadResourceL(HBufC& aText, TInt aResource); -// Reads text from resource -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::ReadResourceL(HBufC& aText, TInt aResource) - { - HBufC* text = StringLoader::LoadLC( aResource ); - aText.Des().Append(text->Des()); - CleanupStack::PopAndDestroy(); // text - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::ClearLogL() -// Asks confirmation from user. -// Clears VPN log view. -// Calls eventviewer to clear log. -// --------------------------------------------------------- -// -void CVpnManagementUiLogContainer::ClearLogL() - { - // Read query text from resource - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_CLEAR_LOG ); - - // Asks confirmation from user - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - // Clear VPN log listbox - RemoveAllFromListBoxL(); - - // Calls eventviewer to clear log. - iEventViewer->DeleteLogFile(); - } - - iParent.SetMiddleSoftKeyL(ETrue); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::IconArrayResourceId -// Loads Mark/Unmark icons from resource -// --------------------------------------------------------- -// -TInt CVpnManagementUiLogContainer::IconArrayResourceId() const - { - return 0; //TVA - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::CreateIconArrayL -// Creates Icon Array -// --------------------------------------------------------- -// -CAknIconArray* CVpnManagementUiLogContainer::CreateIconArrayL() const - { - CAknIconArray* icons = new (ELeave) CAknIconArray( KGranularity ); - CleanupStack::PushL( icons ); - icons->ConstructFromResourceL( IconArrayResourceId() ); - CleanupStack::Pop(); // icons - return icons; - } - -TFileName CVpnManagementUiLogContainer::GetIconFilenameL() - { - RFs& fsSession = CCoeEnv::Static()->FsSession(); - - TDriveList driveList; - User::LeaveIfError(fsSession.DriveList(driveList)); - - TInt driveNumber; - TDriveName drive = _L("a:"); - - TFileName iconName; - - for (driveNumber = EDriveA, drive[0] = 'a'; - driveNumber <= EDriveZ; - driveNumber++, drive[0]++) - { - if (!driveList[driveNumber]) - { - continue; - } - - TParse parse; - parse.Set(drive, &KVpnLogIcons, NULL); - iconName.Copy(parse.DriveAndPath()); - iconName.Append(parse.Name()); - iconName.Append(_L(".mif")); - - TEntry entry; - if (fsSession.Entry(iconName, entry) == KErrNone) - { - //icon founded - break; - } - } - - return iconName; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogContainer::GetHelpContext -// This function is called when Help application is launched. -// (other items were commented in a header). -// --------------------------------------------------------- -// -#ifdef __SERIES60_HELP -void CVpnManagementUiLogContainer::GetHelpContext( - TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidVpnManagementUi; - aContext.iContext = KSET_HLP_VPN_LOG_VIEW; - } -#endif //__SERIES60_HELP - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuilogview.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuilogview.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,300 +0,0 @@ -/* -* Copyright (c) 2003 - 2006 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: Handles commands given through the UI for maintaining policies. -* -*/ - - - -// INCLUDE FILES -#include -#include // for warning & information notes -#include -#include "vpnuiloader.h" -#include "vpnmanagementuilogview.h" -#include "vpnmanagementuilogcontainer.h" -#include "vpnmanagementui.hrh" -#ifdef __SERIES60_HELP -#include // For HlpLauncher -#endif //__SERIES60_HELP - -/** MSK control Id. */ -const TInt KVpnMSKControlId = 3; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiLogView::CVpnManagementUiLogView(CVpnUiLoader& aLoader) -// : iLoader(aLoader) -// Constructor -// --------------------------------------------------------- -// -CVpnManagementUiLogView::CVpnManagementUiLogView( CVpnUiLoader& aLoader ) -: iLoader(aLoader) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::~CVpnManagementUiLogView() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiLogView::~CVpnManagementUiLogView() - { - if ( iLogContainer ) - { - AppUi()->RemoveFromViewStack(*this, iLogContainer); - delete iLogContainer; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView* CVpnManagementUiLogView::NewL( -// const TRect& /*aRect*/, CVpnUiLoader& aLoader) -// --------------------------------------------------------- -// -CVpnManagementUiLogView* CVpnManagementUiLogView::NewL( - const TRect& /*aRect*/, CVpnUiLoader& aLoader ) - { - CVpnManagementUiLogView* self = - new ( ELeave ) CVpnManagementUiLogView( aLoader ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView* CVpnManagementUiLogView::NewLC( -// const TRect& /*aRect*/, CVpnUiLoader& aLoader) -// --------------------------------------------------------- -// -CVpnManagementUiLogView* CVpnManagementUiLogView::NewLC( - const TRect& /*aRect*/, CVpnUiLoader& aLoader ) - { - CVpnManagementUiLogView* self = - new ( ELeave ) CVpnManagementUiLogView( aLoader ); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::ConstructL() -// CVpnUiView::ConstructL(const TRect& aRect) -// EPOC two-phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiLogView::ConstructL() - { - BaseConstructL( R_VPNUI_LOG_VIEW ); - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::DynInitMenuPaneL( -// TInt aResourceId,CEikMenuPane* aMenuPane) -// Updates Options list with correct items depending on -// whether the listbox is empty or if it has any marked items -// --------------------------------------------------------- -// -void CVpnManagementUiLogView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) - { - - if ( aResourceId == R_VPNUI_LOG_VIEW_MENU ) - { - TInt currentItem = iLogContainer->iListBox->CurrentItemIndex(); - - // the VPN log list is empty all except Refresh, Help and Exit is dimmed - if ( currentItem == -1 ) - { - aMenuPane->SetItemDimmed( EVpnUiCmdLogDetails, ETrue ); - aMenuPane->SetItemDimmed( EVpnUiCmdClearLog, ETrue ); -// aMenuPane->SetItemDimmed( EVpnUiCmdRefreshLog, ETrue ); - } - - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::Id() const -// Returns Authority view id -// --------------------------------------------------------- -// -TUid CVpnManagementUiLogView::Id() const - { - return KVpnManagementUiLogViewId; - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::HandleCommandL(TInt aCommand) -// Handles Softkey and Options list commands -// --------------------------------------------------------- -// -void CVpnManagementUiLogView::HandleCommandL( TInt aCommand ) - { - switch ( aCommand ) - { - case EAknSoftkeyBack: - { - iLoader.ChangeViewL( KChangeViewPrevious ); - break; - } - case EAknCmdExit: - { - ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit ); - break; - } - - case EVpnUiCmdRefreshLog: - { - iLogContainer->ShowLogsL(); - iLogContainer->DrawListBoxL( iCurrentPosition, iTopItem ); - break; - } - - case EVpnUiCmdLogDetails: - { - iLogContainer->LogDetailsL(iLogContainer->iListBox->CurrentItemIndex()); - break; - } - - case EVpnUiCmdClearLog: - { - iLogContainer->ClearLogL(); - break; - } -#ifdef __SERIES60_HELP - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( - iEikonEnv->WsSession(), AppUi()->AppHelpContextL() ); - break; - } -#endif //__SERIES60_HELP - - default: - { - AppUi()->HandleCommandL( aCommand ); - break; - } - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::HandleClientRectChange() -// --------------------------------------------------------- -// -void CVpnManagementUiLogView::HandleClientRectChange() - { - if ( iLogContainer ) - { - iLogContainer->SetRect( ClientRect() ); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, -// TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) -// Updates the view when opening it -// --------------------------------------------------------- -// -void CVpnManagementUiLogView::DoActivateL( - const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) - { - if ( iLogContainer ) - { - ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack( - *this, iLogContainer ); - } - iLogContainer = new (ELeave) CVpnManagementUiLogContainer( - *this, iLoader ); - - iLogContainer->SetMopParent( this ); - iLogContainer->ConstructL( ClientRect(), iCurrentPosition ); - iLoader.ActivateTitleL( KViewTitleLogView ); - - iLoader.ActivateNaviTextL(); - iLoader.PushNaviPaneL(); - - ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iLogContainer ); - iLogContainer->DrawListBoxL( iCurrentPosition, iTopItem ); - - // Add MiddleSoftKey - SetMiddleSoftKeyL(EFalse); - } - - -void CVpnManagementUiLogView::SetMiddleSoftKeyL(TBool aDrawNow) - { - if (iLogContainer->iListItemCount > 0) - { - SetMiddleSoftKeyLabelL(R_MSK_VPN_DETAILS, EVpnUiCmdLogDetails); - } - else - { - SetMiddleSoftKeyLabelL(R_MSK_REFRESH_VPN_LOG, EVpnUiCmdRefreshLog); - } - - if (aDrawNow) - { - if (Cba()) - Cba()->DrawNow(); - } - } - - -void CVpnManagementUiLogView::SetMiddleSoftKeyLabelL(TInt aResourceId, TInt aCommandId) - { - CEikButtonGroupContainer* cbaGroup = Cba(); - if (cbaGroup) - { - cbaGroup->RemoveCommandFromStack(KVpnMSKControlId, EVpnUiCmdLogDetails); - cbaGroup->RemoveCommandFromStack(KVpnMSKControlId, EVpnUiCmdRefreshLog); - HBufC* text = StringLoader::LoadLC(aResourceId); - cbaGroup->AddCommandToStackL(KVpnMSKControlId, aCommandId, text->Des()); - CleanupStack::PopAndDestroy(text); - } - - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::DoDeactivate() -// Saves focus position when closing view -// --------------------------------------------------------- -// -void CVpnManagementUiLogView::DoDeactivate() - { - if ( iLogContainer ) - { - iLoader.PopNaviPane(); - AppUi()->RemoveFromViewStack( *this, iLogContainer ); - - delete iLogContainer; - iLogContainer = NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiLogView::Container() -// Returns iLogContainer -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiLogView::Container() - { - return iLogContainer; - } - -// End of File - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuipolicycontainer.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuipolicycontainer.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,643 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Policy view container -* -*/ - -#include -#include -#include -#include -#include -#include -#include -#include "vpnuiloader.h" -#include "vpnmanagementuipolicycontainer.h" -#include "vpnmanagementui.hrh" - - -#ifdef __SERIES60_HELP -#include // for help context of VPN Management UI -#endif //__SERIES60_HELP - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::CVpnManagementUiPolicyContainer( -// CVpnManagementUiPolicyView& aParent, CVpnUiLoader& aLoader) -// Constructor with parent -// --------------------------------------------------------- -// -CVpnManagementUiPolicyContainer::CVpnManagementUiPolicyContainer( - CVpnManagementUiPolicyView& aParent, CVpnUiLoader& aLoader ) : - iParent ( aParent ), iLoader ( aLoader ) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::~CVpnManagementUiPolicyContainer() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiPolicyContainer::~CVpnManagementUiPolicyContainer() - { - delete iListBox; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::ConstructL( -// const TRect& aRect, TInt& aCurrentPosition, TInt& aTopItem) -// EPOC two phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::ConstructL( - const TRect& aRect, TInt& /*aCurrentPosition*/, TInt& /*aTopItem*/ ) - { - CreateWindowL(); - CreateListBoxL(); - - //Initialization - iShowWaitNote = EFalse; - - ShowPoliciesL(); - SetRect( aRect ); - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::ActivateL() -// called after the dialog is shown -// used to handle empty list - query -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::ActivateL() - { - CCoeControl::ActivateL(); - // put empty list checking & required actions here. - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - if (!iLoader.iBackFromServerDefinition) - { - PoliciesListEmptyL(); - } - if (iLoader.iNewServerDefinition) - {//Synchronise server query - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_SYNCHRONISE_SERVER ); - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - //Show wait dialog - //ShowWaitNoteL(); called now from NotifyStepChangedL - iShowWaitNote = ETrue; - // Get selection neme for connecting via note - // and save it to the member variable of iLoader - iLoader.GetSelectionNameL( iLoader.iSelectionName ); - - //Save server index for Connecting via note - iLoader.iCurrentServerIndex = 0; - //Synchronise server - iLoader.AcuApiWrapperL().SynchroniseServerL(0,this); - - //Set iNewServerDefinition to false, because - //we are now synchronised server - iLoader.iNewServerDefinition = EFalse; - } - } ***/ - } - -void CVpnManagementUiPolicyContainer::PoliciesListEmptyL() - { - if (iListItemCount == 0) - { - //Set iNewServerDefinition to false, because - //we don't want to show note - //"new server defined synchronise now" - iLoader.iNewServerDefinition = EFalse; - // no policies installed, confirmation query - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_DL_POLICIES_NOW ); - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { // start policy install procedure - InstallPoliciesL(); - } - } - } - -void CVpnManagementUiPolicyContainer::InstallPoliciesL() - { - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - CArrayFix* serverList = iLoader.AcuApiWrapperL().ServerListL(); - TInt serverCount = serverList->Count(); - - //if policy servers defined show policy server list query - if (serverCount > 0 ) - { - TInt index = 0; - CDesCArrayFlat *array = new(ELeave) CDesCArrayFlat(1); - CleanupStack::PushL(array); - - for (TInt i = 0; i < serverCount; ++i) - { - TBuf serverName; - serverName.Append(serverList->At(i).iServerNameLocal); - array->AppendL(serverName); - } - CAknListQueryDialog* dlg = new (ELeave) CAknListQueryDialog(&index); - dlg->PrepareLC( R_LIST_QUERY ); - dlg->SetItemTextArray(array); - dlg->SetOwnershipType(ELbmDoesNotOwnItemArray); - - TInt queryOk = dlg->RunLD(); - if(queryOk == EAknSoftkeyOk || queryOk == EAknSoftkeySelect) - { - TBool selectionExists = iLoader.SelectionExistsL( index ); - - if( selectionExists ) - { - //Save server index for Connecting via note - iLoader.iCurrentServerIndex = index; - //Show wait dialog - iShowWaitNote = ETrue; - // Get selection neme for connecting via note - // and save it to the member variable of iLoader - iLoader.GetSelectionNameL( iLoader.iSelectionName ); - - iLoader.AcuApiWrapperL().SynchroniseServerL( index, this ); - } - } - CleanupStack::PopAndDestroy(); // array - - } - else - { ***/ - //No policy servers defined show define new policy - //server conrirmation query - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_DEFINE_NEW_SERVER ); - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - if (!SysUtil::FFSSpaceBelowCriticalLevelL(0, 0)) - { - iLoader.iBackFromServerDefinition = ETrue; - iLoader.ChangeViewL(KChangeViewSettings); - } - else - { - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy(); // errorUi - } - } - // } - } - -void CVpnManagementUiPolicyContainer::SynchroniseServerL() - { -/*NOT USED ANYMORE - //Conrirmation query - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_SYNCHRONISE_SERVER ); - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - TInt currentPosition = iListBox->CurrentItemIndex(); - iLoader.iAcuApiWrapper->SynchroniseServer(currentPosition, this); - } -*/ - } -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::SizeChanged() -// Called by framework when the view size is changed -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::SizeChanged() - { - iListBox->SetRect(Rect()); - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::FocusChanged(TDrawNow aDrawNow) -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::FocusChanged(TDrawNow aDrawNow) - { - if ( iListBox ) - { - iListBox->SetFocus( IsFocused(), aDrawNow ); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::HandleResourceChangeL -// --------------------------------------------------------- -// - -void CVpnManagementUiPolicyContainer::HandleResourceChange( TInt aType ) - { - CCoeControl::HandleResourceChange(aType); - - //Handle change in layout orientation - if (aType == KEikDynamicLayoutVariantSwitch || aType == KAknsMessageSkinChange ) - { - iListBox->HandleResourceChange(aType); - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect); - SetRect(mainPaneRect); - DrawNow(); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::HandleListBoxEventL( -// CEikListBox* /*aListBox*/, TListBoxEvent aEventType) -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::HandleListBoxEventL( - CEikListBox* /*aListBox*/, TListBoxEvent aEventType ) - { - switch(aEventType) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - iParent.HandleCommandL(EVpnUiCmdPolicyDetails); - break; - default: - //Do nothing - break; - } - } -enum { EListBoxControl, ENumberOfControls }; - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::CountComponentControls() const -// --------------------------------------------------------- -// -TInt CVpnManagementUiPolicyContainer::CountComponentControls() const - { - // return number of controls inside this container - return ENumberOfControls; // return nbr of controls inside this container - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::ComponentControl(TInt aIndex) const -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiPolicyContainer::ComponentControl(TInt aIndex) const - { - switch ( aIndex ) - { - case 0: - return iListBox; - default: - return NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::HandleControlEventL( -// CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) -// Cannot be changed to non-leaving function. -// L-function is required by the class definition, even if empty. -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::HandleControlEventL( - CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::OfferKeyEventL( -// const TKeyEvent& aKeyEvent, TEventCode aType) -// Handles the key events OK button, arrow keys, delete key. -// OK button functionality is different depending on the number of marked items -// in the list; zero marked -> show details view, one or more marked -> show -// OKOptions list, list empty -> OK inactive. -// Delete active only if list not empty. -// --------------------------------------------------------- -// -TKeyResponse CVpnManagementUiPolicyContainer::OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType) - { - - // If operation is currenly onway, do not continue. - TKeyResponse retval = EKeyWasNotConsumed; - if ( aType==EEventKey ) - { - if ( (aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter) && // select or enter - iListBox->CurrentItemIndex() > -1) //This is for empty list - { - // Selection key pressed. - iParent.PolicyDetailsL(iListBox->CurrentItemIndex()); - - retval = EKeyWasConsumed; - } - - else if ( aKeyEvent.iCode == EKeyDelete - || aKeyEvent.iCode == EKeyBackspace ) - { - if ( iListBox->CurrentItemIndex() > -1 ) - { - iParent.HandleCommandL( EVpnUiCmdDeletePolicy ); - retval = EKeyWasConsumed; - } - } - else - { - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - } - else - { - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - - - return retval; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::CreateListBoxL() -// Creates listbox, sets empty listbox text. -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::CreateListBoxL() - { - - iListBox = new( ELeave ) CAknSingleStyleListBox; - iListBox->SetContainerWindowL( *this ); - iListBox->ConstructL( this, EAknListBoxMarkableList ); - iListBox->CreateScrollBarFrameL( ETrue ); - iListBox->ScrollBarFrame()-> - SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto ); - iListBox->SetListBoxObserver(this); - - HBufC* stringHolder = StringLoader::LoadLC( R_VPN_POLICIES_EMPTY ); - iListBox->View()->SetListEmptyTextL( *stringHolder ); - CleanupStack::PopAndDestroy(); // stringHolder - - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::DrawListBoxL(TInt aCurrentPosition, TInt aTopItem) -// Draws listbox, fetches graphic icons for markable list -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::DrawListBoxL( - TInt aCurrentPosition, TInt aTopItem ) - { - - if (aCurrentPosition >= 0) - { - iListBox->SetTopItemIndex( aTopItem ); - iListBox->SetCurrentItemIndex( aCurrentPosition ); - } - ActivateL(); - DrawNow(); - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::UpdateListBoxL(TInt& aCurrentPosition) -// Updates listbox after deletion, sets No VPN policies text -// if deleted policy was a last one. -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::UpdateListBoxL( TInt& aCurrentPosition ) - { - MDesCArray* itemList = iListBox->Model()->ItemTextArray(); - CDesCArray* itemArray = ( CDesCArray* )itemList; - - itemArray->Delete(aCurrentPosition); - itemArray->Compress(); - - iListBox->HandleItemRemovalL(); - if(aCurrentPosition > 0) - { - iListBox->SetCurrentItemIndexAndDraw(aCurrentPosition-1); - } - if(aCurrentPosition == 0 ) - { - if (iListItemCount > 1 ) - { - iListBox->SetCurrentItemIndexAndDraw(aCurrentPosition); - } - else - { - HBufC* stringHolder = StringLoader::LoadLC( R_VPN_POLICIES_EMPTY ); - iListBox->View()->SetListEmptyTextL( *stringHolder ); - CleanupStack::PopAndDestroy(); // stringHolder - } - } - iListItemCount = iListItemCount -1; - iParent.SetMiddleSoftKeyL(ETrue); - DrawNow(); - } - -void CVpnManagementUiPolicyContainer::ShowPoliciesL() - { - CArrayFixFlat* policyList = - iLoader.VpnApiWrapperL().PolicyListL(); - - CDesCArrayFlat* itemTextArray = - static_cast(iListBox->Model()->ItemTextArray()); - - itemTextArray->Reset(); - iListBox->Reset(); - - iListItemCount = policyList->Count(); - - for (TInt i = 0; i < iListItemCount; ++i) - { - TBuf policyName; - policyName.Append(_L("\t")); - policyName.Append(policyList->At(i).iName); - itemTextArray->AppendL(policyName); - } - - iListBox->HandleItemAdditionL(); - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer:::UpdatePolicy -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyContainer::UpdatePolicyL(TVpnPolicyId /* aPolicyId */) - { - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - TBool selectionExists = iLoader.SelectionExistsL( 0 ); - - if( selectionExists ) - { - // Get selection name for connecting via note - // and save it to the member variable of iLoader - iLoader.GetSelectionNameL( iLoader.iSelectionName ); - - iLoader.ShowWaitNoteL(); - TAcuContentId contentId; - contentId.iContentId = aPolicyId; - iLoader.AcuApiWrapperL().UpdatePolicyL( contentId, this ); - } ***/ - } - - -void CVpnManagementUiPolicyContainer::NotifyUpdatePolicyCompleteL( - TInt aResult) - { - if ( iLoader.iWaitDialog ) - { - iLoader.DeleteWaitNoteL();//iWaitDialog->ProcessFinishedL(); // deletes the wait dialog - } - - if (aResult == KErrNone) - { - //Confirmation note - HBufC* string = StringLoader::LoadLC( R_VPN_CONF_POLICY_UPDATE_COMPLETE ); - CAknConfirmationNote* note = new ( ELeave ) CAknConfirmationNote( ETrue ); - note->ExecuteLD( *string ); - CleanupStack::PopAndDestroy( string ); - } - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - else if (aResult == KAcuErrServerCertExpiredByPkiService) - { - //Show an information note - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_SERVER_CERT_EXPIRED ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } ***/ - else if (aResult == KErrDiskFull) - { - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy(); // errorUi - } - else if (aResult == KErrCancel) - { - // No operation, i.e. don't show anything - } - else - { - //Show an information note - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_POLICY_DL_ERROR ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } - } - -void CVpnManagementUiPolicyContainer::NotifySynchroniseServerCompleteL(TInt aResult) - { - //CloseWaitDialog(); - - if ( iLoader.iWaitDialog ) - { - iLoader.DeleteWaitNoteL();//iWaitDialog->ProcessFinishedL(); // deletes the wait dialog - } - - if (aResult == KErrNone) - { - //Confirmation note - HBufC* string = StringLoader::LoadLC( R_VPN_CONF_POLICY_SERVER_SYNC_OK ); - CAknConfirmationNote* note = new ( ELeave ) CAknConfirmationNote( ETrue ); - note->ExecuteLD( *string ); - CleanupStack::PopAndDestroy( string ); - } - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - else if (aResult == KAcuErrServerCertExpiredByPkiService) - { - //Show an information note - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_SERVER_CERT_EXPIRED ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } ***/ - else if (aResult == KErrDiskFull) - { - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy(); // errorUi - } - else if (aResult == KErrCancel) - { - // No operation, i.e. don't show anything - } - else - { - //Show an information note - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_POLICY_SERVER_SYNC_ERROR ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } - - ShowPoliciesL(); - iParent.SetMiddleSoftKeyL(ETrue); - } - - -void CVpnManagementUiPolicyContainer::NotifyStepChangedL(TInt /*aResult*/) - { - if (iShowWaitNote) - { - iLoader.ShowWaitNoteL(); - iShowWaitNote = EFalse; - } - if ( iLoader.iWaitDialog ) - { - iLoader.SetTextL(); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyContainer::GetHelpContext -// This function is called when Help application is launched. -// (other items were commented in a header). -// --------------------------------------------------------- -// -#ifdef __SERIES60_HELP -void CVpnManagementUiPolicyContainer::GetHelpContext( - TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidVpnManagementUi; - aContext.iContext = KSET_HLP_VPN_POLICY_VIEW; - } -#endif //__SERIES60_HELP - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuipolicyview.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuipolicyview.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,438 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: VPN Policy view -* -*/ - - - -// INCLUDE FILES -#include -#include // for warning & information notes -#include -#include - -#include "vpnuiloader.h" -#include "vpnmanagementuipolicyview.h" -#include "vpnmanagementuipolicycontainer.h" -#include "vpnmanagementui.hrh" -#ifdef __SERIES60_HELP -#include // For HlpLauncher -#endif //__SERIES60_HELP - -/** MSK control Id. */ -const TInt KVpnMSKControlId = 3; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::CVpnManagementUiPolicyView -// --------------------------------------------------------- -// -CVpnManagementUiPolicyView::CVpnManagementUiPolicyView( - CVpnUiLoader& aLoader ) : iLoader(aLoader) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::~CVpnManagementUiPolicyView() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiPolicyView::~CVpnManagementUiPolicyView() - { - if ( iPolicyContainer ) - { - AppUi()->RemoveFromViewStack(*this, iPolicyContainer); - delete iPolicyContainer; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::NewL -// --------------------------------------------------------- -// -CVpnManagementUiPolicyView* CVpnManagementUiPolicyView::NewL( - const TRect& aRect, CVpnUiLoader& aLoader ) - { - CVpnManagementUiPolicyView* self = NewLC( aRect, aLoader ); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::NewLC -// --------------------------------------------------------- -// -CVpnManagementUiPolicyView* CVpnManagementUiPolicyView::NewLC( - const TRect& /*aRect*/, CVpnUiLoader& aLoader ) - { - CVpnManagementUiPolicyView* self = - new ( ELeave ) CVpnManagementUiPolicyView( aLoader ); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::ConstructL() -// EPOC two-phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::ConstructL() - { - BaseConstructL( R_VPNUI_POLICIES_VIEW ); - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::DynInitMenuPaneL( -// TInt aResourceId,CEikMenuPane* aMenuPane) -// Updates Options list with correct items depending on -// whether the listbox is empty or if it has any marked items -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) - { - if ( aResourceId == R_VPNUI_POLICIES_VIEW_MENU ) - { - TInt currentItem = iPolicyContainer->iListBox->CurrentItemIndex(); - - // the policy list is empty all except Install and Exit is dimmed - if ( currentItem == -1 ) - { - aMenuPane->SetItemDimmed( EVpnUiCmdPolicyDetails, ETrue ); - aMenuPane->SetItemDimmed( EVpnUiCmdDeletePolicy, ETrue ); - aMenuPane->SetItemDimmed( EVpnUiCmdUpdatePolicy, ETrue ); - // NSSM support is discontinued - aMenuPane->SetItemDimmed( EVpnUiCmdInstallPolicies, ETrue ); - } - // at least one policy is installed, - else - { - aMenuPane->SetItemDimmed( EVpnUiCmdInstallPolicies, ETrue ); - // NSSM support is discontinued - aMenuPane->SetItemDimmed( EVpnUiCmdUpdatePolicy, ETrue ); - } - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::Id() const -// Returns Authority view id -// --------------------------------------------------------- -// -TUid CVpnManagementUiPolicyView::Id() const - { - return KVpnManagementUiPolicyViewId; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::HandleCommandL(TInt aCommand) -// Handles Softkey and Options list commands -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::HandleCommandL( TInt aCommand ) - { - TBool ffsLow; - switch ( aCommand ) - { - case EAknSoftkeyBack: - { - iLoader.ChangeViewL( KChangeViewPrevious ); - break; - } - case EAknCmdExit: - { - ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit ); - break; - } - - case EVpnUiCmdPolicyDetails: - { - // Show details - PolicyDetailsL(iPolicyContainer->iListBox->CurrentItemIndex()); - break; - } - - case EVpnUiCmdInstallPolicies: - { - ffsLow = iLoader.FFSSpaceBelowCriticalLevelL( ETrue, 0 ); - if(!ffsLow) - { - iPolicyContainer->InstallPoliciesL(); - } - break; - } - case EVpnUiCmdUpdatePolicy: - { - ffsLow = iLoader.FFSSpaceBelowCriticalLevelL( ETrue, 0 ); - if(!ffsLow) - { - iCurrentPosition = iPolicyContainer->iListBox->CurrentItemIndex(); - //Save policy index for Connecting via note - iLoader.iCurrentPolicyIndex = iCurrentPosition; - //Save update operation for Connecting via note - iLoader.iPolicyUpdate = ETrue; - - TVpnPolicyInfo policyInfo; - policyInfo.iId = iLoader.VpnApiWrapperL().PolicyListL()->At( - iCurrentPosition).iId; - iPolicyContainer->UpdatePolicyL(policyInfo.iId); - } - break; - } - - case EVpnUiCmdDeletePolicy: - { - //confirmation query - HBufC* temp; - - TVpnPolicyName policyName; - iCurrentPosition = iPolicyContainer->iListBox->CurrentItemIndex(); - iTopItem = iPolicyContainer->iListBox->TopItemIndex(); - - if (NotAssociatedToIapL(iCurrentPosition, policyName)) - { - temp = StringLoader::LoadLC( R_VPN_QUEST_DELETE_POLICY, policyName ); - } - else - { - temp = StringLoader::LoadLC( R_VPN_QUEST_DELETE_POLICY_ASSOCIATED ); - } - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - //Delete policy - iLoader.VpnApiWrapperL().DeletePolicyL(iPolicyContainer->iListBox->CurrentItemIndex()); - //Update listbox - iPolicyContainer->UpdateListBoxL(iCurrentPosition); - //Update iPolicyList - iLoader.VpnApiWrapperL().PolicyListL(); - iCurrentPosition = iPolicyContainer->iListBox->CurrentItemIndex(); - } - break; - } -#ifdef __SERIES60_HELP - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( - iEikonEnv->WsSession(), AppUi()->AppHelpContextL() ); - break; - } -#endif //__SERIES60_HELP - - default: - { - AppUi()->HandleCommandL( aCommand ); - break; - } - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::HandleClientRectChange() -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::HandleClientRectChange() - { - if ( iPolicyContainer ) - { - iPolicyContainer->SetRect( ClientRect() ); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::DoActivateL -// Updates the view when opening it -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::DoActivateL( - const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) - { - if ( iPolicyContainer ) - { - ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack( - *this, iPolicyContainer ); - } - iPolicyContainer = new (ELeave) CVpnManagementUiPolicyContainer( - *this, iLoader ); - - iPolicyContainer->SetMopParent( this ); - iPolicyContainer->ConstructL( - ClientRect(), iCurrentPosition, iTopItem ); - iLoader.ActivateTitleL( KViewTitlePolicyView ); - iLoader.PushDefaultNaviPaneL(); - - ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iPolicyContainer ); - iPolicyContainer->DrawListBoxL( iCurrentPosition, iTopItem ); - - SetMiddleSoftKeyL(EFalse); - } - -void CVpnManagementUiPolicyView::SetMiddleSoftKeyL(TBool aDrawNow) - { - if (iPolicyContainer->iListItemCount > 0) - { - SetMiddleSoftKeyLabelL(R_MSK_VPN_DETAILS, EVpnUiCmdPolicyDetails); - } - else - { - SetMiddleSoftKeyLabelL(R_MSK_INSTALL_VPN_POLICIES, EVpnUiCmdInstallPolicies); - } - - if (aDrawNow) - { - if (Cba()) - Cba()->DrawNow(); - } - } - - -void CVpnManagementUiPolicyView::SetMiddleSoftKeyLabelL( - TInt aResourceId, TInt aCommandId) - { - CEikButtonGroupContainer* cbaGroup = Cba(); - if (cbaGroup) - { - HBufC* text = HBufC::NewLC(KMaxLengthTextDetailsBody); - ReadResourceL(*text, aResourceId); - cbaGroup->RemoveCommandFromStack( - KVpnMSKControlId, EVpnUiCmdPolicyDetails); - cbaGroup->RemoveCommandFromStack( - KVpnMSKControlId, EVpnUiCmdInstallPolicies); - cbaGroup->AddCommandToStackL( - KVpnMSKControlId, aCommandId, text->Des()); - CleanupStack::PopAndDestroy(text); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::DoDeactivate() -// Saves focus position when closing view -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::DoDeactivate() - { - if ( iPolicyContainer ) - { - AppUi()->RemoveFromViewStack( *this, iPolicyContainer ); - - delete iPolicyContainer; - iPolicyContainer = NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::Container() -// Returns iPolicyContainer -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiPolicyView::Container() - { - return iPolicyContainer; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::PolicyDetailsL() -// Creates the whole of policy details view -// Appends strings from both resources and VPN API to one -// message body text and displays it. -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::PolicyDetailsL(TInt aIndex) - { - TVpnPolicyDetails policyDetails; - - iLoader.VpnApiWrapperL().GetPolicyDetailsL(aIndex,policyDetails); - HBufC* message = HBufC::NewLC(KMaxLengthTextDetailsBody); - - // Description: - ReadResourceL(*message, R_VPN_DETAIL_POLICY_DESCRIPTION ); - message->Des().Append(KVpnManagementUiEnter); - message->Des().Append(policyDetails.iDescription); - message->Des().Append(KVpnManagementUiEnterTwice); - - // Policy status: - ReadResourceL(*message, R_VPN_DETAIL_POLICY_STATUS ); - message->Des().Append(KVpnManagementUiEnter); - - if (policyDetails.iUsageStatus == EUsageStatusUnused) - ReadResourceL(*message, R_VPN_DETAIL_POLICY_NOT_ASSOCIATED ); - else if (policyDetails.iUsageStatus == EUsageStatusAssignedToIap) - ReadResourceL(*message, R_VPN_DETAIL_POLICY_ASSOCIATED ); - else if (policyDetails.iUsageStatus == EUsageStatusActive) - ReadResourceL(*message, R_VPN_DETAIL_POLICY_ACTIVE ); - - message->Des().Append(KVpnManagementUiEnterTwice); - - // Certificate status: - ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS ); - message->Des().Append(KVpnManagementUiEnter); - - if (policyDetails.iPkiStatus == EPkiStatusReady) - ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_OK ); - else if (policyDetails.iPkiStatus == EPkiStatusCertExpired) - ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_EXPIRED ); - else if (policyDetails.iPkiStatus == EPkiStatusNoCert) - ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_MISSING ); - else if (policyDetails.iPkiStatus == EPkiStatusCertNotValidYet) - ReadResourceL(*message, R_VPN_DETAIL_CERT_STATUS_NOT_YET_VALID ); - - message->Des().Append(KVpnManagementUiEnterTwice); - - // Policy name: - ReadResourceL(*message, R_VPN_DETAIL_POLICY_NAME ); - message->Des().Append(KVpnManagementUiEnter); - message->Des().Append(policyDetails.iName); - message->Des().Append(KVpnManagementUiEnterTwice); - - // Header for the message query dialog - - CAknMessageQueryDialog* dlg = CAknMessageQueryDialog::NewL(*message); - dlg->PrepareLC(R_MESSAGE_QUERY_DETAILS_VIEW); - dlg->QueryHeading()->SetTextL(policyDetails.iName); - dlg->RunLD(); - - CleanupStack::PopAndDestroy(); // message - } - -TBool CVpnManagementUiPolicyView::NotAssociatedToIapL(TInt aIndex, TVpnPolicyName& aPolicyName) - { - TVpnPolicyDetails policyDetails; - iLoader.VpnApiWrapperL().GetPolicyDetailsL(aIndex,policyDetails); - aPolicyName = policyDetails.iName; - if (policyDetails.iUsageStatus == EUsageStatusUnused) - return ETrue; - else - return EFalse; - } - -// --------------------------------------------------------- -// CVpnManagementUiPolicyView::ReadResourceL -// Reads text from resource -// --------------------------------------------------------- -// -void CVpnManagementUiPolicyView::ReadResourceL(HBufC& aText, TInt aResource) - { - HBufC* text = StringLoader::LoadLC( aResource ); - aText.Des().Append(text->Des()); - CleanupStack::PopAndDestroy(); // text - } - - -// End of File - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuiservercontainer.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuiservercontainer.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,580 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: Management UI Container -* -*/ - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include "vpnuiloader.h" -#include "vpnmanagementuiservercontainer.h" -#include "vpnmanagementuidefs.h" -#include "vpnmanagementui.hrh" -#include "log_vpnmanagementui.h" - -#ifdef __SERIES60_HELP -#include // for help context of VPN Management UI -#endif //__SERIES60_HELP - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::CVpnManagementUiServerContainer( -// CVpnManagementUiServerView& aParent, CVpnUiLoader& aLoader) -// Constructor with parent -// --------------------------------------------------------- -// -CVpnManagementUiServerContainer::CVpnManagementUiServerContainer( - CVpnManagementUiServerView& aParent, CVpnUiLoader& aLoader ) : - iParent ( aParent ), iLoader ( aLoader ) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::~CVpnManagementUiServerContainer() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiServerContainer::~CVpnManagementUiServerContainer() - { - delete iListBox; - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::ConstructL( -// const TRect& aRect, TInt& aCurrentPosition, TInt& aTopItem) -// EPOC two phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::ConstructL( - const TRect& aRect, TInt& /*aCurrentPosition*/, TInt& /*aTopItem*/ ) - { - CreateWindowL(); - CreateListBoxL(); - ShowServersL(); - if ((iListItemCount == 0) && (!iLoader.iBackFromServerDefinition)) - { - iLoader.iShowDefineQuery = ETrue; - } - iLoader.iBackFromServerDefinition = EFalse; - iShowWaitNote = EFalse; - SetRect( aRect ); - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::ActivateL() -// called after the dialog is shown -// used to handle empty list - query -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::ActivateL() - { - CCoeControl::ActivateL(); - // put empty list checking & required actions here. - if ((iListItemCount == 0) && (iLoader.iShowDefineQuery)) - { - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_DEFINE_NEW_SERVER ); - CAknQueryDialog* query = CAknQueryDialog::NewL( - CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - iLoader.iShowDefineQuery = EFalse; - if ( retval ) - { - if (!SysUtil::FFSSpaceBelowCriticalLevelL(0, 0)) - { - iLoader.ChangeViewL(KChangeViewSettings); - } - else - { - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy(); // errorUi - iLoader.iShowDefineQuery = EFalse; - iLoader.iNewServerDefinition = EFalse; - } - } - } - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - if (iLoader.iNewServerDefinition) - {//Synchronise server query - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_SYNCHRONISE_SERVER ); - CAknQueryDialog* query = CAknQueryDialog::NewL( - CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - //Show wait dialog - //Save server index for Connecting via note - iLoader.iCurrentServerIndex = iLoader.AcuApiWrapperL().GetLastCreatedServerIndexL(); - //ShowWaitNoteL(); - iShowWaitNote = ETrue; - // Get selection name for connecting via note - // and save it to the member variable of iLoader - iLoader.GetSelectionNameL( iLoader.iSelectionName ); - - //Synchronise server - iLoader.AcuApiWrapperL().SynchroniseLastCreatedServerL(this); - - //Set iNewServerDefinition to false, because - //we are now synchronised server - iLoader.iNewServerDefinition = EFalse; - } - } ***/ - } - - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::SizeChanged() -// Called by framework when the view size is changed -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::SizeChanged() - { - iListBox->SetRect(Rect()); - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::FocusChanged(TDrawNow aDrawNow) -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::FocusChanged(TDrawNow aDrawNow) - { - if ( iListBox ) - { - iListBox->SetFocus( IsFocused(), aDrawNow ); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::HandleResourceChange -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::HandleResourceChange( TInt aType ) - { - CCoeControl::HandleResourceChange(aType); - - //Handle change in layout orientation - if (aType == KEikDynamicLayoutVariantSwitch || aType == KAknsMessageSkinChange ) - { - iListBox->HandleResourceChange(aType); - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect); - SetRect(mainPaneRect); - DrawNow(); - } - } - -enum { EListBoxControl, ENumberOfControls }; - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::CountComponentControls() const -// --------------------------------------------------------- -// -TInt CVpnManagementUiServerContainer::CountComponentControls() const - { - // return number of controls inside this container - return ENumberOfControls; // return nbr of controls inside this container - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::ComponentControl(TInt aIndex) const -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiServerContainer::ComponentControl(TInt aIndex) const - { - switch ( aIndex ) - { - case 0: - return iListBox; - default: - return NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::HandleControlEventL( -// CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) -// Cannot be changed to non-leaving function. -// L-function is required by the class definition, even if empty. -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::HandleControlEventL( - CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::OfferKeyEventL( -// const TKeyEvent& aKeyEvent, TEventCode aType) -// Handles the key events OK button, arrow keys, delete key. -// OK button functionality is different depending on the number of marked items -// in the list; zero marked -> show details view, one or more marked -> show -// OKOptions list, list empty -> OK inactive. -// Delete active only if list not empty. -// --------------------------------------------------------- -// -TKeyResponse CVpnManagementUiServerContainer::OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType) - { - TKeyResponse retval = EKeyWasNotConsumed; - if ( aType==EEventKey ) - { - if ( (aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter) && //select or enter - iListBox->CurrentItemIndex() > -1 ) //This is for empty list - { - // Selection key pressed - iParent.HandleCommandL( EVpnUiCmdEditServer ); - retval = EKeyWasConsumed; - } - - else if ( aKeyEvent.iCode == EKeyDelete - || aKeyEvent.iCode == EKeyBackspace ) - { - if ( iListBox->CurrentItemIndex() > -1 ) - { - iParent.HandleCommandL( EVpnUiCmdDeleteServer ); - retval = EKeyWasConsumed; - } - } - else - { - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - } - else - { - retval = iListBox->OfferKeyEventL( aKeyEvent, aType ); - } - return retval; - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::CreateListBoxL() -// Creates listbox, sets empty listbox text. -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::CreateListBoxL() - { - iListBox = new( ELeave ) CAknSingleStyleListBox; - iListBox->SetContainerWindowL( *this ); - iListBox->ConstructL( this, EAknListBoxMarkableList ); - iListBox->CreateScrollBarFrameL( ETrue ); - iListBox->ScrollBarFrame()-> - SetScrollBarVisibilityL( CEikScrollBarFrame::EOff,CEikScrollBarFrame::EAuto ); - - HBufC* stringHolder = StringLoader::LoadLC( R_VPN_POLICY_SERVERS_EMPTY ); - iListBox->View()->SetListEmptyTextL( *stringHolder ); - CleanupStack::PopAndDestroy(); // stringHolder - - iListBox->SetListBoxObserver (this); - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::DrawListBoxL(TInt aCurrentPosition, TInt aTopItem) -// Draws listbox, fetches graphic icons for markable list -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::DrawListBoxL( TInt aCurrentPosition, TInt aTopItem ) - { - if (aCurrentPosition >= 0) - { - iListBox->SetTopItemIndex( aTopItem ); - iListBox->SetCurrentItemIndex( aCurrentPosition ); - } - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - if(iLoader.iNewServerDefinition) - { - iListBox->SetCurrentItemIndex(iLoader.AcuApiWrapperL().GetLastCreatedServerIndexL()); - } ***/ - - ActivateL(); - DrawNow(); - } - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::UpdateListBoxL(TInt& aCurrentPosition) -// Refresh listbox after VPN policy server deletion. -// --------------------------------------------------------- -// -void CVpnManagementUiServerContainer::UpdateListBoxL(TInt& aCurrentPosition) - { - MDesCArray* itemList = iListBox->Model()->ItemTextArray(); - CDesCArray* itemArray = ( CDesCArray* )itemList; - - itemArray->Delete(aCurrentPosition); - itemArray->Compress(); - - iListBox->HandleItemRemovalL(); - if(aCurrentPosition > 0) - { - iListBox->SetCurrentItemIndexAndDraw(aCurrentPosition-1); - } - if(aCurrentPosition == 0 ) - { - if (iListItemCount > 1 ) - { - iListBox->SetCurrentItemIndexAndDraw(aCurrentPosition); - } - else - { - HBufC* stringHolder = StringLoader::LoadLC( R_VPN_POLICY_SERVERS_EMPTY ); - iListBox->View()->SetListEmptyTextL( *stringHolder ); - CleanupStack::PopAndDestroy(); // stringHolder - } - } - iListItemCount = iListItemCount -1; - iParent.SetMiddleSoftKeyL(ETrue); - DrawNow(); - } - - -void CVpnManagementUiServerContainer::ShowServersL() - { - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - CArrayFix* serverList = iLoader.AcuApiWrapperL().ServerListL(); - - CDesCArrayFlat* itemTextArray = static_cast(iListBox->Model()->ItemTextArray()); - - itemTextArray->Reset(); - iListBox->Reset(); - - iListItemCount = serverList->Count(); - - for (TInt i = 0; i < iListItemCount; ++i) - { - TBuf serverName; - serverName.Append(_L("\t")); - serverName.Append(serverList->At(i).iServerNameLocal); - itemTextArray->AppendL(serverName); - } - - - iListBox->HandleItemAdditionL(); - ***/ - } - - -void CVpnManagementUiServerContainer::DeleteServerL(TInt /* aIndex */) - { - LOG(Log::Printf(_L("CVpnManagementUiServerContainer::DeleteServerL\n"))); - - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - - TBuf serverName; - serverName.Append( - iLoader.AcuApiWrapperL().ServerListL()->At(aIndex).iServerNameLocal); - LOG(Log::Printf(_L("CVpnManagementUiServerContainer::DeleteServerL - server name %S\n"), &serverName)); - HBufC* temp; - - TAcuServerId serverId; - serverId = iLoader.AcuApiWrapperL().ServerListL()->At(aIndex).iServerId; - - //Get server policy count from vpnapiext - TInt policyCount = 0; - TInt ret = iLoader.VpnApiWrapperL().GetServerPolicyCount( - serverId, policyCount); - - LOG(Log::Printf(_L("CVpnManagementUiServerContainer::DeleteServerL - server policy count %d\n"), policyCount)); - - if ((ret== KErrNone) && (policyCount > 0)) //at least one policy related to given ACU server is found - { - // policies related to the server, confirmation query - temp = StringLoader::LoadLC( R_VPN_QUEST_DELETE_SERVER_ASSOCIATED ); - } - else - { - // no policies related to the server, confirmation query - temp = StringLoader::LoadLC( R_VPN_QUEST_DELETE_SERVER, serverName ); - } - - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - if ( retval ) - { - TInt ret = iLoader.AcuApiWrapperL().DeleteServer(aIndex); - if(ret == KErrNone) - { - //Update listbox - UpdateListBoxL( aIndex ); - //Update iServerList - iLoader.AcuApiWrapperL().ServerListL(); - - //Set iNewServerDefinition to false - iLoader.iNewServerDefinition = EFalse; - } - else if (ret == KErrServerBusy) - { - //Show an information note that server is currently in use - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_POLICY_SERVER_IN_USE ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } - } - ***/ - } - -void CVpnManagementUiServerContainer::SynchroniseServerL(TInt /* aIndex */) - { - LOG_("CVpnManagementUiServerContainer::SynchroniseServerL"); - - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - - TBool selectionExists = iLoader.SelectionExistsL( aIndex ); - if( selectionExists ) - { - //Save server index for Connecting via note - iLoader.iCurrentServerIndex = aIndex; - // Get selection name for connecting via note - // and save it to the member variable of iLoader - iLoader.GetSelectionNameL( iLoader.iSelectionName ); - //Show wait dialog - iLoader.ShowWaitNoteL(); - - iLoader.AcuApiWrapperL().SynchroniseServerL( aIndex,this ); - //Set iNewServerDefinition to false, because when - //we go to the policy view we don't want to show note - //"new server defined synchronise now" - iLoader.iNewServerDefinition = EFalse; - } ***/ - } - - -void CVpnManagementUiServerContainer::NotifyUpdatePolicyCompleteL(TInt /*aResult*/) - { - } - -void CVpnManagementUiServerContainer::NotifySynchroniseServerCompleteL(TInt aResult) - { - LOG(Log::Printf(_L("CVpnManagementUiServerContainer::NotifySynchroniseServerCompleteL - Result %d\n"), aResult)); - - if ( iLoader.iWaitDialog ) - { - iLoader.DeleteWaitNoteL();//->iWaitDialog->ProcessFinishedL(); // deletes the wait dialog - } - - - if (aResult == KErrNone) - { - //Confirmation note - HBufC* string = StringLoader::LoadLC( R_VPN_CONF_POLICY_SERVER_SYNC_OK ); - CAknConfirmationNote* note = new ( ELeave ) CAknConfirmationNote( ETrue ); - note->ExecuteLD( *string ); - CleanupStack::PopAndDestroy( string ); - } - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - else if (aResult == KAcuErrServerCertExpiredByPkiService) - { - //Show an information note - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_SERVER_CERT_EXPIRED ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } ***/ - else if (aResult == KErrDiskFull) - { - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy(); // errorUi - } - else if (aResult == KErrCancel) - { - // No operation, i.e. don't show anything - } - else - { - //Show an information note - HBufC* noteText; - noteText = StringLoader::LoadLC( R_VPN_INFO_POLICY_SERVER_SYNC_ERROR ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } - - iParent.SetMiddleSoftKeyL(ETrue); - } - -void CVpnManagementUiServerContainer::NotifyStepChangedL(TInt /*aResult*/) - { - if (iShowWaitNote) - { - iLoader.ShowWaitNoteL(); - iShowWaitNote = EFalse; - } - if ( iLoader.iWaitDialog ) - { - iLoader.SetTextL(); - } - } - - -void CVpnManagementUiServerContainer::HandleListBoxEventL (CEikListBox* /*aListBox*/, - TListBoxEvent aEventType) - { - switch(aEventType) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - iParent.HandleCommandL(EVpnUiCmdEditServer); - break; - default: - //Do nothing - break; - } - } - - -// --------------------------------------------------------- -// CVpnManagementUiServerContainer::GetHelpContext -// This function is called when Help application is launched. -// (other items were commented in a header). -// --------------------------------------------------------- -// -#ifdef __SERIES60_HELP -void CVpnManagementUiServerContainer::GetHelpContext( - TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidVpnManagementUi; - aContext.iContext = KSET_HLP_VPN_POLICY_SERVERS; - } -#endif //__SERIES60_HELP - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuiserversettingscontainer.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuiserversettingscontainer.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,369 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: The container is responsible of showing policy server details. -* -*/ - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "vpnuiloader.h" -#include "vpnmanagementuiserversettingscontainer.h" -#include "vpnmanagementuidefs.h" -#include "serversettingconnectionsettingitem.h" -#include "vpnmanagementui.hrh" -#include "log_vpnmanagementui.h" - - -#ifdef __SERIES60_HELP -#include // for help context of VPN Management UI -#endif //__SERIES60_HELP - -using namespace CMManager; - -// ================= MEMBER FUNCTIONS ======================= - -CServerSettingsContainer* CServerSettingsContainer::NewL( - CVpnUiLoader& aLoader, TInt aServerIndex ) - { - CServerSettingsContainer* self = new(ELeave) CServerSettingsContainer( - aLoader, aServerIndex ); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------- -// CServerSettingsContainer::CServerSettingsContainer() -// --------------------------------------------------------- -// -CServerSettingsContainer::CServerSettingsContainer( - CVpnUiLoader& aLoader, TInt aServerIndex ) - :iLoader(aLoader), iServerIndex(aServerIndex) - { - ASSERT(aServerIndex >= KErrNotFound); - } - -// --------------------------------------------------------- -// CServerSettingsContainer::~CServerSettingsContainer() -// Destructor -// --------------------------------------------------------- -// -CServerSettingsContainer::~CServerSettingsContainer() - { - } - - -// --------------------------------------------------------------------------- -// CreateSettingItemL -// --------------------------------------------------------------------------- -// -CAknSettingItem* CServerSettingsContainer::CreateSettingItemL( - TInt /* aSettingId */) - { - CAknSettingItem* settingItem(NULL); - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - switch (aSettingId) - { - case EVpnUiSettingServerName: - settingItem = new (ELeave) CAknTextSettingItem( - aSettingId, iServerDetails.iServerNameLocal ); - break; - case EVpnUiSettingServerAddress: - if (iServerDetails.iServerUrl.Length() > 0) - { - iServerAddressBuffer.Copy(iServerDetails.iServerUrl); - } - settingItem = new (ELeave) CAknTextSettingItem( - aSettingId, iServerAddressBuffer ); - break; - case EVpnUiSettingIap: - settingItem = new (ELeave) CServerSettingConnectionSettingItem( - aSettingId, iServerDetails.iSelection); - break; - default: - // Do nothing - break; - } - ***/ - return settingItem; - } - - -// --------------------------------------------------------------------------- -// CServerSettingsContainer::ConstructL() -// --------------------------------------------------------------------------- -// -void CServerSettingsContainer::ConstructL() - { - // Server settings view sets iServerIndex to -1 when creating a new - // server - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - if ( iServerIndex >= 0 ) - { - iLoader.AcuApiWrapperL().GetServerDetailsL( - iServerIndex, iServerDetails ); - UpdateTitleL( iServerDetails.iServerNameLocal ); - } - ***/ - ConstructFromResourceL(R_VPN_SERVER_SETTING_LIST); - } - - -// --------------------------------------------------------------------------- -// UpdateTitleL -// --------------------------------------------------------------------------- -// -void CServerSettingsContainer::UpdateTitleL( TDes& aText ) - { - iLoader.ActivateTitleL(KViewTitleParametersView,aText); - } - - -// --------------------------------------------------------------------------- -// ServerNameExistsL -// --------------------------------------------------------------------------- -// -TBool CServerSettingsContainer::ServerNameExistsL( const TDesC& /* aText */) const - { - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - const CArrayFix* serverList = iLoader.AcuApiWrapperL().ServerListL(); - TInt count = serverList->Count(); - - for (TInt i = 0; i < count; ++i) - { - //If we are editing name, we don't want to compare itself - if(i != iServerIndex) - { - if (serverList->At(i).iServerNameLocal.Compare(aText)==0) - { - //Name is already in use - return ETrue; - } - } - } ***/ - return EFalse; - } - - -void CServerSettingsContainer::HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType) - { - switch(aEventType) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - ChangeSettingValueL(); - break; - default: - CAknSettingItemList::HandleListBoxEventL(aListBox, aEventType); - } - } - - -// --------------------------------------------------------------------------- -// ChangeSettingValueL -// --------------------------------------------------------------------------- -// -void CServerSettingsContainer::ChangeSettingValueL() - { - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - TInt currentItem( ListBox()->CurrentItemIndex() ); - - switch(currentItem) - { - case EVpnUiSettingServerName: - { - TBool alreadyInUse = ETrue; - while(alreadyInUse) - { - EditItemL(EVpnUiSettingServerName, ETrue); - SettingItemArray()->At(EVpnUiSettingServerName)->StoreL(); - alreadyInUse = ServerNameExistsL( iServerDetails.iServerNameLocal ); - if(alreadyInUse) - { - //Show an information note that server is currently in use - HBufC* noteText; - noteText = StringLoader::LoadLC( R_FLDR_NAME_ALREADY_USED, iServerDetails.iServerNameLocal ); - CAknInformationNote* note = new(ELeave)CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } - - } - if (iServerDetails.iServerNameLocal.Length() > 0) - { - UpdateTitleL( iServerDetails.iServerNameLocal ); - } - } - break; - case EVpnUiSettingServerAddress: - { - if( iServerDetails.iServerUrlReadOnly ) - { - //Show an information note that server cannot be - //modified - HBufC* noteText; - noteText = StringLoader::LoadLC( - R_VPN_INFO_CANNOT_MODIFY_SERVER_DEF ); - CAknInformationNote* note = - new(ELeave) CAknInformationNote(ETrue); - note->SetTimeout(CAknNoteDialog::ELongTimeout); //3sec - note->ExecuteLD(noteText->Des()); - CleanupStack::PopAndDestroy(); // noteText - } - else - { - EditItemL(EVpnUiSettingServerAddress, ETrue); - } - } - break; - case EVpnUiSettingIap: - { - EditItemL(EVpnUiSettingIap, ETrue); - } - break; - default: - User::Invariant(); - break; - } ***/ - } - - -// --------------------------------------------------------------------------- -// ServerDetails -// --------------------------------------------------------------------------- -// -/*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. -const TAcuApiServerDetails& CServerSettingsContainer::ServerDetailsL() - { - StoreSettingsL(); - if (iServerAddressBuffer.Length() > 0) - { - iServerDetails.iServerUrl.Copy(iServerAddressBuffer); - } - - //If server name is left empty, but we have an address, - //set address as a server name. - if (iServerDetails.iServerNameLocal.Length() == 0 && - iServerDetails.iServerUrl.Length() > 0) - { - - //If the address is already in use as server name, generate - //a new unique name. - TUint16 i = 1; - do - { - static const TInt KSuffixLength = 10; - _LIT(KSuffixFormat, "(%d)"); - - TBuf suffix; - suffix.Zero(); - if (i > 1) - { - suffix.Format(KSuffixFormat, i); - } - i++; - - //First assumes that the address is too long to fit - TInt numberOfCharactersCopiedFromAddress = - iServerDetails.iServerNameLocal.MaxLength() - suffix.Length(); - - //If this is not the case adjust the length - if (numberOfCharactersCopiedFromAddress > iServerDetails.iServerUrl.Length()) - { - numberOfCharactersCopiedFromAddress = iServerDetails.iServerUrl.Length(); - } - - TPtrC8 serverNameAddress = iServerDetails.iServerUrl.Left(numberOfCharactersCopiedFromAddress); - iServerDetails.iServerNameLocal.Copy(serverNameAddress); - iServerDetails.iServerNameLocal.Append(suffix); - - }while(ServerNameExistsL( iServerDetails.iServerNameLocal) ); - - CAknSettingItem* item = SettingItemArray()->At(EVpnUiSettingServerName); - item->LoadL(); - item->UpdateListBoxTextL(); - } - return iServerDetails; - } -***/ - -// --------------------------------------------------------------------------- -// GetIapNameL -// --------------------------------------------------------------------------- -// -HBufC* CServerSettingsContainer::GetDestinationNameL( TUint aId ) - { - RCmManagerExt cmManager; - cmManager.OpenLC(); - RCmDestinationExt dest = cmManager.DestinationL( aId ); - CleanupClosePushL( dest ); - HBufC* name = dest.NameLC(); - CleanupStack::Pop(name); - CleanupStack::PopAndDestroy( 2 ); // dest, cmManager - return name; - } - - -HBufC* CServerSettingsContainer::GetConnectionMethodNameL( TUint aId ) - { - RCmManagerExt cmManager; - cmManager.OpenLC(); - RCmConnectionMethodExt conn = cmManager.ConnectionMethodL( aId ); - CleanupClosePushL( conn ); - HBufC* name = conn.GetStringAttributeL( ECmName ); - CleanupStack::PopAndDestroy( 2 ); // conn, cmManager - return name; - } - - -TInt CServerSettingsContainer::ServerIndex() const - { - return iServerIndex; - } - - -// --------------------------------------------------------- -// CServerSettingsContainer::GetHelpContext -// --------------------------------------------------------- - -#ifdef __SERIES60_HELP -void CServerSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidVpnManagementUi; - aContext.iContext = KSET_HLP_VPN_POLICY_SERVER_SET; - } -#endif //__SERIES60_HELP - - -// End of File diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuiserversettingsview.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuiserversettingsview.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,290 +0,0 @@ -/* -* Copyright (c) 2003-2009 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: -* Handles commands given through the UI for maintaining information -* of single policy server. -* -*/ - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include "vpnuiloader.h" -#include "vpnmanagementuiserversettingsview.h" -#include "vpnmanagementuiserversettingscontainer.h" -#include "vpnmanagementui.hrh" - -#ifdef __SERIES60_HELP -#include // For HlpLauncher -#endif //__SERIES60_HELP - -/** MSK control Id. */ -const TInt KVpnMSKControlId = 3; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CServerSettingsView::CServerSettingsView(CVpnUiLoader& aLoader) -// Constructor -// --------------------------------------------------------- -// -CServerSettingsView::CServerSettingsView( CVpnUiLoader& aLoader ) - : iLoader( aLoader ) - { - } - -// --------------------------------------------------------- -// CServerSettingsView::~CServerSettingsView() -// Destructor -// --------------------------------------------------------- -// -CServerSettingsView::~CServerSettingsView() - { - if ( iContainer ) - { - AppUi()->RemoveFromViewStack( *this, iContainer ); - delete iContainer; - } - } - -// --------------------------------------------------------- -// CServerSettingsView* CServerSettingsView::NewL(const TRect& /*aRect*/, -// CVpnUiLoader& aLoader) -// --------------------------------------------------------- -// -CServerSettingsView* CServerSettingsView::NewL( - const TRect& /*aRect*/, CVpnUiLoader& aLoader) - { - CServerSettingsView* self = new (ELeave) CServerSettingsView(aLoader); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// --------------------------------------------------------- -// CServerSettingsView* CServerSettingsView::NewLC(const TRect& /*aRect*/, -// CVpnUiLoader& aLoader) -// --------------------------------------------------------- -// -CServerSettingsView* CServerSettingsView::NewLC(const TRect& /*aRect*/, - CVpnUiLoader& aLoader) - { - CServerSettingsView* self = new (ELeave) CServerSettingsView(aLoader); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------- -// CServerSettingsView::ConstructL() -// EPOC two-phased constructor -// --------------------------------------------------------- -// -void CServerSettingsView::ConstructL() - { - BaseConstructL( R_VPNMANAGEMENTUI_SERVER_PARAMETERS_VIEW ); - } - - -// --------------------------------------------------------- -// CServerSettingsView::Id() const -// Returns Trust view id -// --------------------------------------------------------- -// -TUid CServerSettingsView::Id() const - { - return KVpnManagementUiParametersViewId; - } - -// --------------------------------------------------------- -// CServerSettingsView::HandleCommandL(TInt aCommand) -// Handles Softkey and Options list commands -// --------------------------------------------------------- -// -void CServerSettingsView::HandleCommandL( TInt /* aCommand */) - { - /*** NSSM support is discontinued. - Code is kept in comments temporarily because similar UI functionality - might be needed for another purpose. - TBool ffs(EFalse); - switch ( aCommand ) - { - case EAknSoftkeyBack: - { - //GET CURRENT ADDRESS - ASSERT( iContainer ); - - const TAcuApiServerDetails& serverDetails = iContainer->ServerDetailsL(); - - ffs = iLoader.FFSSpaceBelowCriticalLevelL( ETrue, 0 ); - if (ffs) - { - iLoader.iBackFromServerDefinition = ETrue; - iLoader.ChangeViewL( KChangeViewPrevious ); - } - else if(serverDetails.iServerUrl.Length()==0 || serverDetails.iSelection.iId==0) - { - TInt ret = CompleteSettingsL(); - if (ret) - { - iLoader.iShowDefineQuery = EFalse; - iLoader.iBackFromServerDefinition = ETrue; - iLoader.ChangeViewL( KChangeViewPrevious ); - } - } - else - { - TBool createServer = ETrue; - if(createServer) - { - //Creating a new VPN policy server - if( iContainer->ServerIndex() == -1) - { - int aResult = iLoader.AcuApiWrapperL().CreateServer(serverDetails); - if (aResult == KErrNone) - { - //Update iServerList of CAcuApiWrapper - //After that we can call Synchronise server from - //CVpnManagementUiPolicyContainer::ActivateL() - - iLoader.AcuApiWrapperL().ServerListL(); - - iLoader.iNewServerDefinition = ETrue; - } - else - { - iLoader.iShowDefineQuery = EFalse; - iLoader.iBackFromServerDefinition = ETrue; - iLoader.iNewServerDefinition = EFalse; - createServer = EFalse; - - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( aResult ); - CleanupStack::PopAndDestroy(); // errorUi - } - } - //Editing an existing policy server - else - { - iLoader.AcuApiWrapperL().SaveServerDetails(serverDetails); - } - } - - iLoader.ChangeViewL( KChangeViewPrevious ); - } - break; - } - case EAknCmdExit: - { - ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit ); - break; - } - case EVpnUiCmdChange: - { - ASSERT(iContainer); - iContainer->ChangeSettingValueL(); - break; - } - #ifdef __SERIES60_HELP - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), - AppUi()->AppHelpContextL() ); - break; - } - #endif //__SERIES60_HELP - - default: - { - AppUi()->HandleCommandL( aCommand ); - break; - } - } ***/ - } - -// --------------------------------------------------------- -// CServerSettingsView::HandleClientRectChange() -// --------------------------------------------------------- -// -void CServerSettingsView::HandleClientRectChange() - { - if ( iContainer ) - { - iContainer->SetRect( ClientRect() ); - } - } - -// --------------------------------------------------------- -// CServerSettingsView::DoActivateL() -// Updates the view when opening it -// --------------------------------------------------------- -// -void CServerSettingsView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, - TUid aCustomMessageId, const TDesC8& /*aCustomMessage*/) - { - __ASSERT_DEBUG(iContainer == NULL, User::Invariant()); - - // aCustomMessageId contains index of the policy servers listbox - iContainer = CServerSettingsContainer::NewL( iLoader, - static_cast ( aCustomMessageId.iUid ) ); - iContainer->SetMopParent( this ); - - iLoader.PushDefaultNaviPaneL(); - - ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iContainer ); - - // Add MiddleSoftKey - CEikButtonGroupContainer* cbaGroup = Cba(); - if (cbaGroup) - { - HBufC* text = StringLoader::LoadLC(R_MSK_CHANGE); - cbaGroup->AddCommandToStackL(KVpnMSKControlId, EVpnUiCmdChange, text->Des()); - CleanupStack::PopAndDestroy(text); - } - iContainer->ActivateL(); - } - -// --------------------------------------------------------- -// CServerSettingsView::DoDeactivate() -// --------------------------------------------------------- -// -void CServerSettingsView::DoDeactivate() - { - if ( iContainer ) - { - ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack( *this, iContainer ); - - delete iContainer; - iContainer = NULL; - } - } - - -TInt CServerSettingsView::CompleteSettingsL() - { - // compulsory field is empty, confirmation query - HBufC* temp; - temp = StringLoader::LoadLC( R_VPN_QUEST_INCOMPLETE_SERVER_DEF_DELETE ); - CAknQueryDialog* query = CAknQueryDialog::NewL( CAknQueryDialog::EConfirmationTone ); - TInt retval = query->ExecuteLD( R_CONFIRMATION_QUERY, *temp ); - CleanupStack::PopAndDestroy(); // temp - return retval; - } - -// End of File - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuiserverview.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuiserverview.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,320 +0,0 @@ -/* -* Copyright (c) 2003 - 2006 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: -* Handles commands given through the UI for maintaining policy servers. -* -*/ - - - -// INCLUDE FILES -#include -#include // for warning & information notes -#include -#include "vpnuiloader.h" -#include "vpnmanagementuiserverview.h" -#include "vpnmanagementuiservercontainer.h" -#include "vpnmanagementui.hrh" -#ifdef __SERIES60_HELP -#include // For HlpLauncher -#endif //__SERIES60_HELP - -/** MSK control Id. */ -const TInt KVpnMSKControlId = 3; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnManagementUiServerView::CVpnManagementUiServerView(CVpnUiLoader& aLoader) -// : iLoader(aLoader) -// Constructor -// --------------------------------------------------------- -// -CVpnManagementUiServerView::CVpnManagementUiServerView( CVpnUiLoader& aLoader ) -: iLoader(aLoader) - { - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::~CVpnManagementUiServerView() -// Destructor -// --------------------------------------------------------- -// -CVpnManagementUiServerView::~CVpnManagementUiServerView() - { - if ( iServerContainer ) - { - AppUi()->RemoveFromViewStack(*this, iServerContainer); - delete iServerContainer; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView* CVpnManagementUiServerView::NewL( -// const TRect& /*aRect*/, CVpnUiLoader& aLoader) -// --------------------------------------------------------- -// -CVpnManagementUiServerView* CVpnManagementUiServerView::NewL( - const TRect& /*aRect*/, CVpnUiLoader& aLoader ) - { - CVpnManagementUiServerView* self = - new ( ELeave ) CVpnManagementUiServerView( aLoader ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop(); - return self; - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView* CVpnManagementUiServerView::NewLC( -// const TRect& /*aRect*/, CVpnUiLoader& aLoader) -// --------------------------------------------------------- -// -CVpnManagementUiServerView* CVpnManagementUiServerView::NewLC( - const TRect& /*aRect*/, CVpnUiLoader& aLoader ) - { - CVpnManagementUiServerView* self = - new ( ELeave ) CVpnManagementUiServerView( aLoader ); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::ConstructL() -// CVpnUiView::ConstructL(const TRect& aRect) -// EPOC two-phased constructor -// --------------------------------------------------------- -// -void CVpnManagementUiServerView::ConstructL() - { - BaseConstructL( R_VPNUI_POLICY_SERVERS_VIEW ); - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::DynInitMenuPaneL( -// TInt aResourceId,CEikMenuPane* aMenuPane) -// Updates Options list with correct items depending on -// whether the listbox is empty or if it has any marked items -// --------------------------------------------------------- -// -void CVpnManagementUiServerView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane) - { - - if ( aResourceId == R_VPNUI_POLICY_SERVERS_VIEW_MENU ) - { - TInt currentItem = iServerContainer->iListBox->CurrentItemIndex(); - - // the policy server list is empty all except Add new server, Help and Exit is dimmed - if ( currentItem == -1 ) - { - aMenuPane->SetItemDimmed( EVpnUiCmdEditServer, ETrue ); - aMenuPane->SetItemDimmed( EVpnUiCmdSynchronise, ETrue ); - aMenuPane->SetItemDimmed( EVpnUiCmdDeleteServer, ETrue ); - } - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::Id() const -// Returns Authority view id -// --------------------------------------------------------- -// -TUid CVpnManagementUiServerView::Id() const - { - return KVpnManagementUiServerViewId; - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::HandleCommandL(TInt aCommand) -// Handles Softkey and Options list commands -// --------------------------------------------------------- -// -void CVpnManagementUiServerView::HandleCommandL( TInt aCommand ) - { - TBool ffsLow; - - switch ( aCommand ) - { - case EAknSoftkeyBack: - { - iLoader.ChangeViewL( KChangeViewPrevious ); - break; - } - case EAknCmdExit: - { - ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit ); - break; - } - - case EVpnUiCmdEditServer: - { - ffsLow = iLoader.FFSSpaceBelowCriticalLevelL( ETrue, 0 ); - if (!ffsLow) - { - iCurrentPosition = iServerContainer->iListBox->CurrentItemIndex(); - iLoader.ChangeViewL(KChangeViewSettings, iCurrentPosition); - } - break; - } - - case EVpnUiCmdAddServer: - { - ffsLow = iLoader.FFSSpaceBelowCriticalLevelL( ETrue, 0 ); - if(!ffsLow) - { - iLoader.ChangeViewL(KChangeViewSettings); - } - break; - } - case EVpnUiCmdSynchronise: - { - ffsLow = iLoader.FFSSpaceBelowCriticalLevelL( ETrue, 0 ); - if(!ffsLow) - { - iCurrentPosition = iServerContainer->iListBox->CurrentItemIndex(); - iServerContainer->SynchroniseServerL(iCurrentPosition); - } - break; - } - - case EVpnUiCmdDeleteServer: - { - iCurrentPosition = iServerContainer->iListBox->CurrentItemIndex(); - iServerContainer->DeleteServerL(iCurrentPosition); - iCurrentPosition = iServerContainer->iListBox->CurrentItemIndex(); - break; - } - -#ifdef __SERIES60_HELP - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( - iEikonEnv->WsSession(), AppUi()->AppHelpContextL() ); - break; - } -#endif //__SERIES60_HELP - - default: - { - AppUi()->HandleCommandL( aCommand ); - break; - } - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::HandleClientRectChange() -// --------------------------------------------------------- -// -void CVpnManagementUiServerView::HandleClientRectChange() - { - if ( iServerContainer ) - { - iServerContainer->SetRect( ClientRect() ); - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::DoActivateL(const TVwsViewId& /*aPrevViewId*/, -// TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) -// Updates the view when opening it -// --------------------------------------------------------- -// -void CVpnManagementUiServerView::DoActivateL( - const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/) - { - if ( iServerContainer ) - { - ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack( - *this, iServerContainer ); - } - iServerContainer = new (ELeave) CVpnManagementUiServerContainer( - *this, iLoader ); - - iServerContainer->SetMopParent( this ); - iServerContainer->ConstructL( - ClientRect(), iCurrentPosition, iTopItem ); - iLoader.ActivateTitleL( KViewTitleServerView ); - iLoader.PushDefaultNaviPaneL(); - - ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iServerContainer ); - iServerContainer->DrawListBoxL( iCurrentPosition, iTopItem ); - - // Add MiddleSoftKey - SetMiddleSoftKeyL(EFalse); - } - -void CVpnManagementUiServerView::SetMiddleSoftKeyL(TBool aDrawNow) - { - if (iServerContainer->iListItemCount > 0) - { - SetMiddleSoftKeyLabelL(R_MSK_EDIT, EVpnUiCmdEditServer); - } - else - { - SetMiddleSoftKeyLabelL(R_MSK_ADD_VPN_SERVER, EVpnUiCmdAddServer); - } - - if (aDrawNow) - { - if (Cba()) - Cba()->DrawNow(); - } - } - - -void CVpnManagementUiServerView::SetMiddleSoftKeyLabelL(TInt aResourceId, TInt aCommandId) - { - CEikButtonGroupContainer* cbaGroup = Cba(); - if (cbaGroup) - { - cbaGroup->RemoveCommandFromStack(KVpnMSKControlId, EVpnUiCmdEditServer); - cbaGroup->RemoveCommandFromStack(KVpnMSKControlId, EVpnUiCmdAddServer); - HBufC* text = StringLoader::LoadLC(aResourceId); - cbaGroup->AddCommandToStackL(KVpnMSKControlId, aCommandId, text->Des()); - CleanupStack::PopAndDestroy(text); - } - } - - -// --------------------------------------------------------- -// CVpnManagementUiServerView::DoDeactivate() -// Saves focus position when closing view -// --------------------------------------------------------- -// -void CVpnManagementUiServerView::DoDeactivate() - { - if ( iServerContainer ) - { - AppUi()->RemoveFromViewStack( *this, iServerContainer ); - - delete iServerContainer; - iServerContainer = NULL; - } - } - -// --------------------------------------------------------- -// CVpnManagementUiServerView::Container() -// Returns iServerContainer -// --------------------------------------------------------- -// -CCoeControl* CVpnManagementUiServerView::Container() - { - return iServerContainer; - } - -// End of File - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnmanagementuiview.cpp --- a/vpnui/vpnmanagementui/src/vpnmanagementuiview.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,419 +0,0 @@ -/* -* Copyright (c) 2005-2009 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: VPN management main view -* -*/ - - - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include -#include "vpnmanagementui.hrh" -#include "vpnuiloader.h" -#include "vpnmanagementuiview.h" -#include "vpnmanagementuicontainer.h" -#include "vpnmanagementuiviewid.h" -#include "log_vpnmanagementui.h" - -/** MSK control Id. */ -const TInt KVpnMSKControlId = 3; - - -// ROM folder - -// Name of the MBM file containing icons -_LIT( KFileIcons, "vpnmanagementui.mbm"); - -// Constants -enum TVpnUiCommands - { - KVpnUiPolicyViewListItemId, - KVpnUiLogViewListItemId - }; - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::CVpnManagementUiView() -// --------------------------------------------------------------------------- -// -CVpnManagementUiView::CVpnManagementUiView() - { - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::~CVpnManagementUiView() -// Destructor -// --------------------------------------------------------------------------- -// -CVpnManagementUiView::~CVpnManagementUiView() - { - LOG_("CVpnManagementUiView::~CVpnManagementUiView entered"); - if ( iContainer ) - { - AppUi()->RemoveFromViewStack(*this, iContainer); - delete iContainer; - } - delete iLoader; - LOG_("CVpnManagementUiView::~CVpnManagementUiView() exited"); - } - - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::NewL() -// --------------------------------------------------------------------------- -// -CVpnManagementUiView* CVpnManagementUiView::NewL() - { - LOG_("CVpnManagementUiView::NewL() entered"); - CVpnManagementUiView* self = NewLC(); - CleanupStack::Pop(); - LOG_("CVpnManagementUiView::NewL() exited"); - return self; - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::NewLC() -// --------------------------------------------------------------------------- -// -CVpnManagementUiView* CVpnManagementUiView::NewLC() - { - LOG_("CVpnManagementUiView::NewLC() entered"); - CVpnManagementUiView* self = new ( ELeave ) CVpnManagementUiView(); - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::ConstructL() -// --------------------------------------------------------------------------- -// -void CVpnManagementUiView::ConstructL() - { - LOG_("CVpnManagementUiView::ConstructL() entered"); - iLoader = CVpnUiLoader::NewL(iAvkonViewAppUi->ClientRect(), - KVpnManagementPluginUid, this ); - BaseConstructL( R_VPNUI_MANAGEMENT_VIEW ); - iLoader->ReleaseResource(); - LOG_("CVpnManagementUiView::ConstructL() exited"); - } - -// --------------------------------------------------------------------------- -// void CVpnManagementUiView::GetCaptionL( TDes& aCaption ) const -// --------------------------------------------------------------------------- -void CVpnManagementUiView::GetCaptionL( TDes& aCaption ) const - { - LOG_("CVpnManagementUiView::GetCaptionL() entered"); - iLoader->AddResourceFileL(); - StringLoader::Load( aCaption, R_VPN_MANAGEMENT_TITLE_BUF ); - iLoader->ReleaseResource(); - LOG_("CVpnManagementUiView::GetCaptionL() exited"); - } - -// --------------------------------------------------------------------------- -// TUid CVpnManagementUiView::Id() -// --------------------------------------------------------------------------- -// -TUid CVpnManagementUiView::Id() const - { - LOG_("CVpnManagementUiView::Id called"); - return KVpnManagementPluginUid; - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::HandleCommandL() -// Handles commands directed to this class. -// --------------------------------------------------------------------------- -// -void CVpnManagementUiView::HandleCommandL(TInt aCommand) - { - LOG_1("CVpnManagementUiView::HandleCommandL():%d", aCommand); - switch ( aCommand ) - { - case EAknSoftkeyBack: - { - iLoader->ChangeViewL( KChangeViewBack ); - break; - } - case EAknCmdExit: - { - ((CAknViewAppUi*)iAvkonAppUi)->HandleCommandL( EAknCmdExit ); - break; - } - case EVpnUiCmdOpen: - { - HandleListBoxSelectionL(); - break; - } - - #ifdef __SERIES60_HELP - case EAknCmdHelp: - { - HlpLauncher::LaunchHelpApplicationL( - iEikonEnv->WsSession(), AppUi()->AppHelpContextL() ); - break; - } - #endif //__SERIES60_HELP - - default: - { - AppUi()->HandleCommandL( aCommand ); - break; - } - } - } - - - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::HandleClientRectChange() -// --------------------------------------------------------------------------- -// -void CVpnManagementUiView::HandleClientRectChange() - { - if ( iContainer ) - { - iContainer->SetRect( ClientRect() ); - } - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::DoActivateL() -// --------------------------------------------------------------------------- -// -void CVpnManagementUiView::DoActivateL( - const TVwsViewId& aPrevViewId,TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/) - { - LOG_("CVpnManagementUiView::DoActivateL() entered"); - iLoader->AddResourceFileL(ETrue); - if ( iLoader->GSViewId().iViewUid.iUid == 0 ) - { - //must be prepared to application switch, so it stores - //only the parent view (General Settings Main View) - iLoader->SetGSViewId( aPrevViewId ); - - } - if ( iContainer ) - { - ((CAknViewAppUi*)iAvkonAppUi)->RemoveFromViewStack( - *this, iContainer ); - } - iContainer = new (ELeave) CVpnManagementUiContainer( - *this, *iLoader ); - - iContainer->SetMopParent( this ); - iContainer->ConstructL( ClientRect() ); - iLoader->ActivateTitleL( KViewTitleManagementView ); - iLoader->PushDefaultNaviPaneL(); - - ((CAknViewAppUi*)iAvkonAppUi)->AddToStackL( *this, iContainer ); - iContainer->DrawListBoxL( iCurrentItem, iTopItemIndex ); - - //Listbox observer is set here, instead create listbox - iContainer->iListBox->SetListBoxObserver(this); - - // Add MiddleSoftKey - CEikButtonGroupContainer* cbaGroup = Cba(); - if (cbaGroup) - { - HBufC* text = StringLoader::LoadLC(R_MSK_OPEN); - cbaGroup->AddCommandToStackL( - KVpnMSKControlId, EVpnUiCmdOpen, text->Des()); - CleanupStack::PopAndDestroy(text); - } - LOG_("CVpnManagementUiView::DoActivateL() exited"); - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::HandleCommandL() -// --------------------------------------------------------------------------- -// -void CVpnManagementUiView::DoDeactivate() - { - LOG_("CVpnManagementUiView::DoDeactivate() entered"); - if ( iContainer ) - { - AppUi()->RemoveFromViewStack( *this, iContainer ); - - delete iContainer; - iContainer = NULL; - } - LOG_("CVpnManagementUiView::DoDeactivate() exited"); - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::HandleListBoxEventL -// --------------------------------------------------------------------------- - -void CVpnManagementUiView::HandleListBoxEventL(CEikListBox* /*aListBox*/, - TListBoxEvent aEventType) - { - switch (aEventType) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - HandleListBoxSelectionL(); - break; - default: - break; - } - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::HandleListBoxSelectionL() -// --------------------------------------------------------------------------- -// -void CVpnManagementUiView::HandleListBoxSelectionL() - { - ASSERT(iContainer && iContainer->iListBox && iLoader); - iCurrentItem = iContainer->iListBox->CurrentItemIndex(); - iTopItemIndex = iContainer->iListBox->TopItemIndex(); - switch (iCurrentItem) - { - case KVpnUiPolicyViewListItemId: - iLoader->ChangeViewL(KChangeViewPolicy); - break; - - /*** NSSM support is discontinued. The code is left here in comments - because the server view might be used for another purpose in - future. - case KVpnUiServerViewListItemId: - iLoader->ChangeViewL(KChangeViewServer); - break; - ***/ - - case KVpnUiLogViewListItemId: - iLoader->ChangeViewL(KChangeViewLog); - break; - - default: - LOG_("CVpnManagementUiView::HandleListBoxSelectionL default"); - break; - } - } - - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::NotifyPolicyImportComplete() -// --------------------------------------------------------------------------- -void CVpnManagementUiView::NotifyPolicyImportComplete(TInt aResult) - { - if ( aResult != KErrNone) - LOG_1("CVpnManagementUiView::NotifyPolicyImportComplete:%d", aResult); - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::HasBitmap -// --------------------------------------------------------------------------- -TBool CVpnManagementUiView::HasBitmap() const - { - LOG_("CVpnManagementUiView::HasBitmap() called"); - return EFalse; - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::GetBitmapL -// --------------------------------------------------------------------------- -void CVpnManagementUiView::GetBitmapL( CFbsBitmap* /*aBitmap*/, - CFbsBitmap* /*aMask*/ ) const - { - LOG_("CVpnManagementUiView::GetBitmapL() entered"); - //no bitmap - User::Leave( KErrNotFound ); - LOG_("CVpnManagementUiView::GetBitmapL() exited"); - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::PluginProviderCategory -// --------------------------------------------------------------------------- -TInt CVpnManagementUiView::PluginProviderCategory() const - { - LOG_("CVpnManagementUiView::PluginProviderCategory() called"); - return EGSPluginProviderOEM; - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::CreateIconL -// --------------------------------------------------------------------------- -CGulIcon* CVpnManagementUiView::CreateIconL( const TUid aIconType ) - { - LOG_("CVpnManagementUiView::CreateIconL() entered"); - - TFileName iconsFileName; - TFileName dllName; - Dll::FileName(dllName); - TBuf<2> drive = dllName.Left(2); - iconsFileName.Insert(0, drive); - - - iconsFileName.Append( KDC_APP_BITMAP_DIR ); - iconsFileName.Append( KFileIcons ); - - CGulIcon* icon; - - if( aIconType == KGSIconTypeLbxItem ) - { - icon = AknsUtils::CreateGulIconL( - AknsUtils::SkinInstance(), - KAknsIIDQgnPropSetConnVpn, - iconsFileName, - EMbmVpnmanagementuiQgn_prop_set_conn_vpn, - EMbmVpnmanagementuiQgn_prop_set_conn_vpn_mask ); - } - else - { - icon = CGSPluginInterface::CreateIconL( aIconType ); - } - LOG_("CVpnManagementUiView::CreateIconL() exited"); - return icon; - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::Visible -// --------------------------------------------------------------------------- -TBool CVpnManagementUiView::Visible() const - { - LOG_("CVpnManagementUiView::Visible() entered"); - TInt vpnSupported( 0 ); - TInt readError(0); - TRAPD(loadError, - { - CRepository* repository = CRepository::NewL(KCRUidCommunicationSettings); - readError = repository->Get(KSettingsVPNSupported, vpnSupported); - delete repository; - }); - LOG_1("CVpnManagementUiView::Visible():%d exited", vpnSupported); - return (vpnSupported && !readError && !loadError) ? ETrue : EFalse; - } - -// --------------------------------------------------------------------------- -// CVpnManagementUiView::PluginUid -// --------------------------------------------------------------------------- -TUid CVpnManagementUiView::PluginUid() const - { - LOG_("CVpnManagementUiView::PluginUid() called"); - return KVpnManagementPluginUid; - } - -// End of File - diff -r 29b591713d44 -r 8962128a2656 vpnui/vpnmanagementui/src/vpnuiloader.cpp --- a/vpnui/vpnmanagementui/src/vpnuiloader.cpp Tue Feb 02 00:53:00 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,621 +0,0 @@ -/* -* Copyright (c) 2003 - 2009 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: VPN management main view -* -*/ - - - -// INCLUDE FILES -#include // for warning & information notes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "vpnuiloader.h" -#include "vpnmanagementuiview.h" -#include "vpnmanagementuipolicyview.h" -#include "vpnmanagementuiserverview.h" -#include "vpnmanagementuilogview.h" -#include "vpnmanagementuiserversettingsview.h" -#include "version.h" -#include "vpnmanagementuiserversettingscontainer.h" - -#include "log_vpnmanagementui.h" - -// CONSTANTS - - -using namespace CMManager; - - -// ================= MEMBER FUNCTIONS ======================= - -// --------------------------------------------------------- -// CVpnUiLoader::CVpnUiLoader() -// Constructor with parent -// --------------------------------------------------------- -// -CVpnUiLoader::CVpnUiLoader( CVpnManagementUiView* aUiView ): - iVpnManagementUiView(aUiView), - iResourceLoader(*iCoeEnv) - { - LOG_("CVpnUiLoader::CVpnUiLoader()"); - ASSERT( aUiView ); - } - -// --------------------------------------------------------- -// CVpnUiLoader::~CVpnUiLoader() -// Destructor -// --------------------------------------------------------- -// -CVpnUiLoader::~CVpnUiLoader() - { - LOG_("CVpnUiLoader::~CVpnUiLoader()"); - iVpnManagementUiView = NULL; - - if ( iLogViewVisited == EFalse ) - delete iVpnManagementUiLogView; - - if ( iPolicyViewVisited == EFalse ) - delete iVpnManagementUiPolicyView; - - delete iVpnManagementUiParametersView; - delete iVpnManagementUiServerView; - - if(iVersionInfoInNaviPane) - { - delete iVersionInfoInNaviPane; - } - delete iVpnApiWrapper; - delete iWaitDialog; - iResourceLoader.Close(); - } - -// --------------------------------------------------------- -// CVpnUiLoader* CVpnUiLoader::NewL() -// --------------------------------------------------------- -// -CVpnUiLoader* CVpnUiLoader::NewL( - const TRect& aRect, TUid aViewId, - CVpnManagementUiView* aUiView ) - { - CVpnUiLoader* self = NewLC( aRect, aViewId, aUiView ); - CleanupStack::Pop(); - return self; - } - -// --------------------------------------------------------- -// CVpnUiLoader* CVpnUiLoader::NewLC() -// --------------------------------------------------------- -// -CVpnUiLoader* CVpnUiLoader::NewLC( - const TRect& aRect, TUid aViewId, - CVpnManagementUiView* aUiView ) - { - CVpnUiLoader* self = new ( ELeave ) CVpnUiLoader( aUiView ); - CleanupStack::PushL( self ); - self->ConstructL( aRect, aViewId ); - return self; - } - -// --------------------------------------------------------- -// CVpnUiLoader::ConstructL() -// --------------------------------------------------------- -// -void CVpnUiLoader::ConstructL( const TRect& aRect, TUid aViewId ) - { - LOG_("CVpnUiLoader::ConstructL() - begin"); - - AddResourceFileL(); - //Initialization - iBackFromServerDefinition = EFalse; - iNewServerDefinition = EFalse; - iPolicyUpdate = EFalse; - - CEikStatusPane* statusPane = STATIC_CAST( - CAknAppUi*, iEikonEnv->EikAppUi())->StatusPane(); - - // Fetch pointer to the default navi pane control - iNaviPane = static_cast ( - statusPane->ControlL( TUid::Uid(EEikStatusPaneUidNavi) ) ); - - iPreviousAppViewId = aViewId; - CreateWindowL(); - - iVpnManagementUiPolicyView = CVpnManagementUiPolicyView::NewL( - aRect, *this); - iVpnManagementUiServerView = CVpnManagementUiServerView::NewL( - aRect, *this); - iVpnManagementUiLogView = CVpnManagementUiLogView::NewL( aRect, *this); - iVpnManagementUiParametersView = CServerSettingsView::NewL( aRect, *this); - - SetRect(aRect); - - LOG(Log::Printf(_L("CVpnUiLoader::ConstructL() - end\n"))); - } - -// --------------------------------------------------------- -// CVpnUiLoader::FocusChanged(TDrawNow aDrawNow) -// Added here because FocusChanged need to be included -// in every control derived from CCoeControl that can have listbox -// --------------------------------------------------------- -// -void CVpnUiLoader::FocusChanged(TDrawNow aDrawNow) - { - if (iListBox) - { - iListBox->SetFocus(IsFocused(), aDrawNow); - } - } - -// --------------------------------------------------------- -// CVpnUiLoader::ChangeViewL(TInt aNewTab, TInt aSelectionIndex) -// Called when the view tab is changed -// --------------------------------------------------------- -// -void CVpnUiLoader::ChangeViewL(TInt aNewTab, TInt aSelectionIndex) - { - LOG_1("CVpnUiLoader::ChangeViewL():%d", aNewTab); - switch (aNewTab) - { - - case KChangeViewPrevious: - { - TVwsViewId currentViewId; - ((CAknViewAppUi*)iAvkonAppUi)->GetActiveViewId(currentViewId); - - if(iPreviousViewId == currentViewId.iViewUid) - { - ((CAknViewAppUi*)iAvkonAppUi)->RegisterViewL(*iVpnManagementUiView); - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( KVpnManagementPluginUid ); - } - else - { - ((CAknViewAppUi*)iAvkonAppUi)->RegisterViewL(*iVpnManagementUiView); - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( - iPreviousViewId ); - } - break; - } - case KChangeViewBack: - ((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiPolicyViewId); - ((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiLogViewId); - ((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiParametersViewId); - ((CAknViewAppUi*)iAvkonAppUi)->RemoveView(KVpnManagementUiServerViewId); - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( iGsViewId.iViewUid ); - ReleaseResource(ETrue); - if(iObserver) - { - iObserver->UiComplete(KUirEventNone); - } - break; - - case KChangeViewPolicy: //Policy view - { - // the current view is saved so we - // know where to come back - TVwsViewId localCurrentViewId; - ((CAknViewAppUi*)iAvkonAppUi)->GetActiveViewId( - localCurrentViewId ); - - iPreviousViewId = localCurrentViewId.iViewUid; - if ( iPolicyViewVisited == EFalse) - ((CAknViewAppUi*)iAvkonAppUi)->AddViewL(iVpnManagementUiPolicyView); - iPolicyViewVisited=ETrue; - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( - KVpnManagementUiPolicyViewId ); - break; - } - case KChangeViewServer: //Policy server view - { - // the current view is saved so we - // know where to come back - TVwsViewId localCurrentViewId; - ((CAknViewAppUi*)iAvkonAppUi)->GetActiveViewId( - localCurrentViewId ); - - iPreviousViewId = localCurrentViewId.iViewUid; - - ((CAknViewAppUi*)iAvkonAppUi)->AddViewL(iVpnManagementUiServerView); - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( - KVpnManagementUiServerViewId ); - break; - } - case KChangeViewLog: //Log view - { - // the current view is saved so we - // know where to come back - TVwsViewId localCurrentViewId; - ((CAknViewAppUi*)iAvkonAppUi)->GetActiveViewId( - localCurrentViewId ); - - iPreviousViewId = localCurrentViewId.iViewUid; - if ( iLogViewVisited == EFalse) - ((CAknViewAppUi*)iAvkonAppUi)->AddViewL(iVpnManagementUiLogView); - iLogViewVisited=ETrue; - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( - KVpnManagementUiLogViewId ); - break; - } - - case KChangeViewSettings: //VPN policy server parameters view - { - // the current view is saved so that close settings - // knows where to come back - TVwsViewId localCurrentViewId; - ((CAknViewAppUi*)iAvkonAppUi)->GetActiveViewId( - localCurrentViewId ); - - iPreviousViewId = localCurrentViewId.iViewUid; - //Put selected server to CustomMessageId - ((CAknViewAppUi*)iAvkonAppUi)->AddViewL(iVpnManagementUiParametersView); - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL( - KVpnManagementUiParametersViewId, - TUid::Uid( aSelectionIndex), KNullDesC8 ); - break; - } - - default: - break; - } - } - -// ---------------------------------------------------- -// CVpnUiLoader::ActivateTitleL(TInt aCurrentTitle) -// Activates the VPN policies, VPN policy servers and -// VPN log views title -// ---------------------------------------------------- -// -void CVpnUiLoader::ActivateTitleL(TInt aCurrentTitle) - { - CEikStatusPane* sp = STATIC_CAST( - CAknAppUi*, iEikonEnv->EikAppUi())->StatusPane(); - // Fetch pointer to the default title pane control - CAknTitlePane* title = STATIC_CAST( - CAknTitlePane*, sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle)) ); - TResourceReader reader; - - if ( aCurrentTitle == KViewTitleManagementView ) - { - iCoeEnv->CreateResourceReaderLC( reader, R_VPN_MANAGEMENT_TITLE ); - } - if ( aCurrentTitle == KViewTitlePolicyView ) - { - iCoeEnv->CreateResourceReaderLC( reader, R_VPN_POLICIES_TITLE ); - } - if ( aCurrentTitle == KViewTitleServerView ) - { - iCoeEnv->CreateResourceReaderLC( reader, R_VPN_POLICY_SERVERS_TITLE ); - } - if ( aCurrentTitle == KViewTitleLogView ) - { - iCoeEnv->CreateResourceReaderLC( reader, R_VPN_LOG_TITLE ); - } - - title->SetFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader - } - -void CVpnUiLoader::ActivateTitleL(TInt aCurrentTitle, TDes& aText) - { - CEikStatusPane* sp = STATIC_CAST( - CAknAppUi*, iEikonEnv->EikAppUi())->StatusPane(); - // Fetch pointer to the default title pane control - CAknTitlePane* title = STATIC_CAST( - CAknTitlePane*, sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle)) ); - - if ( aCurrentTitle == KViewTitleParametersView ) - { - title->SetTextL(aText); - } - } -// ---------------------------------------------------- -// CVpnUiLoader::ActivateNaviTextL() -// Activates the VPN log view Navipane text (Version information) -// ---------------------------------------------------- -// -void CVpnUiLoader::ActivateNaviTextL() - { - // version information in navi pane text shown in VPN Log view - //TBuf version(KVersion); - HBufC* naviText = StringLoader::LoadLC( - R_VPN_NAVI_CLIENT_VERSION, KVersion/*version*/ ); - TPtr naviDes=naviText->Des(); - AknTextUtils::DisplayTextLanguageSpecificNumberConversion(naviDes); - iVersionInfoInNaviPane = iNaviPane->CreateMessageLabelL(*naviText); - CleanupStack::PopAndDestroy(); //naviText - } - -// --------------------------------------------------------- -// CVpnUiLoader::PushNaviPaneL -// --------------------------------------------------------- -// -void CVpnUiLoader::PushNaviPaneL() - { - iNaviPane->PushL( *iVersionInfoInNaviPane ); - } - -// --------------------------------------------------------- -// CVpnUiLoader::PopNaviPane -// --------------------------------------------------------- -// -void CVpnUiLoader::PopNaviPane() - { - if(iVersionInfoInNaviPane) - { - delete iVersionInfoInNaviPane; //A control is popped from stack - iVersionInfoInNaviPane = NULL; - } - } - -// --------------------------------------------------------- -// CVpnUiLoader::PushDefaultNaviPaneL -// --------------------------------------------------------- -// -void CVpnUiLoader::PushDefaultNaviPaneL() - { - iNaviPane->PushDefaultL(); - } - -// --------------------------------------------------------- -// CVpnUiLoader::HandleControlEventL( -// CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) -// Cannot be changed to non-leaving function. -// L-function is required by the class definition, even if empty. -// --------------------------------------------------------- -// -void CVpnUiLoader::HandleControlEventL( - CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/) - { - } - -// --------------------------------------------------------- -// CVpnUiLoader::OfferKeyEventL() -// --------------------------------------------------------- -// -TKeyResponse CVpnUiLoader::OfferKeyEventL( - const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/) - { - // Listbox takes all event even if it doesn't use them - return EKeyWasNotConsumed; - } - -// ---------------------------------------------------------- -// AddResourceFileL() -// ---------------------------------------------------------- -// -void CVpnUiLoader::AddResourceFileL(TBool aKeepOpen) - { - if (!iKeepOpen) - { - iKeepOpen = aKeepOpen; - _LIT(KResourceFile, "\\resource\\vpnmanagementuirsc.rsc"); - TFileName resourceFileName(KResourceFile); - TFileName dllName; - Dll::FileName(dllName); - TBuf<2> drive = dllName.Left(2); - resourceFileName.Insert(0, drive); - - // To enable loading of e.g. vpnmanagementuirsc.r** - BaflUtils::NearestLanguageFile(iCoeEnv->FsSession(), resourceFileName); - iResourceLoader.OpenL(resourceFileName); - LOG_("CVpnUiLoader::AddResourceFileL("); - } - } -// ---------------------------------------------------------- -// ReleaseResource() -// ---------------------------------------------------------- -// -void CVpnUiLoader::ReleaseResource(TBool aForceClose) - { - if(!iKeepOpen || aForceClose) - { - LOG_("CVpnUiLoader::ReleaseResource()"); - iKeepOpen = EFalse; - iResourceLoader.Close(); - } - } -// --------------------------------------------------------- -// CVpnUiLoader::DialogDismissedL -// --------------------------------------------------------- -// -void CVpnUiLoader::DialogDismissedL( TInt /*aButtonId*/ ) - { - // The UI is left in an inactive state if the progress dialog is cancelled - // very quickly. Thus, we ensure that the UI ends up in an active - // state by activating the view that should be active. - TVwsViewId activeViewId; - ((CAknViewAppUi*)iAvkonAppUi)->GetActiveViewId(activeViewId); - ((CAknViewAppUi*)iAvkonAppUi)->ActivateLocalViewL(activeViewId.iViewUid); - } - -// --------------------------------------------------------- -// CVpnUiLoader::ShowWaitNoteL -// --------------------------------------------------------- -// -void CVpnUiLoader::ShowWaitNoteL() - { - // Initialization (before the progress dialog is shown) - iTextToShow = EConnectingVia; // "Connecting via '%U'" - iWaitNoteStartTime.UniversalTime(); - - if ( iWaitDialog ) - { - delete iWaitDialog; - iWaitDialog = NULL; - } - iWaitDialog = new ( ELeave ) CAknWaitDialog - ( REINTERPRET_CAST(CEikDialog**,&iWaitDialog),ETrue ); - iWaitDialog->PrepareLC( R_VPN_WAIT_NOTE ); - iWaitDialog->SetTone( CAknNoteDialog::ENoTone ); - iWaitDialog->SetCallback( this ); - - SetTextL(); - - iWaitDialog->RunLD(); - iWaitDialog->DrawNow(); - } - -void CVpnUiLoader::DeleteWaitNoteL() - { - TInt error; - // Dismiss wait dialog - TRAP(error, iWaitDialog->ProcessFinishedL()); // deletes the wait dialog - if (error != KErrNone) - { - // on error destroy wait note by force. - delete iWaitDialog; - } - iWaitDialog = NULL; - } - -void CVpnUiLoader::SetTextL() - { - LOG(Log::Printf(_L("CVpnUiLoader::SetTextL()\n"))); - - TTime now; - now.UniversalTime(); - - TTimeIntervalSeconds secondsPassed; - now.SecondsFrom(iWaitNoteStartTime, secondsPassed); - - if (secondsPassed.Int() < KSecondsToShowConnectingVia) - { - iTextToShow = EConnectingVia; //0 - } - else - { - iTextToShow = EProcessingStepN; //1 - iStateCodeToShow = 0; - } - - if (iTextToShow == EConnectingVia) - { - HBufC* string = StringLoader::LoadLC( R_VPN_CONNECTING_VIA_AP, iSelectionName ); - iWaitDialog->SetTextL( *string ); - CleanupStack::PopAndDestroy( string ); - } - else - { - HBufC* string = StringLoader::LoadLC( R_VPN_WAIT_POLICY_DL_PROCESSING, iStateCodeToShow ); - iWaitDialog->SetTextL( *string ); - CleanupStack::PopAndDestroy( string ); - } - } - - -void CVpnUiLoader::GetSelectionNameL( TDes& aText ) - { - TCmSettingSelection selection = TCmSettingSelection(); - - //Reset update operation for Connecting via note - iPolicyUpdate = EFalse; - - HBufC* name = NULL; - TInt err = KErrNone; - if ( selection.iResult == EDestination ) - { - TRAP( err, (name = CServerSettingsContainer::GetDestinationNameL( selection.iId ))); - } - else if ( selection.iResult == EConnectionMethod ) - { - TRAP( err, (name = CServerSettingsContainer::GetConnectionMethodNameL( selection.iId ))); - } - - if ( name ) - { - aText.Copy(*name); - } - delete name; - name = NULL; - } - - -// --------------------------------------------------------- -// CVpnUiLoader::FFSSpaceBelowCriticalLevelL -// --------------------------------------------------------- -// -TBool CVpnUiLoader::FFSSpaceBelowCriticalLevelL - ( TBool aShowErrorNote, TInt aBytesToWrite /*=0*/ ) - { - LOG_("CVpnUiLoader::FFSSpaceBelowCriticalLevelL() - begin"); - - TBool ret( EFalse ); - if ( SysUtil::FFSSpaceBelowCriticalLevelL - ( &(CCoeEnv::Static()->FsSession()), aBytesToWrite ) ) - { - ret = ETrue; - if ( aShowErrorNote ) - { - CErrorUI* errorUi = CErrorUI::NewLC( *(CCoeEnv::Static()) ); - errorUi->ShowGlobalErrorNoteL( KErrDiskFull ); - CleanupStack::PopAndDestroy(); // errorUi - } - } - - LOG( Log::Printf(_L("CVpnUiLoader::FFSSpaceBelowCriticalLevelL() - end\n"))); - - return ret; - } - -// --------------------------------------------------------- -// CVpnUiLoader::GetVpnManagementUiView() -// -// --------------------------------------------------------- -// -CAknView* CVpnUiLoader::GetVpnManagementUiView() const - { - return iVpnManagementUiView; - } - -// --------------------------------------------------------- -// CVpnUiLoader::VpnApiWrapperL() -// --------------------------------------------------------- -// -CVpnApiWrapper& CVpnUiLoader::VpnApiWrapperL() - { - LOG_("CVpnUiLoader::VpnApiWrapperL()"); - if (!iVpnApiWrapper) - iVpnApiWrapper = CVpnApiWrapper::NewL(); - return *iVpnApiWrapper; - } - -// --------------------------------------------------------- -// CVpnUiLoader::GsViewId() -// Called when the view tab is changed -// --------------------------------------------------------- -// -TVwsViewId CVpnUiLoader::GSViewId() const - { - return iGsViewId; - } - -// --------------------------------------------------------- -// CVpnUiLoader::SetGsViewId( TVwsViewId ) -// Called when the view tab is changed -// --------------------------------------------------------- -// -void CVpnUiLoader::SetGSViewId( TVwsViewId aGsViewUid ) - { - iGsViewId = aGsViewUid; - } - -// End of File