activityfw/activitydatabase/hsactivitydbclient/src/hsactivitydbclient.cpp
author hgs
Fri, 11 Jun 2010 16:13:51 +0300
changeset 98 d2f833ab7940
parent 94 dbb8300717f7
permissions -rw-r--r--
201023
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:
98
hgs
parents: 94
diff changeset
    60
            if (KErrCancel != result) {
94
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
// -----------------------------------------------------------------------------
98
hgs
parents: 94
diff changeset
   107
/**
hgs
parents: 94
diff changeset
   108
 * Interface implementation.
hgs
parents: 94
diff changeset
   109
 * @see int HsActivityDbClientInterface::addActivity(const QVariantHash&)
hgs
parents: 94
diff changeset
   110
 */
hgs
parents: 94
diff changeset
   111
int HsActivityDbClient::addActivity(const QVariantHash &privateData, 
hgs
parents: 94
diff changeset
   112
                                    const QVariantHash &publicData)
89
hgs
parents:
diff changeset
   113
{
98
hgs
parents: 94
diff changeset
   114
    return d_ptr->addActivity(privateData, publicData);
89
hgs
parents:
diff changeset
   115
}
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
// -----------------------------------------------------------------------------
98
hgs
parents: 94
diff changeset
   118
/**
hgs
parents: 94
diff changeset
   119
 * Interface implementation.
hgs
parents: 94
diff changeset
   120
 * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
hgs
parents: 94
diff changeset
   121
 */
hgs
parents: 94
diff changeset
   122
int HsActivityDbClient::updateActivity(const QVariantHash &privateData, 
hgs
parents: 94
diff changeset
   123
                                       const QVariantHash &publicData)
89
hgs
parents:
diff changeset
   124
{
98
hgs
parents: 94
diff changeset
   125
    return d_ptr->updateActivity(privateData, publicData);
89
hgs
parents:
diff changeset
   126
}
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   129
//
hgs
parents:
diff changeset
   130
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   131
//
hgs
parents:
diff changeset
   132
int HsActivityDbClient::removeActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   133
{
hgs
parents:
diff changeset
   134
    return d_ptr->removeActivity(activity);
hgs
parents:
diff changeset
   135
}
92
hgs
parents: 90
diff changeset
   136
89
hgs
parents:
diff changeset
   137
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   138
//
hgs
parents:
diff changeset
   139
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   140
//
hgs
parents:
diff changeset
   141
int HsActivityDbClient::removeApplicationActivities(const QVariantHash &activity)
hgs
parents:
diff changeset
   142
{
hgs
parents:
diff changeset
   143
    return d_ptr->removeApplicationActivities(activity);
hgs
parents:
diff changeset
   144
}
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   147
//
hgs
parents:
diff changeset
   148
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   149
//
hgs
parents:
diff changeset
   150
int HsActivityDbClient::activities(QList<QVariantHash>& result)
hgs
parents:
diff changeset
   151
{
hgs
parents:
diff changeset
   152
    return d_ptr->activities(result);
hgs
parents:
diff changeset
   153
}
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   156
//
hgs
parents:
diff changeset
   157
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   158
//
92
hgs
parents: 90
diff changeset
   159
int HsActivityDbClient::applicationActivities(QList<QVariantHash> & result,
hgs
parents: 90
diff changeset
   160
        const QVariantHash &conditions)
89
hgs
parents:
diff changeset
   161
{
hgs
parents:
diff changeset
   162
    return d_ptr->applicationActivities(result, conditions);
hgs
parents:
diff changeset
   163
}
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   166
//
hgs
parents:
diff changeset
   167
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   168
//
98
hgs
parents: 94
diff changeset
   169
int HsActivityDbClient::activityData(QVariant &result, const QVariantHash &activity)
hgs
parents: 94
diff changeset
   170
{
hgs
parents: 94
diff changeset
   171
    return d_ptr->activityData(result, activity);
hgs
parents: 94
diff changeset
   172
}
hgs
parents: 94
diff changeset
   173
hgs
parents: 94
diff changeset
   174
// -----------------------------------------------------------------------------
hgs
parents: 94
diff changeset
   175
//
hgs
parents: 94
diff changeset
   176
// -----------------------------------------------------------------------------
hgs
parents: 94
diff changeset
   177
//
89
hgs
parents:
diff changeset
   178
int HsActivityDbClient::waitActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   179
{
94
hgs
parents: 93
diff changeset
   180
    QVariantHash condition(activity);
hgs
parents: 93
diff changeset
   181
    RProcess process;
hgs
parents: 93
diff changeset
   182
    condition.insert(ActivityApplicationKeyword, 
hgs
parents: 93
diff changeset
   183
                     static_cast<int>(process.SecureId().iId));
hgs
parents: 93
diff changeset
   184
    return d_ptr->waitActivity(condition);
89
hgs
parents:
diff changeset
   185
}
hgs
parents:
diff changeset
   186
hgs
parents:
diff changeset
   187
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   188
//
hgs
parents:
diff changeset
   189
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   190
//
hgs
parents:
diff changeset
   191
int HsActivityDbClient::launchActivity(const QVariantHash &activity)
hgs
parents:
diff changeset
   192
{
hgs
parents:
diff changeset
   193
    return d_ptr->launchActivity(activity);
hgs
parents:
diff changeset
   194
}
92
hgs
parents: 90
diff changeset
   195
hgs
parents: 90
diff changeset
   196
// -----------------------------------------------------------------------------
hgs
parents: 90
diff changeset
   197
//
hgs
parents: 90
diff changeset
   198
// -----------------------------------------------------------------------------
hgs
parents: 90
diff changeset
   199
//
93
hgs
parents: 92
diff changeset
   200
int HsActivityDbClient::getThumbnail(QSize size, QString imagePath, QString mimeType, void* userDdata)
92
hgs
parents: 90
diff changeset
   201
{
93
hgs
parents: 92
diff changeset
   202
    return d_ptr->getThumbnail(size, imagePath, mimeType, userDdata);
92
hgs
parents: 90
diff changeset
   203
}
94
hgs
parents: 93
diff changeset
   204
hgs
parents: 93
diff changeset
   205
// -----------------------------------------------------------------------------
hgs
parents: 93
diff changeset
   206
//
hgs
parents: 93
diff changeset
   207
// -----------------------------------------------------------------------------
hgs
parents: 93
diff changeset
   208
//
hgs
parents: 93
diff changeset
   209
int HsActivityDbClient::notifyDataChange()
hgs
parents: 93
diff changeset
   210
{
hgs
parents: 93
diff changeset
   211
    return  d_ptr->notifyDataChange();
hgs
parents: 93
diff changeset
   212
}