activityfw/activityserviceplugin/src/afactivitystorage_p.cpp
author hgs
Mon, 20 Sep 2010 10:22:22 +0300
changeset 119 50e220be30d1
parent 116 305818acdca4
permissions -rw-r--r--
201037
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
107
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
hgs
parents:
diff changeset
    18
#include "afactivitystorage_p.h"
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include <QPixmap>
119
hgs
parents: 116
diff changeset
    21
#include <QDateTime>
107
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#include <afstorageglobals.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
AfActivityStoragePrivate::AfActivityStoragePrivate(const QSharedPointer<AfStorageProxy> &connection) : mConnection(connection)
hgs
parents:
diff changeset
    26
{
hgs
parents:
diff changeset
    27
}
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
bool AfActivityStoragePrivate::saveActivity(const QString &activityId, const QVariant &activityData, const QVariantHash &metadata)
hgs
parents:
diff changeset
    30
{
hgs
parents:
diff changeset
    31
    QVariantHash publicData(metadata);
hgs
parents:
diff changeset
    32
        
hgs
parents:
diff changeset
    33
    QPixmap screenshot(publicData[ActivityScreenshotKeyword].value<QPixmap>());
hgs
parents:
diff changeset
    34
    publicData.remove(ActivityScreenshotKeyword);
hgs
parents:
diff changeset
    35
    
hgs
parents:
diff changeset
    36
    publicData.insert(ActivityApplicationKeyword, applicationId());
hgs
parents:
diff changeset
    37
    publicData.insert(ActivityActivityKeyword, activityId);
119
hgs
parents: 116
diff changeset
    38
    publicData.insert(ActivityTimestamp, QDateTime::currentDateTime());
107
hgs
parents:
diff changeset
    39
116
hgs
parents: 107
diff changeset
    40
    return mConnection->saveActivity(applicationId(), activityId, publicData[ActivityApplicationName].toString(), activityData, publicData, screenshot);
107
hgs
parents:
diff changeset
    41
}
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
bool AfActivityStoragePrivate::removeActivity(const QString &activityId)
hgs
parents:
diff changeset
    44
{
hgs
parents:
diff changeset
    45
    return mConnection->removeActivity(applicationId(), activityId);
hgs
parents:
diff changeset
    46
}
hgs
parents:
diff changeset
    47
hgs
parents:
diff changeset
    48
QStringList AfActivityStoragePrivate::allActivities() const
hgs
parents:
diff changeset
    49
{    
hgs
parents:
diff changeset
    50
    QStringList activities;
hgs
parents:
diff changeset
    51
    mConnection->applicationActivities(activities, applicationId());        
hgs
parents:
diff changeset
    52
    return activities;
hgs
parents:
diff changeset
    53
}
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
QVariant AfActivityStoragePrivate::activityData(const QString &activityId) const
hgs
parents:
diff changeset
    56
{
hgs
parents:
diff changeset
    57
    QVariant data;
hgs
parents:
diff changeset
    58
    mConnection->activityData(data, applicationId(), activityId);
hgs
parents:
diff changeset
    59
    return data;
hgs
parents:
diff changeset
    60
}
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
QVariantHash AfActivityStoragePrivate::activityMetaData(const QString &activityId) const
hgs
parents:
diff changeset
    63
{
hgs
parents:
diff changeset
    64
    QVariantHash metadata;
hgs
parents:
diff changeset
    65
    mConnection->activityMetaData(metadata, applicationId(), activityId);
hgs
parents:
diff changeset
    66
    return metadata;
hgs
parents:
diff changeset
    67
}
hgs
parents:
diff changeset
    68
hgs
parents:
diff changeset
    69
int AfActivityStoragePrivate::applicationId()
hgs
parents:
diff changeset
    70
{
hgs
parents:
diff changeset
    71
    return RProcess().SecureId().iId;
hgs
parents:
diff changeset
    72
}