activityfw/activitydatabase/hsactivitydbclient/src/hsactivitydbclient.cpp
author hgs
Fri, 14 May 2010 17:24:44 +0300
changeset 94 dbb8300717f7
parent 93 82b66994846c
child 98 d2f833ab7940
permissions -rw-r--r--
201019
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
89
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
*
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
#include "hsactivitydbclient.h"
hgs
parents:
diff changeset
    18
#include "hsactivitydbclient_p.h"
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    21
//
hgs
parents:
diff changeset
    22
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    23
//
92
hgs
parents: 90
diff changeset
    24
HsActivityDbClient::HsActivityDbClient(QObject *obj)
hgs
parents: 90
diff changeset
    25
    :
89
hgs
parents:
diff changeset
    26
    QObject(obj),
hgs
parents:
diff changeset
    27
    d_ptr(0)
hgs
parents:
diff changeset
    28
{
hgs
parents:
diff changeset
    29
    d_ptr = new HsActivityDbClientPrivate(*this);
hgs
parents:
diff changeset
    30
}
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    33
//
hgs
parents:
diff changeset
    34
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    35
//
hgs
parents:
diff changeset
    36
HsActivityDbClient::~HsActivityDbClient()
hgs
parents:
diff changeset
    37
{
hgs
parents:
diff changeset
    38
    delete d_ptr;
hgs
parents:
diff changeset
    39
}
hgs
parents:
diff changeset
    40
hgs
parents:
diff changeset
    41
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    42
//
hgs
parents:
diff changeset
    43
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    44
//
hgs
parents:
diff changeset
    45
int HsActivityDbClient::connect()
hgs
parents:
diff changeset
    46
{
hgs
parents:
diff changeset
    47
    return d_ptr->connect();
hgs
parents:
diff changeset
    48
}
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    51
//
hgs
parents:
diff changeset
    52
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    53
//
92
hgs
parents: 90
diff changeset
    54
void HsActivityDbClient::asyncRequestCompleated(int result,
89
hgs
parents:
diff changeset
    55
                                                int requestType, 
hgs
parents:
diff changeset
    56
                                                const QString& data)
hgs
parents:
diff changeset
    57
{
92
hgs
parents: 90
diff changeset
    58
    switch (requestType) {
hgs
parents: 90
diff changeset
    59
        case WaitActivity:
94
hgs
parents: 93
diff changeset
    60
            if(KErrCancel != result) {
hgs
parents: 93
diff changeset
    61
                waitActivity(QVariantHash());
hgs
parents: 93
diff changeset
    62
            }            
92
hgs
parents: 90
diff changeset
    63
            if (KErrNone == result) {
hgs
parents: 90
diff changeset
    64
                emit activityRequested(data);
hgs
parents: 90
diff changeset
    65
            }
94
hgs
parents: 93
diff changeset
    66
            
92
hgs
parents: 90
diff changeset
    67
            break;
89
hgs
parents:
diff changeset
    68
    }
hgs
parents:
diff changeset
    69
}
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    72
//
hgs
parents:
diff changeset
    73
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    74
//
93
hgs
parents: 92
diff changeset
    75
void HsActivityDbClient::asyncRequestCompleated(int result,
hgs
parents: 92
diff changeset
    76
                                                int requestType, 
hgs
parents: 92
diff changeset
    77
                                                const QPixmap& pixmap,
hgs
parents: 92
diff changeset
    78
                                                void* userData)
hgs
parents: 92
diff changeset
    79
{
hgs
parents: 92
diff changeset
    80
    switch (requestType) {
hgs
parents: 92
diff changeset
    81
        case GetThumbnail:
94
hgs
parents: 93
diff changeset
    82
            emit thumbnailRequested(0 == result ? pixmap : QPixmap(), 
hgs
parents: 93
diff changeset
    83
                                    userData);
93
hgs
parents: 92
diff changeset
    84
            break;
hgs
parents: 92
diff changeset
    85
    }
hgs
parents: 92
diff changeset
    86
}
hgs
parents: 92
diff changeset
    87
hgs
parents: 92
diff changeset
    88
// -----------------------------------------------------------------------------
hgs
parents: 92
diff changeset
    89
//
hgs
parents: 92
diff changeset
    90
// -----------------------------------------------------------------------------
hgs
parents: 92
diff changeset
    91
//
94
hgs
parents: 93
diff changeset
    92
void HsActivityDbClient::asyncRequestCompleated(int result,int requestType)
hgs
parents: 93
diff changeset
    93
{
hgs
parents: 93
diff changeset
    94
    switch(requestType) {
hgs
parents: 93
diff changeset
    95
    case NotifyChange:
hgs
parents: 93
diff changeset
    96
        if (KErrCancel != result) {
hgs
parents: 93
diff changeset
    97
            d_ptr->notifyDataChange();
hgs
parents: 93
diff changeset
    98
        }
hgs
parents: 93
diff changeset
    99
        if (KErrNone == result) {
hgs
parents: 93
diff changeset
   100
            emit dataChanged();
hgs
parents: 93
diff changeset
   101
        }
hgs
parents: 93
diff changeset
   102
        break;
hgs
parents: 93
diff changeset
   103
    }
hgs
parents: 93
diff changeset
   104
}
hgs
parents: 93
diff changeset
   105
hgs
parents: 93
diff changeset
   106
// -----------------------------------------------------------------------------
hgs
parents: 93
diff changeset
   107
//
hgs
parents: 93
diff changeset
   108
// -----------------------------------------------------------------------------
hgs
parents: 93
diff changeset
   109
//
89
hgs
parents:
diff changeset
   110
int HsActivityDbClient::addActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   111
{
hgs
parents:
diff changeset
   112
    return d_ptr->addActivity(activity);
hgs
parents:
diff changeset
   113
}
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   116
//
hgs
parents:
diff changeset
   117
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   118
//
hgs
parents:
diff changeset
   119
int HsActivityDbClient::updateActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   120
{
hgs
parents:
diff changeset
   121
    return d_ptr->updateActivity(activity);
hgs
parents:
diff changeset
   122
}
hgs
parents:
diff changeset
   123
hgs
parents:
diff changeset
   124
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   125
//
hgs
parents:
diff changeset
   126
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   127
//
hgs
parents:
diff changeset
   128
int HsActivityDbClient::removeActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   129
{
hgs
parents:
diff changeset
   130
    return d_ptr->removeActivity(activity);
hgs
parents:
diff changeset
   131
}
92
hgs
parents: 90
diff changeset
   132
89
hgs
parents:
diff changeset
   133
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   134
//
hgs
parents:
diff changeset
   135
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   136
//
hgs
parents:
diff changeset
   137
int HsActivityDbClient::removeApplicationActivities(const QVariantHash &activity)
hgs
parents:
diff changeset
   138
{
hgs
parents:
diff changeset
   139
    return d_ptr->removeApplicationActivities(activity);
hgs
parents:
diff changeset
   140
}
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   143
//
hgs
parents:
diff changeset
   144
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   145
//
hgs
parents:
diff changeset
   146
int HsActivityDbClient::activities(QList<QVariantHash>& result)
hgs
parents:
diff changeset
   147
{
hgs
parents:
diff changeset
   148
    return d_ptr->activities(result);
hgs
parents:
diff changeset
   149
}
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   152
//
hgs
parents:
diff changeset
   153
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   154
//
92
hgs
parents: 90
diff changeset
   155
int HsActivityDbClient::applicationActivities(QList<QVariantHash> & result,
hgs
parents: 90
diff changeset
   156
        const QVariantHash &conditions)
89
hgs
parents:
diff changeset
   157
{
hgs
parents:
diff changeset
   158
    return d_ptr->applicationActivities(result, conditions);
hgs
parents:
diff changeset
   159
}
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   162
//
hgs
parents:
diff changeset
   163
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   164
//
hgs
parents:
diff changeset
   165
int HsActivityDbClient::waitActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   166
{
94
hgs
parents: 93
diff changeset
   167
    QVariantHash condition(activity);
hgs
parents: 93
diff changeset
   168
    RProcess process;
hgs
parents: 93
diff changeset
   169
    condition.insert(ActivityApplicationKeyword, 
hgs
parents: 93
diff changeset
   170
                     static_cast<int>(process.SecureId().iId));
hgs
parents: 93
diff changeset
   171
    return d_ptr->waitActivity(condition);
89
hgs
parents:
diff changeset
   172
}
hgs
parents:
diff changeset
   173
hgs
parents:
diff changeset
   174
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   175
//
hgs
parents:
diff changeset
   176
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   177
//
hgs
parents:
diff changeset
   178
int HsActivityDbClient::launchActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   179
{
hgs
parents:
diff changeset
   180
    return d_ptr->launchActivity(activity);
hgs
parents:
diff changeset
   181
}
92
hgs
parents: 90
diff changeset
   182
hgs
parents: 90
diff changeset
   183
// -----------------------------------------------------------------------------
hgs
parents: 90
diff changeset
   184
//
hgs
parents: 90
diff changeset
   185
// -----------------------------------------------------------------------------
hgs
parents: 90
diff changeset
   186
//
93
hgs
parents: 92
diff changeset
   187
int HsActivityDbClient::getThumbnail(QSize size, QString imagePath, QString mimeType, void* userDdata)
92
hgs
parents: 90
diff changeset
   188
{
93
hgs
parents: 92
diff changeset
   189
    return d_ptr->getThumbnail(size, imagePath, mimeType, userDdata);
92
hgs
parents: 90
diff changeset
   190
}
94
hgs
parents: 93
diff changeset
   191
hgs
parents: 93
diff changeset
   192
// -----------------------------------------------------------------------------
hgs
parents: 93
diff changeset
   193
//
hgs
parents: 93
diff changeset
   194
// -----------------------------------------------------------------------------
hgs
parents: 93
diff changeset
   195
//
hgs
parents: 93
diff changeset
   196
int HsActivityDbClient::notifyDataChange()
hgs
parents: 93
diff changeset
   197
{
hgs
parents: 93
diff changeset
   198
    return  d_ptr->notifyDataChange();
hgs
parents: 93
diff changeset
   199
}