diff -r e78d6e055a5b -r b34d53f6acdf activityfw/storage/client/s60/src/afstorageclient_p.cpp --- a/activityfw/storage/client/s60/src/afstorageclient_p.cpp Fri Jul 23 14:03:00 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,282 +0,0 @@ -/* -* 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 -#include - -#include -#include - -#include "afstorageclient_p.h" -#include "afasyncrequest_p.h" -#include "afstorageglobals.h" -#include "afserializer.h" -#include "afentry.h" -#include "afstorageentry.h" - - -// ----------------------------------------------------------------------------- -template -void RPointerArrayCleanupMethod(TAny *aPtr) -{ - static_cast< RPointerArray* >(aPtr)->ResetAndDestroy(); -} - -// ----------------------------------------------------------------------------- -template -void CleanupResetAndDestroyPushL(RPointerArray &array) { - CleanupStack::PushL(TCleanupItem(&RPointerArrayCleanupMethod, &array)); -} -// ----------------------------------------------------------------------------- -/** - * Constructor - */ -AfStorageClientPrivate::AfStorageClientPrivate(MAfAsyncRequestObserver & observer) -: -mImplementation(observer) -{ -} - -// ----------------------------------------------------------------------------- -/** - * Destructor - */ -AfStorageClientPrivate::~AfStorageClientPrivate() -{ - mImplementation.Close(); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::connect - */ -int AfStorageClientPrivate::connect() -{ - TRAPD(errNo, mImplementation.connectL()); - return errNo; -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::addActivity(const AfStorageEntry &,const QPixmap&) - */ -int AfStorageClientPrivate::addActivity(const AfStorageEntry &entry, - const QPixmap& imageSrc) -{ - return execute(AddActivity, entry, imageSrc); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::updateActivity(const AfStorageEntry &,const QPixmap&) - */ -int AfStorageClientPrivate::updateActivity(const AfStorageEntry &entry, - const QPixmap& imageSrc) -{ - return execute(UpdateActivity, entry, imageSrc); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::removeActivity(const AfStorageEntry &) - */ -int AfStorageClientPrivate::removeActivity(const AfStorageEntry &entry) -{ - return execute(RemoveActivity, entry, QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::removeApplicationActivities(const AfStorageEntry &) - */ -int AfStorageClientPrivate::removeApplicationActivities(const AfStorageEntry &entry) -{ - return execute(RemoveApplicationActivities, entry, QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::activities(QList &) - */ -int AfStorageClientPrivate::activities(QList &results) -{ - return execute(Activities, results, AfStorageEntry()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::applicationActivities(QList &, const AfStorageEntry &) - */ -int AfStorageClientPrivate::applicationActivities(QList &results, - const AfStorageEntry &templateEntry) -{ - return execute(ApplicationActivities, results, templateEntry); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::activityData(AfStorageEntry &, const AfStorageEntry &) - */ -int AfStorageClientPrivate::activityData(AfStorageEntry &resultEntry, - const AfStorageEntry &templateEntry) -{ - - QList results; - int errNo(execute(ApplicationActivity, results, templateEntry)); - if (0 == errNo) { - resultEntry = results.first(); - } - return errNo; -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::waitActivity() - */ -int AfStorageClientPrivate::waitActivity() -{ - return execute(WaitActivity, AfStorageEntry(), QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::getThumbnail(QSize, QString, void *) - */ -int AfStorageClientPrivate::getThumbnail(QSize size, QString imagePath, void *userData) -{ - HBufC *source = XQConversions::qStringToS60Desc(imagePath); - TRAPD(errNo, mImplementation.getThumbnailL(TSize(size.width(), size.height()), *source, userData);) - delete source; - return errNo; - -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::notifyDataChange() - */ -int AfStorageClientPrivate::notifyDataChange() -{ - return execute(NotifyChange, AfStorageEntry(), QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::launchActivity(const AfStorageEntry &) - */ -int AfStorageClientPrivate::launchActivity(const AfStorageEntry &templateEntry) -{ - return execute(LaunchActivity, templateEntry, QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::cancelWaitActivity() - */ -int AfStorageClientPrivate::cancelWaitActivity() -{ - return execute(CancelWait, AfStorageEntry(), QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function implementation - * @see AfStorageClient::cancelNotifyDataChange() - */ -int AfStorageClientPrivate::cancelNotifyDataChange() -{ - return execute(CancelNotify, AfStorageEntry(), QPixmap()); -} - -// ----------------------------------------------------------------------------- -/** - * Function execute activity framework functinality and return results - */ -int AfStorageClientPrivate::execute(int function, const AfStorageEntry &sourceEntry, const QPixmap& sourceImage) -{ - TRAPD(errNo, - const CAfEntry *entry(sourceEntry.data()); - int userData(-1); - CFbsBitmap* bitmap(sourceImage.toSymbianCFbsBitmap()); - if(0 != bitmap) { - CleanupStack::PushL(bitmap); - userData = bitmap->Handle(); - } - switch (function) { - case AddActivity: - case UpdateActivity: - case RemoveActivity: - case RemoveApplicationActivities: - case LaunchActivity: - User::LeaveIfNull(entry); - mImplementation.executeL(function, *entry, userData); - break; - - case CancelNotify: - case CancelWait: - case WaitActivity: - case NotifyChange: - mImplementation.executeL(function); - break; - } - if(0 != bitmap) { - CleanupStack::PopAndDestroy(bitmap); - } - ) - return errNo; -} - -// ----------------------------------------------------------------------------- -/** - * Function execute activity framework functinality and return results - */ -int AfStorageClientPrivate::execute(int function, QList& resultsList,const AfStorageEntry& templateEntry) -{ - TRAPD(errNo, - RPointerArray results; - CleanupResetAndDestroyPushL(results); - - CAfEntry *entry(const_cast(templateEntry.data())); - if(0 == entry) { - entry = CAfEntry::NewLC(); - } - mImplementation.executeL(function, results, *entry); - if(templateEntry.data() != entry) { - CleanupStack::PopAndDestroy(entry); - } - - //copy data - while (results.Count()) { - resultsList.append(AfStorageEntry(QSharedPointer(results[0]))); - results.Remove(0); - } - CleanupStack::PopAndDestroy(&results); - ) - return errNo; -}