CImIAPPreferences Class Reference

#include <mw/iapprefs.h>

class CImIAPPreferences : public CBase

Inherits from

Detailed Description

Encapsulates preferences relating to IAPs for an email service.

An IAP defines all of the variable factors that determine how an Internet connection is made. These variable factors can include the bearer (CDMA, GSM or GPRS), dial-in number. network login names and passwords.

The Comms Database is capable of storing details of several IAPs, which can then be used to initiate different types of connection. The database also stores the preference order of the IAPs: this defines which IAP should be used as the first choice, and also an optional second choice to be used if the first choice is not available.

The CImIAPPreferences class associates a first choice, and optionally a second choice IAP to use with a particular email service. The preference object is stored in the service entry's message store.

For SMTP, if no object has been stored in the service, then the SMTP client will attempt to use any default Internet settings in the Comms Database, or will use the existing Internet connection if one does already exist. Note that SMTP sessions will normally fail to send any email messages if the SMTP session is not created using an IAP which the SMTP server does not accept.

Note that in Symbian OS v6.0 a single IAP was associated with an email service entry through the iMtmData1 field.

Member Attribute Documentation

KUidMsgFileInternetAccessPreferences

const TUidKUidMsgFileInternetAccessPreferences[static]

ID of the stream used to store IAP preference information in a message store.

Member Enumeration Documentation

Enum anonymous

Deprecated

EnumeratorValueDescription
KSanityCheckOldWins0xEFBEADDE
KSanityCheck0xDEADBEEF

Constructor & Destructor Documentation

~CImIAPPreferences ( )

IMPORT_C~CImIAPPreferences()

Destructor.

Member Function Documentation

AddIAPL ( TImIAPChoice, TInt )

IMPORT_C voidAddIAPL(TImIAPChoiceaIap,
TIntaIndex = 0
)

Adds the given IAP with the given preference value.

Any existing IAPs of equal or lower preference will have their preference lowered further to make way for the new IAP. For example, if an IAP of preference value 0 is already associated with the current service and another IAP of preference 0 is added, then the existing IAP will be relegated to preference value 1. Currently the number of IAPs per service is limited to two.

Parameters
aIapIAP
aIndexPreference value for this IAP
Leave Codes
Leaveswith KErrNotSupported if a SNAP is defined

FindIAPL ( TUint32, TInt & )

IMPORT_C TIntFindIAPL(TUint32aIAP,
TInt &aLocation
)const

Finds the preference value for a specified IAP.

Parameters
aIAPThe identifier of the IAP to find, as specified in the CommDb record for the IAP
aLocationOn return, if the specified IAP was found, its preference value
Return Value
KErrNone if the specified IAP was found; KErrNotFound if not.

IAPPreference ( TInt )

IMPORT_C TImIAPChoiceIAPPreference(TIntaPreference)const

Gets the IAP choice of the given preference value.

Note that preference values run from 0 to n, with 0 being the first choice. Currently the number of IAPs per service is limited to two.

Parameters
aPreferencePreference value
Return Value
IAP choice for the given preference value

NewLC ( )

IMPORT_C CImIAPPreferences *NewLC()[static]

Allocates and creates a new CImIAPPreferences object, leaving the object on the cleanup stack.

Return Value
New CImIAPPreferences object

NumberOfIAPs ( )

IMPORT_C TIntNumberOfIAPs()const

Gets the number of IAPs that are assigned to the current service entry.

Return Value
Number of IAPs

RemoveIAPL ( TInt )

IMPORT_C voidRemoveIAPL(TIntaPreferenceNumber)

Removes the IAP of the given preference.

Any existing IAPs of lower preference will have their preference increased to fill the gap created by the IAP that has been removed. For example, if two IAPs are associated with the current service with the preference values 0 and 1. If the IAP of preference value 0 is later removed, then the other IAP is promoted to preference value 0. It should be noted that adding or removing an IAP from a CImIAPPreferences object does not change any global IAP settings, it only changes the behaviour associated with a particular with a particular email service.

Parameters
aPreferenceNumberPreference value

RemoveSNAP ( )

IMPORT_C voidRemoveSNAP()

Removes the SNAP id for this Email account.

Return Value
A boolean is returned set as ETrue if a SNAP has been provisioned for the email account.

ReplaceIAPL ( TInt, TImIAPChoice )

IMPORT_C voidReplaceIAPL(TIntaPreferenceNumber,
TImIAPChoiceaIap
)

Replaces the current IAP at a specified preference value.

A panic occurs if an IAP is not already set for the preference value.

Parameters
aPreferenceNumberThe preference value for which to set the IAP
aIapThe new IAP value for the preference value

Reset ( )

voidReset()

SNAPDefined ( )

IMPORT_C TBoolSNAPDefined()const

Used to check if SNAP settings are defined for this Email account.

Return Value
A boolean is returned set as ETrue if a SNAP has been provisioned for the email account.

SNAPPreference ( )

IMPORT_C TUint32SNAPPreference()const

Returns the current SNAP Id for the email account.

Return Value
The current SNAP id for the email account.

SetSNAPL ( TUint32 )

IMPORT_C voidSetSNAPL(TUint32aSnap)

Sets the SNAP id for the email account, to the value specified in aSnap.

Parameters
aSnapSpecifies the new SNAP id to be used by this email account.
Return Value
A boolean is returned set as ETrue if a SNAP has been provisioned for the email account.
Leave Codes
Leaveswith KErrNotSupported if IAP list already defined

Version ( )

IMPORT_C TIntVersion()const

Gets the version number of the preferences structure.

Return Value
The version number of the preferences structure