activityfw/orbitintegration/hb/tsrc/unit/unittest_hbactivitymanager/fake_hbactivityplugin/hbactivitypluginfake.cpp
author Jaakko Haukipuro (Nokia-MS/Oulu) <Jaakko.Haukipuro@nokia.com>
Thu, 16 Sep 2010 12:11:40 +0100
changeset 117 c63ee96dbe5f
permissions -rw-r--r--
Missing activityfw and taskswitcher components - fix for Bug 3670

#include "hbactivitypluginfake.h"

#include <QStringList>

bool HbActivityPluginFake::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
{
    if (mActivities.contains(activityId)) {
        return false;
    } else {
        mActivities.insert(activityId, QPair<QVariantHash, QVariant>(parameters, data));
        return true;
    }    
}

bool HbActivityPluginFake::removeActivity(const QString &activityId)
{
    if (mActivities.contains(activityId)) {
        mActivities.remove(activityId);
        return true;
    } else {
        return false;
    }    
}

bool HbActivityPluginFake::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
{
    if (mActivities.contains(activityId)) {
        mActivities.insert(activityId, QPair<QVariantHash, QVariant>(parameters, data));
        return true;
    } else {
        return false;
    }    
}

QList<QVariantHash> HbActivityPluginFake::activities()
{    
    QList<QVariantHash> result;    
    for (QHash<QString, QPair<QVariantHash, QVariant> >::const_iterator i = mActivities.constBegin(); i != mActivities.constEnd(); ++i) {
        result.append(i->first);
    }
    return result;
}

QVariant HbActivityPluginFake::activityData(const QString &activityId)
{
    if (mActivities.contains(activityId)) {
        return mActivities.value(activityId).second;
    } else {
        return QVariant();
    }
}

bool HbActivityPluginFake::waitActivity()
{
    if (mActivities.isEmpty()) {
        return false;
    } else {
        emit activityRequested(mActivities.keys().first());
        return true;
    } 
}

QVariantHash HbActivityPluginFake::parseCommandLine(const QStringList &commandLineParams)
{
    QVariantHash fakeActivityParameters;
    if (commandLineParams.count() == 1 && commandLineParams.first() == "UnitTest") {
        fakeActivityParameters.insert("activityname", "TestActivity");
        fakeActivityParameters.insert("fakeParam", "fakeValue");
    }
    return fakeActivityParameters;
}

Q_EXPORT_PLUGIN2(hbactivityplugin, HbActivityPluginFake)