CHWRMEnhancedLight Class Reference

class CHWRMEnhancedLight : public CHWRMExtendedLight

Base class of Extended Light Client API of HWRM

The HWRM Extended Light API provides the ability to control the device display light as well as the keyboard illumination.

Every new call of the extended light API method stops all ongoing light control orders. Light state after duration based orders expire is the state specified by the last non-duration based order.

The interface contains synchronous methods that will block the client application.

Inherits from

Public Member Functions
~CHWRMEnhancedLight()
voidLightBlinkL(TInt)
voidLightBlinkL(TInt, TInt)
voidLightBlinkL(TInt, TInt, TInt, TInt, TInt)
IMPORT_C voidLightBlinkL(TInt, TInt, const THWRMLightColor &)
IMPORT_C voidLightBlinkL(TInt, TInt, TInt, TInt, TInt, const THWRMLightColor &)
voidLightOffL(TInt)
voidLightOffL(TInt, TInt)
voidLightOffL(TInt, TInt, TBool)
voidLightOnL(TInt)
voidLightOnL(TInt, TInt)
voidLightOnL(TInt, TInt, TInt, TBool)
IMPORT_C voidLightOnL(TInt, TInt, const THWRMLightColor &)
IMPORT_C voidLightOnL(TInt, TInt, TInt, TBool, const THWRMLightColor &)
TLightStatus LightStatus(TInt)
IMPORT_C CHWRMEnhancedLight *NewL()
IMPORT_C CHWRMEnhancedLight *NewL(MHWRMExtendedLightObserver *)
IMPORT_C CHWRMEnhancedLight *NewL(TInt)
IMPORT_C CHWRMEnhancedLight *NewL(MHWRMExtendedLightObserver *, TInt)
IMPORT_C CHWRMEnhancedLight *NewLC()
IMPORT_C CHWRMEnhancedLight *NewLC(MHWRMExtendedLightObserver *)
voidReleaseLight(TInt)
voidReserveLightL(TInt)
voidReserveLightL(TInt, TBool, TBool)
IMPORT_C voidSetLightColorL(TInt, THWRMLightColor &)
IMPORT_C voidSetLightDefaultColorL(TInt)
TInt SupportedTargets()
Private Member Functions
CHWRMEnhancedLight()
voidConstructL(MHWRMExtendedLightObserver *, TInt)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Inherited Enumerations
CHWRMExtendedLight:TLightStatus
CHWRMExtendedLight:TLightTarget
Private Attributes
CHWRMExtendedLightImpl *iExtendedLightImpl

Constructor & Destructor Documentation

CHWRMEnhancedLight()

CHWRMEnhancedLight()[private]

~CHWRMEnhancedLight()

~CHWRMEnhancedLight()[virtual]

Member Functions Documentation

ConstructL(MHWRMExtendedLightObserver *, TInt)

voidConstructL(MHWRMExtendedLightObserver *aCallback,
TIntaPermittedTargets = -1
)[private]

Parameters

MHWRMExtendedLightObserver * aCallback
TInt aPermittedTargets = -1

LightBlinkL(TInt)

voidLightBlinkL(TIntaTarget)[virtual]

The LightBlinkL method blinks the target light(s) of the device for infinite duration using default intensity.

leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.

LightBlinkL(TInt, TInt)

voidLightBlinkL(TIntaTarget,
TIntaDuration
)[virtual]

The LightBlinkL method blinks the target light(s) of the device for specified duration using default intensity.

leave
KErrArgument aDuration is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is set to blink measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aTotalDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.

LightBlinkL(TInt, TInt, TInt, TInt, TInt)

voidLightBlinkL(TIntaTarget,
TIntaDuration,
TIntaOnDuration,
TIntaOffDuration,
TIntaIntensity
)[virtual]

The LightBlinkL method blinks the target light(s) of the device for specified duration using specified intensity. On- and Off-cycle times of the blinking can also be controlled.

leave
KErrArgument One of the parameters is out of range or otherwise invalid.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is set to blink measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aTotalDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
TInt aOnDurationDuration time, measured in milliseconds, of how long the Light is switched on in every Blink cycle. Duration can have maximum value of KHWRMLightMaxDuration. For device default cycle duration, use value KHWRMDefaultCycleTime. If either of aOnDuration or aOffDuration is KHWRMDefaultCycleTime, both must be KHWRMDefaultCycleTime. Some devices might not support variable blink cycle times, in which case default value will be substituted.
TInt aOffDurationDuration time, measured in milliseconds, of how long the Light is switched off in every Blink cycle. Duration can have maximum value of KHWRMLightMaxDuration. For device default cycle duration, use value KHWRMDefaultCycleTime. If either of aOnDuration or aOffDuration is KHWRMDefaultCycleTime, both must be KHWRMDefaultCycleTime. Some devices might not support variable blink cycle times, in which case default value will be substituted.
TInt aIntensityIntensity of the light. If aIntensity is KHWRMDefaultIntensity, device default intensity will be used. Note: All devices might not support user defined intensity, in which case device will behave in its default fashion.

LightBlinkL(TInt, TInt, const THWRMLightColor &)

IMPORT_C voidLightBlinkL(TIntaTarget,
TIntaDuration,
const THWRMLightColor &aRGBParam
)

The LightBlinkL method blinks the target light(s) of the device for specified duration and color using default intensity.

leave
KErrArgument Parameter aDuration is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle Light session has been invalidated.
leave
KErrTimedOut Timeout occurred in controlling light.
leave
KErrInUse One or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory There is a memory allocation failure.
leave
KErrGeneral There is a hardware error.
TLightTarget THWRMLightColor

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is set to blink measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aTotalDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
const THWRMLightColor & aRGBParamRGB Values to be set for the target(s).

LightBlinkL(TInt, TInt, TInt, TInt, TInt, const THWRMLightColor &)

IMPORT_C voidLightBlinkL(TIntaTarget,
TIntaDuration,
TIntaOnDuration,
TIntaOffDuration,
TIntaIntensity,
const THWRMLightColor &aRGBParam
)

The LightBlinkL method blinks the target light(s) of the device for specified duration using specified intensity and color. On- and Off-cycle times of the blinking can also be controlled.

leave
KErrArgument One of the parameters is out of range or otherwise invalid.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle Light session has been invalidated.
leave
KErrTimedOut Timeout occurred in controlling light.
leave
KErrInUse One or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory There is a memory allocation failure.
leave
KErrGeneral There is a hardware error.
TLightTarget THWRMLightColor

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is set to blink measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aTotalDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
TInt aOnDurationDuration time, measured in milliseconds, of how long the Light is switched on in every Blink cycle. Duration can have maximum value of KHWRMLightMaxDuration. For device default cycle duration, use value KHWRMDefaultCycleTime. If either of aOnDuration or aOffDuration is KHWRMDefaultCycleTime, both must be KHWRMDefaultCycleTime. Some devices might not support variable blink cycle times, in which case default value will be substituted.
TInt aOffDurationDuration time, measured in milliseconds, of how long the Light is switched off in every Blink cycle. Duration can have maximum value of KHWRMLightMaxDuration. For device default cycle duration, use value KHWRMDefaultCycleTime. If either of aOnDuration or aOffDuration is KHWRMDefaultCycleTime, both must be KHWRMDefaultCycleTime. Some devices might not support variable blink cycle times, in which case default value will be substituted.
TInt aIntensityIntensity of the light. If aIntensity is KHWRMDefaultIntensity, device default intensity will be used. Note: All devices might not support user defined intensity, in which case device will behave in its default fashion.
const THWRMLightColor & aRGBParamRGB Values to be set for the target(s).

LightOffL(TInt)

voidLightOffL(TIntaTarget)[virtual]

The LightOffL method switches the device light off for the specified target for infinite duration. Lights will be switched off with fade-out.

leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.

LightOffL(TInt, TInt)

voidLightOffL(TIntaTarget,
TIntaDuration
)[virtual]

The LightOffL method switches the device light off for the specified target for the specified duration time. Lights will be switched off with fade-out.

leave
KErrArgument aDuration is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is switched off measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.

LightOffL(TInt, TInt, TBool)

voidLightOffL(TIntaTarget,
TIntaDuration,
TBoolaFadeOut
)[virtual]

The LightOffL method switches the device light off for the specified target for the specified duration time. Lights fade-out can also be controlled.

leave
KErrArgument aDuration is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is switched off measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
TBool aFadeOutIf ETrue, lights will not turn off instantly but instead smoothly fade-out Note: All devices will not support fade-out, in which case device will behave in its default fashion.

LightOnL(TInt)

voidLightOnL(TIntaTarget)[virtual]

The LightOnL method switches the specified target light on for infinite duration using default intensity. Lights will use fade-in.

leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.

LightOnL(TInt, TInt)

voidLightOnL(TIntaTarget,
TIntaDuration
)[virtual]

The LightOnL method switches the specified target light on for the specified duration using default intensity. Lights will use fade-in.

leave
KErrArgument aDuration is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is switched on measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.

LightOnL(TInt, TInt, TInt, TBool)

voidLightOnL(TIntaTarget,
TIntaDuration,
TIntaIntensity,
TBoolaFadeIn
)[virtual]

The LightOnL method switches the specified target light on for the specified duration using specified intensity. Fade-in can also be controlled.

leave
KErrArgument One of the parameters is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle if light session has been invalidated.
leave
KErrTimedOut if timeout occurred in controlling light.
leave
KErrInUse if one or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory if there is a memory allocation failure.
leave
KErrGeneral if there is a hardware error.
TLightTarget

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is switched on measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
TInt aIntensityIntensity of the light. If aIntensity is KHWRMDefaultIntensity, device default intensity will be used. Note: All devices might not support user defined intensity, in which case device will behave in its default fashion.
TBool aFadeInIf ETrue, lights will not turn on instantly but instead smoothly fade-in. Note: All devices will not support fade-in, in which case device will behave in its default fashion.

LightOnL(TInt, TInt, const THWRMLightColor &)

IMPORT_C voidLightOnL(TIntaTarget,
TIntaDuration,
const THWRMLightColor &aRGBParam
)

The LightOnL method switches the specified target light on for the specified duration and specified color.

leave
KErrArgument One of the parameters is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle Light session has been invalidated.
leave
KErrTimedOut Timeout occurred in controlling light.
leave
KErrInUse One or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory There is a memory allocation failure.
leave
KErrGeneral There is a hardware error.
TLightTarget THWRMLightColor

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is switched on measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
const THWRMLightColor & aRGBParamRGB Values to be set for the target(s).

LightOnL(TInt, TInt, TInt, TBool, const THWRMLightColor &)

IMPORT_C voidLightOnL(TIntaTarget,
TIntaDuration,
TIntaIntensity,
TBoolaFadeIn,
const THWRMLightColor &aRGBParam
)

The LightOnL method switches the specified target light on for the specified duration using specified intensity and color. Fade-in can also be controlled.

leave
KErrArgument One of the parameters is out of range.
leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrBadHandle Light session has been invalidated.
leave
KErrTimedOut Timeout occurred in controlling light.
leave
KErrInUse One or more of specified targets are not reserved for this client but are reserved for others.
leave
KErrNoMemory There is a memory allocation failure.
leave
KErrGeneral There is a hardware error.
TLightTarget THWRMLightColor

Parameters

TInt aTargetDefines which light should be controlled. Multiple lights can be specified with using bitwise-or.
TInt aDurationDuration of the time the light is switched on measured in milliseconds. After the duration expires, the light state for target will be changed to whatever state was caused by the last infinite time duration call, or default state determined by inactivity timer, in case there has not been a previous infinite time duration call in this session. If the aDuration time is KHWRMInfiniteDuration then it means an infinite value that has to be stopped by calling of any of the other light control methods. Duration can have maximum value of KHWRMLightMaxDuration.
TInt aIntensityIntensity of the light. If aIntensity is KHWRMDefaultIntensity, device default intensity will be used. Note: All devices might not support user defined intensity, in which case device will behave in its default fashion.
TBool aFadeInIf ETrue, lights will not turn on instantly but instead smoothly fade-in. Note: All devices will not support fade-in, in which case device will behave in its default fashion.
const THWRMLightColor & aRGBParamRGB Values to be set for the target(s).

LightStatus(TInt)

TLightStatus LightStatus(TIntaTarget)const [virtual]

This method retrieves the current light status.

MHWRMExtendedLightObserver TLightTarget

Parameters

TInt aTargetDefines which light status is returned. This method only supports single target, as different targets might have different statuses.

NewL()

IMPORT_C CHWRMEnhancedLight *NewL()[static]

Two-phased constructor for implementation class.

leave
KErrNotSupported Device doesn't support Light feature.
leave
KErrNoMemory if there is a memory allocation failure.

NewL(MHWRMExtendedLightObserver *)

IMPORT_C CHWRMEnhancedLight *NewL(MHWRMExtendedLightObserver *aCallback)[static]

Two-phased constructor for implementation class. Use this method for creating a Light client with callbacks.

leave
KErrNotSupported Device doesn't support Light feature.
leave
KErrNoMemory if there is a memory allocation failure.

Parameters

MHWRMExtendedLightObserver * aCallbackPointer to callback instance

NewL(TInt)

IMPORT_C CHWRMEnhancedLight *NewL(TIntaPermittedTargets)[static]

Two-phased constructor for implementation class. On opening passes permitted targets.

leave
KErrNotSupported Device doesn't support Light feature.
leave
KErrNoMemory if there is a memory allocation failure.

Parameters

TInt aPermittedTargetspermitted targets.

NewL(MHWRMExtendedLightObserver *, TInt)

IMPORT_C CHWRMEnhancedLight *NewL(MHWRMExtendedLightObserver *aCallback,
TIntaPermittedTargets
)[static]

Two-phased constructor for implementation class. Use this method for creating a Light client with callbacks. On opening passes permitted targets.

leave
KErrNotSupported Device doesn't support Light feature.
leave
KErrNoMemory if there is a memory allocation failure.

Parameters

MHWRMExtendedLightObserver * aCallbackPointer to callback instance
TInt aPermittedTargetspermitted targets.

NewLC()

IMPORT_C CHWRMEnhancedLight *NewLC()[static]

Two-phased constructor for implementation class. Leaves instance to cleanup stack.

leave
KErrNotSupported Device doesn't support Light feature.
leave
KErrNoMemory if there is a memory allocation failure.

NewLC(MHWRMExtendedLightObserver *)

IMPORT_C CHWRMEnhancedLight *NewLC(MHWRMExtendedLightObserver *aCallback)[static]

Two-phased constructor for implementation class. Use this method for creating a Light client with callbacks. Leaves instance to cleanup stack.

leave
KErrNotSupported Device doesn't support Light feature.
leave
KErrNoMemory if there is a memory allocation failure.

Parameters

MHWRMExtendedLightObserver * aCallbackPointer to callback instance

ReleaseLight(TInt)

voidReleaseLight(TIntaTarget)[virtual]

Releases light target if it was previously reserved for this client. If this client has not reserved any of the specified lights, this method does nothing. Any reserved light targets that are released and have no other suspended clients will be reset to default state, which is either lights on or lights off, depending on system inactivity time.

TLightTarget

Parameters

TInt aTargetDefines which light should be released. Multiple lights can be specified with using bitwise-or.

ReserveLightL(TInt)

voidReserveLightL(TIntaTarget)[virtual]

Reserves light target exclusively for this client. A higher priority client may cause lower priority client reservation to be temporarily suspended. Commands can still be issued in suspended state, but they will not be acted upon unless suspension is lifted within specified duration. The suspended client will not get any notification about suspension. If light target is already reserved by a higher or equal priority application, reserving will still succeeds, but reservation is immediately suspended.

Calling this method is equal to call ReserveLightL( aTarget, EFalse, EFalse), i.e. any previously frozen state will not be restored and CCoeEnv background/foreground status is always used to control further reservations.

leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrAccessDenied if no CCoeEnv present.
leave
KErrNotReady if trying to reserve while on background.
leave
KErrNoMemory if there is a memory allocation failure.
TLightTarget

Parameters

TInt aTargetDefines which light should be reserved. Multiple lights can be specified with using bitwise-or.

ReserveLightL(TInt, TBool, TBool)

voidReserveLightL(TIntaTarget,
TBoolaRestoreState,
TBoolaForceNoCCoeEnv
)[virtual]

Reserves light target exclusively for this client. A higher priority client may cause lower priority client reservation to be temporarily suspended. Commands can still be issued in suspended state, but they will not be acted upon unless suspension is lifted within specified duration. The suspended client will not get any notification about suspension. If light target is already reserved by a higher or equal priority application, reserving will still succeeds, but reservation is immediately suspended.

leave
KErrNotSupported One or more of specified targets are not supported.
leave
KErrAccessDenied if aForceNoCCoeEnv is ETrue and client is not trusted.
leave
KErrBadHandle if aForceNoCCoeEnv is EFalse and no CCoeEnv present.
leave
KErrNotReady if trying to reserve while on background and aForceNoCCoeEnv is EFalse.
leave
KErrNoMemory if there is a memory allocation failure.
TLightTarget

Parameters

TInt aTargetDefines which light should be reserved. Multiple lights can be specified with using bitwise-or.
TBool aRestoreStateIf ETrue, the state frozen on last release will be restored upon successful reservation. I.e. if light was blinking when it was released by this client the last time, it would start blinking again upon successful reservation. For the first reservation of each session this parameter is always considered EFalse regardless of what is supplied, as there is no previous frozen state to restore.
TBool aForceNoCCoeEnvIf EFalse, then reservation requires that this client is on the foreground at the time of reservation and light target will be automatically released and re-reserved based on background/foreground status of the this client. This also implies that CCoeEnv::Static() != NULL is required. If ETrue, the client will not require CCoeEnv to be present nor does it automatically reserve/release light by depending on foreground/background status of the client. Only trusted clients are allowed to set this flag to ETrue. Client is considered trusted if it has nonstandard priority defined in the lights policy.

SetLightColorL(TInt, THWRMLightColor &)

IMPORT_C voidSetLightColorL(TIntaTarget,
THWRMLightColor &aRGB
)

Parameters

TInt aTarget
THWRMLightColor & aRGB

SetLightDefaultColorL(TInt)

IMPORT_C voidSetLightDefaultColorL(TIntaTarget)

Parameters

TInt aTarget

SupportedTargets()

TInt SupportedTargets()const [virtual]

This method retrieves the supported light targets of the device. Any attempt to use or reserve unsupported targets will fail with KErrNotSupported.

TLightTarget

Member Data Documentation

CHWRMExtendedLightImpl * iExtendedLightImpl

CHWRMExtendedLightImpl *iExtendedLightImpl[private]