diff -r d2f833ab7940 -r 7aaf39b772ac activityfw/activityserviceplugin/src/activitymanager_p.cpp --- a/activityfw/activityserviceplugin/src/activitymanager_p.cpp Fri Jun 11 16:13:51 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +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 "activitymanager_p.h" -#include "activitymanager.h" -#include - -#include -#include - -ActivityManagerPrivate::ActivityManagerPrivate(ActivityManager *q) : QObject(q), q_ptr(q) -{ - mServerClient = new HsActivityDbClient(); - if(0 == mServerClient->connect()){ - mServerClient->notifyDataChange(); - } - connect(mServerClient, - SIGNAL(thumbnailRequested(QPixmap, void *)), - q, - SIGNAL(thumbnailReady(QPixmap, void *))); - connect(mServerClient, - SIGNAL(dataChanged()), - q, - SIGNAL(dataChanged())); -} - -ActivityManagerPrivate::~ActivityManagerPrivate() -{ - delete mServerClient; -} - -QList ActivityManagerPrivate::activitiesList() -{ - QList retVal; - mServerClient->activities(retVal); - return retVal; -} - -void ActivityManagerPrivate::launchActivity(const QUrl &uri) -{ - if (uri.scheme() != "appto") - return; - - bool conversionOk(false); - int applicationId = uri.host().toUInt(&conversionOk, 16); - if (!conversionOk) - return; - - QVariantHash activity; - activity.insert(ActivityApplicationKeyword, applicationId); - - QVariantHash parameters; - QList > uriParams = uri.queryItems(); - for (QList >::const_iterator i = uriParams.constBegin(); i != uriParams.constEnd(); ++i) { - parameters.insert(i->first, i->second); - } - - if (parameters.contains("activityname")) { - activity.insert(ActivityActivityKeyword, parameters.value("activityname").toString()); - parameters.remove("activityname"); - } - - activity.insert(ActivityParametersKeyword, parameters); - - launchActivity(activity); -} - -void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId, const QVariantHash& parameters) -{ - QVariantHash activity; - activity.insert(ActivityApplicationKeyword, applicationId); - activity.insert(ActivityActivityKeyword, activityId); - activity.insert(ActivityParametersKeyword, parameters); - - launchActivity(activity); -} - -void ActivityManagerPrivate::launchActivity(const QVariantHash &activity) -{ - ApplicationLauncher applicationLauncher; - int applicationId = activity.value(ActivityApplicationKeyword).toInt(); - - if (applicationLauncher.isRunning(applicationId)) { - mServerClient->launchActivity(activity); - applicationLauncher.bringToForeground(applicationId); - } else { - applicationLauncher.startApplication(applicationId, activityToUri(activity)); - } -} - -QUrl ActivityManagerPrivate::activityToUri(const QVariantHash &activity) const -{ - QUrl uri; - uri.setScheme("appto"); - uri.setHost(QString("%1").arg(activity.value(ActivityApplicationKeyword).toUInt(), 8, 16, QChar('0'))); - - if (activity.contains(ActivityActivityKeyword)) - uri.addQueryItem("activityname", activity.value(ActivityActivityKeyword).toString()); - - QVariantHash parameters = activity.value(ActivityParametersKeyword).toHash(); - foreach(const QString &key, parameters.keys()) { - uri.addQueryItem(key, parameters.value(key).toString()); - } - - return uri; -} - -void ActivityManagerPrivate::getThumbnail(QSize resolution,const QString &thumbnailPath, void *data) -{ - mServerClient->getThumbnail(resolution, thumbnailPath, "image/png", data); -}