activityfw/storage/client/src/afstorageclient.cpp
author hgs
Fri, 23 Jul 2010 14:03:00 +0300
changeset 106 e78d6e055a5b
parent 99 7aaf39b772ac
child 107 b34d53f6acdf
permissions -rw-r--r--
201029
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
99
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 "afstorageclient.h"
hgs
parents:
diff changeset
    18
#include "afstorageclient_p.h"
hgs
parents:
diff changeset
    19
106
hgs
parents: 99
diff changeset
    20
#include "afcmd.h"
hgs
parents: 99
diff changeset
    21
99
hgs
parents:
diff changeset
    22
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    23
/**
hgs
parents:
diff changeset
    24
 * Constructor
hgs
parents:
diff changeset
    25
 */
hgs
parents:
diff changeset
    26
AfStorageClient::AfStorageClient(QObject *obj)
hgs
parents:
diff changeset
    27
:
hgs
parents:
diff changeset
    28
QObject(obj),
hgs
parents:
diff changeset
    29
d_ptr(0)
hgs
parents:
diff changeset
    30
{
hgs
parents:
diff changeset
    31
    d_ptr = new AfStorageClientPrivate(*this);
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
 * Destructor
hgs
parents:
diff changeset
    37
 */
hgs
parents:
diff changeset
    38
AfStorageClient::~AfStorageClient()
hgs
parents:
diff changeset
    39
{
hgs
parents:
diff changeset
    40
    delete d_ptr;
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
 * Establish connection with activity server
hgs
parents:
diff changeset
    46
 * @return 0 on succees, error code otherwise
hgs
parents:
diff changeset
    47
 */
hgs
parents:
diff changeset
    48
int AfStorageClient::connect()
hgs
parents:
diff changeset
    49
{
hgs
parents:
diff changeset
    50
    return d_ptr->connect();
hgs
parents:
diff changeset
    51
}
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    54
/**
hgs
parents:
diff changeset
    55
 * Interface implementation.
hgs
parents:
diff changeset
    56
 * @see int MAfAsyncRequestObserver::asyncRequestCompleated(int, int, const QString&)
hgs
parents:
diff changeset
    57
 */
hgs
parents:
diff changeset
    58
void AfStorageClient::asyncRequestCompleated(int result,
hgs
parents:
diff changeset
    59
                                             int requestType, 
hgs
parents:
diff changeset
    60
                                             const QString& data)
hgs
parents:
diff changeset
    61
{
hgs
parents:
diff changeset
    62
    switch (requestType) {
hgs
parents:
diff changeset
    63
    case WaitActivity:
hgs
parents:
diff changeset
    64
        if (KErrCancel != result) {
hgs
parents:
diff changeset
    65
            waitActivity();
hgs
parents:
diff changeset
    66
        }            
hgs
parents:
diff changeset
    67
        if (KErrNone == result) {
hgs
parents:
diff changeset
    68
            emit activityRequested(data);
hgs
parents:
diff changeset
    69
        }
hgs
parents:
diff changeset
    70
        
hgs
parents:
diff changeset
    71
        break;
hgs
parents:
diff changeset
    72
    }
hgs
parents:
diff changeset
    73
}
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    76
/**
hgs
parents:
diff changeset
    77
 * Interface implementation.
hgs
parents:
diff changeset
    78
 * @see int MAfAsyncRequestObserver::asyncRequestCompleated(int, int, QPixmap&, void*)
hgs
parents:
diff changeset
    79
 */
hgs
parents:
diff changeset
    80
void AfStorageClient::asyncRequestCompleated(int result,
hgs
parents:
diff changeset
    81
                                             int requestType, 
hgs
parents:
diff changeset
    82
                                             const QPixmap& pixmap,
hgs
parents:
diff changeset
    83
                                             void* userData)
hgs
parents:
diff changeset
    84
{
hgs
parents:
diff changeset
    85
    switch (requestType) {
hgs
parents:
diff changeset
    86
    case GetThumbnail:
hgs
parents:
diff changeset
    87
        emit thumbnailRequested(0 == result ? pixmap : QPixmap(), 
hgs
parents:
diff changeset
    88
                                userData);
hgs
parents:
diff changeset
    89
        break;
hgs
parents:
diff changeset
    90
    }
hgs
parents:
diff changeset
    91
}
hgs
parents:
diff changeset
    92
hgs
parents:
diff changeset
    93
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    94
/**
hgs
parents:
diff changeset
    95
 * Interface implementation.
hgs
parents:
diff changeset
    96
 * @see int MAfAsyncRequestObserver::asyncRequestCompleated(int, int)
hgs
parents:
diff changeset
    97
 */
hgs
parents:
diff changeset
    98
void AfStorageClient::asyncRequestCompleated(int result,int requestType)
hgs
parents:
diff changeset
    99
{
hgs
parents:
diff changeset
   100
    switch(requestType) {
hgs
parents:
diff changeset
   101
    case NotifyChange:
hgs
parents:
diff changeset
   102
        if (KErrCancel != result) {
hgs
parents:
diff changeset
   103
            notifyDataChange();
hgs
parents:
diff changeset
   104
        }
hgs
parents:
diff changeset
   105
        if (KErrNone == result) {
hgs
parents:
diff changeset
   106
            emit dataChanged();
hgs
parents:
diff changeset
   107
        }
hgs
parents:
diff changeset
   108
        break;
hgs
parents:
diff changeset
   109
    }
hgs
parents:
diff changeset
   110
}
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   113
/**
hgs
parents:
diff changeset
   114
 * Function add new activity
hgs
parents:
diff changeset
   115
 * @param entry - activity entry data structure
hgs
parents:
diff changeset
   116
 * @param imageSource - source for activity thumbnail
hgs
parents:
diff changeset
   117
 * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
   118
 */
hgs
parents:
diff changeset
   119
int AfStorageClient::addActivity(const AfStorageEntry &entry, const QPixmap &imageSource)
hgs
parents:
diff changeset
   120
{
hgs
parents:
diff changeset
   121
    return d_ptr->addActivity(entry, imageSource);
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
 * Function update existing activity
hgs
parents:
diff changeset
   127
 * @param entry - activity entry data structure
hgs
parents:
diff changeset
   128
 * @param imageSource - source for activity thumbnail
hgs
parents:
diff changeset
   129
 * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
   130
 */
hgs
parents:
diff changeset
   131
int AfStorageClient::updateActivity(const AfStorageEntry &entry, 
hgs
parents:
diff changeset
   132
                                    const QPixmap &imageSource)
hgs
parents:
diff changeset
   133
{
hgs
parents:
diff changeset
   134
    return d_ptr->updateActivity(entry, imageSource);
hgs
parents:
diff changeset
   135
}
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   138
/**
hgs
parents:
diff changeset
   139
 * Function remove existing activity
hgs
parents:
diff changeset
   140
 * @param entry - activity entry template
hgs
parents:
diff changeset
   141
  * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
   142
 */
hgs
parents:
diff changeset
   143
int AfStorageClient::removeActivity(const AfStorageEntry &entry)
hgs
parents:
diff changeset
   144
{
hgs
parents:
diff changeset
   145
    return d_ptr->removeActivity(entry);
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
 * Function remove existing activities for application
hgs
parents:
diff changeset
   151
 * @param entry - activity entry template
hgs
parents:
diff changeset
   152
  * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
   153
 */
hgs
parents:
diff changeset
   154
int AfStorageClient::removeApplicationActivities(const AfStorageEntry &entry)
hgs
parents:
diff changeset
   155
{
hgs
parents:
diff changeset
   156
    return d_ptr->removeApplicationActivities(entry);
hgs
parents:
diff changeset
   157
}
hgs
parents:
diff changeset
   158
hgs
parents:
diff changeset
   159
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   160
/**
hgs
parents:
diff changeset
   161
 * Function retreive public data for all activities
hgs
parents:
diff changeset
   162
 * @param dst - list of results
hgs
parents:
diff changeset
   163
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   164
 */
hgs
parents:
diff changeset
   165
int AfStorageClient::activities(QList<AfStorageEntry> &dst)
hgs
parents:
diff changeset
   166
{
hgs
parents:
diff changeset
   167
    return d_ptr->activities(dst);
hgs
parents:
diff changeset
   168
}
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   171
/**
hgs
parents:
diff changeset
   172
 * Function retreive public data for all application activities
hgs
parents:
diff changeset
   173
 * @param dst - list of results
hgs
parents:
diff changeset
   174
 * @param entry - activity template
hgs
parents:
diff changeset
   175
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   176
 */
hgs
parents:
diff changeset
   177
int AfStorageClient::applicationActivities(QList<AfStorageEntry> &dst, 
hgs
parents:
diff changeset
   178
                                           const AfStorageEntry &entry)
hgs
parents:
diff changeset
   179
{
hgs
parents:
diff changeset
   180
    return d_ptr->applicationActivities(dst, entry);
hgs
parents:
diff changeset
   181
}
hgs
parents:
diff changeset
   182
hgs
parents:
diff changeset
   183
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   184
/**
hgs
parents:
diff changeset
   185
 * Function retreive all data for requested activity
hgs
parents:
diff changeset
   186
 * @param dst - activity entry
hgs
parents:
diff changeset
   187
 * @param entry - activity template
hgs
parents:
diff changeset
   188
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   189
 */
hgs
parents:
diff changeset
   190
int AfStorageClient::activityData(AfStorageEntry &dst, const AfStorageEntry &entry)
hgs
parents:
diff changeset
   191
{
hgs
parents:
diff changeset
   192
    return d_ptr->activityData(dst, entry);
hgs
parents:
diff changeset
   193
}
hgs
parents:
diff changeset
   194
hgs
parents:
diff changeset
   195
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   196
/**
hgs
parents:
diff changeset
   197
 * Function subscribe application for notyfication about requested activity changes
hgs
parents:
diff changeset
   198
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   199
 */
hgs
parents:
diff changeset
   200
int AfStorageClient::waitActivity()
hgs
parents:
diff changeset
   201
{
hgs
parents:
diff changeset
   202
    return d_ptr->waitActivity();
hgs
parents:
diff changeset
   203
}
hgs
parents:
diff changeset
   204
hgs
parents:
diff changeset
   205
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   206
/**
hgs
parents:
diff changeset
   207
 * Function request activity change
hgs
parents:
diff changeset
   208
 * @param entry - activity template 
hgs
parents:
diff changeset
   209
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   210
 */
hgs
parents:
diff changeset
   211
int AfStorageClient::launchActivity(const AfStorageEntry &entry)
hgs
parents:
diff changeset
   212
{
hgs
parents:
diff changeset
   213
    return d_ptr->launchActivity(entry);
hgs
parents:
diff changeset
   214
}
hgs
parents:
diff changeset
   215
hgs
parents:
diff changeset
   216
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   217
int AfStorageClient::getThumbnail(QSize size, QString imagePath, void* userDdata)
hgs
parents:
diff changeset
   218
{
hgs
parents:
diff changeset
   219
    return d_ptr->getThumbnail(size, imagePath, userDdata);
hgs
parents:
diff changeset
   220
}
hgs
parents:
diff changeset
   221
hgs
parents:
diff changeset
   222
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   223
/**
hgs
parents:
diff changeset
   224
 * Function subscribe launcher for data model changes
hgs
parents:
diff changeset
   225
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   226
 */
hgs
parents:
diff changeset
   227
int AfStorageClient::notifyDataChange()
hgs
parents:
diff changeset
   228
{
hgs
parents:
diff changeset
   229
    return  d_ptr->notifyDataChange();
hgs
parents:
diff changeset
   230
}