activityfw/storage/server/src/afapplicationsengine.cpp
changeset 124 e36b2f4799c0
parent 109 e0aa398e6810
--- a/activityfw/storage/server/src/afapplicationsengine.cpp	Fri Sep 17 08:32:18 2010 +0300
+++ b/activityfw/storage/server/src/afapplicationsengine.cpp	Mon Oct 04 00:38:31 2010 +0300
@@ -18,29 +18,34 @@
 #include "afapplicationsstorage.h"
 #include "afapplicationscollection.h"
 #include "afapplicationsmonitor.h"
+#include "aftaskstorage.h"
+#include "aftask.h"
 
 //------------------------------------------------------------------------------
 CAfApplicationsEngine* CAfApplicationsEngine::NewL(RApaLsSession& serviceProvider, 
-                                                   CAfStorage& storage)
+                                                   CAfStorage& storage, 
+                                                   MAfTaskStorage& taskStorage)
 {
-    CAfApplicationsEngine *self = new(ELeave)CAfApplicationsEngine();
+    CAfApplicationsEngine *self = new(ELeave)CAfApplicationsEngine(taskStorage);
     CleanupStack::PushL(self);
-    self->ConstructL(storage, serviceProvider);
+    self->ConstructL(serviceProvider, storage);
     CleanupStack::Pop(self);
     return self;
 }
 
 //------------------------------------------------------------------------------
-CAfApplicationsEngine::CAfApplicationsEngine()
-{}
+CAfApplicationsEngine::CAfApplicationsEngine(MAfTaskStorage& taskStorage) :
+    mTaskStorage(taskStorage)
+{
+}
 
 //------------------------------------------------------------------------------
-void CAfApplicationsEngine::ConstructL(CAfStorage& storage, 
-                                       RApaLsSession& serviceProvider)
+void CAfApplicationsEngine::ConstructL(RApaLsSession& serviceProvider,
+                                       CAfStorage& storage)
 {
     mCollection = CAfApplicationsCollection::NewL(serviceProvider);
     mMonitor = CAfApplicationsMonitor::NewL(serviceProvider, *mCollection);
-    mStorage = CAfApplicationsStorage::NewL(storage, *mCollection);
+    mStorage = CAfApplicationsStorage::NewL(storage, *mCollection, *this);
     
     mCollection->setObserver(*mStorage);
 }
@@ -52,3 +57,12 @@
     delete mStorage;
     delete mCollection;
 }
+
+//------------------------------------------------------------------------------
+void CAfApplicationsEngine::applicationsChanged()
+{
+    const RPointerArray<CAfTask> &table(mTaskStorage.StorageData());
+    for (TInt iter(table.Count() - 1); 0 <= iter; --iter) {
+        table[iter]->BroadcastReceivedL(RMessage2(), ETrue);
+    }
+}