williamr@2: /* williamr@2: * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: Declaration of the class CApAccessPointItem williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef ACCESSPOINTITEM_H williamr@2: #define ACCESSPOINTITEM_H williamr@2: williamr@2: // Deprecation warning williamr@2: #warning This header file has been deprecated. Will be removed in one of the next SDK releases. williamr@2: williamr@2: williamr@2: // INCLUDES williamr@2: #include <etelmm.h> williamr@2: #include <cdbcols.h> williamr@2: #include <nifvar.h> williamr@2: #include <ApEngineVer.h> williamr@2: #include <ApEngineConsts.h> williamr@2: williamr@2: williamr@2: // DATA TYPES williamr@2: /** williamr@2: * This enum is used to identify the data when reading or writing williamr@2: * CApAccessPointItem data. williamr@2: * <br>Field types: williamr@2: * <br> williamr@2: * 8 - bit text: williamr@2: * <br>ReadTextL( const TApMember aColumn, TDes8& aValue ) williamr@2: * <br>WriteTextL( const TApMember aColumn, const TDesC8& aValue ) williamr@2: * <br> EApIspIfCallbackInfo williamr@2: * <br> EApIspInitString williamr@2: * <br> williamr@2: * <br> williamr@2: * 16-bit text: williamr@2: * <br>ReadTextL( const TApMember aColumn, TDes16& aValue ) williamr@2: * <br>WriteTextL( const TApMember aColumn, const TDesC16& aValue ) williamr@2: * <br> EApWapAccessPointName williamr@2: * <br> EApWapCurrentBearer williamr@2: * <br> EApWapGatewayAddress williamr@2: * <br> EApWapServiceCentreAddress williamr@2: * <br> EApIapName williamr@2: * <br> EApIapServiceType williamr@2: * <br> EApIspName williamr@2: * <br> EApIspDescription williamr@2: * <br> EApIspDefaultTelNumber williamr@2: * <br> EApIspLoginName williamr@2: * <br> EApIspLoginPass williamr@2: * <br> EApIspIfName williamr@2: * <br> EApGprsIfName williamr@2: * <br> EApIspIfParams williamr@2: * <br> EApGprsIfParams williamr@2: * <br> EApIspIfNetworks williamr@2: * <br> EApGprsIfNetworks williamr@2: * <br> EApIspIfAuthName williamr@2: * <br> EApGprsIfAuthName williamr@2: * <br> EApIspIfAuthPass williamr@2: * <br> EApGprsIfAuthPassword williamr@2: * <br> EApIspIPAddr williamr@2: * <br> EApGprsIpAddr williamr@2: * <br> EApIspIPNetMask williamr@2: * <br> EApGprsIpNetMask williamr@2: * <br> EApIspIPGateway williamr@2: * <br> EApGprsIpGateway williamr@2: * <br> EApIspIPNameServer1 williamr@2: * <br> EApGprsIPNameServer1 williamr@2: * <br> EApIspIPNameServer2 williamr@2: * <br> EApGprsIPNameServer2 williamr@2: * <br> EApGprsPdpAddress williamr@2: * <br> EApProxyProtocolName williamr@2: * <br> EApNetworkName williamr@2: * <br> EApProxyLoginName williamr@2: * <br> EApProxyLoginPass williamr@2: * <br> EApIP6NameServer1 williamr@2: * <br> EApIP6NameServer2 williamr@2: * <br> EApLanBearerName williamr@2: * <br> williamr@2: * <br>Long text, 16 bit: williamr@2: * <br>const HBufC* ReadConstLongTextL( const TApMember aColumn ) williamr@2: * <br>WriteLongTextL( const TApMember aColumn, const TDesC& aValue ) williamr@2: * <br> EApWapStartPage williamr@2: * <br> EApIspLoginScript williamr@2: * <br> EApGprsAccessPointName williamr@2: * <br> EApProxyServerAddress williamr@2: * <br> EApProxyExceptions williamr@2: * <br> williamr@2: * <br>Uint: williamr@2: * <br>ReadUint( const TApMember aColumn, TUint32& aValue ) williamr@2: * <br>WriteUint( const TApMember aColumn, const TUint32& aValue ) williamr@2: * <br> EApWapAccessPointID williamr@2: williamr@2: // DEPRECATED williamr@2: * <br> EApWapIsp williamr@2: williamr@2: // DEPRECATED williamr@2: * <br> EApWapChargecard williamr@2: williamr@2: * <br> EApWapIap williamr@2: williamr@2: // DEPRECATED williamr@2: * <br> EApWapIspType williamr@2: williamr@2: * <br> EApIapServiceId williamr@2: * <br> EApIapChargecard williamr@2: * <br> EApIspIspType williamr@2: * <br> EApIspAuthRetries williamr@2: * <br> EApGprsIfAuthRetries williamr@2: * <br> EApIspIfCallbackType williamr@2: * <br> EApIspCallBackTimeOut williamr@2: * <br> EApIspBearerName williamr@2: * <br> EApIspBearerSpeed williamr@2: * <br> EApIspBearerCE williamr@2: * <br> EApIspBearerType williamr@2: * <br> EApIspBearerCallTypeIsdn williamr@2: * <br> EApIspChannelCoding williamr@2: * <br> EApIspAIUR williamr@2: * <br> EApIspRequestedTimeSlots williamr@2: * <br> EApIspMaximumTimeSlots williamr@2: * <br> EApGprsPdpType williamr@2: * <br> EApGprsReqPrecedence williamr@2: * <br> EApGprsReqDelay williamr@2: * <br> EApGprsReqReliability williamr@2: * <br> EApGprsReqPeakThroughput williamr@2: * <br> EApGprsReqMeanPeakThroughput williamr@2: * <br> EApGprsMinPrecedence williamr@2: * <br> EApGprsMinDelay williamr@2: * <br> EApGprsMinReliability williamr@2: * <br> EApGprsMinPeakThroughput williamr@2: * <br> EApGprsMinMeanThroughput williamr@2: * <br> EApWapWspOption williamr@2: * <br> EApIspBearerCallTypeIsdn williamr@2: * <br> EApProxyPortNumber williamr@2: * <br> EApNetworkID williamr@2: * <br> EApWapProxyPort williamr@2: * <br> EApIapBearerService williamr@2: * <br> EApIapBearerID williamr@2: * <br> williamr@2: * <br>Bool: williamr@2: * <br>ReadBool( const TApMember aColumn, TBool& aValue ) williamr@2: * <br>WriteBool( const TApMember aColumn, const TBool& aValue ) williamr@2: * <br> EApWapSecurity williamr@2: * <br> EApIspDialResolution williamr@2: * <br> EApIspUseLoginScript williamr@2: * <br> EApIspPromptForLogin williamr@2: * <br> EApIspDisplayPCT williamr@2: * <br> EApIspIfPromptForAuth williamr@2: * <br> EApGprsIfPromptForAuth williamr@2: * <br> EApIspIfCallbackEnabled williamr@2: * <br> EApIspIPAddrFromServer williamr@2: * <br> EApGprsIpAddrFromServer williamr@2: * <br> EApIspIPDnsAddrFromServer williamr@2: * <br> EApGprsIpDnsAddrFromServer williamr@2: * <br> EApIspEnableIpHeaderComp williamr@2: * <br> EApGprsHeaderCompression williamr@2: * <br> EApIspEnableLCPExtensions williamr@2: * <br> EApGprsEnableLCPExtensions williamr@2: * <br> EApIspDisablePlainTextAuth williamr@2: * <br> EApGprsDisablePlainTextAuth williamr@2: * <br> EApIspEnableSWCompression williamr@2: * <br> EApGprsDataCompression williamr@2: * <br> EApGprsUseAnonymAccess williamr@2: * <br> EApIsReadOnly williamr@2: * <br> EApProxyUseProxy williamr@2: * <br> EApHasProxySettings williamr@2: * <br> EApIP6DNSAddrFromServer williamr@2: */ williamr@2: enum TApMember williamr@2: { williamr@2: // WAP Access Point Table williamr@2: EApWapAccessPointID, ///< The Uid of the access point. williamr@2: ///< READ ONLY, assigned by the database. williamr@2: EApWapAccessPointName, ///< The name of the access point williamr@2: EApWapCurrentBearer, ///< Indicates the name of the table from williamr@2: ///< which to read the bearer information williamr@2: EApWapStartPage, ///< WAP start page URL, LONG TEXT! williamr@2: williamr@2: // WAP Common (present in both tables) williamr@2: EApWapGatewayAddress, ///< WAP gateway address (IP address) williamr@2: EApWapWspOption, ///< Enum value indicating whether williamr@2: ///< connection-oriented or connectionless williamr@2: ///< API should be used. williamr@2: ///< Type is TCommsDbWapWspOption. williamr@2: EApWapSecurity, ///< Attepmt secure WTLS connection to williamr@2: ///< the gateway williamr@2: williamr@2: // WAP IP Bearer Table williamr@2: //* DEPRECATED williamr@2: EApWapIsp, ///< Identifier of the ISP to use if this williamr@2: ///< is an ISP type database williamr@2: //* DEPRECATED williamr@2: EApWapChargecard, ///< Identifier for the chargecard to use williamr@2: ///< if this is an ISP type database williamr@2: EApWapIap, ///< Identifier of a record in the IAP williamr@2: ///< table to be used if this is an IAP williamr@2: ///< type database williamr@2: //* DEPRECATED williamr@2: EApWapIspType, ///< Enum value indicating whether IAP/ISP williamr@2: ///< is a dial in or a dial out williamr@2: williamr@2: // WAP SMS Bearer Table williamr@2: // EApSmsWapGatewayAddress is mapped to EApWapGatewayAddress, williamr@2: // different enum needed only for being able to williamr@2: // distinguish when editing... williamr@2: williamr@2: // IAP Table williamr@2: EApIapName, ///< The name of this IAP williamr@2: EApIapServiceType, ///< Name of service table in this IAP williamr@2: EApIapServiceId, ///< Identifier of service in this IAP williamr@2: EApIapChargecard, ///< Identifier of the chargecard in williamr@2: ///< this IAP williamr@2: williamr@2: // ISP table williamr@2: EApIspName, ///< The name of this ISP williamr@2: EApIspDescription, ///< Application's description of this ISP williamr@2: EApIspIspType, ///< Enum value indicating ISP type, e.g. williamr@2: ///< Internet ISP, WAP Isp.TCommsDbIspType. williamr@2: EApIspDefaultTelNumber, ///< Default phone number williamr@2: EApIspDialResolution, ///< Perform dialing resolution for default williamr@2: ///< phone number? williamr@2: EApIspUseLoginScript, ///< Use login script? williamr@2: EApIspLoginScript, ///< Login script (used only if Use Login williamr@2: ///< Script is true), LONG TEXT. williamr@2: EApIspPromptForLogin, ///< Prompt user for username and password? williamr@2: EApIspLoginName, ///< Login name williamr@2: EApIspLoginPass, ///< Login password williamr@2: EApIspDisplayPCT, ///< Display PCT (without scanning script williamr@2: ///< for READ command) UNUSED, always FALSE williamr@2: EApIspIfName, ///< Interface name williamr@2: EApIspIfParams, ///< Interface parameter string williamr@2: EApIspIfNetworks, ///< Comma separated list of network williamr@2: ///< protocols williamr@2: EApIspIfPromptForAuth, ///< Prompt user for authentication williamr@2: ///< username and password? williamr@2: EApIspIfAuthName, ///< Authentication username used by PPP williamr@2: EApIspIfAuthPass, ///< Authentication password used by PPP williamr@2: EApIspAuthRetries, ///< Number of times to retry williamr@2: ///< authentication if it fails williamr@2: EApIspIfCallbackEnabled, ///< Is callback enabled? williamr@2: EApIspIfCallbackType, ///< Enum value indicating the type of williamr@2: ///< callback (if enabled). williamr@2: ///< enum TCallbackAction. williamr@2: EApIspIfCallbackInfo, ///< Info for callback request (if enabled) williamr@2: ///< 8-bit text field. williamr@2: EApIspCallBackTimeOut, ///< Time to wait for callback in williamr@2: ///< microseconds (if enabled) williamr@2: EApIspIPAddrFromServer, ///< Get IP address from server? williamr@2: EApIspIPAddr, ///< IP address of interface williamr@2: EApIspIPNetMask, ///< IP net mask of interface williamr@2: EApIspIPGateway, ///< IP address of gateway williamr@2: EApIspIPDnsAddrFromServer, ///< Get DNS address from server? williamr@2: EApIspIPNameServer1, ///< IP address of primary name server williamr@2: EApIspIPNameServer2, ///< IP address of secondary name server williamr@2: EApIspEnableIpHeaderComp, ///< Enable IP header compression? williamr@2: EApIspEnableLCPExtensions, ///< Enable LCP extensions? williamr@2: EApIspDisablePlainTextAuth, ///< Disable plain text authentication? williamr@2: EApIspEnableSWCompression, ///< Enable software compression? williamr@2: EApIspBearerName, ///< Enum value specifying the name of the williamr@2: ///< bearer, e.g. Asunchronous Modem, williamr@2: ///< RBasicGsmCall::TBearerName williamr@2: EApIspBearerSpeed, ///< Enum value specifying the bearer speed williamr@2: ///< TApCallSpeed. williamr@2: EApIspBearerCallTypeIsdn, ///< call type is ISDN or Analogue... williamr@2: EApIspBearerCE, ///< Enum value specifying the bearer CE, williamr@2: ///< RBasicGsmCall::TBearerCE williamr@2: EApIspInitString, ///< Modem initialization string to be used williamr@2: ///< when this ISP is in use.This string williamr@2: ///< will be copied into the williamr@2: ///< MODEM_ISP_INIT_STRING field by williamr@2: ///< NetDial. 8-bit text field. williamr@2: EApIspBearerType, ///< Enum value indicating connection type williamr@2: ///< (CSD or HSCSD), TCommsDbBearerType williamr@2: EApIspChannelCoding, ///< Enum value specifying HSCSD channel williamr@2: ///< coding williamr@2: EApIspAIUR, ///< Enum value specifying AIUR for HSCSD williamr@2: EApIspRequestedTimeSlots, ///< Requested number of time slots for williamr@2: ///< HSCSD williamr@2: EApIspMaximumTimeSlots, ///< Maximum number of time slots for HSCSD williamr@2: ///< which could be requested during this williamr@2: ///< connection williamr@2: williamr@2: EApGprsAccessPointName, ///< Access Point Name, LONG TEXT! williamr@2: EApGprsPdpType, ///< PDP type williamr@2: EApGprsPdpAddress, ///< PDP address williamr@2: EApGprsReqPrecedence, ///< Requested quality of service williamr@2: ///< precedence class williamr@2: EApGprsReqDelay, ///< Requested quality of service williamr@2: ///< delay class williamr@2: EApGprsReqReliability, ///< Requested quality of service williamr@2: ///< reliability class williamr@2: EApGprsReqPeakThroughput, ///< Requested quality of service williamr@2: ///< peak throughput class williamr@2: EApGprsReqMeanPeakThroughput, ///< Requested quality of service williamr@2: ///< mean throughput class williamr@2: EApGprsMinPrecedence, ///< Minimum quality of service williamr@2: ///< precedence class williamr@2: EApGprsMinDelay, ///< Minimum quality of service williamr@2: ///< delay class williamr@2: EApGprsMinReliability, ///< Minimum quality of service williamr@2: ///< reliability class williamr@2: EApGprsMinPeakThroughput, ///< Minimum quality of service williamr@2: ///< peak throughput class williamr@2: EApGprsMinMeanThroughput, ///< Minimum quality of service williamr@2: ///< mean throughput class williamr@2: EApGprsUseAnonymAccess, ///< Use anonymous access on? williamr@2: williamr@2: // followings are mapped to ISP... fields williamr@2: EApGprsDataCompression, ///< Data compression on? williamr@2: EApGprsHeaderCompression, ///< IP header compression on? williamr@2: EApGprsIfName, ///< Interface name williamr@2: EApGprsIfParams, ///< Interface parameter string williamr@2: EApGprsIfNetworks, ///< Comma separated list of network williamr@2: ///< protocols williamr@2: EApGprsIfPromptForAuth, ///< Prompt user for authentication williamr@2: ///< username and password? williamr@2: EApGprsIfAuthName, ///< Authentication username used by PPP williamr@2: EApGprsIfAuthPassword, ///< Authentication password used by PPP williamr@2: EApGprsIfAuthRetries, ///< Number of times to retry williamr@2: ///< authentication if it fails williamr@2: EApGprsIpNetMask, ///< IP net mask of interface williamr@2: EApGprsIpGateway, ///< IP address of gateway williamr@2: EApGprsIpAddrFromServer, ///< Get IP adresses (for Symbian OS) williamr@2: ///< from server? williamr@2: EApGprsIpAddr, ///< IP address of Symbian OS williamr@2: EApGprsIpDnsAddrFromServer, ///< Get DNS addresses from server? williamr@2: EApGprsIPNameServer1, ///< IP address of primary name server williamr@2: EApGprsIPNameServer2, ///< IP address of secondary name server williamr@2: EApGprsEnableLCPExtensions, ///< Enable LCP extension? williamr@2: EApGprsDisablePlainTextAuth, ///< Disable plain text authentication? williamr@2: EApIsReadOnly ///< Is the current record read only? williamr@2: williamr@2: williamr@2: // expanding this enum is safe and will not cause any trouble as all public williamr@2: // part of this module uses it as a const parameter and NEVER as williamr@2: // a return value, therefore non-aware clients will NEVER meet with the new williamr@2: // ones, thus it can not cause any problems that they do not expect them... williamr@2: , williamr@2: EApProxyServerAddress, ///< Proxy server address, long text williamr@2: EApProxyProtocolName, ///< Proxy protocol name, Text williamr@2: EApProxyPortNumber, ///< Proxy port number, TUint32 williamr@2: EApProxyUseProxy, ///< Use proxy server?, TBool williamr@2: EApProxyExceptions, ///< ';' separated list of addr. for wich williamr@2: ///< the server should not be used. williamr@2: ///< Long text williamr@2: EApHasProxySettings, ///< Has proxy settings? READ ONLY. williamr@2: EApNetworkID, ///< The network ID williamr@2: EApNetworkName, ///< The network name williamr@2: williamr@2: EApWapProxyPort, ///< The wap proxy port number williamr@2: EApProxyLoginName, ///< The proxy login name williamr@2: EApProxyLoginPass, ///< The proxy login password williamr@2: EApIapBearerService, ///< Bearer service williamr@2: williamr@2: EApIP6DNSAddrFromServer, ///< Get IPv6 DNS addresses from server? williamr@2: EApIP6NameServer1, ///< IP address of primary name server williamr@2: EApIP6NameServer2, ///< IP address of secondary name server williamr@2: williamr@2: // CDMA2000 williamr@2: EApCdmaIwfName, ///< IWF name, Text williamr@2: EApCdmaServiceOption, ///< Service Option, TUint32 williamr@2: EApCdmaPdpType, ///< PDP type, TUin32 williamr@2: EApCdmaPdpAddress, ///< PDP address, Text williamr@2: EApCdmaReqFwdPriority, ///< Requested forward priority, TUint32 williamr@2: EApCdmaReqRevPriority, ///< Requested reverse priority, TUint32 williamr@2: EApCdmaReqFwdBitrate, ///< Requested forward bitrate, TUint32 williamr@2: EApCdmaReqRevBitrate, ///< Requested reverse bitrate, TUint32 williamr@2: EApCdmaReqFwdLoss, ///< Req. forward frame loss rate, TUint32 williamr@2: EApCdmaReqRevLoss, ///< Req. reverse frame loss rate, TUint32 williamr@2: EApCdmaReqFwdMaxDelay, ///< Requested forward delay, TUint32 williamr@2: EApCdmaReqRevMaxDelay, ///< Requested reverse delay, TUint32 williamr@2: EApCdmaMinFwdBitrate, ///< Min. acceptable fwd bitrate, TUint32 williamr@2: EApCdmaMinRevBitrate, ///< Min. acceptable rev bitrate, TUint32 williamr@2: EApCdmaAccptFwdLoss, ///< Max. acc. fwd frame loss rate, TUint32 williamr@2: EApCdmaAccptRevLoss, ///< Max. acc. rev frame loss rate, TUint32 williamr@2: EApCdmaAccptFwdMaxDelay, ///< Max. acceptable forward delay, TUint32 williamr@2: EApCdmaAccptRevMaxDelay, ///< Max. acceptable reverse delay, TUint32 williamr@2: williamr@2: // CDMA2000, mapped to ISP... fields williamr@2: EApCdmaDataCompression, ///< Data compression on? TBool williamr@2: EApCdmaHeaderCompression, ///< IP header compression on? TBool williamr@2: EApCdmaAnonymousAccess, ///< Use anonymous access on? TBool williamr@2: EApCdmaIfName, ///< Interface name williamr@2: EApCdmaIfParams, ///< Interface parameter string williamr@2: EApCdmaIfNetworks, ///< Comma separated list of network williamr@2: ///< protocols williamr@2: EApCdmaIfPromptForAuth, ///< Prompt user for authentication williamr@2: ///< username and password? williamr@2: EApCdmaIfAuthName, ///< Authentication username used by PPP williamr@2: EApCdmaIfAuthPassword, ///< Authentication password used by PPP williamr@2: EApCdmaIfAuthRetries, ///< Number of times to retry williamr@2: ///< authentication if it fails williamr@2: EApCdmaIpNetMask, ///< IP net mask of interface williamr@2: EApCdmaIpGateway, ///< IP address of gateway williamr@2: EApCdmaIpAddrFromServer, ///< Get IP adresses (for Symbian OS) williamr@2: ///< from server? williamr@2: EApCdmaIpAddr, ///< IP address of Symbian OS williamr@2: EApCdmaIpDnsAddrFromServer, ///< Get DNS addresses from server? williamr@2: EApCdmaIPNameServer1, ///< IP address of primary name server williamr@2: EApCdmaIPNameServer2, ///< IP address of secondary name server williamr@2: EApCdmaEnableLCPExtensions, ///< Enable LCP extension? williamr@2: EApCdmaDisablePlainTextAuth, ///< Disable plain text authentication? williamr@2: williamr@2: // CDMA2000 williamr@2: EApCdmaApType, ///< Internet / WAP or both? TUint32 williamr@2: EApCdmaQosWarningTimeout, ///< Notify user if the requested QOS williamr@2: ///< cannot be satisfied for this time in williamr@2: ///< microseconds, TUint32 williamr@2: EApCdmaRlpMode, ///< Transparent or non-transparent williamr@2: ///< radio link protocol, TUint32 williamr@2: // CDMA2000 deprecated Mobile IP fields williamr@2: EApCdmaMip, ///< Attempt to use mobile IP, TBool williamr@2: EApCdmaHomeAgentAddress, ///< Home Agent address, Text williamr@2: EApCdmaMipTimeout, ///< A normal reconnect (informing the williamr@2: ///< user) takes place if both the PPP link williamr@2: ///< drops and a change in SID or NID is williamr@2: ///< received within this time in williamr@2: ///< milliseconds, TUint32 williamr@2: // CDMA2000 specific CDMA parameters provisioned through OTA and defined williamr@2: // in TIA-683B section 3.5.8 williamr@2: // These fields replace the old Mobile IP fields (above). williamr@2: EApCdmaNaiType, ///< Type of NAI, TUint32 williamr@2: EApCdmaSimpleIpAuthAlgorithm, ///< SimpleIP auth.algorithm, TUint32 williamr@2: EApCdmaSimpleIpPapSsHandle, ///< SimpleIP PAP shared secret handle, williamr@2: ///< TUint32 williamr@2: EApCdmaSimpleIpChapSsHandle, ///< SimpleIP CHAP shared secret handle, williamr@2: ///< TUint32 williamr@2: EApCdmaMipTBit, ///< Reverse-tunneling reqd flag, TUint32 williamr@2: EApCdmaMipHomeAddress, ///< Home address, Text williamr@2: EApCdmaMipPrimaryHomeAgent, ///< IP address of mobile node's williamr@2: ///< primary home agent, Text williamr@2: EApCdmaMipSecondaryHomeAgent, ///< IP address of mobile node's williamr@2: ///< secondary home agent, Text williamr@2: EApCdmaMipMnAaaAuthAlgorithm, ///< MN-AAA auth algorithm, TUint32 williamr@2: EApCdmaMipMnAaaSpi, ///< MN-AAA security param index, TUint32 williamr@2: EApCdmaMipMnAaaSsHandle, ///< MN-AAA shared secret handle, TUint32 williamr@2: EApCdmaMipMnHaAuthAlgorithm, ///< MN-HA auth algorithm, TUint32 williamr@2: EApCdmaMipMnHaSpi, ///< MN-HA security param index, TUint32 williamr@2: EApCdmaMipMnHaSsHandle, ///< MN-HA shared secret handle, TUint32 williamr@2: williamr@2: williamr@2: // WLAN specific fields williamr@2: EApWlanNetworkName, ///< The network name, Text williamr@2: EApWlanNetworkMode, ///< Gives network mode, TUint32 williamr@2: EApWlanSecurityMode, ///< The security mode, TUint32 williamr@2: williamr@2: // WLAN, mapped to ISP... fields williamr@2: EApWlanIfNetworks, ///< Comma separated list of network williamr@2: ///< protocols williamr@2: EApWlanIfPromptForAuth, ///< Prompt user for authentication williamr@2: ///< username and password? williamr@2: EApWlanIfAuthName, ///< Authentication username used by PPP williamr@2: EApWlanIfAuthPassword, ///< Authentication password used by PPP williamr@2: EApWlanIfAuthRetries, ///< Number of times to retry williamr@2: ///< authentication if it fails williamr@2: EApWlanIpNetMask, ///< IP net mask of interface williamr@2: EApWlanIpGateway, ///< IP address of gateway williamr@2: EApWlanIpAddrFromServer, ///< Get IP adresses (for Symbian OS) williamr@2: ///< from server? williamr@2: EApWlanIpAddr, ///< IP address of Symbian OS williamr@2: EApWlanIpDnsAddrFromServer, ///< Get DNS addresses from server? williamr@2: EApWlanIPNameServer1, ///< IP address of primary name server williamr@2: EApWlanIPNameServer2, ///< IP address of secondary name server williamr@2: EApWlanSettingsId, ///< COMMDB_ID of the WLAN settings, williamr@2: ///< TUint32 williamr@2: EApWlanScanSSID, ///< TBool, whether need to scan the SSID williamr@2: EApWlanChannelId, ///< In ad-hoc network mode, the channel williamr@2: ///< ID, TUint32 williamr@2: EApLanBearerName, ///< The name of the LAN bearer williamr@2: EApIapBearerID, ///< UID of the bearer record (LAN/Modem) williamr@2: EApIapBearerType, ///< The name of the iap bearer williamr@2: ///< table (LAN/Modem) williamr@2: // some defines for UI ONLY, NOT TO BE USED BY ANYONE ELSE!!! williamr@2: EApIpv4Settings = 0x00010000, williamr@2: EApIpv6Settings, williamr@2: EApWlanSecuritySettings ///< The security settings launcher williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: // CONSTANTS williamr@2: // D E P R E C A T E D, please do not use it!!!!!!!!!! williamr@2: // can not remove as it was part of the public API... williamr@2: const TInt KApMemberNum = EApGprsDisablePlainTextAuth+1; williamr@2: williamr@2: // FORWARD williamr@2: class CApItemExtra; williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: williamr@2: /** williamr@2: * CApAccessPointItem is used to exchange data between engine and client. williamr@2: * It holds the information for an access point including WAP, IAP, ISP williamr@2: * (if present & applies). williamr@2: * This class uses the same approach as CommDB to read and write data: it williamr@2: * has functions for each data type implemented. To read or write the data, williamr@2: * we have to know the data type and the enum name of the 'column'. williamr@2: * The column values has the names of the database columns with the 'EAp' williamr@2: * prefix. The reason for this (not using the database column descriptors) williamr@2: * is performance. It is much faster to compare enum values than literals. williamr@2: */ williamr@2: class CApAccessPointItem :public CBase williamr@2: { williamr@2: williamr@2: public: // Constructors and destructor williamr@2: /** williamr@2: * Two-phased constructor. Leaves on failure, places instance williamr@2: * on cleanup stack. Instance is initialised to default values. williamr@2: * The created instance is suitable for passing to CApDataHandler's williamr@2: * functions, contains all necessary information. williamr@2: * @return The constructed CApAccessPointItem. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C static CApAccessPointItem* NewLC(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Destructor. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C virtual ~CApAccessPointItem(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Copies the data from another CApAccessPointItem. williamr@2: * Substitute for the "assignment operator". It requires allocation williamr@2: * thus can leave. williamr@2: * Wap Access Point Uid is not copied. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C void CopyFromL( const CApAccessPointItem& aCopyFrom ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Equality operator. Wap Access Point Uid is not counted. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TBool operator==( const CApAccessPointItem& aitem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Inequality operator. Wap Access Point Uid is not counted. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TBool operator!=( const CApAccessPointItem& aitem ) const; williamr@2: williamr@2: williamr@2: protected: // Constructors williamr@2: williamr@2: /** williamr@2: * C++ default constructor. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C CApAccessPointItem(); williamr@2: williamr@2: /** williamr@2: * Second-phase constructor. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C void ConstructL(); williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: public: // New functions williamr@2: williamr@2: williamr@2: /** williamr@2: * This function reads up an 8-bit text value from the specified column. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @param aValue Reference to an 8-bit descriptor to hold the value williamr@2: * @return no return value williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C void ReadTextL( const TApMember aColumn, TDes8& aValue ); williamr@2: williamr@2: /** williamr@2: * This function reads up a 16-bit text value from the specified column. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @param aValue Reference to a 16-bit descriptor to hold the value williamr@2: * @return no return value williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C void ReadTextL( const TApMember aColumn, TDes16& aValue ); williamr@2: williamr@2: /** williamr@2: * NOTE: This function is deprecated. Use ReadConstLongTextL! williamr@2: * This function reads up a long text value from the specified column. williamr@2: * The ownership is not passed to the caller. It means that the caller williamr@2: * should not delete the received value. williamr@2: * If the caller must take the ownership for any reason, must make a williamr@2: * copy and use that and delete the copy when no longer needed. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @return A HBufC* to the value. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C HBufC* ReadLongTextL( const TApMember aColumn ); williamr@2: williamr@2: williamr@2: /** williamr@2: * This function reads up a long text value from the specified column. williamr@2: * The ownership is not passed to the caller. It means that the caller williamr@2: * should not delete the received value. williamr@2: * If the caller must take the ownership for any reason, must make a williamr@2: * copy and use that and delete the copy when no longer needed. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @return A const HBufC* to the value. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C const HBufC* ReadConstLongTextL( const TApMember aColumn ); williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: * This function reads the length of the text in the specified column. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @return The length of the text in that column. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TUint32 ReadTextLengthL( const TApMember aColumn ); williamr@2: williamr@2: williamr@2: /** williamr@2: * This function reads up a TUint32 value from the specified column. williamr@2: * In case the given value was not written to the database, williamr@2: * it will return KErrValueUnspecified. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @param aValue A reference to a TUint32 to hold the value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt ReadUint( const TApMember aColumn, TUint32& aValue ); williamr@2: williamr@2: /** williamr@2: * This function reads up a boolean value from the specified column. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * @param aColumn Enum value indicating the column to read. williamr@2: * @param aValue A reference to a boolean to hold the value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt ReadBool( const TApMember aColumn, TBool& aValue ); williamr@2: williamr@2: williamr@2: // Update williamr@2: /** williamr@2: * This function writes an 8-bit text value to the specified column. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * This function can Leave if the copying of the text does not succeed. williamr@2: * Possible leave codes are the system leave codes. williamr@2: * @param aColumn Enum value indicating the column to write. williamr@2: * @param aValue Reference to an 8-bit text descriptor to the value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt WriteTextL( const TApMember aColumn, williamr@2: const TDesC8& aValue ); williamr@2: williamr@2: /** williamr@2: * This function writes a 16-bit text value to the specified column. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * This function can Leave if the copying of the text does not succeed. williamr@2: * @param aColumn Enum value indicating the column to write. williamr@2: * @param aValue Reference to a 16-bit text descriptor to the value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt WriteTextL( const TApMember aColumn, williamr@2: const TDesC16& aValue ); williamr@2: williamr@2: /** williamr@2: * This function writes a long text value to the specified column. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * This function can Leave if the copying of the text does not succeed. williamr@2: * @param aColumn Enum value indicating the column to write. williamr@2: * @param aValue Reference to a 16-bit text descriptor to the value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt WriteLongTextL( const TApMember aColumn, williamr@2: const TDesC& aValue ); williamr@2: williamr@2: /** williamr@2: * This function writes a TUint32 value to the specified column. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * @param aColumn Enum value indicating the column to write. williamr@2: * @param aValue A const reference to a TUint32 value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt WriteUint( const TApMember aColumn, williamr@2: const TUint32& aValue ); williamr@2: williamr@2: /** williamr@2: * This function writes a boolean value to the specified column. williamr@2: * If the specified column does not exist (that is, not part of the williamr@2: * database structure), it will Panic in debug builds and it will williamr@2: * return KErrInvalidColumn in release builds without Panicking. williamr@2: * Panic is used in debug builds because it indicates a programming williamr@2: * error. In release, it 'notifies' the caller about the error through williamr@2: * the return value but enables system to continue operation. williamr@2: * @param aColumn Enum value indicating the column to write. williamr@2: * @param aValue A const reference to a boolean value williamr@2: * @return Error code. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TInt WriteBool( const TApMember aColumn, williamr@2: const TBool& aValue ); williamr@2: williamr@2: williamr@2: // Query williamr@2: // COMMON williamr@2: /** williamr@2: * This function returns the ID of the access point williamr@2: * @return The ID of this access point williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TUint32 WapUid() const; williamr@2: williamr@2: williamr@2: /** williamr@2: * This function returns the name of the connection williamr@2: * Ownership is not passed. williamr@2: * @return The name of the connection williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C const TDesC& ConnectionName() const; williamr@2: williamr@2: williamr@2: // WAP-spec. williamr@2: /** williamr@2: * This function returns the current WAP bearer for the access point williamr@2: * Ownership is not passed. williamr@2: * @return The current WAP bearer for the access point williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C const TDesC& WapBearer() const; williamr@2: williamr@2: williamr@2: /** williamr@2: * This function returns the bearer type for the current access point williamr@2: * @return The current bearer type for the access point williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TApBearerType BearerTypeL(); williamr@2: williamr@2: williamr@2: /** williamr@2: * This function sets the bearer type for the current access point williamr@2: * @param aBearer TApBearerType enum indicating the desired bearer type. williamr@2: * @return No return value. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C void SetBearerTypeL( TApBearerType aBearer ); williamr@2: williamr@2: williamr@2: /** williamr@2: * This function writes a 16-bit text value to the 'name' fields williamr@2: * of the access point. williamr@2: * This includes: WAP_ACCESS_POINT, IAP, Dial/in/out/Gprs In/Out williamr@2: * table's COMM_DB_NAME fields. williamr@2: * These fields are (by TApMember): EApWapAccessPointName, EApIapName, williamr@2: * EApIspName. williamr@2: * It is useful if we need to use same names. williamr@2: * @param aValue A const reference to a 16-bit text descriptor to williamr@2: * the value. williamr@2: * @return No return value. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C void SetNamesL( const TDesC16& aValue ); williamr@2: williamr@2: williamr@2: /** williamr@2: * This function checks the integrity of the CApAccessPointItem. williamr@2: * Currently checks: williamr@2: * IF WAP_IP_BEARER, WAP_ISP_TYPE conforms to IAP_SERVICE_TYPE williamr@2: * @return Boolean indicating whether the sanity check has williamr@2: * passed(ETrue) or not(EFalse) williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TBool SanityCheckOk(); williamr@2: williamr@2: williamr@2: /** williamr@2: * This function compares this and the passed CApAccessPointItem williamr@2: * whether they have the same ISP and bearer williamr@2: * Returns true if the APs have the same phone number williamr@2: * @param aItem a CApAccessPointItem to compare with williamr@2: * @return whether the APs have the same isp and bearer williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TBool HasSameIspAndBearerL( CApAccessPointItem& aItem ); williamr@2: williamr@2: /** williamr@2: * This function returns whether the access point is read-only or not. williamr@2: * @return Whether the current access point is read-only or not. williamr@2: * williamr@2: * @deprecated williamr@2: */ williamr@2: IMPORT_C TBool IsReadOnly() const; williamr@2: williamr@2: public: // public, not exported, available only inside the ApEngine dll williamr@2: /** williamr@2: * Returnes whether the given access point is a VPN ap or not. williamr@2: */ williamr@2: TBool IsVpnAp() const; williamr@2: williamr@2: /** williamr@2: * Sets the current access point as VPN or as normal AP. williamr@2: * Internal use only! williamr@2: * @param aIsVpn a TBool specifiyng that the current AP is VPN or not. williamr@2: */ williamr@2: void SetVpnAp( TBool aIsVpn ); williamr@2: williamr@2: private: williamr@2: /** williamr@2: * Returns whether a given member is specified (after reading it from williamr@2: * the DB) or not. williamr@2: * @param aMember The member we would like to knopw if it is specified williamr@2: * or not. williamr@2: * @return whether a given member is specified (after reading it from williamr@2: * the DB) or not. williamr@2: */ williamr@2: TBool Specified( TApMember aMember ); williamr@2: williamr@2: /** williamr@2: * Sets a given member as specified or not williamr@2: * @param aMember The member to set williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void Specify( TApMember aMember, TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all WAP member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyWap( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all IP bearer member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyIpBearer( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all IAP member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyIAP( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all ISP member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyISP( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all GPRS member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyGPRS( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all CDMA member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyCDMA( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all WLAN member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyWLAN( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets all member as specified or not williamr@2: * @param aOn The value to set williamr@2: */ williamr@2: void SpecifyAll( TBool aOn ); williamr@2: williamr@2: /** williamr@2: * Sets iGetDNSIPFromServer according the currently valid iPrimaryDNS williamr@2: * & iSecondaryDNS values. Called internally, after every setting of williamr@2: * the above two values williamr@2: */ williamr@2: void SetDnsIpFromServer(); williamr@2: williamr@2: /** williamr@2: * Sets iIspIPAddrFromServer according the currently valid iIspIPAddr williamr@2: * value. Called internally, after every setting of iIspIPAddr values williamr@2: */ williamr@2: void SetIpFromServer(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Sets iExt->iIpv6GetDNSIPFromServer according the currently valid williamr@2: * iExt->iIpv6PrimaryDNS & iExt->iIpv6SecondaryDNS values. williamr@2: * Called internally, after every setting of the above two values williamr@2: */ williamr@2: void SetDns6IpFromServer(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Reallocates a passed 16-bit descriptor. Passed descriptor is deleted, williamr@2: * new one is AllocL-ed williamr@2: * Passed descriptor MUST NOT BE on the CleanupStack williamr@2: * @param aDes The descriptor to hold the value williamr@2: * @param aValue The value to pass to the aDes descriptor. williamr@2: */ williamr@2: void ReAllocL(HBufC*& aDes, const TDesC16& aValue); williamr@2: williamr@2: /** williamr@2: * Reallocates a passed 8-bit descriptor. Passed descriptor is deleted, williamr@2: * new one is AllocL-ed williamr@2: * Passed descriptor MUST NOT BE on the CleanupStack williamr@2: * @param aDes The descriptor to hold the value williamr@2: * @param aValue The value to pass to the aDes descriptor. williamr@2: */ williamr@2: void ReAllocL(HBufC8*& aDes, const TDesC8& aValue); williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares THIS and the passed aItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the item is equal with this or not williamr@2: */ williamr@2: TBool DoCompareApL( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the WAP part of THIS and the passed aItem. williamr@2: * Does not compares IAP ID williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the WAP part is equal with this or not williamr@2: */ williamr@2: TBool CompareWap( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the IAP part of THIS and the passed aItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the IAP part is equal with this or not williamr@2: */ williamr@2: TBool CompareIap( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the IsP part of THIS and the passed aItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the ISP part is equal with this or not williamr@2: */ williamr@2: TBool CompareIsp( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the Gprs part of THIS and the passed aItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the GPRS part is equal with this or not williamr@2: */ williamr@2: TBool CompareGprs( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the Cdma part of THIS and the passed aItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the CDMA part is equal with this or not williamr@2: */ williamr@2: TBool CompareCdma( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the Wlan part of THIS and the passed aItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the WLAN part is equal with this or not williamr@2: */ williamr@2: TBool CompareWlan( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Removes leading 0s from the passed IP address. williamr@2: * @param aValue A descriptor holding the IP address to remove williamr@2: * leading 0s from williamr@2: * @return A newly allocated HBufC holding the resulting string. williamr@2: */ williamr@2: HBufC* GetCleanIpAddressLC( const TDesC& aValue ); williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: * Removes invalid chars e.g. space, () from the passed phone number. williamr@2: * (valid are 0,1,2,..9,p,w,+,*,#) williamr@2: * Strips pre- and postfixes, prefix separator is#, williamr@2: * postfix separators are p, w or + williamr@2: * @param aValue A descriptor holding the phone number williamr@2: * @return A newly allocated HBufC holding the resulting string. williamr@2: */ williamr@2: HBufC* GetPlainPhoneNumberLC( const TDesC& aNumber ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the 'default phone number' (ISP dial-in number) of this williamr@2: * and the passed CApAccessPointItem williamr@2: * @param aItem The item to compare this to williamr@2: * @return a TBool indicating whether the phone numbers are williamr@2: * the same or not. williamr@2: */ williamr@2: TBool IsSamePhoneNumberL( CApAccessPointItem& aItem ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Removes invalid chars from the passed phone number williamr@2: * @param aIntext Text to remove invalid characters from phone number williamr@2: * @return a HBufC holding the new text williamr@2: */ williamr@2: HBufC* RemoveInvalidPhoneCharsLC( const TDesC16& aInText ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Removes invalid chars from the passed text williamr@2: * Invalid chars are: TAB williamr@2: * @param aIntext Text to remove invalid characters from williamr@2: * @return a HBufC16 holding the new text williamr@2: */ williamr@2: HBufC* RemoveInvalidCharsLC( const TDesC16& aInText ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Removes invalid chars from the passed text williamr@2: * Invalid chars are: TAB williamr@2: * @param aIntext Text to remove invalid characters from williamr@2: * @return a HBufC8 holding the new text williamr@2: */ williamr@2: HBufC8* RemoveInvalidCharsLC( const TDesC8& aInText ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Compares the proxy data of this and the passed CApAccessPointItem. williamr@2: * @param aItem The item to compare this to williamr@2: * @return Whether the Proxy part is equal with this or not williamr@2: */ williamr@2: TBool CompareProxy( const CApAccessPointItem& aItem ) const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Returns whether the Ap has proxy data or not. williamr@2: * @return Whether the Ap has proxy data or not. williamr@2: */ williamr@2: TBool HasProxy() const; williamr@2: williamr@2: williamr@2: /** williamr@2: * Sets the proxy flag. williamr@2: */ williamr@2: void SetProxyFlag(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Limits the speed after changing e.g. bearer type williamr@2: */ williamr@2: void LimitSpeedL(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Sets the IfNetworks value according to the bearer type and williamr@2: * the IPv6 support availability. The required values are: williamr@2: * IPv4: williamr@2: * GPRS/CDMA, pdptype ipv4 "ip", williamr@2: * CSD "ip" williamr@2: * HSCSD "ip" williamr@2: * IPv6: williamr@2: * GPRS/CDMA, pdptype ipv4 "ip", williamr@2: * GPRS/CDMA, pdptype ipv6 "ip6", williamr@2: * CSD "ip,ip6" williamr@2: * HSCSD "ip,ip6" williamr@2: * williamr@2: */ williamr@2: void SetIfNetworksL(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Check if aColumn is supported. williamr@2: * @param aColumn Enum value indicating the column to check. williamr@2: * @return Whether the given member is supported or not williamr@2: */ williamr@2: TBool IsSupported( TApMember aColumn ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Leave with KErrNotSupported if aColumn is not supported. williamr@2: * @param aColumn Enum value indicating the column to check. williamr@2: */ williamr@2: void LeaveIfUnsupportedL( TApMember aColumn ); williamr@2: williamr@2: williamr@2: /** williamr@2: * Returns whether this item has WLAN or not williamr@2: * @return Whether this item has WLAN or not williamr@2: */ williamr@2: TBool IsWlan(); williamr@2: williamr@2: williamr@2: /** williamr@2: * Limit the Ip6 DNS address williamr@2: * In case of CSD, HSCSD, only Well-known and User defined is supported, williamr@2: * so if the bearer is changed from something else to these bearer williamr@2: * types, the possible 'Dynamic' should be replaced with Well-known williamr@2: */ williamr@2: void LimitIp6DNSL(); williamr@2: williamr@2: private: // Data williamr@2: williamr@2: // member data williamr@2: // COMMON williamr@2: TUint32 iWapUid; ///< The unique identifier of the AP record. williamr@2: HBufC* iWapAccessPointName; williamr@2: williamr@2: williamr@2: // WAP-spec. williamr@2: HBufC* iWapBearer; williamr@2: HBufC* iStartingPage; williamr@2: williamr@2: // common for bearers williamr@2: HBufC* iWapGatewayAddress; ///< The WAP gateway address williamr@2: TBool iIsWTLSSecurityOn; williamr@2: TUint32 iIsConnectionTypeContinuous; williamr@2: williamr@2: CApItemExtra* iExt; williamr@2: TUint32 iChargeCard; williamr@2: TUint32 iWapIap; williamr@2: TUint32 iWapIspType; // deprecated, not used but kept williamr@2: // to keep member positions williamr@2: williamr@2: williamr@2: // IAP-part williamr@2: HBufC* iIapName; williamr@2: williamr@2: TUint32 iIapServiceId; williamr@2: HBufC* iIapServiceType; williamr@2: williamr@2: TUint32 iIapChargeCardId; williamr@2: williamr@2: // ISP-part williamr@2: HBufC* iIspName; williamr@2: HBufC* iIspDescription; williamr@2: TCommsDbIspType iIspType; williamr@2: HBufC* iIspDefaultTelNumber; williamr@2: TBool iIspDialResolution; williamr@2: TBool iUseLoginScript; williamr@2: HBufC* iLoginScript; williamr@2: TBool iPromptPassword; williamr@2: HBufC* iUserName; williamr@2: HBufC* iPassword; williamr@2: TBool iDisplayTerminalWindow; williamr@2: HBufC* iIspIfName; williamr@2: HBufC* iIspIfParams; williamr@2: HBufC* iIspIfNetworks; williamr@2: TBool iIspIfPromptForAuth; williamr@2: HBufC* iIspIfAuthName; williamr@2: HBufC* iIspIfAuthPass; williamr@2: TUint32 iIspIfAuthRetries; williamr@2: TBool iUseCallBack; williamr@2: TCallbackAction iCallBackTypeIsServerNum; williamr@2: HBufC8* iIspIfCallbackInfo; williamr@2: TUint32 iIspCallbackTimeOut; williamr@2: TBool iIspIPAddrFromServer; williamr@2: HBufC* iIspIPAddr; williamr@2: HBufC* iIspIPNetMask; williamr@2: HBufC* iIspGateway; williamr@2: TBool iGetDNSIPFromServer; williamr@2: HBufC* iPrimaryDNS; williamr@2: HBufC* iSecondaryDNS; williamr@2: TBool iEnablePPPCompression; williamr@2: TBool iIspEnableLCPExtensions; williamr@2: TBool iIsPasswordAuthenticationSecure; williamr@2: TBool iIspEnableSwCompression; williamr@2: /***************************************************** williamr@2: * Series 60 Customer / ETel williamr@2: * Series 60 ETel API williamr@2: *****************************************************/ williamr@2: TInt iIspBearerName; // RMobileCall::TMobileCallDataServiceCaps williamr@2: TApCallSpeed iMaxConnSpeed; williamr@2: TApCallType iBearerCallTypeIsdn; //RMobileCall::TMobileCallDataProtocol williamr@2: TInt iIspBearerCE; // RMobileCall::TMobileCallDataQoS williamr@2: HBufC8* iIspInitString; williamr@2: TUint32 iIspBearerType; williamr@2: TUint32 iIspChannelCoding; williamr@2: TUint32 iIspAIUR; williamr@2: TUint32 iIspRequestedTimeSlots; williamr@2: TUint32 iIspMaximumTimeSlots; williamr@2: williamr@2: // GPRS part williamr@2: HBufC* iGprsAccessPointName; williamr@2: TUint32 iGprsPdpType; williamr@2: HBufC* iGprsPdpAddress; williamr@2: TUint32 iGprsReqPrecedence; williamr@2: TUint32 iGprsReqDelay; williamr@2: TUint32 iGprsReqReliability; williamr@2: TUint32 iGprsReqPeakThroughput; williamr@2: TUint32 iGprsReqMeanPeakThroughput; williamr@2: TUint32 iGprsMinPrecedence; williamr@2: williamr@2: TUint32 iGprsMinDelay; williamr@2: TUint32 iGprsMinReliability; williamr@2: TUint32 iGprsMinPeakThroughput; williamr@2: TUint32 iGprsMinMeanThroughput; williamr@2: TBool iGprsUseAnonymAccess; williamr@2: williamr@2: CArrayFixFlat<TBool> *iSpecified; williamr@2: TBool iIsReadOnly; williamr@2: williamr@2: HBufC* iApProxyProtocolName; williamr@2: HBufC* iApProxyServerAddress; williamr@2: TUint32 iApProxyPortNumber; williamr@2: TBool iApProxyUseProxy; williamr@2: HBufC* iApProxyExceptions; williamr@2: TBool iApHasProxySettings; williamr@2: williamr@2: TUint32 iNetworkId; williamr@2: TUint32 iWapProxyPort; williamr@2: HBufC* iNetworkName; williamr@2: HBufC* iWapProxyLoginName; williamr@2: HBufC* iWapProxyLoginPass; williamr@2: TUint32 iApIapBearerService; // RMobileCall::TMobileCallDataServiceCaps williamr@2: williamr@2: williamr@2: williamr@2: protected: // Friend classes williamr@2: friend class CApDataHandler; williamr@2: williamr@2: williamr@2: }; williamr@2: williamr@2: #endif // ACCESSPOINTITEM_H williamr@2: williamr@2: // End of File