activityfw/activityserviceplugin/activitymanager_p.cpp
changeset 66 32469d7d46ff
parent 61 8e5041d13c84
child 73 4bc7b118b3df
equal deleted inserted replaced
61:8e5041d13c84 66:32469d7d46ff
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description: 
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 #include "activitymanager_p.h"
    17 #include "activitymanager_p.h"
    18 #include "activitymanager.h"
    18 #include "activitymanager.h"
    19 #include <hsactivitydbclient.h>
    19 #include <hsactivitydbclient.h>
    38     mServerClient->activities(retVal);
    38     mServerClient->activities(retVal);
    39     return retVal;
    39     return retVal;
    40 }
    40 }
    41 
    41 
    42 void ActivityManagerPrivate::launchActivity(const QString &uri)
    42 void ActivityManagerPrivate::launchActivity(const QString &uri)
    43 { 
    43 {
    44     // @todo use the same parser as in HbApplicationPrivate (if possible)
    44     // @todo use the same parser as in HbApplicationPrivate (if possible)
    45     QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$");
    45     QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$");
    46     if (uriMatcher.indexIn(uri) != -1) {
    46     if (uriMatcher.indexIn(uri) != -1) {
    47         QStringList list = uriMatcher.capturedTexts();
    47         QStringList list = uriMatcher.capturedTexts();
    48         Q_ASSERT(list.count() == 3);
    48         Q_ASSERT(list.count() == 3);
    49         launchActivity(list.at(1).toInt(), list.at(2));
    49         launchActivity(list.at(1).toInt(), list.at(2));
    50     } else {
    50     } else {
    51         qWarning("Activity URI parsing error");    
    51         qWarning("Activity URI parsing error");
    52     }
    52     }
    53 }
    53 }
    54 
    54 
    55 void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId)
    55 void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId)
    56 { 
    56 {
    57 
       
    58     ApplicationLauncher applicationLauncher;
    57     ApplicationLauncher applicationLauncher;
    59     if(applicationLauncher.isRunning(applicationId)) {
    58     if (applicationLauncher.isRunning(applicationId)) {
    60         QVariantHash activity;
    59         QVariantHash activity;
    61         activity.insert(ActivityApplicationKeyword, applicationId);
    60         activity.insert(ActivityApplicationKeyword, applicationId);
    62         activity.insert(ActivityActivityKeyword, activityId);
    61         activity.insert(ActivityActivityKeyword, activityId);
    63         mServerClient->launchActivity(activity);
    62         mServerClient->launchActivity(activity);
    64         applicationLauncher.bringToForeground(applicationId);
    63         applicationLauncher.bringToForeground(applicationId);
    66         applicationLauncher.startApplication(applicationId, activityId);
    65         applicationLauncher.startApplication(applicationId, activityId);
    67     }
    66     }
    68 }
    67 }
    69 
    68 
    70 void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId)
    69 void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId)
    71 { 
    70 {
    72     QVariantHash activity;
    71     QVariantHash activity;
    73     activity.insert(ActivityApplicationKeyword, applicationId);
    72     activity.insert(ActivityApplicationKeyword, applicationId);
    74     activity.insert(ActivityActivityKeyword, activityId);
    73     activity.insert(ActivityActivityKeyword, activityId);
    75     mServerClient->removeActivity(activity);
    74     mServerClient->removeActivity(activity);
    76 }
    75 }
    79 {
    78 {
    80     QVariantHash activity;
    79     QVariantHash activity;
    81     activity.insert(ActivityApplicationKeyword, applicationId);
    80     activity.insert(ActivityApplicationKeyword, applicationId);
    82     mServerClient->removeApplicationActivities(activity);
    81     mServerClient->removeApplicationActivities(activity);
    83 }
    82 }
       
    83 
       
    84 void ActivityManagerPrivate::getThumbnail(const QString &thumbnailId, void *userData)
       
    85 {
       
    86     QPixmap ico;
       
    87     mServerClient->getThumbnail(ico, thumbnailId);
       
    88     emit q_ptr->thumbnailReady(ico, userData);
       
    89 }