idlefw/src/framework/aistateprovider.cpp
branchRCL_3
changeset 14 15e4dd19031c
parent 11 bd874ee5e5e2
child 19 edd621764147
--- a/idlefw/src/framework/aistateprovider.cpp	Mon Mar 15 12:41:53 2010 +0200
+++ b/idlefw/src/framework/aistateprovider.cpp	Wed Mar 31 22:04:35 2010 +0300
@@ -19,6 +19,9 @@
 #include <AknDef.h>
 #include <connect/sbdefs.h>
 #include <e32property.h>
+#include <swi/swispubsubdefs.h>
+#include <swi/swiutils.h>
+#include <sacls.h> // KSWIUidsCurrentlyBeingProcessed
 
 // User includes
 #include <aipspropertyobserver.h>
@@ -29,6 +32,8 @@
 
 #include "aistateprovider.h"
 
+#include "debug.h"
+
 // Constants
 
 // ======== LOCAL FUNCTIONS ========
@@ -113,7 +118,11 @@
         iBackupRestoreObserver = AiUtility::CreatePSPropertyObserverL(
             TCallBack( BackupRestoreEvent, this ),
             KUidSystemCategory, conn::KUidBackupRestoreKey );
-        
+
+        iSwiUidListObserver = AiUtility::CreatePSPropertyObserverL(
+                TCallBack( SwiUidListEvent, this ),
+                KUidSystemCategory, KSWIUidsCurrentlyBeingProcessed );
+
         User::LeaveIfError( iSkinSrv.Connect( this ) );
            
         iEcomObserver = CAiEcomObserver::NewL();
@@ -152,7 +161,10 @@
                
         Release( iBackupRestoreObserver );
         iBackupRestoreObserver = NULL;
-        
+
+        Release( iSwiUidListObserver );
+        iSwiUidListObserver = NULL;
+
         delete iLightObserver;      
         iLightObserver = NULL;
         }           
@@ -238,7 +250,9 @@
 //
 void CAiStateProvider::NotifyEcomRegistryChanged()
     {
-    iObserver.NotifyUpdatePlugins();
+    __PRINTS( "CAiStateProvider::NotifyEcomRegistryChanged" );    
+    iObserver.NotifyReloadPlugins();
+    __PRINTS( "CAiStateProvider::NotifyEcomRegistryChanged - return void" );    
     }
 
 // ----------------------------------------------------------------------------
@@ -277,16 +291,6 @@
     }
 
 // ----------------------------------------------------------------------------
-// CAiStateProvider::OnlineStateInUse()
-// 
-// ----------------------------------------------------------------------------
-//
-TBool CAiStateProvider::OnlineStateInUse() const
-    {
-    return iObserver.OnlineStateInUse();
-    }
-
-// ----------------------------------------------------------------------------
 // CAiStateProvider::BackupRestoreEvent()
 // 
 // ----------------------------------------------------------------------------
@@ -315,5 +319,23 @@
     return KErrNone;
     }
 
+// ----------------------------------------------------------------------------
+// CAiStateProvider::SwiUidLIstEvent()
+// 
+// ----------------------------------------------------------------------------
+//
+/* static */ TInt CAiStateProvider::SwiUidListEvent( TAny* aAny )
+    {
+    CAiStateProvider* self = static_cast< CAiStateProvider* >( aAny );
+
+    RArray<TUid> uidList;
+    if ( KErrNone == Swi::GetAllUids( uidList ) )
+        {
+        self->iObserver.NotifyReleasePlugins( uidList );
+        }
+
+    return KErrNone;
+    }
+
 // End of file