diff -r 0b3699f6c654 -r e36b2f4799c0 activityfw/storage/server/src/afapplicationsengine.cpp --- 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 &table(mTaskStorage.StorageData()); + for (TInt iter(table.Count() - 1); 0 <= iter; --iter) { + table[iter]->BroadcastReceivedL(RMessage2(), ETrue); + } +}