diff -r 9b022b1f357c -r e0aa398e6810 activityfw/storage/server/src/afapplicationsstorage.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/activityfw/storage/server/src/afapplicationsstorage.cpp Wed Aug 18 10:05:49 2010 +0300 @@ -0,0 +1,61 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +#include "afapplicationsstorage.h" +//------------------------------------------------------------------------------ +CAfApplicationsStorage* CAfApplicationsStorage::NewL(CAfStorage& storage, + const MAfApplicationsRegistry& provider) +{ + CAfApplicationsStorage *self = new (ELeave)CAfApplicationsStorage(storage, provider); + return self; + +} + +//------------------------------------------------------------------------------ +CAfApplicationsStorage::CAfApplicationsStorage(CAfStorage& storage, + const MAfApplicationsRegistry& provider) +: + mStorage(storage), + mProvider(provider) +{ +} + +//------------------------------------------------------------------------------ +CAfApplicationsStorage::~CAfApplicationsStorage() +{} + +//------------------------------------------------------------------------------ +void CAfApplicationsStorage::applicationsChanged() +{ + const TArray removedApp(mProvider.removedApplications()); + for (TInt iter(0); iter < removedApp.Count(); ++iter) { + TRAP_IGNORE(deleteActivityL(removedApp[iter])); + } +} + +//------------------------------------------------------------------------------ +void CAfApplicationsStorage::deleteActivityL(TUid appId) +{ + CAfEntry *entry(CAfEntry::NewLC(0, + static_cast(appId.iUid), + KNullDesC, + KNullDesC, + KNullDesC8, + KNullDesC8)); + mStorage.DeleteActivitiesL(*entry); + CleanupStack::PopAndDestroy(entry); +} +