CLbsAdminImpl Class Reference

class CLbsAdminImpl : public CBase

Inherits from

Constructor & Destructor Documentation

CLbsAdminImpl(MLbsAdminObserver *)

CLbsAdminImpl(MLbsAdminObserver *aObserver)[private]

Default constructor

Parameters

MLbsAdminObserver * aObserver

~CLbsAdminImpl()

~CLbsAdminImpl()[virtual]

Default destructor

Member Functions Documentation

CheckCenRepL()

voidCheckCenRepL()[private]
Check the admin cenrep values are within range
leave
KErrGeneral if one of the values is not within range

ClearNotificationMask()

voidClearNotificationMask()

Cancels an outstanding setting event request TLbsAdminSetting

ConstructL()

voidConstructL()[private]

ConstructL(const TLbsAdminSettingGroup &)

voidConstructL(const TLbsAdminSettingGroup &aSettingsMask)[private]
Second phase constructor
capability
WriteDeviceData if the configuration settings need to be created/initialised, none otherwise

Parameters

const TLbsAdminSettingGroup & aSettingsMask

DefineArrayProperties(const TLbsAdminSetting, TUint32)

TInt DefineArrayProperties(const TLbsAdminSettingaAdminSetting,
TUint32aKeyBase
)[private]

Defines the properties for array types. These are read from a number of central repository keys starting at 'aKeyBase'

Parameters

const TLbsAdminSetting aAdminSettingsetting to be defined
TUint32 aKeyBasebase cenrep value for range

DefinePropertiesL()

voidDefinePropertiesL()[private]

Initialises the configuration

leave
One of the system wide error codes
capability
WriteDeviceData if the configuration settings need to be created/initialised, none otherwise

DeleteSubscribers()

voidDeleteSubscribers()[private]

Deletes all the setting subscribers.

It automatically cancels outstanding setting event request (if any).

capability
WriteDeviceData

DeleteSubscribersNotInMask(TLbsAdminSettingGroup &)

voidDeleteSubscribersNotInMask(TLbsAdminSettingGroup &aMask)[private]

Deletes all the setting subscribers whose setting is not selected by aMask. If there is a subscriber for a setting selected by aMask, then that setting is removed from aMask. That way, when the method finishes, the resulting mask selects only those settings for which a subscriber is missing.

capability
WriteDeviceData

Parameters

TLbsAdminSettingGroup & aMask

GetProtocolModulesValidated(TLbsAdminSetting, TInt &, const TLbsAdminSetting)

TInt GetProtocolModulesValidated(TLbsAdminSettingaSetting,
TInt &aValue,
const TLbsAdminSettingaDefault
)[private]

Populate the passed TLbsAdminProtocolModulesInfo class with the module ids held in the RProperty byte array

Parameters

TLbsAdminSetting aSettingThe setting to be read.
TInt & aValueThe value of the setting (returned).
const TLbsAdminSetting aDefaultdefault module cenrep key

GetSettingValidated(TLbsAdminSetting, TInt &)

TInt GetSettingValidated(TLbsAdminSettingaSetting,
TInt &aValue
)

Returns an LBS Administration setting obtained from the corresponding property. This method should be used by one of overloaded DoGet()s after validating the attributes.

For the KLbsSpecialFeatureMaximumRequestDelay read-only seting KErrArgument is returned if the value is greater than KLbsMaximumRequestDelayMax.

TLbsAdminSetting KLbsMaximumRequestDelayMax

Parameters

TLbsAdminSetting aSettingThe setting to be read.
TInt & aValueThe value of the setting (returned).

NewL()

CLbsAdminImpl *NewL()[static]
Static constructor.
capability
WriteDeviceData if the configuration settings need to be created/initialised, none otherwise

NewL(MLbsAdminObserver &, const TLbsAdminSettingGroup &)

CLbsAdminImpl *NewL(MLbsAdminObserver &aObserver,
const TLbsAdminSettingGroup &aSettingsMask
)[static]
Static constructor.
capability
WriteDeviceData if the configuration settings need to be created/initialised, none otherwise

Parameters

MLbsAdminObserver & aObserver
const TLbsAdminSettingGroup & aSettingsMask

ResetToDefault()

TInt ResetToDefault()

SetInfoBaseValidated(TLbsAdminSetting, const TLbsAdminInfoBase &)

TInt SetInfoBaseValidated(TLbsAdminSettingaSetting,
const TLbsAdminInfoBase &aInfo
)

Updates a setting in a relevant property and in the corresponding Central Repository setting. This method should be used by one of overloaded DoSet()s after validating the attributes.

capability
WriteDeviceData
TLbsAdminSetting

Parameters

TLbsAdminSetting aSettingThe setting to be changed.
const TLbsAdminInfoBase & aInfo

SetNotificationMaskL(const TLbsAdminSettingGroup &)

voidSetNotificationMaskL(const TLbsAdminSettingGroup &aSettingsMask)

Parameters

const TLbsAdminSettingGroup & aSettingsMask

SetSettingValidated(TLbsAdminSetting, const TInt &)

TInt SetSettingValidated(TLbsAdminSettingaSetting,
const TInt &aValue
)

Updates a setting in a relevant property and in the corresponding Central Repository setting. This method should be used by one of overloaded DoSet()s after validating the attributes.

capability
WriteDeviceData
TLbsAdminSetting

Parameters

TLbsAdminSetting aSettingThe setting to be changed.
const TInt & aValueThe new value of the setting.

SyncCenrep(TLbsAdminSetting)

TInt SyncCenrep(TLbsAdminSettingaSetting)[private]

As a result of race conditions when there are two or more simultaneous calls of the set functions the values stored in the P&S and CenRep may be different. So we may need to sync the CenRep value with the last P&S value. We run the cycle only once. It must be enough for handling two concurrent calls. We consider the probability of three or more concurrent calls as very low.

Parameters

TLbsAdminSetting aSetting

Member Data Documentation

CRepository * iCenRep

CRepository *iCenRep[private]

RMutex iMutex

RMutex iMutex[private]

MLbsAdminObserver * iObserver

MLbsAdminObserver *iObserver[private]

RPointerArray< CAdminSettingSubscriber > iSubscribers

RPointerArray< CAdminSettingSubscriber >iSubscribers[private]