activityfw/storage/client/src/afstorageclient.cpp
author hgs
Mon, 13 Sep 2010 13:26:33 +0300
changeset 116 305818acdca4
parent 107 b34d53f6acdf
child 119 50e220be30d1
permissions -rw-r--r--
201036
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"
107
hgs
parents: 106
diff changeset
    18
hgs
parents: 106
diff changeset
    19
#include <e32debug.h>
hgs
parents: 106
diff changeset
    20
99
hgs
parents:
diff changeset
    21
#include "afstorageclient_p.h"
106
hgs
parents: 99
diff changeset
    22
#include "afcmd.h"
hgs
parents: 99
diff changeset
    23
99
hgs
parents:
diff changeset
    24
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    25
/**
107
hgs
parents: 106
diff changeset
    26
 * Two-phase constructor. Create and initialize instance
hgs
parents: 106
diff changeset
    27
 * @return entry instance
99
hgs
parents:
diff changeset
    28
 */
107
hgs
parents: 106
diff changeset
    29
EXPORT_C CAfStorageClient *CAfStorageClient::NewL(MAfAsyncRequestObserver &observer)
99
hgs
parents:
diff changeset
    30
{
107
hgs
parents: 106
diff changeset
    31
    CAfStorageClient *self = CAfStorageClient::NewLC(observer);
hgs
parents: 106
diff changeset
    32
    CleanupStack::Pop(self);
hgs
parents: 106
diff changeset
    33
    return self;
99
hgs
parents:
diff changeset
    34
}
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    37
/**
107
hgs
parents: 106
diff changeset
    38
 * Two-phase constructor. Create, initialize and push instance into cleanup stack
hgs
parents: 106
diff changeset
    39
 * @return entry instance
hgs
parents: 106
diff changeset
    40
 */
hgs
parents: 106
diff changeset
    41
EXPORT_C CAfStorageClient *CAfStorageClient::NewLC(MAfAsyncRequestObserver &observer)
hgs
parents: 106
diff changeset
    42
{
hgs
parents: 106
diff changeset
    43
    CAfStorageClient *self = new (ELeave) CAfStorageClient();
hgs
parents: 106
diff changeset
    44
    CleanupStack::PushL(self);
hgs
parents: 106
diff changeset
    45
    self->ConstructL(observer);
hgs
parents: 106
diff changeset
    46
    return self;
hgs
parents: 106
diff changeset
    47
}    
hgs
parents: 106
diff changeset
    48
hgs
parents: 106
diff changeset
    49
// -----------------------------------------------------------------------------
hgs
parents: 106
diff changeset
    50
/**
99
hgs
parents:
diff changeset
    51
 * Destructor
hgs
parents:
diff changeset
    52
 */
107
hgs
parents: 106
diff changeset
    53
EXPORT_C CAfStorageClient::~CAfStorageClient()
99
hgs
parents:
diff changeset
    54
{
hgs
parents:
diff changeset
    55
    delete d_ptr;
hgs
parents:
diff changeset
    56
}
107
hgs
parents: 106
diff changeset
    57
    
99
hgs
parents:
diff changeset
    58
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    59
/**
107
hgs
parents: 106
diff changeset
    60
 * Constructor
99
hgs
parents:
diff changeset
    61
 */
107
hgs
parents: 106
diff changeset
    62
CAfStorageClient::CAfStorageClient()
99
hgs
parents:
diff changeset
    63
{
hgs
parents:
diff changeset
    64
}
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    67
/**
107
hgs
parents: 106
diff changeset
    68
 * 2nd phase of construction
99
hgs
parents:
diff changeset
    69
 */
107
hgs
parents: 106
diff changeset
    70
void CAfStorageClient::ConstructL(MAfAsyncRequestObserver &observer)
99
hgs
parents:
diff changeset
    71
{
107
hgs
parents: 106
diff changeset
    72
    d_ptr = CAfStorageClientPrivate::NewL(observer);
99
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
 * Function add new activity
hgs
parents:
diff changeset
    78
 * @param entry - activity entry data structure
107
hgs
parents: 106
diff changeset
    79
 * @param imageHandle - handle for activity thumbnail
99
hgs
parents:
diff changeset
    80
 * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
    81
 */
107
hgs
parents: 106
diff changeset
    82
EXPORT_C int CAfStorageClient::addActivity(const CAfEntry &entry, TInt imageHandle)
99
hgs
parents:
diff changeset
    83
{
107
hgs
parents: 106
diff changeset
    84
    RDebug::Print(_L("This method is deprecated, please use CAfStorageClient::saveActivity instead"));
hgs
parents: 106
diff changeset
    85
    return d_ptr->addActivity(entry, imageHandle);
99
hgs
parents:
diff changeset
    86
}
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    89
/**
hgs
parents:
diff changeset
    90
 * Function update existing activity
hgs
parents:
diff changeset
    91
 * @param entry - activity entry data structure
107
hgs
parents: 106
diff changeset
    92
 * @param imageHandle - handle for activity thumbnail
99
hgs
parents:
diff changeset
    93
 * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
    94
 */
107
hgs
parents: 106
diff changeset
    95
EXPORT_C int CAfStorageClient::updateActivity(const CAfEntry &entry, TInt imageHandle)
99
hgs
parents:
diff changeset
    96
{
107
hgs
parents: 106
diff changeset
    97
    RDebug::Print(_L("This method is deprecated, please use CAfStorageClient::saveActivity instead"));
hgs
parents: 106
diff changeset
    98
    return d_ptr->updateActivity(entry, imageHandle);
hgs
parents: 106
diff changeset
    99
}
hgs
parents: 106
diff changeset
   100
hgs
parents: 106
diff changeset
   101
// -----------------------------------------------------------------------------
hgs
parents: 106
diff changeset
   102
/**
hgs
parents: 106
diff changeset
   103
 * Function save an activity (add new one or update existing one)
hgs
parents: 106
diff changeset
   104
 * @param entry - activity entry data structure
hgs
parents: 106
diff changeset
   105
 * @param imageHandle - handle for activity thumbnail
hgs
parents: 106
diff changeset
   106
 * @return 0 on success, error code otherwise
hgs
parents: 106
diff changeset
   107
 */
hgs
parents: 106
diff changeset
   108
EXPORT_C int CAfStorageClient::saveActivity(const CAfEntry &entry, TInt imageHandle)
hgs
parents: 106
diff changeset
   109
{    
hgs
parents: 106
diff changeset
   110
    return d_ptr->saveActivity(entry, imageHandle);
99
hgs
parents:
diff changeset
   111
}
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   114
/**
hgs
parents:
diff changeset
   115
 * Function remove existing activity
hgs
parents:
diff changeset
   116
 * @param entry - activity entry template
hgs
parents:
diff changeset
   117
  * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
   118
 */
107
hgs
parents: 106
diff changeset
   119
EXPORT_C int CAfStorageClient::removeActivity(const CAfEntry &entry)
99
hgs
parents:
diff changeset
   120
{
hgs
parents:
diff changeset
   121
    return d_ptr->removeActivity(entry);
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 remove existing activities for application
hgs
parents:
diff changeset
   127
 * @param entry - activity entry template
hgs
parents:
diff changeset
   128
  * @return 0 on success, error code otherwise
hgs
parents:
diff changeset
   129
 */
107
hgs
parents: 106
diff changeset
   130
EXPORT_C int CAfStorageClient::removeApplicationActivities(const CAfEntry &entry)
99
hgs
parents:
diff changeset
   131
{
hgs
parents:
diff changeset
   132
    return d_ptr->removeApplicationActivities(entry);
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
 * Function retreive public data for all activities
hgs
parents:
diff changeset
   138
 * @param dst - list of results
hgs
parents:
diff changeset
   139
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   140
 */
116
hgs
parents: 107
diff changeset
   141
EXPORT_C int CAfStorageClient::activities(RPointerArray<CAfEntry> &dst, TInt limit)
99
hgs
parents:
diff changeset
   142
{
116
hgs
parents: 107
diff changeset
   143
    return d_ptr->activities(dst, limit);
99
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
 * Function retreive public data for all application activities
hgs
parents:
diff changeset
   149
 * @param dst - list of results
hgs
parents:
diff changeset
   150
 * @param entry - activity template
hgs
parents:
diff changeset
   151
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   152
 */
107
hgs
parents: 106
diff changeset
   153
EXPORT_C int CAfStorageClient::applicationActivities(RPointerArray<CAfEntry> &dst, const CAfEntry &entry)
99
hgs
parents:
diff changeset
   154
{
hgs
parents:
diff changeset
   155
    return d_ptr->applicationActivities(dst, entry);
hgs
parents:
diff changeset
   156
}
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   159
/**
hgs
parents:
diff changeset
   160
 * Function retreive all data for requested activity
hgs
parents:
diff changeset
   161
 * @param dst - activity entry
hgs
parents:
diff changeset
   162
 * @param entry - activity template
hgs
parents:
diff changeset
   163
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   164
 */
107
hgs
parents: 106
diff changeset
   165
EXPORT_C int CAfStorageClient::activityData(CAfEntry *&dst, const CAfEntry &entry)
99
hgs
parents:
diff changeset
   166
{
hgs
parents:
diff changeset
   167
    return d_ptr->activityData(dst, entry);
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 subscribe application for notyfication about requested activity changes
hgs
parents:
diff changeset
   173
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   174
 */
107
hgs
parents: 106
diff changeset
   175
EXPORT_C int CAfStorageClient::waitActivity()
99
hgs
parents:
diff changeset
   176
{
hgs
parents:
diff changeset
   177
    return d_ptr->waitActivity();
hgs
parents:
diff changeset
   178
}
hgs
parents:
diff changeset
   179
hgs
parents:
diff changeset
   180
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   181
/**
hgs
parents:
diff changeset
   182
 * Function request activity change
hgs
parents:
diff changeset
   183
 * @param entry - activity template 
hgs
parents:
diff changeset
   184
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   185
 */
107
hgs
parents: 106
diff changeset
   186
EXPORT_C int CAfStorageClient::launchActivity(const CAfEntry &entry)
99
hgs
parents:
diff changeset
   187
{
hgs
parents:
diff changeset
   188
    return d_ptr->launchActivity(entry);
hgs
parents:
diff changeset
   189
}
hgs
parents:
diff changeset
   190
hgs
parents:
diff changeset
   191
// -----------------------------------------------------------------------------
107
hgs
parents: 106
diff changeset
   192
EXPORT_C int CAfStorageClient::getThumbnail(const TSize &size, const TDesC &imagePath, void *userData)
99
hgs
parents:
diff changeset
   193
{
107
hgs
parents: 106
diff changeset
   194
    return d_ptr->getThumbnail(size, imagePath, userData);
99
hgs
parents:
diff changeset
   195
}
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   198
/**
hgs
parents:
diff changeset
   199
 * Function subscribe launcher for data model changes
hgs
parents:
diff changeset
   200
 * @return 0 on success, error code otherwise 
hgs
parents:
diff changeset
   201
 */
107
hgs
parents: 106
diff changeset
   202
EXPORT_C int CAfStorageClient::notifyDataChange()
99
hgs
parents:
diff changeset
   203
{
107
hgs
parents: 106
diff changeset
   204
    return d_ptr->notifyDataChange();
99
hgs
parents:
diff changeset
   205
}