diff -r 000000000000 -r 5a93021fdf25 dbcreator/commsdatcreator/Src/cdcreaderxml.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbcreator/commsdatcreator/Src/cdcreaderxml.cpp Thu Dec 17 08:55:21 2009 +0200 @@ -0,0 +1,1828 @@ +/* +* 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: Implementation of the class CReaderXML +* +*/ + + + + +// INCLUDE FILES + +#include "cdcreaderxml.h" +#include "cdclogger.h" + +#include +#include +#include +#include +#include +#include +#include + +using namespace CMManager; + +//TYPE DECLARATION + +//CONSTANTS +// +// Literals in XML header +_LIT16( KXmlVersion, "xml version" ); +_LIT16( KEncoding, "encoding" ); +_LIT16( KEncodingUtf8, "UTF-8" ); + +// File tail marker +_LIT16( KFileTail, ""); +_LIT16( KFileTail2, ""); + +// Feature head markers +_LIT16( KFeatureHeadPacketData, "" ); +_LIT16( KFeatureHeadWLAN, "" ); +_LIT16( KFeatureHeadLAN, "" ); +_LIT16( KFeatureHeadVPN, "" ); +_LIT16( KFeatureHeadGlobal, "" ); +_LIT16( KFeatureHeadDN, "" ); + +// Feature tail markers +_LIT16( KFeatureTailPacketData, "" ); +_LIT16( KFeatureTailWLAN, "" ); +_LIT16( KFeatureTailLAN, "" ); +_LIT16( KFeatureTailVPN, "" ); +_LIT16( KFeatureTailGlobal, "" ); +_LIT16( KFeatureTailDN, "" ); + +// Feature data head markers +_LIT16( KDataHeadPacketData, "" ); +_LIT16( KDataHeadWLAN, "" ); +_LIT16( KDataHeadLAN, "" ); +_LIT16( KDataHeadVPN, "" ); +_LIT16( KDataHeadDN, "" ); + +// Feature data tail markers +_LIT16( KDataTailPacketData, "" ); +_LIT16( KDataTailWLAN, "" ); +_LIT16( KDataTailLAN, "" ); +_LIT16( KDataTailVPN, "" ); +_LIT16( KDataTailDN, "" ); + +// Parameter Markers +// ParamValue +_LIT16( KParamValueHead, ">" ); +_LIT16( KParamValueTail, "" ); + + +//maximum line size +const TInt16 KMaxLineSize = 1024; +//maximum item (tag) size +const TInt16 KMaxItemLength = 100; + +// ratio between ascii and unicode character sizes +const TUint KAsciiUnicodeRatio = 2; + +// Following table contains the input parameter names: +// +// Name Type Description +//---------------------------------------------------------------------------- +//General & Gprs specific: +//======================== +//KConnectionName string The name of the access point. +//KProtected string Protection +//KHidden string CM/DN is hidden +//KHiddenAgent string CM/DN is not shown in CConnDlg +//KHighlighted string CM/DN is highlighted in CConnDlg +//KSeamlessness string Seamlessness value +//KGprs_AP_Name string Access point name. +//KUserName string Login user name +//KPromptPassword string Prompts the user for username and +// password +//KPassword string Login password. +//KPasswordAuthType string Disables plain text authentication. +//KWAPGatewayIP string WAP gateway address (IP address). +//KStartingPage string WAP start page URL. +//KWTLS_Security string Attempts a secure WTLS connection +// to the gateway. +//KWAP_ConnectionType string Indicates whether a connection- +// oriented or connectionless API +// should be used. +//KPhoneIP string IP address of the interface. +//KPrimaryNameServer string IP address of the primary name +// server. +//KSecondaryNameServer string IP address of the secondary name +// server. +//KProxyServerAddress string Proxy server address. +//KProxyPortNumber string Proxy port number. +//KProxyProtocolName string Proxy protocol name. +//KPrimaryIP6NameServer string IP address of the primary IPv6 +// name server. +//KSecondaryIP6NameServer string IP address of the secondary IPv6 +// name server. +//KNetworkType string Network type: IPv4 or IPv6 +//KGprsUseEdge string Sets the GprsUseEdge parameter +//============= +//LAN specific: +//============= +//KLanIfNetworks string Network protcols +//KLanIpNetMask string IP net mask of interface +//KLanIpGateway string IP address of gateway +//============== +//WLAN specific: +//============== +//KNetworkName string The name of the WLAN network +//KNetworkMode string The WLAN network mode +//KSecurityMode string The security mode of the WLAN network +//KWlanIpGatewayAddress string IP address of gateway +//KWlanIpNetMask string IP net mask of interface +//KWlanChannelId integer 802.11 Channel ID (1-14) + +//--------------- +//WEP security +//--------------- +//WEPKeyInUse integer Index of the default WEP key +//WEPAuthType string WEP authentication mode. +//WEPKey1Length string Key length of WEP key1. 64, 128, 256 bit. +//WEPKey1Format string Format of WEP key 1. ASCII or Hexadecimal +//WEPKey1Data string Data of WEP key1 +//WEPKey2Length string Key length of WEP key2. 64, 128, 256 bit. +//WEPKey2Format string Format of WEP key 2. ASCII or Hexadecimal +//WEPKey2Data string Data of WEP key2 +//WEPKey3Length string Key length of WEP key3. 64, 128, 256 bit. +//WEPKey3Format string Format of WEP key 3. ASCII or Hexadecimal +//WEPKey3Data string Data of WEP key3 +//WEPKey4Length string Key length of WEP key4. 64, 128, 256 bit. +//WEPKey4Format string Format of WEP key 4. ASCII or Hexadecimal +//WEPKey4Data string Data of WEP key4 +//--------------- +//WPA security +//--------------- +//WPAPresharedKey string WPA/WPA2 pre-shared key in plain text. +//WPAKeyLength integer The length of the WPA/WPA2 pre-shared key. +//WPAListOfEAPs string A list of EAPs in use +//WPAUseOfPresharedKey string WPA/WPA2 pre-shared key usage. +//============= +//VPN specific: +//============= +//KVpnIapName string IAP name used for the connection +//KVpnServicePolicy string Service policy ID +//==================== +//Destination Networks +//==================== +//KDN_Name string The name of the Destination Network +//KDN_Icon integer Index of icon assigned to the DN +//KDN_Metadata string Destination type +//KDN_Protection integer Protection level of the DN +//KDN_Hidden integer Shows whether DN is hidden or not +//KDN_IAPName string Name of a Connection Method that is +// bound to the DN +//KDN_IAPName2..10 string Same as above +//KDN_EmbeddedDN string Name of an Embedded DN that is bound +// to the DN +//=============== +//Global settings +//=============== +//KAttachMode string Gprs attach mode +//KDefaultAP string Default Gprs access point +//KTableProtection string Table level protection +//KDefaultDnIcon integer Default icon for DNs +//KPriorityLan integer Default priority for Lan bearer type +//KPriorityWlan integer Default priority for WLan bearer type +//KPriorityPan integer Default priority for Pan bearer type +//KPriorityGprsOut integer Default priority for outgoing Gprs +// bearer type +//KPriorityGprsIn integer Default priority for incoming Gprs +// bearer type +//KPriorityCdma2k integer Default priority for CDMA2000 bearer type +//KPriorityDialOut integer Default priority for incoming dial +// bearer type +//KPriorityDialIn integer Default priority for outgoing dial +// bearer type +//KPriorityVpn integer Default priority for Vpn bearer type +//KPriorityMip integer Default priority for Mip bearer type +//KUIPriorityLan integer Default UI priority for Lan bearer type +//KUIPriorityWlan integer Default UI priority for WLan bearer type +//KUIPriorityPan integer Default UI priority for Pan bearer type +//KUIPriorityGprsOut integer Default UI priority for outgoing Gprs +// bearer type +//KUIPriorityGprsIn integer Default UI priority for incoming Gprs +// bearer type +//KUIPriorityCdma2k integer Default UI priority for CDMA2000 +// bearer type +//KUIPriorityDialOut integer Default UI priority for incoming dial +// bearer type +//KUIPriorityDialIn integer Default UI priority for outgoing dial +// bearer type +//KUIPriorityVpn integer Default UI priority for Vpn bearer type +//KUIPriorityMip integer Default UI priority for Mip bearer type + +//KDefaultConnectionType integer Default connection method type +//KDefaultConnectionName string Default connection method name + +//KUsageOfWlan integer Usage of known WLAN networks, automatical or manual +//KSeamlessnessHome integer Cellular data usage in home network +//KSeamlessnessVisitor integer Cellular data usage in foreign networks + + +//KGprsLastSocketActivityTimeout integer +//KGprsLastSessionClosedTimeout integer The time how long Gprs PDP context stays active +// after the last application using the connection was closed. +//KGprsLastSocketClosedTimeout integer +//KCsdLastSocketActivityTimeout integer +//KCsdLastSessionClosedTimeout integer +//KCsdLastSocketClosedTimeout integer +//KWlanLastSocketActivityTimeout integer +//KWlanLastSessionClosedTimeout integer +//KWlanLastSocketClosedTimeout integer +//KWlanBGScanInterval integer +//KWlanUseDefSettings integer +//KWlanLongRetry integer +//KWlanShortRetry integer +//KWlanRTS integer +//KWlanTxPowerLevel integer +//KWlanRadioMeasurements integer +//KWlanPowerMode integer Whether WLAN power save is on or off + + +//String literals defined for input parameters + +//General & Gprs specific +_LIT16( KConnectionName, "ConnectionName" ); +_LIT16( KConnectionId, "ConnectionId" ); +_LIT16( KProtected, "Protected" ); +_LIT16( KHidden, "Hidden" ); +_LIT16( KHiddenAgent, "HiddenAgent" ); +_LIT16( KHighlighted, "Highlighted" ); +_LIT16( KSeamlessness, "Seamlessness" ); +_LIT16( KGprs_AP_Name, "Gprs_AP_Name" ); +_LIT16( KUserName, "UserName" ); +_LIT16( KPromptPassword, "PromptPassword" ); +_LIT16( KPassword, "Password" ); +_LIT16( KPasswordAuthType, "PasswordAuthenticationType" ); +_LIT16( KWAPGatewayIP, "WAPGatewayIP" ); +_LIT16( KStartingPage, "StartingPage" ); +_LIT16( KWTLS_Security, "WTLS_Security" ); +_LIT16( KWAP_ConnectionType, "WAP_ConnectionType" ); +_LIT16( KPhoneIP, "PhoneIP" ); +_LIT16( KPrimaryNameServer, "PrimaryNameServer" ); +_LIT16( KSecondaryNameServer, "SecondaryNameServer" ); +_LIT16( KProxyServerAddress, "ProxyServerAddress" ); +_LIT16( KProxyPortNumber, "ProxyPortNumber" ); +_LIT16( KProxyProtocolName, "ProxyProtocolName"); +_LIT16( KPrimaryIP6NameServer, "PrimaryIP6NameServer" ); +_LIT16( KSecondaryIP6NameServer, "SecondaryIP6NameServer" ); +_LIT16( KNetworkType, "NetworkType"); +_LIT16( KIspType, "IspType" ); +_LIT16( KGprsUseEdge, "GprsUseEdge"); +_LIT16( KLinger, "Linger"); + +//Lan specific +_LIT16( KLanIfNetworks, "LanIfNetworks" ); +_LIT16( KLanIpNetMask, "LanIpNetMask" ); +_LIT16( KLanIpGateway, "LanIpGateway" ); +_LIT16( KLanIpAddrFromServer, "IpAddrFromServer" ); +_LIT16( KLanIpDNSAddrFromServer, "IpDNSAddrFromServer" ); +_LIT16( KLanConfigDaemonManagerName,"ConfigDaemonManagerName" ); +_LIT16( KLanConfigDaemonName, "ConfigDaemonName" ); + +//Wlan specific +_LIT16( KNetworkName, "NetworkName" ); +_LIT16( KNetworkMode, "NetworkMode" ); +_LIT16( KSecurityMode, "SecurityMode" ); +_LIT16( KWlanIpGatewayAddress, "WlanIpGatewayAddress" ); +_LIT16( KWlanIpNetMask, "WlanIpNetMask" ); +_LIT16( KWlanScanSSId, "WlanScanSSId" ); +_LIT16( KWlanChannelId, "WlanChannelId" ); + +//WEP security +_LIT16( KWEPKeyInUse, "WEPKeyInUse" ); +_LIT16( KWEPAuthType, "WEPAuthType" ); +_LIT16( KWEPKey1Length, "WEPKey1Length" ); +_LIT16( KWEPKey1Format, "WEPKey1Format" ); +_LIT16( KWEPKey1Data, "WEPKey1Data" ); +_LIT16( KWEPKey2Length, "WEPKey2Length" ); +_LIT16( KWEPKey2Format, "WEPKey2Format" ); +_LIT16( KWEPKey2Data, "WEPKey2Data" ); +_LIT16( KWEPKey3Length, "WEPKey3Length" ); +_LIT16( KWEPKey3Format, "WEPKey3Format" ); +_LIT16( KWEPKey3Data, "WEPKey3Data" ); +_LIT16( KWEPKey4Length, "WEPKey4Length" ); +_LIT16( KWEPKey4Format, "WEPKey4Format" ); +_LIT16( KWEPKey4Data, "WEPKey4Data" ); + +//WPA security +_LIT16( KWPAPresharedKey, "WPAPresharedKey" ); +_LIT16( KWPAKeyLength, "WPAKeyLength" ); +_LIT16( KWPAListOfEAPs, "WPAListOfEAPs" ); +_LIT16( KWPAUseOfPresharedKey, "WPAUseOfPresharedKey" ); + +//EAP security +_LIT16( KEapGtcUsername, "EapGtcUsername" ); +_LIT16( KEapGtcSessionValidityTime, "EapGtcSessionValidityTime" ); +_LIT16( KEapGtcEncapsulation, "EapGtcEncapsulation" ); + + +_LIT16( KEapTlsUsername, "EapTlsUsername" ); +_LIT16( KEapTlsRealm, "EapTlsRealm" ); +_LIT16( KEapTlsVerifyServerRealm, "EapTlsVerifyServerRealm" ); +_LIT16( KEapTlsRequireClientAuth, "EapTlsRequireClientAuth" ); +_LIT16( KEapTlsSessionValidityTime, "EapTlsSessionValidityTime" ); +_LIT16( KEapTlsCipherSuites, "EapTlsCipherSuites" ); +_LIT16( KEapTlsUserCertSubjectKeyId,"EapTlsUserCertSubjectKeyId" ); +_LIT16( KEapTlsUserCertIssuerName, "EapTlsUserCertIssuerName" ); +_LIT16( KEapTlsUserCertSerialNumber,"EapTlsUserCertSerialNumber" ); +_LIT16( KEapTlsCaCertSubjectKeyId, "EapTlsCaCertSubjectKeyId" ); +_LIT16( KEapTlsCaCertIssuerName, "EapTlsCaCertIssuerName" ); +_LIT16( KEapTlsCaCertSerialNumber, "EapTlsCaCertSerialNumber" ); +_LIT16( KEapTlsEncapsulation, "EapTlsEncapsulation" ); + + +_LIT16( KEapLeapUsername, "EapLeapUsername" ); +_LIT16( KEapLeapPassword, "EapLeapPassword" ); +_LIT16( KEapLeapSessionValidityTime,"EapLeapSessionValidityTime" ); + + +_LIT16( KEapSimUsername, "EapSimUsername" ); +_LIT16( KEapSimRealm, "EapSimRealm" ); +_LIT16( KEapSimUsePseudonyms, "EapSimUsePseudonyms" ); +_LIT16( KEapSimSessionValidityTime, "EapSimSessionValidityTime" ); +_LIT16( KEapSimEncapsulation, "EapSimEncapsulation" ); + +_LIT16( KEapTtlsUsername, "EapTtlsUsername" ); +_LIT16( KEapTtlsRealm, "EapTtlsRealm" ); +_LIT16( KEapTtlsVerifyServerRealm, "EapTtlsVerifyServerRealm" ); +_LIT16( KEapTtlsRequireClientAuth, "EapTtlsRequireClientAuth" ); +_LIT16( KEapTtlsSessionValidityTime,"EapTtlsSessionValidityTime" ); +_LIT16( KEapTtlsCipherSuites, "EapTtlsCipherSuites" ); +_LIT16( KEapTtlsEncapsulatedTypes, "EapTtlsEncapsulatedTypes" ); +_LIT16( KEapTtlsUserCertSubjectKeyId,"EapTtlsUserCertSubjectKeyId" ); +_LIT16( KEapTtlsUserCertIssuerName, "EapTtlsUserCertIssuerName" ); +_LIT16( KEapTtlsUserCertSerialNumber,"EapTtlsUserCertSerialNumber" ); +_LIT16( KEapTtlsCaCertSubjectKeyId, "EapTtlsCaCertSubjectKeyId" ); +_LIT16( KEapTtlsCaCertIssuerName, "EapTtlsCaCertIssuerName" ); +_LIT16( KEapTtlsCaCertSerialNumber, "EapTtlsCaCertSerialNumber" ); + +_LIT16( KEapAkaUsername, "EapAkaUsername" ); +_LIT16( KEapAkaRealm, "EapAkaRealm" ); +_LIT16( KEapAkaUsePseudonyms, "EapAkaUsePseudonyms" ); +_LIT16( KEapAkaSessionValidityTime, "EapAkaSessionValidityTime" ); +_LIT16( KEapAkaEncapsulation, "EapAkaEncapsulation" ); + +_LIT16( KEapPeapUsername, "EapPeapUsername" ); +_LIT16( KEapPeapRealm, "EapPeapRealm" ); +_LIT16( KEapPeapVerifyServerRealm, "EapPeapVerifyServerRealm" ); +_LIT16( KEapPeapRequireClientAuth, "EapPeapRequireClientAuth" ); +_LIT16( KEapPeapSessionValidityTime,"EapPeapSessionValidityTime" ); +_LIT16( KEapPeapCipherSuites, "EapPeapCipherSuites" ); +_LIT16( KEapPeapV0Allowed, "EapPeapV0Allowed" ); +_LIT16( KEapPeapV1Allowed, "EapPeapV1Allowed" ); +_LIT16( KEapPeapV2Allowed, "EapPeapV2Allowed" ); +_LIT16( KEapPeapEncapsulatedTypes, "EapPeapEncapsulatedTypes" ); +_LIT16( KEapPeapUserCertSubjectKeyId,"EapPeapUserCertSubjectKeyId" ); +_LIT16( KEapPeapUserCertIssuerName, "EapPeapUserCertIssuerName" ); +_LIT16( KEapPeapUserCertSerialNumber,"EapPeapUserCertSerialNumber" ); +_LIT16( KEapPeapCaCertSubjectKeyId, "EapPeapCaCertSubjectKeyId" ); +_LIT16( KEapPeapCaCertIssuerName, "EapPeapCaCertIssuerName" ); +_LIT16( KEapPeapCaCertSerialNumber, "EapPeapCaCertSerialNumber" ); + +_LIT16( KEapMschapv2Username, "EapMschapv2Username" ); +_LIT16( KEapMschapv2Password, "EapMschapv2Password" ); +_LIT16( KEapMschapv2SessionValidityTime,"EapMschapv2SessionValidityTime" ); +_LIT16( KEapMschapv2Encapsulation, "EapMschapv2Encapsulation" ); + +_LIT16( KEapFastUsername, "EapFastUsername" ); +_LIT16( KEapFastRealm, "EapFastRealm" ); +_LIT16( KEapFastVerifyServerRealm, "EapFastVerifyServerRealm" ); +_LIT16( KEapFastRequireClientAuth, "EapFastRequireClientAuth" ); +_LIT16( KEapFastSessionValidityTime,"EapFastSessionValidityTime" ); +_LIT16( KEapFastCipherSuites, "EapFastCipherSuites" ); +_LIT16( KEapFastEncapsulatedTypes, "EapFastEncapsulatedTypes" ); +_LIT16( KEapFastAuthProvModeAllowed,"EapFastAuthProvModeAllowed" ); +_LIT16( KEapFastUnauthProvModeAllowed,"EapFastUnauthProvModeAllowed" ); +_LIT16( KEapFastWarnADHPNoPAC, "EapFastWarnADHPNoPAC" ); +_LIT16( KEapFastWarnADHPNoMatchingPAC,"EapFastWarnADHPNoMatchingPAC" ); +_LIT16( KEapFastWarnNotDefaultServer,"EapFastWarnNotDefaultServer" ); +_LIT16( KEapFastUserCertSubjectKeyId,"EapFastUserCertSubjectKeyId" ); +_LIT16( KEapFastUserCertIssuerName, "EapFastUserCertIssuerName" ); +_LIT16( KEapFastUserCertSerialNumber,"EapFastUserCertSerialNumber" ); +_LIT16( KEapFastCaCertSubjectKeyId, "EapFastCaCertSubjectKeyId" ); +_LIT16( KEapFastCaCertIssuerName, "EapFastCaCertIssuerName" ); +_LIT16( KEapFastCaCertSerialNumber, "EapFastCaCertSerialNumber" ); + +_LIT16( KMschapv2Username, "Mschapv2Username" ); +_LIT16( KMschapv2Password, "Mschapv2Password" ); +_LIT16( KMschapv2SessionValidityTime,"Mschapv2SessionValidityTime" ); +_LIT16( KMschapv2Encapsulation, "Mschapv2Encapsulation" ); + + +//VPN specific +_LIT16( KVpnIapName, "IAP_Name" ); +_LIT16( KVpnServicePolicy, "Policy_ID" ); + +//DN specific +_LIT16( KDN_Name, "Name" ); +_LIT16( KDN_Id, "DNId" ); +_LIT16( KDN_Icon, "Icon" ); +_LIT16( KDN_Metadata, "Metadata" ); +_LIT16( KDN_Protection, "Protection" ); +_LIT16( KDN_EmbeddedDNName, "EmbeddedDN" ); +_LIT16( KDN_IAPName, "IAP" ); + +// Needed because of Customization Tool limitations +_LIT16( KDN_IAPName2, "IAP2" ); +_LIT16( KDN_IAPName3, "IAP3" ); +_LIT16( KDN_IAPName4, "IAP4" ); +_LIT16( KDN_IAPName5, "IAP5" ); +_LIT16( KDN_IAPName6, "IAP6" ); +_LIT16( KDN_IAPName7, "IAP7" ); +_LIT16( KDN_IAPName8, "IAP8" ); +_LIT16( KDN_IAPName9, "IAP9" ); +_LIT16( KDN_IAPName10, "IAP10" ); + +//Global settings +_LIT16( KAttachMode, "Attachmode" ); +_LIT16( KDefaultAP, "DefaultAP" ); +_LIT16( KDefaultDnIcon, "DefaultDnIcon" ); +_LIT16( KPriorityLan, "PriorityLan" ); +_LIT16( KPriorityWlan, "PriorityWlan" ); +_LIT16( KPriorityPan, "PriorityPan" ); +_LIT16( KPriorityGprsOut, "PriorityGprsOut" ); +_LIT16( KPriorityGprsIn, "PriorityGprsIn" ); +_LIT16( KPriorityCdma2k, "PriorityCdma2k" ); +_LIT16( KPriorityDialOut, "PriorityDialOut" ); +_LIT16( KPriorityDialIn, "PriorityDialIn" ); +_LIT16( KPriorityVpn, "PriorityVpn" ); +_LIT16( KPriorityMip, "PriorityMip" ); +_LIT16( KUIPriorityLan, "UIPriorityLan" ); +_LIT16( KUIPriorityWlan, "UIPriorityWlan" ); +_LIT16( KUIPriorityPan, "UIPriorityPan" ); +_LIT16( KUIPriorityGprsOut, "UIPriorityGprsOut" ); +_LIT16( KUIPriorityGprsIn, "UIPriorityGprsIn" ); +_LIT16( KUIPriorityCdma2k, "UIPriorityCdma2k" ); +_LIT16( KUIPriorityDialOut, "UIPriorityDialOut" ); +_LIT16( KUIPriorityDialIn, "UIPriorityDialIn" ); +_LIT16( KUIPriorityVpn, "UIPriorityVpn" ); +_LIT16( KUIPriorityMip, "UIPriorityMip" ); +_LIT16( KDefaultConnectionType, "DefaultConnectionType" ); +_LIT16( KDefaultConnectionName, "DefaultConnectionName" ); +_LIT16( KUsageOfWlan, "UsageOfWlan" ); +_LIT16( KSeamlessnessHome, "SeamlessnessHome" ); +_LIT16( KSeamlessnessVisitor, "SeamlessnessVisitor" ); +_LIT16( KGprsLastSocketActivityTimeout, "GprsLastSocketActivityTimeout" ); +_LIT16( KGprsLastSessionClosedTimeout, "GprsLastSessionClosedTimeout" ); +_LIT16( KGprsLastSocketClosedTimeout, "GprsLastSocketClosedTimeout" ); +_LIT16( KWlanLastSocketActivityTimeout, "WlanLastSocketActivityTimeout" ); +_LIT16( KWlanLastSessionClosedTimeout, "WlanLastSessionClosedTimeout" ); +_LIT16( KWlanLastSocketClosedTimeout, "WlanLastSocketClosedTimeout" ); +_LIT16( KWlanBGScanInterval, "WlanBGScanInterval" ); +_LIT16( KWlanUseDefSettings, "WlanUseDefSettings" ); +_LIT16( KWlanLongRetry, "WlanLongRetry" ); +_LIT16( KWlanShortRetry, "WlanShortRetry" ); +_LIT16( KWlanRTS, "WlanRTS" ); +_LIT16( KWlanTxPowerLevel, "WlanTxPowerLevel" ); +_LIT16( KWlanRadioMeasurements, "WlanRadioMeasurements" ); +_LIT16( KWlanPowerMode, "WlanPowerMode" ); + + +//maximum number of PacketData AP parameters +const TInt KMaxPacketDataParam = 28; +const TInt KMaxLANParam = 26; +const TInt KMaxWLANParam = 125; +const TInt KMaxGlobalParam = 42; +const TInt KMaxVPNParam = 12; +const TInt KMaxDNParam = 19; + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// CReaderXML::NewL +// --------------------------------------------------------- +// +CReaderXML* CReaderXML::NewLC( const TDesC& aInFileName, + const TDbCreatorInputCharSet aCharSet ) + { + CReaderXML* self = new ( ELeave ) CReaderXML( aCharSet ); + + CleanupStack::PushL( self ); + + self->CReaderBase::ConstructL( aInFileName ); + self->ConstructL(); + + return self; + } + + +// --------------------------------------------------------- +// CReaderXML::ConstructL +// --------------------------------------------------------- +// +void CReaderXML::ConstructL() + { + //if charset is not given as a parameter - detect it + if ( iCharSet == ECharSetUnknown ) + { + DetectEncodingL(); + } + + FillPacketDataParams(); + FillLanParams(); + FillWLanParams(); + FillVpnParams(); + FillGlobalParams(); + FillDNParams(); + } + + +// --------------------------------------------------------- +// CReaderXML::CReaderXML +// --------------------------------------------------------- +// +CReaderXML::CReaderXML( const TDbCreatorInputCharSet aCharSet ) : + CReaderBase( EFileXML, EFeatureNone ), + iCharSet( aCharSet ), + iLine ( NULL ), + iFoundGlobal( EFalse ) + { + //no implementation required + } + + +// --------------------------------------------------------- +// CReaderXML::~CReaderXML +// --------------------------------------------------------- +// +CReaderXML::~CReaderXML() + { + delete iLine; + + iPDParams.Close(); + iLanParams.Close(); + iWLanParams.Close(); + iVpnParams.Close(); + iGlobalParams.Close(); + iDNParams.Close(); + } + + +// --------------------------------------------------------- +// CReaderXML::LocateFeature +// --------------------------------------------------------- +// +void CReaderXML::LocateFeatureL() + { + iCurrentFeature = EFeatureNone; + TInt result( KErrNone ); + TBool eof( EFalse ); + + //looks for the next feature + while ( !eof && CurrentFeature() == EFeatureNone ) + { + //reads the next line + result = ReadLineL(); + + if ( result == KErrEof ) + { + //end of file + eof = ETrue; + } + else if ( result ) + { + //other error + User::Leave( result ); + } + else + { + //no error + if ( iLine->FindF( KFileTail ) == KErrNone || + iLine->FindF( KFileTail2 ) == KErrNone ) + { + //end of file is reached ("/variantvariant" found) + eof = ETrue; + } + else + { + //try to recognize a feature + iCurrentFeature = DetectFeatureHead(); + }//else + }//else + }//while + } + + +// --------------------------------------------------------- +// CReaderXML::LocateAP +// --------------------------------------------------------- +// +TBool CReaderXML::LocateAPL() + { + TBool found( EFalse ); //found feature data + TBool eofea( EFalse ); //end of feature + + if ( CurrentFeature() == EFeatureGlobal ) + { + //for Global settings there is no feature data header + found = iFoundGlobal; + iFoundGlobal = EFalse; + } + else + { + //looks for the next feature header + while ( !eofea && !found ) + { + User::LeaveIfError( ReadLineL() ); + + if ( DetectFeatureTail() ) + { + //feature tail is detected - no more data to process + eofea = ETrue; + } + else + { + //looks for feature data header + switch ( CurrentFeature() ) + { + case EFeaturePacketData: + found = ( iLine->FindF( KDataHeadPacketData ) != KErrNotFound ); + break; + case EFeatureWLAN: + found = ( iLine->FindF( KDataHeadWLAN ) != KErrNotFound ); + break; + case EFeatureLAN: + found = ( iLine->FindF( KDataHeadLAN ) != KErrNotFound ); + break; + case EFeatureVPN: + found = ( iLine->FindF( KDataHeadVPN ) != KErrNotFound ); + break; + case EFeatureDN: + found = ( iLine->FindF( KDataHeadDN ) != KErrNotFound ); + break; + }//switch + }//else + }//while + }//else + + return found; + + } + + +// --------------------------------------------------------- +// CReaderXML::ParseAPL +// --------------------------------------------------------- +// +void CReaderXML::ParseAPL() + { + do + { + User::LeaveIfError( ReadLineL() ); + TInt fieldId = DetectParam(); + + if ( fieldId != KErrNotFound ) + { + HBufC16* param = ReadParam( EParamValue ); + if ( param ) + { + ConvertSpecialXMLChars( param ); + CleanupStack::PushL( param ); + TagContainer().AddL( param , fieldId ); + CleanupStack::Pop( param ); + } + else + { + //simply skip line + } + } + + } + while ( !DetectTailAP() ); + } + +// --------------------------------------------------------- +// CReaderXML::Reset +// --------------------------------------------------------- +// +TInt CReaderXML::Reset() + { + iFilePos = 0; + return InputFile().Seek( ESeekStart, iFilePos ); + } + + +// --------------------------------------------------------- +// CReaderXML::ToDoLog +// --------------------------------------------------------- +// +void CReaderXML::ToDoLog() + { + CLOG_WRITE( "Line :" ) + FileLogger().Write( *iLine ); + CLOG_WRITE( "--------------------------------------------\n\n" ) + } + +// --------------------------------------------------------- +// Private methods +// --------------------------------------------------------- + +// --------------------------------------------------------- +// CReaderXML::ReadLine +// --------------------------------------------------------- +// +TInt CReaderXML::ReadLineL() + { + //go to the actual position + TInt result = InputFile().Seek(ESeekStart, iFilePos); + + //temporary buffer for line + TBuf8 buf; + + if (result == KErrNone) + { + result = InputFile().Read(buf, buf.MaxSize()); + } + + //if seeking and reading both succesful extract one line form the buffer + if (result == KErrNone) + { + TPtrC8 ptrBuf8; + ptrBuf8.Set( buf ); + + if (result == KErrNone || result == KErrEof) + { + switch ( iCharSet ) + { + case ECharSetUnicode: + { + //simply copy to a Unicode descriptor + TPtrC16 ptrBuf16( ( TText16* )ptrBuf8.Ptr(), \ + ptrBuf8.Length() / KAsciiUnicodeRatio ); + + TPtrC16 ptrLine; + result = ExtractLine(ptrBuf16, ptrLine); + + if ( result == KErrNone ) + { + delete iLine; + iLine = NULL; + iLine = ptrLine.AllocL(); + + //Increment the file position + iFilePos += iLine->Length() * KAsciiUnicodeRatio; + } + + break; + } + case ECharSetAscii: + case ECharSetUtf8: + default: + { + //conversion to Unicode is needed + HBufC16* hBuf16 = HBufC16::NewLC( KMaxLineSize ); + TPtr16 ptrBuf16( hBuf16->Des() ); + + if( iCharSet == ECharSetUtf8 ) + { + CnvUtfConverter::ConvertToUnicodeFromUtf8 + ( ptrBuf16, ptrBuf8 ); + } + else + { + ptrBuf16.Copy( ptrBuf8 ); + } + + TPtrC16 ptrLine; + result = ExtractLine(ptrBuf16, ptrLine); + + if ( result == KErrNone ) + { + delete iLine; + iLine = NULL; + iLine = ptrLine.AllocL(); + + // Increment the file position + // Line in unicode format converted back to UTF-8 + // for getting the right lenght and osition in file + CnvUtfConverter::ConvertFromUnicodeToUtf8( + buf, iLine->Des() ); + iFilePos += buf.Length(); + } + + CleanupStack::PopAndDestroy( hBuf16 ); + + break; + }//case + }//switch + }//if + }//if + + return result; + } + + +// --------------------------------------------------------- +// CReaderXML::ExtractLine +// --------------------------------------------------------- +// +TInt CReaderXML::ExtractLine(const TPtrC16& aBuffer, TPtrC16& aLine) + { + // Whitespace characters + const TChar KSpace = ' '; + const TChar KNewLine = '\n'; + const TChar KCarriageReturn = '\r'; + const TChar KTab = '\t'; + const TChar KTagStart = '<'; + + + // A line is considered to contain one parameter. It starts from the + // current position and lasts until the end of the current parameter. + // The end is detected by looking for the characters ">" and "<" with + // any number of white spaces between them. The next line will start at + // the "<" character. + TBool lineEndFound( EFalse ); + TBool tagEndFound( EFalse ); + TInt pos( 0 ); + while( !lineEndFound && pos < aBuffer.Length() ) + { + if( !tagEndFound && KParamNameTail.iBuf[ 0 ] == aBuffer[ pos ] ) + { + tagEndFound = ETrue; + } + else if( tagEndFound && KParamNameHead.iBuf[ 0 ] == aBuffer[ pos ] ) + { + lineEndFound = ETrue; + break; + } + + else if( ( KSpace != aBuffer[ pos ] ) && + ( KNewLine != aBuffer[ pos ] ) && + ( KCarriageReturn != aBuffer[ pos ] ) && + ( KTab != aBuffer[ pos ] ) && + tagEndFound ) + { + tagEndFound = EFalse; + } + ++pos; + } + + if( !lineEndFound ) + { + //End of line not found--malformed xml file or no more data + //get highest file position; and check EoF + TInt hiPos = 0; + + if (InputFile().Size(hiPos) != KErrNone) + { + return KErrGeneral; + } + + //check for end of file + if ( aBuffer.Length() < KMaxLineSize ) + { + aLine.Set( aBuffer ); + return KErrEof; + } + else + { + return KErrNotFound; + } + } + + aLine.Set( aBuffer.Left( pos ) ); + + return KErrNone ; + } + +// --------------------------------------------------------- +// CReaderXML::DetectFeatureHead +// --------------------------------------------------------- +// +TDbCreatorFeatures CReaderXML::DetectFeatureHead() + { + TDbCreatorFeatures feature( EFeatureNone ); + + if ( iLine->FindF( KFeatureHeadPacketData ) != KErrNotFound ) + { + feature = EFeaturePacketData; + } + else if ( iLine->FindF( KFeatureHeadWLAN ) != KErrNotFound ) + { + feature = EFeatureWLAN; + } + else if ( iLine->FindF( KFeatureHeadLAN ) != KErrNotFound ) + { + feature = EFeatureLAN; + } + else if ( iLine->FindF( KFeatureHeadVPN ) != KErrNotFound ) + { + feature = EFeatureVPN; + } + else if ( iLine->FindF( KFeatureHeadDN ) != KErrNotFound ) + { + feature = EFeatureDN; + } + else if ( iLine->FindF( KFeatureHeadGlobal ) != KErrNotFound ) + { + feature = EFeatureGlobal; + iFoundGlobal = ETrue; + } + else + { + //feature not found + } + + return feature; + + } + + +// --------------------------------------------------------- +// CReaderXML::DetectFeatureTail +// --------------------------------------------------------- +// +TBool CReaderXML::DetectFeatureTail() + { + TBool found( EFalse ); + + switch ( CurrentFeature() ) + { + case EFeaturePacketData: + found = ( iLine->FindF( KFeatureTailPacketData ) != KErrNotFound ); + break; + case EFeatureWLAN: + found = ( iLine->FindF( KFeatureTailWLAN ) != KErrNotFound ); + break; + case EFeatureLAN: + found = ( iLine->FindF( KFeatureTailLAN ) != KErrNotFound ); + break; + case EFeatureVPN: + found = ( iLine->FindF( KFeatureTailVPN ) != KErrNotFound ); + break; + case EFeatureDN: + found = ( iLine->FindF( KFeatureTailDN ) != KErrNotFound ); + break; + case EFeatureGlobal: + found = ( iLine->FindF( KFeatureTailGlobal ) != KErrNotFound ); + break; + } + + return found; + } + + +// --------------------------------------------------------- +// CReaderXML::DetectTailAP +// --------------------------------------------------------- +// +TBool CReaderXML::DetectTailAP() + { + TBool found( EFalse ); + + switch ( CurrentFeature() ) + { + case EFeaturePacketData: + found = ( iLine->FindF( KDataTailPacketData ) != KErrNotFound ); + break; + case EFeatureWLAN: + found = ( iLine->FindF( KDataTailWLAN ) != KErrNotFound ); + break; + case EFeatureLAN: + found = ( iLine->FindF( KDataTailLAN ) != KErrNotFound ); + break; + case EFeatureVPN: + found = ( iLine->FindF( KDataTailVPN ) != KErrNotFound ); + break; + case EFeatureDN: + found = ( iLine->FindF( KDataTailDN ) != KErrNotFound ); + break; + case EFeatureGlobal: + //there is no data tail for Global settings -- looks for feature tail + found = ( iLine->FindF( KFeatureTailGlobal ) != KErrNotFound ); + break; + } + + return found; + } + + +// --------------------------------------------------------- +// CReaderXML::DetectParamL +// --------------------------------------------------------- +// +TInt CReaderXML::DetectParam() + { + TInt maxParam( 0 ); //maximum nunber of params in array + TInt fieldId( KErrNotFound ); //field id of detected parameter + RArray *params( NULL ); //pointer to the table used + //for or detection + + switch ( CurrentFeature() ) + { + case EFeaturePacketData: + maxParam = KMaxPacketDataParam; + params = &iPDParams; + break; + case EFeatureWLAN: + maxParam = KMaxWLANParam; + params = &iWLanParams; + break; + case EFeatureLAN: + maxParam = KMaxLANParam; + params = &iLanParams; + break; + case EFeatureVPN: + maxParam = KMaxVPNParam; + params = &iVpnParams; + break; + case EFeatureDN: + maxParam = KMaxDNParam; + params = &iDNParams; + break; + case EFeatureGlobal: + maxParam = KMaxGlobalParam; + params = &iGlobalParams; + break; + default: + User::Panic( KPanicInvalidCase, KErrInvalidCase ); + } + + //looks for parameter match + HBufC16* paramName = ReadParam( EParamName ); + TBool found ( EFalse ); + + if ( paramName == NULL ) + { + return fieldId; + } + + for ( TInt idx = 0; idx < maxParam && !found; idx++ ) + { + if ( paramName->CompareF( (*params)[idx].iParam ) == 0 ) + { + fieldId = (*params)[idx].iId; + found = ETrue; + } + } + + delete paramName; + return fieldId; + } + + +// --------------------------------------------------------- +// CReaderXML::ReadParam +// --------------------------------------------------------- +// +HBufC16* CReaderXML::ReadParam( TParamSegment aSegment ) + { + TBuf tag; //local buffer + TInt posh( 0 ); //header position + TInt post( 0 ); //tail position + HBufC16* ret = NULL; // returned pointer + + // calculation of the position + // + // EParamValue: posh| post| + // | | + // EParamName: posh| post|| | + // ¡ ¡¡ ¡ + // ParamValue + + switch ( aSegment ) + { + case EParamValue: + posh = iLine->Find( KParamValueHead ) + 1; + post = iLine->Find( KParamValueTail ); + break; + case EParamName: + posh = iLine->Find( KParamNameHead ) + 1; + post = iLine->Find( KParamNameTail ); + break; + default: + break; + } + + if ( posh == KErrNotFound || post == KErrNotFound || post == 0 ) + { + //line must contain header and tail and longer than 0 + ret = NULL; + } + else + { + // Copis the value to the local buffer and allocates buffer + tag.Copy( iLine->Mid( posh, post - posh ) ); + ret = tag.Alloc(); + // Checks the result. + if( ret == NULL ) + { + CLOG_WRITE_FORMAT( "! Warning: tag could not be allocated %S:", + &tag ); + } + } + return ret; + } + + +// --------------------------------------------------------- +// CReaderXML::DetectEncoding +// --------------------------------------------------------- +// +void CReaderXML::DetectEncodingL() + { + TInt originalPos( iFilePos ); //stores original file position + TBool found( EFalse ); + + for ( TInt i = ECharSetUnicode; i >= ECharSetAscii && !found; i--) + { + //assumes that the first line contains version and encoding info + iFilePos = 0; + iCharSet = static_cast( i ); + + if ( ReadLineL() == KErrNone ) + { + if( iCharSet == ECharSetAscii ) + { + if ( ( iLine->FindF( KXmlVersion ) != KErrNotFound ) || + ( iLine->FindF( KEncoding ) != KErrNotFound ) ) + { + if( iLine->FindF( KEncodingUtf8 ) != KErrNotFound ) + { + iCharSet = ECharSetUtf8; + } + found = ETrue; + } + } + else if( iCharSet == ECharSetUnicode ) + { + if ( ( iLine->FindF( KXmlVersion ) != KErrNotFound ) || + ( iLine->FindF( KEncoding ) != KErrNotFound ) ) + { + found = ETrue; + } + } + } + } + iFilePos = originalPos; + } + +// --------------------------------------------------------- +// CReaderXML::ConvertSpecialXMLChars +// --------------------------------------------------------- +// +void CReaderXML::ConvertSpecialXMLChars( HBufC* aPtrTag ) + { + if ( aPtrTag == NULL ) + { + return; + } + _LIT16( escapeStart, "&" ); + + //check if there are parameters to be replaced, if not: return + if ( aPtrTag->Des().Find( escapeStart ) == KErrNotFound ) + { + return; + } + + _LIT16( spXML1, "<" ); + _LIT16( sp1, "<" ); + ReplaceInString( aPtrTag, spXML1, sp1 ); + _LIT16( spXML2, "&" ); + _LIT16( sp2, "&" ); + ReplaceInString( aPtrTag, spXML2, sp2 ); + _LIT16( spXML3, ">" ); + _LIT16( sp3, ">" ); + ReplaceInString( aPtrTag, spXML3, sp3 ); + _LIT16( spXML4, """ ); + _LIT16( sp4, "\"" ); + ReplaceInString( aPtrTag, spXML4, sp4 ); + _LIT16( spXML5, "'" ); + _LIT16( sp5, "\'" ); + ReplaceInString( aPtrTag, spXML5, sp5 ); + _LIT16( spXML6, "¡" ); + _LIT16( sp6, "¡" ); + ReplaceInString( aPtrTag, spXML6, sp6 ); + _LIT16( spXML7, "¢" ); + _LIT16( sp7, "¢" ); + ReplaceInString( aPtrTag, spXML7, sp7 ); + _LIT16( spXML8, "£" ); + _LIT16( sp8, "£" ); + ReplaceInString( aPtrTag, spXML8, sp8 ); + _LIT16( spXML9, "¤" ); + _LIT16( sp9, "¤" ); + ReplaceInString( aPtrTag, spXML9, sp9 ); + _LIT16( spXML10, "¥" ); + _LIT16( sp10, "¥" ); + ReplaceInString( aPtrTag, spXML10, sp10 ); + _LIT16( spXML11, "¦" ); + _LIT16( sp11, "¦" ); + ReplaceInString( aPtrTag, spXML11, sp11 ); + _LIT16( spXML12, "§" ); + _LIT16( sp12, "§" ); + ReplaceInString( aPtrTag, spXML12, sp12 ); + _LIT16( spXML13, "¨" ); + _LIT16( sp13, "¨" ); + ReplaceInString( aPtrTag, spXML13, sp13 ); + _LIT16( spXML14, "©" ); + _LIT16( sp14, "©" ); + ReplaceInString( aPtrTag, spXML14, sp14 ); + _LIT16( spXML15, "ª" ); + _LIT16( sp15, "ª" ); + ReplaceInString( aPtrTag, spXML15, sp15 ); + _LIT16( spXML16, "«" ); + _LIT16( sp16, "«" ); + ReplaceInString( aPtrTag, spXML16, sp16 ); + _LIT16( spXML17, "¬" ); + _LIT16( sp17, "¬" ); + ReplaceInString( aPtrTag, spXML17, sp17 ); + _LIT16( spXML18, "®" ); + _LIT16( sp18, "®" ); + ReplaceInString( aPtrTag, spXML18, sp18 ); + _LIT16( spXML19, "¯" ); + _LIT16( sp19, "¯" ); + ReplaceInString( aPtrTag, spXML19, sp19 ); + _LIT16( spXML20, "°" ); + _LIT16( sp20, "°" ); + ReplaceInString( aPtrTag, spXML20, sp20 ); + _LIT16( spXML21, "±" ); + _LIT16( sp21, "±" ); + ReplaceInString( aPtrTag, spXML21, sp21 ); + _LIT16( spXML22, "²" ); + _LIT16( sp22, "²" ); + ReplaceInString( aPtrTag, spXML22, sp22 ); + _LIT16( spXML23, "³" ); + _LIT16( sp23, "³" ); + ReplaceInString( aPtrTag, spXML23, sp23 ); + _LIT16( spXML24, "´" ); + _LIT16( sp24, "´" ); + ReplaceInString( aPtrTag, spXML24, sp24 ); + _LIT16( spXML25, "µ" ); + _LIT16( sp25, "µ" ); + ReplaceInString( aPtrTag, spXML25, sp25 ); + _LIT16( spXML26, "¶" ); + _LIT16( sp26, "¶" ); + ReplaceInString( aPtrTag, spXML26, sp26 ); + _LIT16( spXML27, "·" ); + _LIT16( sp27, "·" ); + ReplaceInString( aPtrTag, spXML27, sp27 ); + _LIT16( spXML28, "¸" ); + _LIT16( sp28, "¸" ); + ReplaceInString( aPtrTag, spXML28, sp28 ); + _LIT16( spXML29, "¹" ); + _LIT16( sp29, "¹" ); + ReplaceInString( aPtrTag, spXML29, sp29 ); + _LIT16( spXML30, "º" ); + _LIT16( sp30, "º" ); + ReplaceInString( aPtrTag, spXML30, sp30 ); + _LIT16( spXML31, "»" ); + _LIT16( sp31, "»" ); + ReplaceInString( aPtrTag, spXML31, sp31 ); + _LIT16( spXML32, "¼" ); + _LIT16( sp32, "¼" ); + ReplaceInString( aPtrTag, spXML32, sp32 ); + _LIT16( spXML33, "½" ); + _LIT16( sp33, "½" ); + ReplaceInString( aPtrTag, spXML33, sp33 ); + _LIT16( spXML34, "¾" ); + _LIT16( sp34, "¾" ); + ReplaceInString( aPtrTag, spXML34, sp34 ); + _LIT16( spXML35, "¿" ); + _LIT16( sp35, "¿" ); + ReplaceInString( aPtrTag, spXML35, sp35 ); + _LIT16( spXML36, "À" ); + _LIT16( sp36, "À" ); + ReplaceInString( aPtrTag, spXML36, sp36 ); + _LIT16( spXML37, "Á" ); + _LIT16( sp37, "Á" ); + ReplaceInString( aPtrTag, spXML37, sp37 ); + _LIT16( spXML38, "Â" ); + _LIT16( sp38, "Â" ); + ReplaceInString( aPtrTag, spXML38, sp38 ); + _LIT16( spXML39, "Ã" ); + _LIT16( sp39, "Ã" ); + ReplaceInString( aPtrTag, spXML39, sp39 ); + _LIT16( spXML40, "Ä" ); + _LIT16( sp40, "Ä" ); + ReplaceInString( aPtrTag, spXML40, sp40 ); + _LIT16( spXML41, "Å" ); + _LIT16( sp41, "Å" ); + ReplaceInString( aPtrTag, spXML41, sp41 ); + _LIT16( spXML42, "Æ" ); + _LIT16( sp42, "Æ" ); + ReplaceInString( aPtrTag, spXML42, sp42 ); + _LIT16( spXML43, "Ç" ); + _LIT16( sp43, "Ç" ); + ReplaceInString( aPtrTag, spXML43, sp43 ); + _LIT16( spXML44, "È" ); + _LIT16( sp44, "È" ); + ReplaceInString( aPtrTag, spXML44, sp44 ); + _LIT16( spXML45, "É" ); + _LIT16( sp45, "É" ); + ReplaceInString( aPtrTag, spXML45, sp45 ); + _LIT16( spXML46, "Ê" ); + _LIT16( sp46, "Ê" ); + ReplaceInString( aPtrTag, spXML46, sp46 ); + _LIT16( spXML47, "Ë" ); + _LIT16( sp47, "Ë" ); + ReplaceInString( aPtrTag, spXML47, sp47 ); + _LIT16( spXML48, "Ì" ); + _LIT16( sp48, "Ì" ); + ReplaceInString( aPtrTag, spXML48, sp48 ); + _LIT16( spXML49, "Í" ); + _LIT16( sp49, "Í" ); + ReplaceInString( aPtrTag, spXML49, sp49 ); + _LIT16( spXML50, "Î" ); + _LIT16( sp50, "Î" ); + ReplaceInString( aPtrTag, spXML50, sp50 ); + _LIT16( spXML51, "Ï" ); + _LIT16( sp51, "Ï" ); + ReplaceInString( aPtrTag, spXML51, sp51 ); + _LIT16( spXML52, "Ð" ); + _LIT16( sp52, "Ð" ); + ReplaceInString( aPtrTag, spXML52, sp52 ); + _LIT16( spXML53, "Ñ" ); + _LIT16( sp53, "Ñ" ); + ReplaceInString( aPtrTag, spXML53, sp53 ); + _LIT16( spXML54, "Ò" ); + _LIT16( sp54, "Ò" ); + ReplaceInString( aPtrTag, spXML54, sp54 ); + _LIT16( spXML55, "Ó" ); + _LIT16( sp55, "Ó" ); + ReplaceInString( aPtrTag, spXML55, sp55 ); + _LIT16( spXML56, "Ô" ); + _LIT16( sp56, "Ô" ); + ReplaceInString( aPtrTag, spXML56, sp56 ); + _LIT16( spXML57, "Õ" ); + _LIT16( sp57, "Õ" ); + ReplaceInString( aPtrTag, spXML57, sp57 ); + _LIT16( spXML58, "Ö" ); + _LIT16( sp58, "Ö" ); + ReplaceInString( aPtrTag, spXML58, sp58 ); + _LIT16( spXML59, "×" ); + _LIT16( sp59, "×" ); + ReplaceInString( aPtrTag, spXML59, sp59 ); + _LIT16( spXML60, "Ø" ); + _LIT16( sp60, "Ø" ); + ReplaceInString( aPtrTag, spXML60, sp60 ); + _LIT16( spXML61, "Ù" ); + _LIT16( sp61, "Ù" ); + ReplaceInString( aPtrTag, spXML61, sp61 ); + _LIT16( spXML62, "Ú" ); + _LIT16( sp62, "Ú" ); + ReplaceInString( aPtrTag, spXML62, sp62 ); + _LIT16( spXML63, "Û" ); + _LIT16( sp63, "Û" ); + ReplaceInString( aPtrTag, spXML63, sp63 ); + _LIT16( spXML64, "Ü" ); + _LIT16( sp64, "Ü" ); + ReplaceInString( aPtrTag, spXML64, sp64 ); + _LIT16( spXML65, "Ý" ); + _LIT16( sp65, "Ý" ); + ReplaceInString( aPtrTag, spXML65, sp65 ); + _LIT16( spXML66, "Þ" ); + _LIT16( sp66, "Þ" ); + ReplaceInString( aPtrTag, spXML66, sp66 ); + _LIT16( spXML67, "ß" ); + _LIT16( sp67, "ß" ); + ReplaceInString( aPtrTag, spXML67, sp67 ); + _LIT16( spXML68, "à" ); + _LIT16( sp68, "à" ); + ReplaceInString( aPtrTag, spXML68, sp68 ); + _LIT16( spXML69, "á" ); + _LIT16( sp69, "á" ); + ReplaceInString( aPtrTag, spXML69, sp69 ); + _LIT16( spXML70, "â" ); + _LIT16( sp70, "â" ); + ReplaceInString( aPtrTag, spXML70, sp70 ); + _LIT16( spXML71, "ã" ); + _LIT16( sp71, "ã" ); + ReplaceInString( aPtrTag, spXML71, sp71 ); + _LIT16( spXML72, "ä"); + _LIT16( sp72, "ä" ); + ReplaceInString( aPtrTag, spXML72, sp72 ); + _LIT16( spXML73, "å" ); + _LIT16( sp73, "å" ); + ReplaceInString( aPtrTag, spXML73, sp73 ); + _LIT16( spXML74, "æ" ); + _LIT16( sp74, "æ" ); + ReplaceInString( aPtrTag, spXML74, sp74 ); + _LIT16( spXML75, "&acedil;" ); + _LIT16( sp75, "ç" ); + ReplaceInString( aPtrTag, spXML75, sp75 ); + _LIT16( spXML76, "è" ); + _LIT16( sp76, "è" ); + ReplaceInString( aPtrTag, spXML76, sp76 ); + _LIT16( spXML77, "é" ); + _LIT16( sp77, "é" ); + ReplaceInString( aPtrTag, spXML77, sp77 ); + _LIT16( spXML78, "ê" ); + _LIT16( sp78, "ê" ); + ReplaceInString( aPtrTag, spXML78, sp78 ); + _LIT16( spXML79, "ë" ); + _LIT16( sp79, "ë" ); + ReplaceInString( aPtrTag, spXML79, sp79 ); + _LIT16( spXML80, "ì" ); + _LIT16( sp80, "ì" ); + ReplaceInString( aPtrTag, spXML80, sp80 ); + _LIT16( spXML81, "í" ); + _LIT16( sp81, "í" ); + ReplaceInString( aPtrTag, spXML81, sp81 ); + _LIT16( spXML82, "î" ); + _LIT16( sp82, "î" ); + ReplaceInString( aPtrTag, spXML82, sp82 ); + _LIT16( spXML83, "ï" ); + _LIT16( sp83, "ï" ); + ReplaceInString( aPtrTag, spXML83, sp83 ); + _LIT16( spXML84, "ð" ); + _LIT16( sp84, "ð" ); + ReplaceInString( aPtrTag, spXML84, sp84 ); + _LIT16( spXML85, "ñ" ); + _LIT16( sp85, "ñ" ); + ReplaceInString( aPtrTag, spXML85, sp85 ); + _LIT16( spXML86, "ò" ); + _LIT16( sp86, "ò" ); + ReplaceInString( aPtrTag, spXML86, sp86 ); + _LIT16( spXML87, "ó" ); + _LIT16( sp87, "ó" ); + ReplaceInString( aPtrTag, spXML87, sp87 ); + _LIT16( spXML88, "ô" ); + _LIT16( sp88, "ô" ); + ReplaceInString( aPtrTag, spXML88, sp88 ); + _LIT16( spXML89, "õ" ); + _LIT16( sp89, "õ" ); + ReplaceInString( aPtrTag, spXML89, sp89 ); + _LIT16( spXML90, "ö" ); + _LIT16( sp90, "ö" ); + ReplaceInString( aPtrTag, spXML90, sp90 ); + _LIT16( spXML91, "÷" ); + _LIT16( sp91, "÷" ); + ReplaceInString( aPtrTag, spXML91, sp91 ); + _LIT16( spXML92, "ø" ); + _LIT16( sp92, "ø" ); + ReplaceInString( aPtrTag, spXML92, sp92 ); + _LIT16( spXML93, "ù" ); + _LIT16( sp93, "ù" ); + ReplaceInString( aPtrTag, spXML93, sp93 ); + _LIT16( spXML94, "ú" ); + _LIT16( sp94, "ú" ); + ReplaceInString( aPtrTag, spXML94, sp94 ); + _LIT16( spXML95, "û" ); + _LIT16( sp95, "û" ); + ReplaceInString( aPtrTag, spXML95, sp95 ); + _LIT16( spXML96, "ü" ); + _LIT16( sp96, "ü" ); + ReplaceInString( aPtrTag, spXML96, sp96 ); + _LIT16( spXML97, "ý" ); + _LIT16( sp97, "ý" ); + ReplaceInString( aPtrTag, spXML97, sp97 ); + _LIT16( spXML98, "þ" ); + _LIT16( sp98, "þ" ); + ReplaceInString( aPtrTag, spXML98, sp98 ); + _LIT16( spXML99, "ÿ" ); + _LIT16( sp99, "ÿ" ); + ReplaceInString( aPtrTag, spXML99, sp99 ); + _LIT16( spXML100, "Œ" ); + _LIT16( sp100, "Œ" ); + ReplaceInString( aPtrTag, spXML100, sp100 ); + _LIT16( spXML101, "œ" ); + _LIT16( sp101, "œ" ); + ReplaceInString( aPtrTag, spXML101, sp101 ); + _LIT16( spXML102, "Š" ); + _LIT16( sp102, "Š" ); + ReplaceInString( aPtrTag, spXML102, sp102 ); + _LIT16( spXML103, "š" ); + _LIT16( sp103, "š" ); + ReplaceInString( aPtrTag, spXML103, sp103 ); + _LIT16( spXML104, "Ÿ" ); + _LIT16( sp104, "Ÿ" ); + ReplaceInString( aPtrTag, spXML104, sp104 ); + _LIT16( spXML105, "ƒ" ); + _LIT16( sp105, "ƒ" ); + ReplaceInString( aPtrTag, spXML105, sp105 ); + _LIT16( spXML106, "ˆ" ); + _LIT16( sp106, "ˆ" ); + ReplaceInString( aPtrTag, spXML106, sp106 ); + _LIT16( spXML107, "˜" ); + _LIT16( sp107, "˜" ); + ReplaceInString( aPtrTag, spXML107, sp107 ); + } + +// --------------------------------------------------------- +// CReaderXML::Replace +// --------------------------------------------------------- +// +void CReaderXML::ReplaceInString( HBufC* aPtrTag, + const TDesC& aSpXML, + const TDesC& aSp ) + { + if( aPtrTag == NULL ) + { + return; + } + TInt strPos = aPtrTag->Des().Find(aSpXML); + while ( strPos != KErrNotFound ) + { + aPtrTag->Des().Replace(strPos, aSpXML.Length() , aSp); + strPos = aPtrTag->Des().Find(aSpXML); + } + } + +//maximum number of VPN AP parameters + + +void CReaderXML::FillPacketDataParams() + { + iPDParams.Append( EInputParams( ECmName, KConnectionName ) ); + iPDParams.Append( EInputParams( ECmId, KConnectionId ) ); + iPDParams.Append( EInputParams( ECmProtected, KProtected ) ); + iPDParams.Append( EInputParams( ECmHidden, KHidden ) ); + iPDParams.Append( EInputParams( ECmMetaHiddenAgent, KHiddenAgent ) ); + iPDParams.Append( EInputParams( ECmMetaHighlight, KHighlighted ) ); + iPDParams.Append( EInputParams( ECmSeamlessnessLevel, KSeamlessness ) ); + iPDParams.Append( EInputParams( EPacketDataAPName, KGprs_AP_Name ) ); + iPDParams.Append( EInputParams( EPacketDataIFAuthName, KUserName ) ); + iPDParams.Append( EInputParams( EPacketDataIFPromptForAuth, KPromptPassword ) ); + iPDParams.Append( EInputParams( EPacketDataIFAuthPass, KPassword ) ); + iPDParams.Append( EInputParams( EPacketDataDisablePlainTextAuth, KPasswordAuthType ) ); + iPDParams.Append( EInputParams( ECmWapIPGatewayAddress, KWAPGatewayIP ) ); + iPDParams.Append( EInputParams( ECmStartPage, KStartingPage ) ); + iPDParams.Append( EInputParams( ECmWapIPSecurity, KWTLS_Security ) ); + iPDParams.Append( EInputParams( ECmWapIPWSPOption, KWAP_ConnectionType ) ); + iPDParams.Append( EInputParams( EPacketDataIPAddr, KPhoneIP ) ); + iPDParams.Append( EInputParams( EPacketDataIPNameServer1, KPrimaryNameServer ) ); + iPDParams.Append( EInputParams( EPacketDataIPNameServer2, KSecondaryNameServer ) ); + iPDParams.Append( EInputParams( ECmProxyServerName, KProxyServerAddress ) ); + iPDParams.Append( EInputParams( ECmProxyPortNumber, KProxyPortNumber ) ); + iPDParams.Append( EInputParams( ECmProxyProtocolName, KProxyProtocolName ) ); + iPDParams.Append( EInputParams( EPacketDataIPIP6NameServer1, KPrimaryIP6NameServer ) ); + iPDParams.Append( EInputParams( EPacketDataIPIP6NameServer2, KSecondaryIP6NameServer ) ); + iPDParams.Append( EInputParams( EPacketDataApType, KIspType ) ); + iPDParams.Append( EInputParams( EPacketDataPDPType, KNetworkType ) ); + iPDParams.Append( EInputParams( EPacketDataUseEdge, KGprsUseEdge ) ); + iPDParams.Append( EInputParams( EPacketDataLinger, KLinger ) ); + }; + +void CReaderXML::FillLanParams() + { + iLanParams.Append( EInputParams( ECmName, KConnectionName ) ); + iLanParams.Append( EInputParams( ECmId, KConnectionId ) ); + iLanParams.Append( EInputParams( ECmProtected, KProtected ) ); + iLanParams.Append( EInputParams( ECmHidden, KHidden ) ); + iLanParams.Append( EInputParams( ECmMetaHiddenAgent, KHiddenAgent ) ); + iLanParams.Append( EInputParams( ECmMetaHighlight, KHighlighted ) ); + iLanParams.Append( EInputParams( ECmSeamlessnessLevel, KSeamlessness ) ); + iLanParams.Append( EInputParams( ECmWapIPGatewayAddress, KWAPGatewayIP ) ); + iLanParams.Append( EInputParams( ECmStartPage, KStartingPage ) ); + iLanParams.Append( EInputParams( ECmWapIPSecurity, KWTLS_Security ) ); + iLanParams.Append( EInputParams( ECmWapIPWSPOption, KWAP_ConnectionType ) ); + iLanParams.Append( EInputParams( ECmProxyServerName, KProxyServerAddress ) ); + iLanParams.Append( EInputParams( ECmProxyPortNumber, KProxyPortNumber ) ); + iLanParams.Append( EInputParams( ECmProxyProtocolName, KProxyProtocolName ) ); + iLanParams.Append( EInputParams( ELanIfNetworks, KLanIfNetworks ) ); + iLanParams.Append( EInputParams( ELanIpNetMask, KLanIpNetMask ) ); + iLanParams.Append( EInputParams( ELanIpGateway, KLanIpGateway ) ); + iLanParams.Append( EInputParams( ELanIpAddr, KPhoneIP ) ); + iLanParams.Append( EInputParams( ELanIpNameServer1, KPrimaryNameServer ) ); + iLanParams.Append( EInputParams( ELanIpNameServer2, KSecondaryNameServer ) ); + iLanParams.Append( EInputParams( ELanIp6NameServer1, KPrimaryIP6NameServer ) ); + iLanParams.Append( EInputParams( ELanIp6NameServer2, KSecondaryIP6NameServer ) ); + iLanParams.Append( EInputParams( ELanIpAddrFromServer, KLanIpAddrFromServer ) ); + iLanParams.Append( EInputParams( ELanIpDNSAddrFromServer, KLanIpDNSAddrFromServer ) ); + iLanParams.Append( EInputParams( ELanConfigDaemonManagerName, KLanConfigDaemonManagerName ) ); + iLanParams.Append( EInputParams( ELanConfigDaemonName, KLanConfigDaemonName ) ); + }; + +//Binds WLAN access point parameters to field IDs +void CReaderXML::FillWLanParams() + { + iWLanParams.Append( EInputParams( ECmName, KConnectionName ) ); + iWLanParams.Append( EInputParams( ECmId, KConnectionId ) ); + iWLanParams.Append( EInputParams( ECmProtected, KProtected ) ); + iWLanParams.Append( EInputParams( ECmHidden, KHidden ) ); + iWLanParams.Append( EInputParams( ECmMetaHiddenAgent, KHiddenAgent ) ); + iWLanParams.Append( EInputParams( ECmMetaHighlight, KHighlighted ) ); + iWLanParams.Append( EInputParams( ECmSeamlessnessLevel, KSeamlessness ) ); + iWLanParams.Append( EInputParams( ECmStartPage, KStartingPage ) ); + iWLanParams.Append( EInputParams( EWlanSSID, KNetworkName ) ); + iWLanParams.Append( EInputParams( EWlanConnectionMode, KNetworkMode ) ); + iWLanParams.Append( EInputParams( EWlanSecurityMode, KSecurityMode ) ); + iWLanParams.Append( EInputParams( EWlanIpNameServer1, KPrimaryNameServer ) ); + iWLanParams.Append( EInputParams( EWlanIpNameServer2, KSecondaryNameServer ) ); + iWLanParams.Append( EInputParams( EWlanIp6NameServer1, KPrimaryIP6NameServer ) ); + iWLanParams.Append( EInputParams( EWlanIp6NameServer2, KSecondaryIP6NameServer ) ); + iWLanParams.Append( EInputParams( EWlanIpGateway, KWlanIpGatewayAddress ) ); + iWLanParams.Append( EInputParams( ECmProxyServerName, KProxyServerAddress ) ); + iWLanParams.Append( EInputParams( ECmProxyProtocolName, KProxyProtocolName ) ); + iWLanParams.Append( EInputParams( EWlanIpNetMask, KWlanIpNetMask ) ); + iWLanParams.Append( EInputParams( ECmProxyPortNumber, KProxyPortNumber ) ); + iWLanParams.Append( EInputParams( EWlanIpAddr, KPhoneIP ) ); + iWLanParams.Append( EInputParams( EWlanScanSSID, KWlanScanSSId ) ); + iWLanParams.Append( EInputParams( EWlanChannelID, KWlanChannelId ) ); + iWLanParams.Append( EInputParams( EWEPKeyInUse, KWEPKeyInUse ) ); + iWLanParams.Append( EInputParams( EWEPAuthType, KWEPAuthType ) ); + iWLanParams.Append( EInputParams( EWEPKey1Length, KWEPKey1Length ) ); + iWLanParams.Append( EInputParams( EWEPKey1Format, KWEPKey1Format ) ); + iWLanParams.Append( EInputParams( EWEPKey1Data, KWEPKey1Data ) ); + iWLanParams.Append( EInputParams( EWEPKey2Length, KWEPKey2Length ) ); + iWLanParams.Append( EInputParams( EWEPKey2Format, KWEPKey2Format ) ); + iWLanParams.Append( EInputParams( EWEPKey2Data, KWEPKey2Data ) ); + iWLanParams.Append( EInputParams( EWEPKey3Length, KWEPKey3Length ) ); + iWLanParams.Append( EInputParams( EWEPKey3Format, KWEPKey3Format ) ); + iWLanParams.Append( EInputParams( EWEPKey3Data, KWEPKey3Data ) ); + iWLanParams.Append( EInputParams( EWEPKey4Length, KWEPKey4Length ) ); + iWLanParams.Append( EInputParams( EWEPKey4Format, KWEPKey4Format ) ); + iWLanParams.Append( EInputParams( EWEPKey4Data, KWEPKey4Data ) ); + iWLanParams.Append( EInputParams( EWPAPresharedKey, KWPAPresharedKey ) ); + iWLanParams.Append( EInputParams( EWPAKeyLength, KWPAKeyLength ) ); + iWLanParams.Append( EInputParams( EWPAListOfEAPs, KWPAListOfEAPs ) ); + iWLanParams.Append( EInputParams( EWPAUseOfPresharedKey, KWPAUseOfPresharedKey ) ); + iWLanParams.Append( EInputParams( EEapGtcUsername, KEapGtcUsername ) ); + iWLanParams.Append( EInputParams( EEapGtcSessionValidityTime, KEapGtcSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapGtcEncapsulation, KEapGtcEncapsulation ) ); + iWLanParams.Append( EInputParams( EEapTlsUsername, KEapTlsUsername ) ); + iWLanParams.Append( EInputParams( EEapTlsRealm, KEapTlsRealm ) ); + iWLanParams.Append( EInputParams( EEapTlsVerifyServerRealm, KEapTlsVerifyServerRealm ) ); + iWLanParams.Append( EInputParams( EEapTlsRequireClientAuth, KEapTlsRequireClientAuth ) ); + iWLanParams.Append( EInputParams( EEapTlsSessionValidityTime, KEapTlsSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapTlsCipherSuites, KEapTlsCipherSuites ) ); + iWLanParams.Append( EInputParams( EEapTlsUserCertSubjectKeyId, KEapTlsUserCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapTlsUserCertIssuerName, KEapTlsUserCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapTlsUserCertSerialNumber, KEapTlsUserCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapTlsCaCertSubjectKeyId, KEapTlsCaCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapTlsCaCertIssuerName, KEapTlsCaCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapTlsCaCertSerialNumber, KEapTlsCaCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapTlsEncapsulation, KEapTlsEncapsulation ) ); + iWLanParams.Append( EInputParams( EEapLeapUsername, KEapLeapUsername ) ); + iWLanParams.Append( EInputParams( EEapLeapPassword, KEapLeapPassword ) ); + iWLanParams.Append( EInputParams( EEapLeapSessionValidityTime, KEapLeapSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapSimUsername, KEapSimUsername ) ); + iWLanParams.Append( EInputParams( EEapSimRealm, KEapSimRealm ) ); + iWLanParams.Append( EInputParams( EEapSimUsePseudonyms, KEapSimUsePseudonyms ) ); + iWLanParams.Append( EInputParams( EEapSimSessionValidityTime, KEapSimSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapSimEncapsulation, KEapSimEncapsulation ) ); + iWLanParams.Append( EInputParams( EEapTtlsUsername, KEapTtlsUsername ) ); + iWLanParams.Append( EInputParams( EEapTtlsRealm, KEapTtlsRealm ) ); + iWLanParams.Append( EInputParams( EEapTtlsVerifyServerRealm, KEapTtlsVerifyServerRealm ) ); + iWLanParams.Append( EInputParams( EEapTtlsRequireClientAuth, KEapTtlsRequireClientAuth ) ); + iWLanParams.Append( EInputParams( EEapTtlsSessionValidityTime, KEapTtlsSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapTtlsCipherSuites, KEapTtlsCipherSuites ) ); + iWLanParams.Append( EInputParams( EEapTtlsEncapsulatedTypes, KEapTtlsEncapsulatedTypes ) ); + iWLanParams.Append( EInputParams( EEapTtlsUserCertSubjectKeyId, KEapTtlsUserCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapTtlsUserCertIssuerName, KEapTtlsUserCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapTtlsUserCertSerialNumber, KEapTtlsUserCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapTtlsCaCertSubjectKeyId, KEapTtlsCaCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapTtlsCaCertIssuerName, KEapTtlsCaCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapTtlsCaCertSerialNumber, KEapTtlsCaCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapAkaUsername, KEapAkaUsername ) ); + iWLanParams.Append( EInputParams( EEapAkaRealm, KEapAkaRealm ) ); + iWLanParams.Append( EInputParams( EEapAkaUsePseudonyms, KEapAkaUsePseudonyms ) ); + iWLanParams.Append( EInputParams( EEapAkaSessionValidityTime, KEapAkaSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapAkaEncapsulation, KEapAkaEncapsulation ) ); + iWLanParams.Append( EInputParams( EEapPeapUsername, KEapPeapUsername ) ); + iWLanParams.Append( EInputParams( EEapPeapRealm, KEapPeapRealm ) ); + iWLanParams.Append( EInputParams( EEapPeapVerifyServerRealm, KEapPeapVerifyServerRealm ) ); + iWLanParams.Append( EInputParams( EEapPeapRequireClientAuth, KEapPeapRequireClientAuth ) ); + iWLanParams.Append( EInputParams( EEapPeapSessionValidityTime, KEapPeapSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapPeapCipherSuites, KEapPeapCipherSuites ) ); + iWLanParams.Append( EInputParams( EEapPeapV0Allowed, KEapPeapV0Allowed ) ); + iWLanParams.Append( EInputParams( EEapPeapV1Allowed, KEapPeapV1Allowed ) ); + iWLanParams.Append( EInputParams( EEapPeapV2Allowed, KEapPeapV2Allowed ) ); + iWLanParams.Append( EInputParams( EEapPeapEncapsulatedTypes, KEapPeapEncapsulatedTypes ) ); + iWLanParams.Append( EInputParams( EEapPeapUserCertSubjectKeyId, KEapPeapUserCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapPeapUserCertIssuerName, KEapPeapUserCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapPeapUserCertSerialNumber, KEapPeapUserCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapPeapCaCertSubjectKeyId, KEapPeapCaCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapPeapCaCertIssuerName, KEapPeapCaCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapPeapCaCertSerialNumber, KEapPeapCaCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapMschapv2Username, KEapMschapv2Username ) ); + iWLanParams.Append( EInputParams( EEapMschapv2Password, KEapMschapv2Password ) ); + iWLanParams.Append( EInputParams( EEapMschapv2SessionValidityTime, KEapMschapv2SessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapMschapv2Encapsulation, KEapMschapv2Encapsulation ) ); + iWLanParams.Append( EInputParams( EEapFastUsername, KEapFastUsername ) ); + iWLanParams.Append( EInputParams( EEapFastRealm, KEapFastRealm ) ); + iWLanParams.Append( EInputParams( EEapFastVerifyServerRealm, KEapFastVerifyServerRealm ) ); + iWLanParams.Append( EInputParams( EEapFastRequireClientAuth, KEapFastRequireClientAuth ) ); + iWLanParams.Append( EInputParams( EEapFastSessionValidityTime, KEapFastSessionValidityTime ) ); + iWLanParams.Append( EInputParams( EEapFastCipherSuites, KEapFastCipherSuites ) ); + iWLanParams.Append( EInputParams( EEapFastEncapsulatedTypes, KEapFastEncapsulatedTypes ) ); + iWLanParams.Append( EInputParams( EEapFastAuthProvModeAllowed, KEapFastAuthProvModeAllowed ) ); + iWLanParams.Append( EInputParams( EEapFastUnauthProvModeAllowed, KEapFastUnauthProvModeAllowed ) ); + iWLanParams.Append( EInputParams( EEapFastWarnADHPNoPAC, KEapFastWarnADHPNoPAC ) ); + iWLanParams.Append( EInputParams( EEapFastWarnADHPNoMatchingPAC, KEapFastWarnADHPNoMatchingPAC ) ); + iWLanParams.Append( EInputParams( EEapFastWarnNotDefaultServer, KEapFastWarnNotDefaultServer ) ); + iWLanParams.Append( EInputParams( EEapFastUserCertSubjectKeyId, KEapFastUserCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapFastUserCertIssuerName, KEapFastUserCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapFastUserCertSerialNumber, KEapFastUserCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EEapFastCaCertSubjectKeyId, KEapFastCaCertSubjectKeyId ) ); + iWLanParams.Append( EInputParams( EEapFastCaCertIssuerName, KEapFastCaCertIssuerName ) ); + iWLanParams.Append( EInputParams( EEapFastCaCertSerialNumber, KEapFastCaCertSerialNumber ) ); + iWLanParams.Append( EInputParams( EMschapv2Username, KMschapv2Username ) ); + iWLanParams.Append( EInputParams( EMschapv2Password, KMschapv2Password ) ); + iWLanParams.Append( EInputParams( EMschapv2SessionValidityTime, KMschapv2SessionValidityTime ) ); + iWLanParams.Append( EInputParams( EMschapv2Encapsulation, KMschapv2Encapsulation ) ); + }; + + + +void CReaderXML::FillVpnParams() + { + iVpnParams.Reset(); + + iVpnParams.Append( EInputParams( ECmName, KConnectionName ) ); + iVpnParams.Append( EInputParams( ECmId, KConnectionId ) ); + iVpnParams.Append( EInputParams( ECmProtected, KProtected ) ); + iVpnParams.Append( EInputParams( ECmHidden, KHidden ) ); + iVpnParams.Append( EInputParams( ECmMetaHiddenAgent, KHiddenAgent ) ); + iVpnParams.Append( EInputParams( ECmMetaHighlight, KHighlighted ) ); + iVpnParams.Append( EInputParams( ECmSeamlessnessLevel, KSeamlessness ) ); + iVpnParams.Append( EInputParams( ECmProxyServerName, KProxyServerAddress ) ); + iVpnParams.Append( EInputParams( ECmProxyPortNumber, KProxyPortNumber ) ); + iVpnParams.Append( EInputParams( ECmProxyProtocolName, KProxyProtocolName ) ); + iVpnParams.Append( EInputParams( EVPN_IapName, KVpnIapName ) ); + iVpnParams.Append( EInputParams( EVpnServicePolicy, KVpnServicePolicy ) ); + + }; + +//Binds Gobal settings parameters to field IDs +void CReaderXML::FillGlobalParams() + { + iGlobalParams.Append( EInputParams( EGPRSAttachMode, KAttachMode ) ); + iGlobalParams.Append( EInputParams( EDefaultAP, KDefaultAP) ); + iGlobalParams.Append( EInputParams( EDefaultDnIcon, KDefaultDnIcon ) ); + iGlobalParams.Append( EInputParams( EPriorityLan, KPriorityLan ) ); + iGlobalParams.Append( EInputParams( EPriorityWlan, KPriorityWlan ) ); + iGlobalParams.Append( EInputParams( EPriorityPan, KPriorityPan ) ); + iGlobalParams.Append( EInputParams( EPriorityGprsOut, KPriorityGprsOut ) ); + iGlobalParams.Append( EInputParams( EPriorityGprsIn, KPriorityGprsIn ) ); + iGlobalParams.Append( EInputParams( EPriorityCdma2k, KPriorityCdma2k ) ); + iGlobalParams.Append( EInputParams( EPriorityDialOut, KPriorityDialOut ) ); + iGlobalParams.Append( EInputParams( EPriorityDialIn, KPriorityDialIn ) ); + iGlobalParams.Append( EInputParams( EPriorityVpn, KPriorityVpn ) ); + iGlobalParams.Append( EInputParams( EPriorityMip, KPriorityMip ) ); + iGlobalParams.Append( EInputParams( EUIPriorityLan, KUIPriorityLan ) ); + iGlobalParams.Append( EInputParams( EUIPriorityWlan, KUIPriorityWlan ) ); + iGlobalParams.Append( EInputParams( EUIPriorityPan, KUIPriorityPan ) ); + iGlobalParams.Append( EInputParams( EUIPriorityGprsOut, KUIPriorityGprsOut ) ); + iGlobalParams.Append( EInputParams( EUIPriorityGprsIn, KUIPriorityGprsIn ) ); + iGlobalParams.Append( EInputParams( EUIPriorityCdma2k, KUIPriorityCdma2k ) ); + iGlobalParams.Append( EInputParams( EUIPriorityDialOut, KUIPriorityDialOut ) ); + iGlobalParams.Append( EInputParams( EUIPriorityDialIn, KUIPriorityDialIn ) ); + iGlobalParams.Append( EInputParams( EUIPriorityVpn, KUIPriorityVpn ) ); + iGlobalParams.Append( EInputParams( EUIPriorityMip, KUIPriorityMip ) ); + iGlobalParams.Append( EInputParams( EDefaultConnectionType, KDefaultConnectionType ) ); + iGlobalParams.Append( EInputParams( EDefaultConnectionName, KDefaultConnectionName ) ); + iGlobalParams.Append( EInputParams( EUsageOfWlan, KUsageOfWlan ) ); + iGlobalParams.Append( EInputParams( ESeamlessnessHome, KSeamlessnessHome ) ); + iGlobalParams.Append( EInputParams( ESeamlessnessVisitor, KSeamlessnessVisitor ) ); + iGlobalParams.Append( EInputParams( EGprsLastSocketActivityTimeout, KGprsLastSocketActivityTimeout ) ); + iGlobalParams.Append( EInputParams( EGprsLastSessionClosedTimeout, KGprsLastSessionClosedTimeout ) ); + iGlobalParams.Append( EInputParams( EGprsLastSocketClosedTimeout, KGprsLastSocketClosedTimeout ) ); + iGlobalParams.Append( EInputParams( EWlanLastSocketActivityTimeout, KWlanLastSocketActivityTimeout ) ); + iGlobalParams.Append( EInputParams( EWlanLastSessionClosedTimeout, KWlanLastSessionClosedTimeout ) ); + iGlobalParams.Append( EInputParams( EWlanLastSocketClosedTimeout, KWlanLastSocketClosedTimeout ) ); + iGlobalParams.Append( EInputParams( EWlanBGScanInterval, KWlanBGScanInterval ) ); + iGlobalParams.Append( EInputParams( EWlanUseDefSettings, KWlanUseDefSettings ) ); + iGlobalParams.Append( EInputParams( EWlanLongRetry, KWlanLongRetry ) ); + iGlobalParams.Append( EInputParams( EWlanShortRetry, KWlanShortRetry ) ); + iGlobalParams.Append( EInputParams( EWlanRTS, KWlanRTS ) ); + iGlobalParams.Append( EInputParams( EWlanTxPowerLevel, KWlanTxPowerLevel ) ); + iGlobalParams.Append( EInputParams( EWlanRadioMeasurements, KWlanRadioMeasurements ) ); + iGlobalParams.Append( EInputParams( EWlanPowerMode, KWlanPowerMode ) ); + + }; + +//Describes a Destination Network +void CReaderXML::FillDNParams() + { + iDNParams.Append( EInputParams( EDN_Name, KDN_Name ) ); + iDNParams.Append( EInputParams( EDN_Id, KDN_Id ) ); + iDNParams.Append( EInputParams( EDN_Icon, KDN_Icon ) ); + iDNParams.Append( EInputParams( EDN_Metadata, KDN_Metadata ) ); + iDNParams.Append( EInputParams( EDN_Protection, KDN_Protection ) ); + iDNParams.Append( EInputParams( EDN_Hidden, KHidden ) ); + iDNParams.Append( EInputParams( EDN_HiddenAgent, KHiddenAgent ) ); + iDNParams.Append( EInputParams( EDN_Highlighted, KHighlighted ) ); + iDNParams.Append( EInputParams( EDN_EmbeddedDNName, KDN_EmbeddedDNName ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName ) ); + // Needed because of Customization Tool limitations + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName2 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName3 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName4 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName5 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName6 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName7 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName8 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName9 ) ); + iDNParams.Append( EInputParams( EDN_IAPName, KDN_IAPName10 ) ); + }; + + +// End of File.