activityfw/activityserviceplugin/activitymanager_p.cpp
changeset 93 82b66994846c
parent 92 782e3408c2ab
equal deleted inserted replaced
92:782e3408c2ab 93:82b66994846c
    23 
    23 
    24 ActivityManagerPrivate::ActivityManagerPrivate(ActivityManager *q) : QObject(q), q_ptr(q)
    24 ActivityManagerPrivate::ActivityManagerPrivate(ActivityManager *q) : QObject(q), q_ptr(q)
    25 {
    25 {
    26     mServerClient = new HsActivityDbClient();
    26     mServerClient = new HsActivityDbClient();
    27     mServerClient->connect();
    27     mServerClient->connect();
       
    28     connect(mServerClient,
       
    29             SIGNAL(thumbnailRequested(QPixmap, void *)),
       
    30             q,
       
    31             SIGNAL(thumbnailReady(QPixmap, void *)));
    28 }
    32 }
    29 
    33 
    30 ActivityManagerPrivate::~ActivityManagerPrivate()
    34 ActivityManagerPrivate::~ActivityManagerPrivate()
    31 {
    35 {
    32     delete mServerClient;
    36     delete mServerClient;
    44     // @todo use the same parser as in HbApplicationPrivate (if possible)
    48     // @todo use the same parser as in HbApplicationPrivate (if possible)
    45     QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$");
    49     QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$");
    46     if (uriMatcher.indexIn(uri) != -1) {
    50     if (uriMatcher.indexIn(uri) != -1) {
    47         QStringList list = uriMatcher.capturedTexts();
    51         QStringList list = uriMatcher.capturedTexts();
    48         Q_ASSERT(list.count() == 3);
    52         Q_ASSERT(list.count() == 3);
    49         launchActivity(list.at(1).toInt(), list.at(2));
    53         launchActivity(list.at(1).toUInt(0, 16), list.at(2));
    50     } else {
    54     } else {
    51         qWarning("Activity URI parsing error");
    55         qWarning("Activity URI parsing error");
    52     }
    56     }
    53 }
    57 }
    54 
    58 
    64     } else {
    68     } else {
    65         applicationLauncher.startApplication(applicationId, activityId);
    69         applicationLauncher.startApplication(applicationId, activityId);
    66     }
    70     }
    67 }
    71 }
    68 
    72 
    69 void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId)
    73 void ActivityManagerPrivate::getThumbnail(QSize resolution,const QString &thumbnailPath, void *data)
    70 {
    74 {
    71     QVariantHash activity;
    75     mServerClient->getThumbnail(resolution, thumbnailPath, "image/png", data);
    72     activity.insert(ActivityApplicationKeyword, applicationId);
       
    73     activity.insert(ActivityActivityKeyword, activityId);
       
    74     mServerClient->removeActivity(activity);
       
    75 }
    76 }
    76 
       
    77 void ActivityManagerPrivate::removeApplicationActivities(int applicationId)
       
    78 {
       
    79     QVariantHash activity;
       
    80     activity.insert(ActivityApplicationKeyword, applicationId);
       
    81     mServerClient->removeApplicationActivities(activity);
       
    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 }