--- a/epoc32/include/mw/cmconnectionmethoddef.h Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/mw/cmconnectionmethoddef.h Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,761 @@
-cmconnectionmethoddef.h
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Definition of attributes used by every Connection Methods.
+*
+*/
+
+#ifndef CMCONNECTIONMETHODDEF_H
+#define CMCONNECTIONMETHODDEF_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CONSTANTS
+
+// Beginning of the CMManager enum range (internal use)
+const TUint KLanBaseSpecificAttributes = 20000;
+const TUint KLanBaseIfNetworks = 20100;
+// End of the CMManager enum range (internal use)
+const TUint KLanBaseRangeMax = 29999;
+
+/** ECOM interface UID */
+const TUint KCMPluginInterfaceUid = 0x10207377;
+
+namespace CMManager
+ {
+ //Enumeration for possible values of seamlessness field
+ //in IAP Metadata table
+ /** Naming method options */
+ enum TNamingMethod
+ {
+ ENamingNothing, ///< Do nothing with name set via ECmName
+ ENamingUnique, ///< Make name unique when ECmName is set.
+ ENamingNotAccept ///< Do not accept duplication. It will leave with
+ ///< KErrArgument.
+ };
+
+ // Enumeration for IPv6 types
+ enum TIPv6Types
+ {
+ EIPv6Unspecified, ///< Unspecified IPv6 type
+ EIPv6WellKnown, ///< Well known IPv6 type
+ EIPv6UserDefined ///< User defined IPv6 type
+ };
+
+ enum TSeamlessnessValue
+ {
+ ESeamlessnessNotRoamedTo, // NOT supported
+ ESeamlessnessConfirmFirst, // Confirm first
+ ESeamlessnessShowprogress, // Shows progress
+ ESeamlessnessFullySeamless // NOT supported
+ };
+
+
+ /// Unspecified IPv4 address
+ _LIT( KUnspecifiedIPv4, "0.0.0.0" );
+
+ /// Known IPv6 name server 1
+ _LIT( KKnownIp6NameServer1, "fec0:000:0000:ffff::1" );
+ /// Known IPv6 name server 2
+ _LIT( KKnownIp6NameServer2, "fec0:000:0000:ffff::2" );
+
+ /// Dynamic IPv6 address
+ _LIT( KDynamicIpv6Address, "0:0:0:0:0:0:0:0" );
+
+ /// Default proxy protocol name
+ _LIT( KDefProxyProtocolName, "http" );
+
+ /// Default proxy port number
+ _LIT( KDefaultProxyPortNumber, "0" );
+
+ /// IPv4 network protocol
+ _LIT( KDefIspIfNetworksIPv4, "ip" );
+ /// IPv6 network protocol
+ _LIT( KDefIspIfNetworksIPv6, "ip6" );
+ /// IPv4 and IPv6 network protocols
+ _LIT( KDefIspIfNetworksIPv4IPv6, "ip,ip6" );
+ /// IPv4 and IPv6 network protocols for LAN bearers
+ _LIT( KDefIspIfNetworksIPv4IPv6LAN, "ip" );
+
+ _LIT( KDaemonManagerName, "NetCfgExtnDhcp" );
+ _LIT( KConfigDaemonName, "!DhcpServ" );
+
+
+ /**
+ * This enum lists all the common attributes of Connection Methods.
+ */
+ enum TConnectionMethodCommonAttributes
+ {
+ /**
+ * The following attributes can be queried via both
+ * the manager interface's and connection method interface's ::Get functions.
+ */
+ ECmCoverage, /**<
+ * Checks if there's coverage for this bearer.
+ * (TBool - default: none - read only)
+ */
+
+ ECmDefaultPriority, /**<
+ * Default global priority of the CM's bearer
+ * type.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmDestination, /**<
+ * ETrue if this connection method is
+ * an embedded destination.
+ * (TBool - default: none - read only)
+ */
+
+ ECmBearerHasUi, /**<
+ * Indicates whether the bearer has any UI.
+ * (TBool - default: none - read only)
+ */
+
+ ECmIPv6Supported, /**<
+ * Returns ETrue if IPv6 is supported.
+ * (TBool - default: none - read only)
+ */
+
+ ECmDefaultUiPriority, /**<
+ * Priority of this bearer type when shown in UI for
+ * configuring a new IAP.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmBearerIcon = 100, /**<
+ * Return the bearer specific icon. Assumes that
+ * there's an existing EEikEnv in the client.
+ * Type cast return value from TUint32 to
+ * CGuiIcon*.
+ * Return value 0 means bearer has no icon.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmBearerAvailableIcon, /**<
+ * Return the bearer available specific icon.
+ * Assumes that there's an existing EEikEnv
+ * in the client. Type cast return value from
+ * TUint32 to CGuiIcon*.
+ * Return value 0 means bearer has no icon.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmBearerAvailableName = 200, /**<
+ * Name of the bearer. Can be used in
+ * layout
+ * list_double_large_graphic_popup_menu_pane.
+ * (String - default: none - read only)
+ */
+
+ ECmBearerSupportedName, /**<
+ * Name of the bearer. Can be used in
+ * layout list_single_popup_menu_pane_1.
+ * (String - default: none - read only)
+ */
+
+ ECmBearerAvailableText, /**<
+ * Localized text 'Available'. Can be used in
+ * layout
+ * list_double_large_graphic_popup_menu_pane.
+ * (String - default: none - read only)
+ */
+
+ ECmBearerNamePopupNote, /**<
+ * Localized text of the bearer type name.
+ * Can be used in layout popup note.
+ * (String - default: none - read only)
+ */
+
+ ECmCommsDBBearerType, /**<
+ * For backward compatibility, connection method
+ * can return its CommsDB specific bearer type.
+ * (TUint32 - default: none - read only)
+ * Leaves with KErrUnknown if no associated bearer
+ * type exists in CommsDat.
+ */
+
+ ECmBearerSettingName, /**<
+ * Name of the data bearer used when
+ * accessing external network.
+ * (String - default: none - read only)
+ */
+
+ ECmVirtual, /**<
+ * Is the given connection method virtual?
+ * (TBool - default: none - read only)
+ */
+
+ /**
+ * These are not bearer specific, but controling attributes.
+ */
+ ECmInvalidAttribute = 400, /**<
+ * Client application can check which attribute
+ * was incorrect in UpdateL().
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmAddToAvailableList, /**<
+ * Bearer type has to be added to the avaialable
+ * bearer type list.
+ * (TBool - default: EFalse - read only)
+ */
+
+ ECmLoadResult, /**<
+ * Result of the load process. KErrNone if there
+ * was no error. Otherwise a system wide
+ * error code.
+ * (TUint32 - default: KErrNone - read only)
+ */
+
+ /**
+ * Attributes the can be queried only via
+ * - connection method's GetXXXAttributeL()
+ * - connection manager's function GetConnectionMethodInfoXXXL()
+ * functions
+ */
+ ECmBearerType = 500, /**<
+ * Bearer type of the CM
+ * (TUint - default: none - read only)
+ */
+
+ ECmName, /**<
+ * Name of the CM
+ * (String - default: none)
+ */
+
+ ECmIapId, /**<
+ * IAP id
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmStartPage, /**<
+ * Start page of the connection method
+ * (String - default: empty string)
+ */
+
+ ECmHidden, /**<
+ * Connection method is hidden.
+ * (not supported yet)
+ * (TBool - default: EFalse)
+ */
+
+ ECmProtected, /**<
+ * This connection method is protected.
+ * Modifying it needs NetworkControl capability.
+ * (TBool - default: EFalse)
+ */
+
+ ECmNamingMethod, /**<
+ * See acceptable values in TNamingControl.
+ * (TUint32 - default: ENamingUnique)
+ */
+
+ ECmSeamlessnessLevel, /**<
+ * Defines whether an IAP can be roamed to.
+ * See details in TSeamlessnessValue.
+ * (TUint32 - default: ESeamlessnessConfirmFirst )
+ */
+
+ ECmElementID, /**<
+ * Element id of the connection method in IAP table.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmNetworkId, /**<
+ * Network id of the connection method.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmConnected, /**<
+ * Is network connection created with connection
+ * method?
+ * (TBool - default: none - read only)
+ */
+
+ ECmId, /**<
+ * ID to uniquely identify the connection
+ * methods
+ * It is guaranteed that every connection
+ * method has an ECmId
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmWapId, /**
+ * Provided for backwards compatibility only.
+ * The record ID of the connection methods'
+ * corresponding WAP_ACCESS_POINT record, which
+ * use had been deprecated as the main ID
+ * should now be ECmIapId, ECmElementID or ECmId.
+ * (TUint32 - default: none - read only)
+ */
+
+ ECmIapServiceId, /**
+ * Provided for backwards compatibility only.
+ * The record ID of the connection methods'
+ * service record
+ * (TUint32 - default: none - read only)
+ */
+
+ /**
+ * The following attributes are stored in the connection method's
+ * meta data record.
+ */
+ ECmMetaHighlight = 600, /**<
+ * Set to indicate that this connection method is
+ * highlighted in Agent dialog. Only one connection
+ * method can have this flag set.
+ * (TBool - default: EFalse)
+ */
+
+ ECmMetaHiddenAgent, /**<
+ * Set to hide this connection method in Agent
+ * dialog.
+ * (TBool - default: EFalse)
+ */
+
+ // These attributes can be used with virtual bearer type
+ // connection methods.
+ ECmNextLayerIapId, /**<
+ * Returns the linked connection method's IAP id.
+ * (TUint32 - default: None)
+ */
+
+ ECmNextLayerSNAPId, /**<
+ * Returns the linked connection method's SNAP id.
+ * (TUint32 - default: None)
+ */
+
+ // Proxy attributes
+ ECmProxyUsageEnabled = 1000, /**<
+ * Set to enable/disable proxy setting
+ * of connection method.
+ * Disabling: record is deleted from proxy
+ * when UpdateL() is called.
+ * Proxy record is deleted on UpdateL()
+ * if ECmProxyServerName is an empty string.
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool: default: EFalse)
+ */
+
+ ECmProxyServerName, /**<
+ * Name of the host.
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmProxyProtocolName, /**<
+ * Name of the protocol for which this proxy
+ * can be used.
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmProxyPortNumber, /**<
+ * Port number
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TUint32 - default: none)
+ */
+
+ ECmProxyExceptions, /**<
+ * ";" separated list of the addresses for
+ * which the proxy server should not be used.
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmProxyRangeMax = 1999, /**<
+ * Marks the end of the proxy range
+ */
+
+ ECmChargeCardUsageEnabled = 2000, /**<
+ * Same as in ECmProxyUsageEnabled but
+ * for charge card.
+ * (TBool - default: EFalse)
+ */
+
+ ECmChargeCardAccountNumber, /**<
+ * Account number
+ * (String - default: none)
+ */
+
+ ECmChargeCardPIN, /**<
+ * PIN number
+ * (String - default: none)
+ */
+
+ ECmChargeCardLocalRule, /**<
+ * Order of dialling account number,
+ * PIN and phone number for local calls.
+ * (String - default: none)
+ */
+
+ ECmChargeCardNatRule, /**<
+ * Order of dialling account number,
+ * PIN and phone number for national
+ * calls.
+ * (String - default: none)
+ */
+
+ ECmChargeCardIntlRule, /**<
+ * Order of dialling account number,
+ * PIN and phone number for
+ * international calls.
+ * (String - default: none)
+ */
+
+ ECmChargeCardRangeMax = 2999, /**<
+ * Marks the end of the chargecard range
+ */
+
+ ECmLocationUsageEnabled = 3000, /**<
+ * Same as in ECmProxyUsageEnabled but
+ * for location.
+ * (TBool - default: EFalse)
+ */
+
+ ECmLocationIntlPrefixCode, /**<
+ * International prefix code.
+ * (String - default: none)
+ */
+
+ ECmLocationNatPrefixCode, /**<
+ * National prefix code.
+ * (String - default: none)
+ */
+
+ ECmLocationNatCode, /**<
+ * National code
+ * (String - default: none)
+ */
+
+ ECmLocationAreaCode, /**<
+ * Area code.
+ * (String - default: none)
+ */
+
+ ECmLocationDialOutCode, /**<
+ * Number to dial for an outside line.
+ * (String - default: none)
+ */
+
+ ECmLocationDisableCallWaitingCode, /**<
+ * Code to dial to disable call waiting
+ * facility.
+ * (String - default: none)
+ */
+
+ ECmLocationMobile, /**<
+ * Mobile phone?
+ * (TBool - default: none)
+ */
+
+ ECmLocationUsePulseDial, /**<
+ * Use pulse dialling?
+ * (TBool - default: none)
+ */
+
+ ECmLocationWaitForDialTone, /**<
+ * Wait for the dial tone?
+ * (TBool - default: none)
+ */
+
+ ECmLocationPauseAfterDialOut, /**<
+ * Pause time after dial out.
+ * (TUint32 - default: none)
+ */
+
+ ECmLocationRangeMax = 3999, /**<
+ * Marks the end of the location
+ * range
+ */
+
+ // WAP specific attributes
+ ECmWapIPGatewayAddress = 4000, /**<
+ * WAP Gateway address, in this case an
+ * IP address.
+ * (String - default: none)
+ */
+
+ ECmWapIPWSPOption, /**<
+ * Enum value indicating whether
+ * connection-oriented
+ * or connectionless API should be used.
+ * See valid values in TWapWSPOption.
+ * (TUint32 - default:
+ * ECmWapWspOptionConnectionless)
+ */
+
+ ECmWapIPSecurity, /**<
+ * Attempt secure WTLS connection to the gateway
+ * (TBool - default: EFalse)
+ */
+
+ ECmWapIPProxyPort, /**<
+ * Proxy port number. Required for WAP2.0 only.
+ * (TUint32 - default: none)
+ */
+
+ ECmWapIPProxyLoginName, /**<
+ * Proxy login name. Required for WAP2.0 only.
+ * (String - default: none)
+ */
+
+ ECmWapIPProxyLoginPass, /**<
+ * Proxy login password.
+ * Required for WAP2.0 only.
+ * (String - default: none)
+ */
+
+ ECmWapRangeMax = 4099, /**<
+ * Marks the end of the WAP specific range
+ */
+
+ /**
+ * The following attributes are common for many bearer types.
+ * It's not sure that every IF or IP attribute is supported by
+ * all bearer types.
+ * It's not possible to query these attributes via
+ * GetConnectionInfoXXX() functions.
+ */
+ ECmCommonAttributesStart = 5000, /**<
+ * Marks the beginning of the common
+ * attributes
+ */
+
+ ECmIFName, /**<
+ * Interface name
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIFParams, /**<
+ * Interface parameter string
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIFNetworks, /**<
+ * List of network protocols
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIFPromptForAuth, /**<
+ * Prompt user for authentication
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmIFAuthName, /**<
+ * Authentication user name used by PPP
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIFAuthPass, /**<
+ * Authentication password used by PPP
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIFAuthRetries, /**<
+ * Number of times for retrying authentication
+ * if it fails
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TUint32 - default: none)
+ */
+
+ ECmIPNetmask = 5050, /**<
+ * IP net mask of interface
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIPGateway, /**<
+ * IP address of gateway
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIPAddFromServer, /**<
+ * Get IP address from server?
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmIPAddress, /**<
+ * IP address of interface
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIPDNSAddrFromServer, /**<
+ * Get DNS addresses from server?
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmIPNameServer1, /**<
+ * IP address of primary name server
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIPNameServer2, /**<
+ * IP address of secondary name server
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIP6DNSAddrFromServer, /**<
+ * Get IP6 DNS addresses from server?
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmIP6NameServer1, /**<
+ * IP6 address of primary name server
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIP6NameServer2, /**<
+ * IP6 address of secondary name server
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIPAddrLeaseValidFrom, /**<
+ * IP address valid from this time, used to
+ * store dynamically assigned address lease
+ * info
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmIPAddrLeaseValidTo, /**<
+ * IP address valid for use until this time,
+ * used to store dynamically assigned
+ * address lease info
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmConfigDaemonManagerName = 5100, /**<
+ * Name of the ECom configuration
+ * daemon manager component. This
+ * component interfaces with the
+ * server identified in
+ * ECmConfigDaemonName. If
+ * specified, ECmConfigDaemonName
+ * should also be specified.
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmConfigDaemonName, /**<
+ * Name of the configuration daemon server.
+ * This server is used to provide further
+ * configuration for a connection, e.g.
+ * dynamic IP address assignment. If
+ * specified, ECmConfigDaemonManagerName
+ * should also be specified.
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (String - default: none)
+ */
+
+ ECmEnableLPCExtension = 5110, /**<
+ * Enable LCP extensions?
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmDisablePlainTextAuth, /**<
+ * Disable plaintext authentication?
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmCommonAttributesEnd = 5999, /**<
+ * Marks the end of common attributes
+ */
+
+ /**
+ * The following methods can be queried only via
+ * connection method's GetXXXAttributeL()
+ */
+ ECmSpecialAttributes = 6000, /**<
+ * Marks the beginning of special
+ * attributes
+ */
+
+ ECmIsLinked, /**<
+ * Is connection method linked to any
+ * virtual connection method?
+ * It can be queried only via the
+ * connection method's GetXXXAttributeL()
+ * (TBool - default: none)
+ */
+
+ ECmSpecialAttributesEnd = 8999 /**<
+ * Marks the end of special attributes
+ */
+ };
+
+ /** WAP WSP options */
+ enum TWapWSPOption
+ {
+ /**
+ * Indicates that connectionless APIs should be used
+ */
+ ECmWapWspOptionConnectionless,
+
+ /**
+ * Indicates that connection oriented APIs should be used
+ */
+ ECmWapWspOptionConnectionOriented
+ };
+
+ } // namespace CMManager
+
+#endif // CMCONNECTIONMETHODDEF_H