idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockadapter.h
branchRCL_3
changeset 47 7be2816dbabd
parent 0 f72a12da539e
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockadapter.h	Tue Apr 27 16:26:12 2010 +0300
+++ b/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/inc/xnclockadapter.h	Tue May 11 16:02:39 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Wrapper class for CAknSkinnableClock
+* Description:  Clock rendering plugin
 *
 */
 
@@ -20,25 +20,28 @@
 #ifndef _XNCLOCKADAPTER_H
 #define _XNCLOCKADAPTER_H
 
-//  INCLUDES
-#include "xncontroladapter.h"
+// System includes
 #include <e32base.h>
+#include <hwrmlight.h>
 
-// FORWARD DECLARATIONS
+// User includes
+#include "xncontroladapter.h"
+
+// Forward declarations
 class CXnNodePluginIf;
 class CXnClockControl;
 class CAknLayoutFont;
 class CFont;
 class TRgb;
 
-// CLASS DECLARATION
+// Class declaration
 /**
 *  @ingroup group_xnclockfactory
 *  @lib xnclockfactory.lib
-*  @since S60
+*  @since S60 5.0
 */
-class CXnClockAdapter : public CXnControlAdapter, 
-                        public MCoeMessageMonitorObserver
+NONSHARABLE_CLASS( CXnClockAdapter ) : public CXnControlAdapter, 
+    public MCoeMessageMonitorObserver, public MHWRMLightObserver
     {
 public:
     enum TClockFont
@@ -48,7 +51,9 @@
         EDateFont
         };
     
-public: // constructor and destructor
+public: 
+    // constructor and destructor
+    
 	/**
 	 * 2 phase construction.
 	 */
@@ -59,7 +64,8 @@
 	 */
 	~CXnClockAdapter();
 
-public: // New functions
+public: 
+	// New functions
 
     /** 
     * Gets font based on type
@@ -94,7 +100,8 @@
     */        
     void UpdateDisplay() const;
 
-public: // from base classes
+public: 
+    // from base classes
 
     /**
     * @see CXnControlAdapter documentation
@@ -126,13 +133,25 @@
     */    	            
     void MakeVisible( TBool aVisible );
 
-private: // from MCoeMessageMonitorObserver
+private: 
+    // from MCoeMessageMonitorObserver
+    
     /**
     * @see MCoeMessageMonitorObserver documentation
     */
     void MonitorWsMessage( const TWsEvent& aEvent );
     
-private: // constructors
+private:
+    // from MHWRMLightObserver
+    
+    /**
+     * @see MHWRMLightObserver     
+     */    
+    void LightStatusChanged( TInt aTarget, 
+        CHWRMLight::TLightStatus aStatus );
+    
+private: 
+    // constructors
 
     /**
     * C++ default constructor.
@@ -156,6 +175,16 @@
      */        
     void CreateColorL();
         
+    /**
+     * Starts clock
+     */
+    void StartClock();
+    
+    /**
+     * Stops clock
+     */
+    void StopClock();
+    
 private:
     // Parent control, not owned
     CXnControlAdapter*  		iParent;        
@@ -165,6 +194,8 @@
     CXnNodePluginIf*            iDate;
     // Analog clock day information, not owned
     CXnNodePluginIf*            iDay;
+    // Light observer, owned
+    CHWRMLight*                 iLightObserver;
     // Clock control, owned    
     CXnClockControl*            iClockControl;  
     // Digital clock font, not owned
@@ -179,6 +210,8 @@
     TBool                       iColorSet;
     // Flag indicating foreground state
     TBool                       iForeground;
+    // Flag indicating lights status
+    TBool                       iLightsOn;
     };
 
 #endif      // _XNCLOCKADAPTER_H