epoc32/include/hwrmlight.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/hwrmlight.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/hwrmlight.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,22 +1,23 @@
     1.4  /*
     1.5 -* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). 
     1.6 +* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.7  * All rights reserved.
     1.8  * This component and the accompanying materials are made available
     1.9 -* 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
    1.10 +* under the terms of "Eclipse Public License v1.0"
    1.11  * which accompanies this distribution, and is available
    1.12 -* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.13 +* at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.14  *
    1.15  * Initial Contributors:
    1.16  * Nokia Corporation - initial contribution.
    1.17  *
    1.18  * Contributors:
    1.19  *
    1.20 -* Description:  This file contains the header of the 
    1.21 -*                CHWRMLight class.
    1.22 +* Description:
    1.23  *
    1.24  */
    1.25  
    1.26  
    1.27 +
    1.28 +
    1.29  #ifndef HWRMLIGHT_H
    1.30  #define HWRMLIGHT_H
    1.31  
    1.32 @@ -27,39 +28,69 @@
    1.33  
    1.34  /**
    1.35  * Minimum allowed intensity setting for Light.
    1.36 +*
    1.37 +* @publishedAll
    1.38 +* @released
    1.39  */
    1.40  const TInt KHWRMLightMinIntensity = 1;
    1.41  
    1.42  /**
    1.43  * Maximum allowed intensity setting for Light.
    1.44 +*
    1.45 +* @publishedAll
    1.46 +* @released
    1.47  */
    1.48  const TInt KHWRMLightMaxIntensity = 100;
    1.49  
    1.50  /**
    1.51  * Indicates default intensity in various methods.
    1.52 +*
    1.53 +* @publishedAll
    1.54 +* @released
    1.55  */
    1.56  const TInt KHWRMDefaultIntensity = 0;
    1.57  
    1.58  /**
    1.59  * Maximum allowed duration value.
    1.60 +*
    1.61 +* @publishedAll
    1.62 +* @released
    1.63  */
    1.64  const TInt KHWRMLightMaxDuration = (KMaxTInt / 1000) - 1;
    1.65  
    1.66  /**
    1.67  * Infinite duration value.
    1.68 +*
    1.69 +* @publishedAll
    1.70 +* @released
    1.71  */
    1.72  const TInt KHWRMInfiniteDuration = 0;
    1.73  
    1.74  /**
    1.75  * Indicates device default Blink cycle time.
    1.76 +*
    1.77 +* @publishedAll
    1.78 +* @released
    1.79  */
    1.80  const TInt KHWRMDefaultCycleTime = 0;
    1.81  
    1.82  
    1.83 -// FORWARD DECLARATIONS
    1.84  class MHWRMLightObserver;
    1.85 +class CHWRMEnhancedLight;
    1.86  
    1.87 -// CLASS DECLARATIONS
    1.88 +/**  
    1.89 +* RGB values.
    1.90 +*
    1.91 +* @publishedAll
    1.92 +*/
    1.93 +
    1.94 +struct THWRMLightColor
    1.95 +{
    1.96 +    TUint8 iRed;
    1.97 +    TUint8 iGreen;
    1.98 +    TUint8 iBlue;
    1.99 +};
   1.100 +
   1.101  
   1.102  /**
   1.103  * The class used to control the device lights.
   1.104 @@ -82,7 +113,7 @@
   1.105  * Usage:
   1.106  *
   1.107  * @code
   1.108 -* #include <HWRMLight.h>  // link against HWRMLightClient.lib
   1.109 +* #include <hwrmlight.h> 
   1.110  *
   1.111  * // A CHWRMLight instance can be created by using NewL() or NewLC() methods. 
   1.112  * // Up-to-date status information not required, no callbacks.
   1.113 @@ -96,8 +127,8 @@
   1.114  * delete light;
   1.115  * @endcode
   1.116  *
   1.117 -* @lib HWRMLIGHTCLIENT.DLL
   1.118 -* @since S60 3.0
   1.119 +* @publishedAll
   1.120 +* @released
   1.121  */
   1.122  class CHWRMLight : public CBase
   1.123      {
   1.124 @@ -108,10 +139,22 @@
   1.125  		*/
   1.126  		enum TLightStatus
   1.127  			{
   1.128 -			ELightStatusUnknown = 0, ///< For debugging/development and signaling an error conditions.
   1.129 -			ELightOn,                ///< Light state switch to light on.
   1.130 -			ELightOff,               ///< Light state switch to light off.
   1.131 -			ELightBlink            ///< Light state switch to light blinking.
   1.132 +			/**
   1.133 +			For debugging/development and signaling an error conditions.
   1.134 +			*/
   1.135 +			ELightStatusUnknown = 0,
   1.136 +			/**
   1.137 +			Light state switch to light on.
   1.138 +			*/
   1.139 +			ELightOn,              
   1.140 +			/**
   1.141 +			Light state switch to light off.
   1.142 +			*/
   1.143 +			ELightOff,             
   1.144 +			/**
   1.145 +			Light state switch to light blinking.
   1.146 +			*/
   1.147 +			ELightBlink            
   1.148  			};
   1.149  
   1.150          /**
   1.151 @@ -126,24 +169,50 @@
   1.152          */
   1.153          enum TLightTarget
   1.154              {
   1.155 -            ENoTarget                    = 0x0,     ///< No target. Not a valid target value, used only
   1.156 -                                                    ///< for error checking.
   1.157 -            
   1.158 -            EPrimaryDisplay              = 0x1,     ///< Primary display of the device.
   1.159 -            EPrimaryKeyboard             = 0x2,     ///< Primary keyboard of the device. 
   1.160 -            EPrimaryDisplayAndKeyboard   = 0x3,     ///< Both primary display and the 
   1.161 -                                                    ///< primary keyboard of the device.  
   1.162 -            
   1.163 -            ESecondaryDisplay            = 0x4,     ///< Secondary display of the device.
   1.164 -            ESecondaryKeyboard           = 0x8,     ///< Secondary keyboard of the device. 
   1.165 -            ESecondaryDisplayAndKeyboard = 0xC,     ///< Both secondary display and the 
   1.166 -                                                    ///< secondary keyboard of the device.  
   1.167 -                                                
   1.168 -            ECustomTarget1               = 0x10,    ///< Device specific custom target 1.
   1.169 -            ECustomTarget2               = 0x20,    ///< Device specific custom target 2.
   1.170 -            ECustomTarget3               = 0x40,    ///< Device specific custom target 3.
   1.171 -            ECustomTarget4               = 0x80,    ///< Device specific custom target 4.
   1.172 -            
   1.173 +            /**
   1.174 +            No target. Not a valid target value, used only for error checking.
   1.175 +            */
   1.176 +            ENoTarget                    = 0x0,    
   1.177 +            /**
   1.178 +            Primary display of the device.
   1.179 +            */            
   1.180 +            EPrimaryDisplay              = 0x1,     
   1.181 +            /**
   1.182 +            Primary keyboard of the device. 
   1.183 +            */
   1.184 +            EPrimaryKeyboard             = 0x2,     
   1.185 +            /**
   1.186 +            Both primary display and the primary keyboard of the device.  
   1.187 +            */
   1.188 +            EPrimaryDisplayAndKeyboard   = 0x3,                
   1.189 +            /**
   1.190 +            Secondary display of the device.
   1.191 +            */
   1.192 +            ESecondaryDisplay            = 0x4,     
   1.193 +            /**
   1.194 +            Secondary keyboard of the device. 
   1.195 +            */
   1.196 +            ESecondaryKeyboard           = 0x8,     
   1.197 +            /**
   1.198 +            Both secondary display and the secondary keyboard of the device.  
   1.199 +            */
   1.200 +            ESecondaryDisplayAndKeyboard = 0xC,          
   1.201 +            /**
   1.202 +            Device specific custom target 1.
   1.203 +            */
   1.204 +            ECustomTarget1               = 0x10, 
   1.205 +            /**
   1.206 +            Device specific custom target 2.
   1.207 +            */
   1.208 +            ECustomTarget2               = 0x20, 
   1.209 +            /**
   1.210 +            Device specific custom target 3.
   1.211 +            */
   1.212 +            ECustomTarget3               = 0x40, 
   1.213 +            /**
   1.214 +            Device specific custom target 4.
   1.215 +            */
   1.216 +            ECustomTarget4               = 0x80,             
   1.217              /**
   1.218              * Special target used to control all currently available system lights.
   1.219              *
   1.220 @@ -210,6 +279,12 @@
   1.221          */
   1.222          IMPORT_C static CHWRMLight* NewLC(MHWRMLightObserver* aCallback);
   1.223  
   1.224 +		
   1.225 +		/**
   1.226 +		* Destructor
   1.227 +		*/
   1.228 +		IMPORT_C ~CHWRMLight();
   1.229 +		
   1.230      public: // New functions
   1.231  
   1.232      	
   1.233 @@ -237,7 +312,7 @@
   1.234  		*
   1.235  	 	* @see TLightTarget
   1.236      	*/
   1.237 -    	virtual void ReserveLightL(TInt aTarget)=0;
   1.238 +    	virtual void ReserveLightL(TInt aTarget);
   1.239      	
   1.240      	/**
   1.241      	* Reserves light target exclusively for this client.
   1.242 @@ -272,7 +347,7 @@
   1.243      	*                        A client is considered trusted if it has nonstandard
   1.244          *                        priority defined in the internal lights policy of the 
   1.245          *                        HW Resource Manager. A client can be defined trusted
   1.246 -        *                        only by S60 or a product.
   1.247 +        *                        only by a product.
   1.248      	*
   1.249      	* @leave KErrNotSupported One or more of specified targets are not supported.
   1.250      	* @leave KErrAccessDenied Paramenter aForceNoCCoeEnv is ETrue and client is not trusted.
   1.251 @@ -283,7 +358,7 @@
   1.252  		*
   1.253  	 	* @see TLightTarget
   1.254      	*/
   1.255 -    	virtual void ReserveLightL(TInt aTarget, TBool aRestoreState, TBool aForceNoCCoeEnv)=0;
   1.256 +    	virtual void ReserveLightL(TInt aTarget, TBool aRestoreState, TBool aForceNoCCoeEnv);
   1.257  
   1.258      	/**
   1.259      	* Releases light target if it was previously reserved for this client.
   1.260 @@ -298,7 +373,7 @@
   1.261  		*
   1.262  	 	* @see TLightTarget
   1.263      	*/
   1.264 -    	virtual void ReleaseLight(TInt aTarget)=0;
   1.265 +    	virtual void ReleaseLight(TInt aTarget);
   1.266  
   1.267  
   1.268  	    /** 
   1.269 @@ -321,7 +396,7 @@
   1.270  		*
   1.271  	 	* @see TLightTarget
   1.272  		*/
   1.273 -		virtual void LightOnL(TInt aTarget) = 0;
   1.274 +		virtual void LightOnL(TInt aTarget);
   1.275  
   1.276  	    /** 
   1.277  	    * The LightOnL method switches the specified target light on
   1.278 @@ -354,7 +429,7 @@
   1.279  	 	* @see TLightTarget
   1.280  		*/
   1.281  		virtual void LightOnL(TInt aTarget, 
   1.282 -		                      TInt aDuration) = 0;
   1.283 +		                      TInt aDuration);
   1.284  
   1.285  	    /** 
   1.286  	    * The LightOnL method switches the specified target light on
   1.287 @@ -393,15 +468,17 @@
   1.288  		virtual void LightOnL(TInt aTarget, 
   1.289  		                      TInt aDuration, 
   1.290  		                      TInt aIntensity,
   1.291 -		                      TBool aFadeIn) = 0;
   1.292 +		                      TBool aFadeIn);
   1.293  
   1.294  	    /** 
   1.295  	    * The LightBlinkL method blinks the target light(s) of the device for infinite duration
   1.296  	    * using default intensity.
   1.297          *
   1.298          * Calling this method is equal to call 
   1.299 +        * @code
   1.300          * LightBlinkL(aTarget, KHWRMInfiniteDuration, KHWRMDefaultCycleTime, 
   1.301          *             KHWRMDefaultCycleTime, KHWRMDefaultIntensity).
   1.302 +	   	* @endcode
   1.303  	   	*
   1.304  		* @param aTarget Defines which light should be controlled. Multiple lights can
   1.305  		*                be specified with using bitwise-or.
   1.306 @@ -416,7 +493,7 @@
   1.307  		*
   1.308  	 	* @see TLightTarget
   1.309  		*/
   1.310 -		virtual void LightBlinkL(TInt aTarget) = 0;
   1.311 +		virtual void LightBlinkL(TInt aTarget);
   1.312  
   1.313  	    /** 
   1.314  	    * The LightBlinkL method blinks the target light(s) of the device for specified duration
   1.315 @@ -450,7 +527,7 @@
   1.316  	 	* @see TLightTarget
   1.317  		*/
   1.318  		virtual void LightBlinkL(TInt aTarget, 
   1.319 -		                         TInt aDuration) = 0;
   1.320 +		                         TInt aDuration);
   1.321  
   1.322  	    /** 
   1.323  	    * The LightBlinkL method blinks the target light(s) of the device for specified duration
   1.324 @@ -503,7 +580,7 @@
   1.325  		                         TInt aDuration, 
   1.326  		                         TInt aOnDuration, 
   1.327  		                         TInt aOffDuration, 
   1.328 -		                         TInt aIntensity) = 0;
   1.329 +		                         TInt aIntensity);
   1.330  
   1.331     	    /**
   1.332  	    * The LightOffL method switches the device light off for the specified target for
   1.333 @@ -525,7 +602,7 @@
   1.334  		*
   1.335  	 	* @see TLightTarget
   1.336  		*/
   1.337 -		virtual void LightOffL(TInt aTarget) = 0;
   1.338 +		virtual void LightOffL(TInt aTarget);
   1.339  
   1.340     	    /**
   1.341  	    * The LightOffL method switches the device light off for the specified target for
   1.342 @@ -557,7 +634,7 @@
   1.343  	 	* @see TLightTarget
   1.344  		*/
   1.345  		virtual void LightOffL(TInt aTarget, 
   1.346 -		                       TInt aDuration) = 0;
   1.347 +		                       TInt aDuration);
   1.348  
   1.349     	    /**
   1.350  	    * The LightOffL method switches the device light off for the specified target for
   1.351 @@ -591,7 +668,7 @@
   1.352  		*/
   1.353  		virtual void LightOffL(TInt aTarget, 
   1.354  		                       TInt aDuration, 
   1.355 -		                       TBool aFadeOut) = 0;
   1.356 +		                       TBool aFadeOut);
   1.357  		                       
   1.358          /**
   1.359          * This method retrieves the current light status. 
   1.360 @@ -605,7 +682,7 @@
   1.361          * @see MHWRMLightObserver
   1.362  	 	* @see TLightTarget
   1.363          */
   1.364 -        virtual TLightStatus LightStatus(TInt aTarget) const = 0;
   1.365 +        virtual TLightStatus LightStatus(TInt aTarget) const;
   1.366          
   1.367          /**
   1.368          * This method retrieves the supported light targets of the device.
   1.369 @@ -616,7 +693,213 @@
   1.370          *
   1.371          * @see TLightTarget
   1.372          */
   1.373 -        virtual TInt SupportedTargets() const = 0;
   1.374 +        virtual TInt SupportedTargets() const;
   1.375 +
   1.376 +        
   1.377 +        /*
   1.378 +        *   Used for setting color of Light Target(s).
   1.379 +        *
   1.380 +        * @param aTarget Defines which light should be controlled. Multiple lights can
   1.381 +        *                be specified with using bitwise-or.
   1.382 +        *
   1.383 +        * @param aRGB RGB Values to be set for the target(s).
   1.384 +        *
   1.385 +        * @leave KErrNotSupported One or more of specified targets are not supported.
   1.386 +        * @leave KErrBadHandle Light session has been invalidated.
   1.387 +        * @leave KErrTimedOut Timeout occurred in controlling light.
   1.388 +        * @leave KErrInUse One or more of specified targets are not reserved for
   1.389 +        *                  this client but are reserved for others.
   1.390 +        * @leave KErrNoMemory There is a memory allocation failure. 
   1.391 +
   1.392 +        * @see THWRMLightColor
   1.393 +        */
   1.394 +        IMPORT_C void SetLightColorL(TInt aTarget, THWRMLightColor& aRGB);
   1.395 +        
   1.396 +        /*
   1.397 +        *   Used for setting default color of Light Target(s).
   1.398 +        *
   1.399 +        * @param aTarget Defines which light should be controlled. Multiple lights can
   1.400 +        *                be specified with using bitwise-or.
   1.401 +        * @leave KErrNotSupported One or more of specified targets are not supported.
   1.402 +        * @leave KErrBadHandle Light session has been invalidated.
   1.403 +        * @leave KErrTimedOut Timeout occurred in controlling light.
   1.404 +        * @leave KErrInUse One or more of specified targets are not reserved for
   1.405 +        *                  this client but are reserved for others.
   1.406 +        * @leave KErrNoMemory There is a memory allocation failure. 
   1.407 +
   1.408 +        */
   1.409 +        
   1.410 +        IMPORT_C void SetLightDefaultColorL(TInt aTarget);
   1.411 +
   1.412 +        /** 
   1.413 +        * The LightOnL method switches the specified target light on
   1.414 +        * for the specified duration and specified color.
   1.415 +        * 
   1.416 +        * @param aTarget Defines which light should be controlled. Multiple lights can
   1.417 +        *                be specified with using bitwise-or.
   1.418 +        * @param aDuration Duration of the time the light is switched on measured in milliseconds.
   1.419 +        *                  After the duration expires, the light state for target will be changed 
   1.420 +        *                  to whatever state was caused by the last infinite time duration call, or
   1.421 +        *                  default state determined by inactivity timer, in case there has not 
   1.422 +        *                  been a previous infinite time duration call in this session.
   1.423 +        *                  If the aDuration time is KHWRMInfiniteDuration then it means 
   1.424 +        *                  an infinite value that has to be stopped by calling of any of 
   1.425 +        *                  the other light control methods.
   1.426 +        *                  Duration can have maximum value of KHWRMLightMaxDuration.
   1.427 +        * @param aRGBParam RGB Values to be set for the target(s).
   1.428 +        *
   1.429 +        * @leave KErrArgument One of the parameters is out of range.
   1.430 +        * @leave KErrNotSupported One or more of specified targets are not supported.
   1.431 +        * @leave KErrBadHandle Light session has been invalidated.
   1.432 +        * @leave KErrTimedOut Timeout occurred in controlling light.
   1.433 +        * @leave KErrInUse One or more of specified targets are not reserved for
   1.434 +        *                  this client but are reserved for others.
   1.435 +        * @leave KErrNoMemory There is a memory allocation failure. 
   1.436 +        * @leave KErrGeneral There is a hardware error.
   1.437 +        *
   1.438 +        * @see TLightTarget
   1.439 +        * @see THWRMLightColor
   1.440 +        */
   1.441 +        IMPORT_C void LightOnL(TInt aTarget, TInt aDuration, const THWRMLightColor& aRGBParam);
   1.442 +
   1.443 +        /** 
   1.444 +        * The LightOnL method switches the specified target light on
   1.445 +        * for the specified duration using specified intensity and color. Fade-in can also be controlled.
   1.446 +        * 
   1.447 +        * @param aTarget Defines which light should be controlled. Multiple lights can
   1.448 +        *                be specified with using bitwise-or.
   1.449 +        * @param aDuration Duration of the time the light is switched on measured in milliseconds.
   1.450 +        *                  After the duration expires, the light state for target will be changed 
   1.451 +        *                  to whatever state was caused by the last infinite time duration call, or
   1.452 +        *                  default state determined by inactivity timer, in case there has not 
   1.453 +        *                  been a previous infinite time duration call in this session.
   1.454 +        *                  If the aDuration time is KHWRMInfiniteDuration then it means 
   1.455 +        *                  an infinite value that has to be stopped by calling of any of 
   1.456 +        *                  the other light control methods.
   1.457 +        *                  Duration can have maximum value of KHWRMLightMaxDuration.
   1.458 +        * @param aIntensity Intensity of the light. If aIntensity is KHWRMDefaultIntensity, device default 
   1.459 +        *                   intensity will be used. 
   1.460 +        *                   Note: All devices might not support user defined intensity, in which case
   1.461 +        *                   device will behave in its default fashion.
   1.462 +        * @param aFadeIn If ETrue, lights will not turn on instantly but instead smoothly fade-in.
   1.463 +        *                Note: All devices will not support fade-in, in which case device will
   1.464 +        *                behave in its default fashion.
   1.465 +        * @param aRGBParam RGB Values to be set for the target(s).
   1.466 +        *
   1.467 +        * @leave KErrArgument One of the parameters is out of range.
   1.468 +        * @leave KErrNotSupported One or more of specified targets are not supported.
   1.469 +        * @leave KErrBadHandle Light session has been invalidated.
   1.470 +        * @leave KErrTimedOut Timeout occurred in controlling light.
   1.471 +        * @leave KErrInUse One or more of specified targets are not reserved for
   1.472 +        *                  this client but are reserved for others.
   1.473 +        * @leave KErrNoMemory There is a memory allocation failure. 
   1.474 +        * @leave KErrGeneral There is a hardware error.
   1.475 +        *
   1.476 +        * @see TLightTarget
   1.477 +        * @see THWRMLightColor
   1.478 +        */
   1.479 +
   1.480 +        IMPORT_C void LightOnL(TInt aTarget, TInt aDuration, TInt aIntensity, TBool aFadeIn, 
   1.481 +                      const  THWRMLightColor& aRGBParam);
   1.482 +
   1.483 +        /** 
   1.484 +        * The LightBlinkL method blinks the target light(s) of the device for specified duration and color
   1.485 +        * using default intensity.
   1.486 +        *
   1.487 +        *
   1.488 +        * @param aTarget Defines which light should be controlled. Multiple lights can
   1.489 +        *                be specified with using bitwise-or.
   1.490 +        * @param aDuration Duration of the time the light is set to blink measured in milliseconds.
   1.491 +        *                  After the duration expires, the light state for target will be changed 
   1.492 +        *                  to whatever state was caused by the last infinite time duration call, or
   1.493 +        *                  default state determined by inactivity timer, in case there has not 
   1.494 +        *                  been a previous infinite time duration call in this session.
   1.495 +        *                  If the aTotalDuration time is KHWRMInfiniteDuration then it
   1.496 +        *                  means an infinite value that has to be
   1.497 +        *                  stopped by calling of any of the other light control methods.
   1.498 +        *                  Duration can have maximum value of KHWRMLightMaxDuration.
   1.499 +        *
   1.500 +        * @param aRGBParam RGB Values to be set for the target(s).
   1.501 +        *
   1.502 +        * @leave KErrArgument Parameter aDuration is out of range.
   1.503 +        * @leave KErrNotSupported One or more of specified targets are not supported.
   1.504 +        * @leave KErrBadHandle Light session has been invalidated.
   1.505 +        * @leave KErrTimedOut Timeout occurred in controlling light.
   1.506 +        * @leave KErrInUse One or more of specified targets are not reserved for
   1.507 +        *                  this client but are reserved for others.
   1.508 +        * @leave KErrNoMemory There is a memory allocation failure. 
   1.509 +        * @leave KErrGeneral There is a hardware error.
   1.510 +        *
   1.511 +        * @see TLightTarget
   1.512 +        * @see THWRMLightColor
   1.513 +        */
   1.514 +
   1.515 +        IMPORT_C void LightBlinkL(TInt aTarget, TInt aDuration, const THWRMLightColor& aRGBParam);
   1.516 +
   1.517 +        /** 
   1.518 +        * The LightBlinkL method blinks the target light(s) of the device for specified duration
   1.519 +        * using specified intensity and color. On- and Off-cycle times of the blinking can also be controlled.
   1.520 +        *
   1.521 +        * @param aTarget Defines which light should be controlled. Multiple lights can
   1.522 +        *                be specified with using bitwise-or.
   1.523 +        * @param aDuration Duration of the time the light is set to blink measured in milliseconds.
   1.524 +        *                  After the duration expires, the light state for target will be changed 
   1.525 +        *                  to whatever state was caused by the last infinite time duration call, or
   1.526 +        *                  default state determined by inactivity timer, in case there has not 
   1.527 +        *                  been a previous infinite time duration call in this session.
   1.528 +        *                  If the aTotalDuration time is KHWRMInfiniteDuration then it
   1.529 +        *                  means an infinite value that has to be
   1.530 +        *                  stopped by calling of any of the other light control methods.
   1.531 +        *                  Duration can have maximum value of KHWRMLightMaxDuration.
   1.532 +        * @param aOnDuration Duration time, measured in milliseconds, of how long the Light is
   1.533 +        *                    switched on in every Blink cycle.
   1.534 +        *                    Duration can have maximum value of KHWRMLightMaxDuration.
   1.535 +        *                    For device default cycle duration, use value KHWRMDefaultCycleTime.
   1.536 +        *                    If either of aOnDuration or aOffDuration is KHWRMDefaultCycleTime,
   1.537 +        *                    both must be KHWRMDefaultCycleTime.
   1.538 +        *                    Some devices might not support variable blink cycle times, in which
   1.539 +        *                    case default value will be substituted.
   1.540 +        * @param aOffDuration Duration time, measured in milliseconds, of how long the Light
   1.541 +        *                     is switched off in every Blink cycle.
   1.542 +        *                     Duration can have maximum value of KHWRMLightMaxDuration.
   1.543 +        *                     For device default cycle duration, use value KHWRMDefaultCycleTime.
   1.544 +        *                     If either of aOnDuration or aOffDuration is KHWRMDefaultCycleTime,
   1.545 +        *                     both must be KHWRMDefaultCycleTime.
   1.546 +        *                     Some devices might not support variable blink cycle times, in which
   1.547 +        *                     case default value will be substituted.
   1.548 +        * @param aIntensity Intensity of the light. If aIntensity is KHWRMDefaultIntensity, device default 
   1.549 +        *                   intensity will be used.
   1.550 +        *                   Note: All devices might not support user defined intensity, in which case
   1.551 +        *                   device will behave in its default fashion.
   1.552 +        *
   1.553 +        * @param aRGBParam RGB Values to be set for the target(s).
   1.554 +        *
   1.555 +        * @leave KErrArgument One of the parameters is out of range or otherwise invalid.
   1.556 +        * @leave KErrNotSupported One or more of specified targets are not supported.
   1.557 +        * @leave KErrBadHandle Light session has been invalidated.
   1.558 +        * @leave KErrTimedOut Timeout occurred in controlling light.
   1.559 +        * @leave KErrInUse One or more of specified targets are not reserved for
   1.560 +        *                  this client but are reserved for others.
   1.561 +        * @leave KErrNoMemory There is a memory allocation failure. 
   1.562 +        * @leave KErrGeneral There is a hardware error.
   1.563 +        *
   1.564 +        * @see TLightTarget
   1.565 +        * @see THWRMLightColor
   1.566 +        */
   1.567 +        
   1.568 +        IMPORT_C void LightBlinkL(TInt aTarget, TInt aDuration, TInt aOnDuration, TInt aOffDuration, 
   1.569 +                         TInt aIntensity, const THWRMLightColor& aRGBParam);
   1.570 +
   1.571 +
   1.572 +
   1.573 +        
   1.574 +private:
   1.575 +		CHWRMLight();
   1.576 +		void ConstructL(MHWRMLightObserver* aCallback);        
   1.577 +        
   1.578 +private:
   1.579 +        CHWRMEnhancedLight* iEnhanced;
   1.580 +
   1.581      };
   1.582      
   1.583  /**
   1.584 @@ -630,7 +913,7 @@
   1.585  *
   1.586  * @code 
   1.587  * // INCLUDES
   1.588 -* #include <HWRMLight.h> // Link against HWRMLightClient.lib.
   1.589 +* #include <hwrmlight.h> // Link against HWRMLightClient.lib.
   1.590  *
   1.591  * class CTests : public CBase,
   1.592  *                public MHWRMLightObserver
   1.593 @@ -681,7 +964,8 @@
   1.594  *
   1.595  * @endcode
   1.596  *
   1.597 -* @since S60 3.0
   1.598 +* @publishedAll
   1.599 +* @released
   1.600  */
   1.601  class MHWRMLightObserver
   1.602      {