src/screensaverctrlplugin.cpp
branchRCL_3
changeset 13 4784a3bc2236
parent 12 1c806ee746e7
child 19 1f307dce3b5a
--- a/src/screensaverctrlplugin.cpp	Wed Mar 31 21:32:18 2010 +0300
+++ b/src/screensaverctrlplugin.cpp	Wed Apr 14 15:58:13 2010 +0300
@@ -63,6 +63,8 @@
 void CScreensaverCtrlPlugin::StartTimer()
     {
     // Notify plugin that screensaver is starting
+    Model().SharedDataInterface()->SetSSForcedLightsOn( ESSForceLightsOn );
+    
     SendPluginEvent( EScreensaverEventStarting );
     
     
@@ -146,6 +148,15 @@
     return KErrNone;
     }
 
+// ---------------------------------------------------------------------------
+// CScreensaverCtrlPlugin::PluginImplementationUid()
+// ---------------------------------------------------------------------------
+//
+TUid CScreensaverCtrlPlugin::PluginImplementationUid() const
+    {
+    return iPluginImplUid;
+    }
+
 // From MScreensaverPluginHost
 // -----------------------------------------------------------------------------
 // CScreensaverCtrlPlugin::UseStandardIndicators
@@ -544,22 +555,23 @@
     // Skip the first character: '['
     lex.Get();
     
-    TUint screenSaverPluginImpUid;
+    TUint32 tempUid;
     
     // Get the UID
-    TInt err = lex.Val( screenSaverPluginImpUid, EHex );
+    TInt err = lex.Val( tempUid, EHex );
     
     // Bail out, if the UID is not parseable
     if ( err != KErrNone )
         {
         iPlugin = NULL;
         }
+    
+    iPluginImplUid = TUid::Uid( tempUid );
     //codescanner will crib if leaving function inside trap is called
     //after line break within the macro. Hence the following trap call
     //is made in a single line
     TRAP(err, iPlugin = STATIC_CAST( MScreensaverPlugin*, 
-        CScreensaverPluginInterfaceDefinition::NewL( 
-            TUid::Uid( screenSaverPluginImpUid ) ) ) );
+        CScreensaverPluginInterfaceDefinition::NewL( iPluginImplUid ) ) );
     
     if( err != KErrNone )
         return;