CImIAPPreferences Class Reference

class CImIAPPreferences : public CBase

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.

Inherits from

Constructor & Destructor Documentation

CImIAPPreferences()

CImIAPPreferences ( ) [private]

CImIAPPreferences(CImIAPPreferences &)

CImIAPPreferences ( CImIAPPreferences & aOther ) [private]

Parameters

CImIAPPreferences & aOther

~CImIAPPreferences()

IMPORT_C ~CImIAPPreferences ( )

Destructor.

Member Functions Documentation

AddIAPL(TImIAPChoice, TInt)

IMPORT_C void AddIAPL ( TImIAPChoice aIap,
TInt aIndex = 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.

leave
Leaves with KErrNotSupported if a SNAP is defined

Parameters

TImIAPChoice aIap IAP
TInt aIndex = 0 Preference value for this IAP

ConstructL()

void ConstructL ( ) [private]

FindIAPL(TUint32, TInt &)

IMPORT_C TInt FindIAPL ( TUint32 aIAP,
TInt & aLocation
) const

Finds the preference value for a specified IAP.

Parameters

TUint32 aIAP The identifier of the IAP to find, as specified in the CommDb record for the IAP
TInt & aLocation On return, if the specified IAP was found, its preference value

IAPPreference(TInt)

IMPORT_C TImIAPChoice IAPPreference ( TInt aPreference ) 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

TInt aPreference Preference value

NewLC()

IMPORT_C CImIAPPreferences * NewLC ( ) [static]

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

NumberOfIAPs()

IMPORT_C TInt NumberOfIAPs ( ) const

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

Panic(int)

void Panic ( int err ) const [private]

Parameters

int err

RemoveIAPL(TInt)

IMPORT_C void RemoveIAPL ( TInt aPreferenceNumber )

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

TInt aPreferenceNumber Preference value

RemoveSNAP()

IMPORT_C void RemoveSNAP ( )

Removes the SNAP id for this Email account.

ReplaceIAPL(TInt, TImIAPChoice)

IMPORT_C void ReplaceIAPL ( TInt aPreferenceNumber,
TImIAPChoice aIap
)

Replaces the current IAP at a specified preference value.

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

Parameters

TInt aPreferenceNumber The preference value for which to set the IAP
TImIAPChoice aIap The new IAP value for the preference value

Reset()

void Reset ( )

SNAPDefined()

IMPORT_C TBool SNAPDefined ( ) const

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

SNAPPreference()

IMPORT_C TUint32 SNAPPreference ( ) const

Returns the current SNAP Id for the email account.

SetSNAPL(TUint32)

IMPORT_C void SetSNAPL ( TUint32 aSnap )

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

leave
Leaves with KErrNotSupported if IAP list already defined

Parameters

TUint32 aSnap Specifies the new SNAP id to be used by this email account.

Version()

IMPORT_C TInt Version ( ) const

Gets the version number of the preferences structure.

operator=(CImIAPPreferences &)

int operator= ( CImIAPPreferences & aOther ) [private]

Parameters

CImIAPPreferences & aOther

Member Enumerations Documentation

Enum anonymous

Deprecated

Enumerators

KSanityCheckOldWins = 0xEFBEADDE
KSanityCheck = 0xDEADBEEF

Member Data Documentation

const TUid KUidMsgFileInternetAccessPreferences

const TUid KUidMsgFileInternetAccessPreferences [static]

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

CArrayFixFlat< TImIAPChoice > * iChoices

CArrayFixFlat < TImIAPChoice > * iChoices [private]

TUint32 iSnapId

TUint32 iSnapId [private]

TInt iVersion

TInt iVersion [private]