201011_02
authorhgs
Wed, 24 Mar 2010 13:06:03 +0200
changeset 90 0e41c72311af
parent 89 1e87eb3b400f
child 91 a6d55a2e75be
201011_02
activityfw/activitydatabase/activitydatabase.pro
activityfw/activitydatabase/bwins/hsactivitydbclientu.def
activityfw/activitydatabase/eabi/hsactivitydbclientu.def
activityfw/activitydatabase/hsactivitydbclient/hsactivitydbclient.pro
activityfw/activitydatabase/hsactivitydbclient/inc/hsactivitydbasyncrequestobserver.h
activityfw/activitydatabase/hsactivitydbclient/inc/hsactivitydbclient.h
activityfw/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbasyncrequest_p.h
activityfw/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbclient_p.h
activityfw/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbasyncrequest_p.cpp
activityfw/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbclient_p.cpp
activityfw/activitydatabase/hsactivitydbclient/src/hsactivitydbclient.cpp
activityfw/activitydatabase/hsactivitydbserver/hsactivitydbserver.pro
activityfw/activitydatabase/hsactivitydbserver/inc/hsactivity.h
activityfw/activitydatabase/hsactivitydbserver/inc/hsactivityserver.h
activityfw/activitydatabase/hsactivitydbserver/inc/hsactivitystorage.h
activityfw/activitydatabase/hsactivitydbserver/inc/hsactivitystorage_p.h
activityfw/activitydatabase/hsactivitydbserver/s60/inc/hsactivityserver_p.h
activityfw/activitydatabase/hsactivitydbserver/s60/inc/hsactivitysession_p.h
activityfw/activitydatabase/hsactivitydbserver/s60/src/hsactivityserver_p.cpp
activityfw/activitydatabase/hsactivitydbserver/s60/src/hsactivitysession_p.cpp
activityfw/activitydatabase/hsactivitydbserver/s60/src/main.cpp
activityfw/activitydatabase/hsactivitydbserver/src/hsactivityserver.cpp
activityfw/activitydatabase/hsactivitydbserver/src/hsactivitystorage.cpp
activityfw/activitydatabase/hsactivitydbserver/src/hsactivitystorage_p.cpp
activityfw/activitydatabase/hsactivitydbserver/src/main.cpp
activityfw/activitydatabase/inc/hsactivitydbclientinterface.h
activityfw/activitydatabase/s60/inc/hsactivityglobals.h
activityfw/activitydatabase/s60/inc/hsserializer.h
activityfw/activitydatabase/s60/src/hsserializer.cpp
activityfw/activityfw.pro
activityfw/activitylauncher/activitylauncher.pro
activityfw/activitylauncher/activitylauncherview.cpp
activityfw/activitylauncher/activitylauncherview.h
activityfw/activitylauncher/main.cpp
activityfw/activityserviceplugin/activityclient.cpp
activityfw/activityserviceplugin/activityclient.h
activityfw/activityserviceplugin/activityclient_p.cpp
activityfw/activityserviceplugin/activityclient_p.h
activityfw/activityserviceplugin/activitydatastorage.cpp
activityfw/activityserviceplugin/activitydatastorage.h
activityfw/activityserviceplugin/activitymanager.cpp
activityfw/activityserviceplugin/activitymanager.h
activityfw/activityserviceplugin/activitymanager_p.cpp
activityfw/activityserviceplugin/activitymanager_p.h
activityfw/activityserviceplugin/activityserviceplugin.cpp
activityfw/activityserviceplugin/activityserviceplugin.h
activityfw/activityserviceplugin/activityserviceplugin.pri
activityfw/activityserviceplugin/activityserviceplugin.pro
activityfw/activityserviceplugin/activityserviceplugin.xml
activityfw/activityserviceplugin/applicationlauncher.cpp
activityfw/activityserviceplugin/applicationlauncher.h
activityfw/activityserviceplugin/s60/activitydatabase_p.cpp
activityfw/activityserviceplugin/s60/activitydatabase_p.h
activityfw/activityserviceplugin/s60/activityserverclient_p.cpp
activityfw/activityserviceplugin/s60/activityserverclient_p.h
activityfw/activityserviceplugin/s60/applicationlauncher_p.cpp
activityfw/activityserviceplugin/s60/applicationlauncher_p.h
activityfw/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.cpp
activityfw/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.pro
activityfw/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.qrc
activityfw/activityserviceplugin/symbianinstaller/symbianinstaller.pro
activityfw/activityserviceplugin/win/activitydatabase_p.cpp
activityfw/activityserviceplugin/win/activitydatabase_p.h
activityfw/activityserviceplugin/win/applicationlauncher_p.cpp
activityfw/activityserviceplugin/win/applicationlauncher_p.h
activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.cpp
activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.h
activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.pro
activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.qrc
activityfw/orbitintegration/hbactivityplugin/hbactivityplugininterface.h
activityfw/rom.pri
activityfw/rom/activitymanager_core.iby
activityfw/sis/activitymanager.pkg
activityfw/sis/edit_pkg.pl
activityfw/sis/stubs/activitymanager_stub.pkg
activityfw/sis/stubs/activitymanager_stub.sis
activityfw/sis/stubs/createstubs.bat
activitymanager/activitydatabase/activitydatabase.pro
activitymanager/activitydatabase/bwins/hsactivitydbclientu.def
activitymanager/activitydatabase/eabi/hsactivitydbclientu.def
activitymanager/activitydatabase/hsactivitydbclient/hsactivitydbclient.pro
activitymanager/activitydatabase/hsactivitydbclient/inc/hsactivitydbasyncrequestobserver.h
activitymanager/activitydatabase/hsactivitydbclient/inc/hsactivitydbclient.h
activitymanager/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbasyncrequest_p.h
activitymanager/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbclient_p.h
activitymanager/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbasyncrequest_p.cpp
activitymanager/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbclient_p.cpp
activitymanager/activitydatabase/hsactivitydbclient/src/hsactivitydbclient.cpp
activitymanager/activitydatabase/hsactivitydbserver/hsactivitydbserver.pro
activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivity.h
activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivityserver.h
activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivitystorage.h
activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivitystorage_p.h
activitymanager/activitydatabase/hsactivitydbserver/s60/inc/hsactivityserver_p.h
activitymanager/activitydatabase/hsactivitydbserver/s60/inc/hsactivitysession_p.h
activitymanager/activitydatabase/hsactivitydbserver/s60/src/hsactivityserver_p.cpp
activitymanager/activitydatabase/hsactivitydbserver/s60/src/hsactivitysession_p.cpp
activitymanager/activitydatabase/hsactivitydbserver/s60/src/main.cpp
activitymanager/activitydatabase/hsactivitydbserver/src/hsactivityserver.cpp
activitymanager/activitydatabase/hsactivitydbserver/src/hsactivitystorage.cpp
activitymanager/activitydatabase/hsactivitydbserver/src/hsactivitystorage_p.cpp
activitymanager/activitydatabase/hsactivitydbserver/src/main.cpp
activitymanager/activitydatabase/inc/hsactivitydbclientinterface.h
activitymanager/activitydatabase/s60/inc/hsactivityglobals.h
activitymanager/activitydatabase/s60/inc/hsserializer.h
activitymanager/activitydatabase/s60/src/hsserializer.cpp
activitymanager/activitylauncher/activitylauncher.pro
activitymanager/activitylauncher/activitylauncherview.cpp
activitymanager/activitylauncher/activitylauncherview.h
activitymanager/activitylauncher/main.cpp
activitymanager/activitymanager.pro
activitymanager/activityserviceplugin/activityclient.cpp
activitymanager/activityserviceplugin/activityclient.h
activitymanager/activityserviceplugin/activityclient_p.cpp
activitymanager/activityserviceplugin/activityclient_p.h
activitymanager/activityserviceplugin/activitydatastorage.cpp
activitymanager/activityserviceplugin/activitydatastorage.h
activitymanager/activityserviceplugin/activitymanager.cpp
activitymanager/activityserviceplugin/activitymanager.h
activitymanager/activityserviceplugin/activitymanager_p.cpp
activitymanager/activityserviceplugin/activitymanager_p.h
activitymanager/activityserviceplugin/activityserviceplugin.cpp
activitymanager/activityserviceplugin/activityserviceplugin.h
activitymanager/activityserviceplugin/activityserviceplugin.pri
activitymanager/activityserviceplugin/activityserviceplugin.pro
activitymanager/activityserviceplugin/activityserviceplugin.xml
activitymanager/activityserviceplugin/applicationlauncher.cpp
activitymanager/activityserviceplugin/applicationlauncher.h
activitymanager/activityserviceplugin/s60/activitydatabase_p.cpp
activitymanager/activityserviceplugin/s60/activitydatabase_p.h
activitymanager/activityserviceplugin/s60/activityserverclient_p.cpp
activitymanager/activityserviceplugin/s60/activityserverclient_p.h
activitymanager/activityserviceplugin/s60/applicationlauncher_p.cpp
activitymanager/activityserviceplugin/s60/applicationlauncher_p.h
activitymanager/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.cpp
activitymanager/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.pro
activitymanager/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.qrc
activitymanager/activityserviceplugin/symbianinstaller/symbianinstaller.pro
activitymanager/activityserviceplugin/win/activitydatabase_p.cpp
activitymanager/activityserviceplugin/win/activitydatabase_p.h
activitymanager/activityserviceplugin/win/applicationlauncher_p.cpp
activitymanager/activityserviceplugin/win/applicationlauncher_p.h
activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.cpp
activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.h
activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.pro
activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.qrc
activitymanager/orbitintegration/hbactivityplugin/hbactivityplugininterface.h
activitymanager/rom.pri
activitymanager/rom/activitymanager_core.iby
activitymanager/sis/activitymanager.pkg
activitymanager/sis/edit_pkg.pl
activitymanager/sis/stubs/activitymanager_stub.pkg
activitymanager/sis/stubs/activitymanager_stub.sis
activitymanager/sis/stubs/createstubs.bat
homescreensrv.pro
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/activitydatabase.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS += hsactivitydbclient \
+           hsactivitydbserver
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/bwins/hsactivitydbclientu.def	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,25 @@
+EXPORTS
+	?launchActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 1 NONAME ; int HsActivityDbClient::launchActivity(class QHash<class QString, class QVariant> const &)
+	?connect@HsActivityDbClient@@QAEHXZ @ 2 NONAME ; int HsActivityDbClient::connect(void)
+	?asyncRequestCompleated@HsActivityDbClient@@UAEXHHABVQString@@@Z @ 3 NONAME ; void HsActivityDbClient::asyncRequestCompleated(int, int, class QString const &)
+	?trUtf8@HsActivityDbClient@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString HsActivityDbClient::trUtf8(char const *, char const *)
+	?applicationActivities@HsActivityDbClient@@UAEHAAV?$QList@V?$QHash@VQString@@VQVariant@@@@@@ABV?$QHash@VQString@@VQVariant@@@@@Z @ 5 NONAME ; int HsActivityDbClient::applicationActivities(class QList<class QHash<class QString, class QVariant> > &, class QHash<class QString, class QVariant> const &)
+	?qt_metacast@HsActivityDbClient@@UAEPAXPBD@Z @ 6 NONAME ; void * HsActivityDbClient::qt_metacast(char const *)
+	?qt_metacall@HsActivityDbClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7 NONAME ; int HsActivityDbClient::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?waitActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 8 NONAME ; int HsActivityDbClient::waitActivity(class QHash<class QString, class QVariant> const &)
+	?activities@HsActivityDbClient@@UAEHAAV?$QList@V?$QHash@VQString@@VQVariant@@@@@@@Z @ 9 NONAME ; int HsActivityDbClient::activities(class QList<class QHash<class QString, class QVariant> > &)
+	?trUtf8@HsActivityDbClient@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString HsActivityDbClient::trUtf8(char const *, char const *, int)
+	??0HsActivityDbClient@@QAE@PAVQObject@@@Z @ 11 NONAME ; HsActivityDbClient::HsActivityDbClient(class QObject *)
+	?tr@HsActivityDbClient@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString HsActivityDbClient::tr(char const *, char const *)
+	?getStaticMetaObject@HsActivityDbClient@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & HsActivityDbClient::getStaticMetaObject(void)
+	??_EHsActivityDbClient@@UAE@I@Z @ 14 NONAME ; HsActivityDbClient::~HsActivityDbClient(unsigned int)
+	?metaObject@HsActivityDbClient@@UBEPBUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const * HsActivityDbClient::metaObject(void) const
+	?removeApplicationActivities@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 16 NONAME ; int HsActivityDbClient::removeApplicationActivities(class QHash<class QString, class QVariant> const &)
+	?tr@HsActivityDbClient@@SA?AVQString@@PBD0H@Z @ 17 NONAME ; class QString HsActivityDbClient::tr(char const *, char const *, int)
+	?addActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 18 NONAME ; int HsActivityDbClient::addActivity(class QHash<class QString, class QVariant> const &)
+	?staticMetaObject@HsActivityDbClient@@2UQMetaObject@@B @ 19 NONAME ; struct QMetaObject const HsActivityDbClient::staticMetaObject
+	??1HsActivityDbClient@@UAE@XZ @ 20 NONAME ; HsActivityDbClient::~HsActivityDbClient(void)
+	?activityRequested@HsActivityDbClient@@IAEXABVQString@@@Z @ 21 NONAME ; void HsActivityDbClient::activityRequested(class QString const &)
+	?updateActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 22 NONAME ; int HsActivityDbClient::updateActivity(class QHash<class QString, class QVariant> const &)
+	?removeActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 23 NONAME ; int HsActivityDbClient::removeActivity(class QHash<class QString, class QVariant> const &)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/eabi/hsactivitydbclientu.def	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,34 @@
+EXPORTS
+	_ZN18HsActivityDbClient10activitiesER5QListI5QHashI7QString8QVariantEE @ 1 NONAME
+	_ZN18HsActivityDbClient11addActivityERK5QHashI7QString8QVariantE @ 2 NONAME
+	_ZN18HsActivityDbClient11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
+	_ZN18HsActivityDbClient11qt_metacastEPKc @ 4 NONAME
+	_ZN18HsActivityDbClient12waitActivityERK5QHashI7QString8QVariantE @ 5 NONAME
+	_ZN18HsActivityDbClient14launchActivityERK5QHashI7QString8QVariantE @ 6 NONAME
+	_ZN18HsActivityDbClient14removeActivityERK5QHashI7QString8QVariantE @ 7 NONAME
+	_ZN18HsActivityDbClient14updateActivityERK5QHashI7QString8QVariantE @ 8 NONAME
+	_ZN18HsActivityDbClient16staticMetaObjectE @ 9 NONAME DATA 16
+	_ZN18HsActivityDbClient17activityRequestedERK7QString @ 10 NONAME
+	_ZN18HsActivityDbClient19getStaticMetaObjectEv @ 11 NONAME
+	_ZN18HsActivityDbClient21applicationActivitiesER5QListI5QHashI7QString8QVariantEERKS4_ @ 12 NONAME
+	_ZN18HsActivityDbClient22asyncRequestCompleatedEiiRK7QString @ 13 NONAME
+	_ZN18HsActivityDbClient27removeApplicationActivitiesERK5QHashI7QString8QVariantE @ 14 NONAME
+	_ZN18HsActivityDbClient7connectEv @ 15 NONAME
+	_ZN18HsActivityDbClientC1EP7QObject @ 16 NONAME
+	_ZN18HsActivityDbClientC2EP7QObject @ 17 NONAME
+	_ZN18HsActivityDbClientD0Ev @ 18 NONAME
+	_ZN18HsActivityDbClientD1Ev @ 19 NONAME
+	_ZN18HsActivityDbClientD2Ev @ 20 NONAME
+	_ZNK18HsActivityDbClient10metaObjectEv @ 21 NONAME
+	_ZTI18HsActivityDbClient @ 22 NONAME
+	_ZTV18HsActivityDbClient @ 23 NONAME
+	_ZThn12_N18HsActivityDbClient22asyncRequestCompleatedEiiRK7QString @ 24 NONAME
+	_ZThn8_N18HsActivityDbClient10activitiesER5QListI5QHashI7QString8QVariantEE @ 25 NONAME
+	_ZThn8_N18HsActivityDbClient11addActivityERK5QHashI7QString8QVariantE @ 26 NONAME
+	_ZThn8_N18HsActivityDbClient12waitActivityERK5QHashI7QString8QVariantE @ 27 NONAME
+	_ZThn8_N18HsActivityDbClient14launchActivityERK5QHashI7QString8QVariantE @ 28 NONAME
+	_ZThn8_N18HsActivityDbClient14removeActivityERK5QHashI7QString8QVariantE @ 29 NONAME
+	_ZThn8_N18HsActivityDbClient14updateActivityERK5QHashI7QString8QVariantE @ 30 NONAME
+	_ZThn8_N18HsActivityDbClient21applicationActivitiesER5QListI5QHashI7QString8QVariantEERKS4_ @ 31 NONAME
+	_ZThn8_N18HsActivityDbClient27removeApplicationActivitiesERK5QHashI7QString8QVariantE @ 32 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/hsactivitydbclient.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = hsactivitydbclient
+
+QT        += core \
+             sql
+
+QT        -= gui 
+
+HEADERS   += inc/hsactivitydbclient.h
+
+SOURCES   += src/hsactivitydbclient.cpp
+
+DEFINES += ACTIVITY_LIB
+
+symbian{
+TARGET.UID3 = 0xE467C21E
+
+HEADERS   += ../s60/inc/hsserializer.h \
+             s60/inc/hsactivitydbclient_p.h \
+			 s60/inc/hsactivitydbasyncrequest_p.h
+
+SOURCES   += ../s60/src/hsserializer.cpp \
+             s60/src/hsactivitydbclient_p.cpp \
+			 s60/src/hsactivitydbasyncrequest_p.cpp
+
+
+hsactivitydbclientdll.sources = hsactivitydbclient.dll
+hsactivitydbclientdll.path = $$SHARED_LIB_DIR
+DEPLOYMENT += hsactivitydbclientdll
+
+BLD_INF_RULES.prj_exports += "../inc/hsactivitydbclientinterface.h /epoc32/include/hsactivitydbclientinterface.h" \
+                             "inc/hsactivitydbclient.h /epoc32/include/hsactivitydbclient.h" \
+							 "inc/hsactivitydbasyncrequestobserver.h /epoc32/include/hsactivitydbasyncrequestobserver.h"
+DEPLOYMENT += api
+TARGET.CAPABILITY = ALL -TCB
+TARGET.EPOCALLOWDLLDATA = 1
+MMP_RULES += EXPORTUNFROZEN
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/inc/hsactivitydbasyncrequestobserver.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef HSACTIVITYDBASYNCREQUESTOBSERVER_H
+#define HSACTIVITYDBASYNCREQUESTOBSERVER_H
+#include <QString>
+class HsActivityDbAsyncRequestObserver
+{
+public:
+    /**
+     * Function inform observer about asynchronous request results
+     * @param result - request result
+     * @param requestType - request type
+     * @param data - respons data  
+     */
+    virtual void asyncRequestCompleated(int result, 
+                                        int requestType, 
+                                        const QString& data)=0;
+};
+#endif // HSACTIVITYDBASYNCREQUESTOBSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/inc/hsactivitydbclient.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,125 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef HSACTIVITYDBCLIENT_H
+#define HSACTIVITYDBCLIENT_H
+#include <QObject>
+#include <hsactivitydbasyncrequestobserver.h>
+#include "hsactivitydbclientinterface.h"
+
+#ifdef ACTIVITY_LIB
+    #define ACTIVITY_EXPORT Q_DECL_EXPORT
+#else
+    #define ACTIVITY_EXPORT Q_DECL_IMPORT
+#endif
+
+class HsActivityDbClientPrivate;
+
+/**
+ * Class implemets HsActivityDbClientInterface and is responsible for activity data management.
+ */
+class ACTIVITY_EXPORT HsActivityDbClient:   public QObject,
+                                            public HsActivityDbClientInterface,
+                                            public HsActivityDbAsyncRequestObserver
+{
+Q_OBJECT
+public:
+    /**
+     * Constructor
+     */
+    HsActivityDbClient(QObject* =0);
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityDbClient();
+    
+    /**
+     * Establish connection with activity server
+     * @return 0 on succees, error code otherwise
+     */
+    int connect();
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbAsyncRequestObserver::asyncRequestCompleated(int, int, const QString&)
+     */
+    void asyncRequestCompleated(int, int, const QString&);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::saveActivity(const QVariantHash&)
+     */
+    int addActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
+     */
+    int updateActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::deleteActivity(const QVariantHash &)
+     */
+    int removeActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::deleteApplicationActivities(const QVariantHash &)
+     */
+    int removeApplicationActivities(const QVariantHash &activity);
+        
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash>&)
+     */
+    int activities(QList<QVariantHash> &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
+     */
+    int applicationActivities(QList<QVariantHash> &, 
+                              const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
+     */
+    int waitActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
+     */
+    int launchActivity(const QVariantHash &);
+signals:
+    /**
+     * Function notify about runtime activity change
+     * @param activityId - requested activity name
+     */
+    void activityRequested(const QString& activityId);
+private:
+    /**
+     * Private client implementation.
+     * Own.
+     */
+    HsActivityDbClientPrivate* d_ptr;
+};
+
+#endif //HSACTIVITYDBCLIENT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbasyncrequest_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSACTIVITYDBASYNCREQUESTPRIVATE_H
+#define HSACTIVITYDBASYNCREQUESTPRIVATE_H
+#include <e32base.h>
+#include <QVariant>
+#include <hsactivitydbasyncrequestobserver.h>
+
+class HsActivityDbClientPrivate;
+
+/**
+ * Class is responsible for async. request handling
+ */
+class HsActivityDbAsyncRequestPrivate : public CActive
+
+{
+public:
+    /**
+     * First step constructor
+     */
+    static HsActivityDbAsyncRequestPrivate* 
+        NewL(HsActivityDbAsyncRequestObserver &, HsActivityDbClientPrivate &);
+    
+    /**
+     * First step constructor
+     */
+    static HsActivityDbAsyncRequestPrivate* 
+        NewLC(HsActivityDbAsyncRequestObserver &, HsActivityDbClientPrivate &);
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityDbAsyncRequestPrivate();
+    
+    /**
+     * Function create subscription to current ativity changes
+     * @param condition - activity filetering rules
+     */
+    void waitActivity(const QVariantHash& condition);
+protected:
+    /**
+     * Interface implementation.
+     * @see void CActive::DoCancel()
+     */
+    void DoCancel();
+    
+    /**
+     * Interface implementation.
+     * @see void CActive::DoCancel()
+     */
+    void RunL();
+private:
+    /**
+     * Constructor
+     */
+    HsActivityDbAsyncRequestPrivate(HsActivityDbAsyncRequestObserver &,
+                                    HsActivityDbClientPrivate &);
+private:
+    HsActivityDbAsyncRequestObserver& mObserver; 
+    HsActivityDbClientPrivate& mSession;
+    int mRequestType;
+    RBuf8 mDataBuf;
+    TPckgBuf<int> mDataSize;
+};
+#endif // HSACTIVITYDBCLIENTPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbclient_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef HSACTIVITYDBCLIENTPRIVATE_H
+#define HSACTIVITYDBCLIENTPRIVATE_H
+#include "hsactivitydbclientinterface.h"
+#include <e32base.h>
+#include <hsactivitydbasyncrequestobserver.h>
+
+class HsActivityDbAsyncRequestPrivate;
+/**
+ * Class implemets HsActivityDbClientInterface and is responsible for 
+ * activity data management on S60 enviroment.
+ */
+class HsActivityDbClientPrivate : protected RSessionBase,
+                                  public HsActivityDbClientInterface
+{
+public:
+    /**
+     * Constructor
+     */
+    HsActivityDbClientPrivate(HsActivityDbAsyncRequestObserver&);
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityDbClientPrivate();
+    
+    /**
+     * Function establish connection to activity server
+     * @return 0 on succees, error code otherwise
+     */
+    int connect();
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::addActivity(const QVariantHash &)
+     */
+    int addActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash &)
+     */
+    int updateActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::removeActivity(const QVariantHash &)
+     */
+    int removeActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::removeApplicationActivities(const QVariantHash &)
+    */
+    int removeApplicationActivities(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::requestedActivityName(QString &, const QVariantHash &);
+     */
+    int requestedActivityName(QString &, const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash> &);
+     */
+    int activities(QList<QVariantHash> &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
+     */
+    int applicationActivities(QList<QVariantHash>&, const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
+     */
+    int waitActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
+     */
+    int launchActivity(const QVariantHash &);
+
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::cancelWaitActivity()
+     */
+    int cancelWaitActivity();
+    
+public:
+    /**
+     * Function get cached data from server
+     * @param dst - destination, preallocated buffer
+     */
+    void getData(RBuf8 & dst);
+    
+    /**
+     * Function initialize aync request
+     * @param func - requested function
+     * @param data - request data
+     * @param status - request status
+     */
+    void sendDataAsync(int func,const TIpcArgs & data, TRequestStatus& status);
+    
+private:
+    /**
+     * Function start activity server process.
+     * Function can leave on failure.
+     */
+    void startServerL();
+    
+    /**
+     * Function establish connection to activity server.
+     * Function can leave on failure
+     */
+    void connectL();
+    
+    /**
+     * Function execute remote call request.
+     * @param function - remote function identyfier
+     * @param activity - remote function parameters  
+     */
+    void execSimpleRequestL( int function, const QVariantHash &activity);
+    
+    /**
+     * Function retrieve current activity name for application.
+     * Function can leave on failure
+     * @param  result - activity name
+     * @param activity - request filtering rules 
+     */
+    void requestedActivityNameL(QString& result, 
+                                const QVariantHash &activity);
+    
+    /**
+     * Function retrieve all stored activity
+     * Function can leave on failure
+     * @param result - list of activity 
+     */
+    void activitiesL(QList<QVariantHash>& result);
+    
+    /**
+     * Function retrieve all stored activity
+     * Function can leave on failure
+     * @param result - list of activity
+     * @param cond - request conditions  
+     */
+    void applicationActivitiesL(QList<QVariantHash>& result, 
+                                const QVariantHash & cond);
+    
+    void waitActivityL(const QVariantHash &activity);
+private:
+    /**
+     * Async request handler
+     * Own
+     */
+    HsActivityDbAsyncRequestPrivate* mAsyncDataHandler; 
+
+};
+#endif // HSACTIVITYDBCLIENTPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbasyncrequest_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "hsactivitydbasyncrequest_p.h"
+#include "hsactivitydbclient_p.h"
+#include "hsserializer.h"
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbAsyncRequestPrivate* 
+    HsActivityDbAsyncRequestPrivate::NewL(HsActivityDbAsyncRequestObserver& observer,
+                                          HsActivityDbClientPrivate& session)
+{
+    HsActivityDbAsyncRequestPrivate* self = 
+        HsActivityDbAsyncRequestPrivate::NewLC(observer, session);
+    CleanupStack::Pop(self);
+    return self;
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbAsyncRequestPrivate* 
+    HsActivityDbAsyncRequestPrivate::NewLC(HsActivityDbAsyncRequestObserver& observer,
+                                           HsActivityDbClientPrivate& session)
+{
+    HsActivityDbAsyncRequestPrivate* self = 
+        new (ELeave)HsActivityDbAsyncRequestPrivate(observer, session);
+    CleanupStack::PushL(self);
+    self->mDataBuf.CreateL(64);
+    return self;
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbAsyncRequestPrivate::HsActivityDbAsyncRequestPrivate(HsActivityDbAsyncRequestObserver &observer,
+                                                                 HsActivityDbClientPrivate &session)
+:
+    CActive(EPriorityStandard),
+    mObserver(observer),
+    mSession(session),
+    mRequestType(-1),
+    mDataSize()
+{
+    CActiveScheduler::Add(this);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbAsyncRequestPrivate::~HsActivityDbAsyncRequestPrivate()
+{
+    mDataBuf.Close();
+    Cancel();
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbAsyncRequestPrivate::DoCancel()
+{
+    if(IsActive()) {
+    mSession.cancelWaitActivity();
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbAsyncRequestPrivate::RunL()
+{
+    RBuf8 buff;
+    CleanupClosePushL(buff);
+    QString data;
+    int requestResult(iStatus.Int());
+    if(KErrNone == requestResult) {
+        if(0 < mDataSize()) {
+            buff.CreateL(mDataSize());
+        }
+        mSession.getData(buff);
+        data = QString::fromAscii(reinterpret_cast<const char*>(buff.Ptr()), 
+                                  buff.Length());
+        buff.Close();
+    }
+    mObserver.asyncRequestCompleated(requestResult, mRequestType, data);
+    CleanupStack::PopAndDestroy(&buff);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbAsyncRequestPrivate::waitActivity(const QVariantHash& condition)
+{
+    mRequestType = WaitActivity;
+    iStatus = KRequestPending;
+    SetActive();
+    mDataBuf << condition;
+    mSession.sendDataAsync(mRequestType, TIpcArgs(&mDataBuf, &mDataSize), iStatus);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbclient_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,301 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include "hsactivitydbclient_p.h"
+#include "hsactivitydbasyncrequest_p.h"
+#include "hsactivityglobals.h"
+#include "hsserializer.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbClientPrivate::HsActivityDbClientPrivate(HsActivityDbAsyncRequestObserver& observer)
+{
+    mAsyncDataHandler = HsActivityDbAsyncRequestPrivate::NewL(observer, *this);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbClientPrivate::~HsActivityDbClientPrivate()
+{
+    delete mAsyncDataHandler;
+    Close();
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::connect()
+{
+    TRAPD(errNo, connectL());
+    return errNo;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::addActivity(const QVariantHash &activity)
+{
+    TRAPD( errNo, execSimpleRequestL(AddActivity, activity);)
+    return errNo; 
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::updateActivity(const QVariantHash &activity)
+{
+    TRAPD( errNo, execSimpleRequestL(UpdateActivity, activity);)
+    return errNo; 
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::removeActivity(const QVariantHash &activity)
+{
+    TRAPD( errNo, execSimpleRequestL(RemoveActivity, activity);)
+    return errNo; 
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::removeApplicationActivities(const QVariantHash &activity)
+{
+    TRAPD( errNo, execSimpleRequestL(RemoveApplicationActivities, activity);)
+    return errNo; 
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::activities(QList<QVariantHash>& result)
+{
+    TRAPD(errNo, activitiesL(result));
+    return errNo;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::applicationActivities(QList<QVariantHash>& result, 
+                                                      const QVariantHash & condition)
+{
+    TRAPD(errNo, applicationActivitiesL(result, condition));
+    return errNo;
+}
+
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::waitActivity(const QVariantHash &activity)
+{
+    TRAPD( errNo, waitActivityL(activity);)
+    return errNo;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::launchActivity(const QVariantHash &activity)
+{
+    TRAPD( errNo, execSimpleRequestL(LaunchActivity, activity);)
+    return errNo;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClientPrivate::cancelWaitActivity()
+{
+    return SendReceive(CancelWait, TIpcArgs());
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::startServerL()
+{
+    RProcess server;
+    const TUidType uid(KNullUid, KNullUid, KActivityServerUid);
+    User::LeaveIfError(server.Create( KActivityServerName, KNullDesC, uid));
+    TRequestStatus stat;
+    server.Rendezvous( stat );
+    if ( stat != KRequestPending ) {
+        server.Kill(0);
+    } else {
+        server.Resume();
+    }
+    User::WaitForRequest(stat);
+    int errNo = (EExitPanic == server.ExitType()) ? 
+                KErrGeneral : stat.Int();
+    if(KErrCancel == errNo) {
+        errNo = KErrNone;
+    }
+    server.Close();
+    User::LeaveIfError(errNo);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::connectL()
+{
+    const int asyncMessageSlots(4);
+    const int maxRetry(4);
+    
+    TInt retry = maxRetry;
+    TInt errNo(KErrNone);
+    do {
+        errNo = CreateSession( KActivityServerName, TVersion( 0, 0, 0 ), asyncMessageSlots );
+        if( KErrNotFound != errNo && KErrServerTerminated != errNo) {
+            retry =0;
+        } else {
+            TRAP(errNo, startServerL());
+            if (KErrNone != errNo && KErrAlreadyExists != errNo) {
+                retry =0;
+            }
+        }
+    } while(--retry > 0);
+    User::LeaveIfError(errNo);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::execSimpleRequestL(int function, const QVariantHash &activity)
+{
+    RBuf8 data;
+    CleanupClosePushL(data);
+    data.CreateL(256);
+    data << activity;
+    User::LeaveIfError(SendReceive(function, TIpcArgs(&data)));
+    CleanupStack::PopAndDestroy(&data);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::requestedActivityNameL(QString& result, 
+                                                const QVariantHash &activity)
+{
+    RBuf8 data;
+    TPckgBuf<int> sizeBuf;
+    CleanupClosePushL(data);
+    data.CreateL(256);
+    data << activity;
+    User::LeaveIfError(SendReceive(RequestedActivityName, TIpcArgs(&data,&sizeBuf)));
+    if(sizeBuf() > data.MaxSize()) {
+       data.ReAlloc(sizeBuf()); 
+    }
+    User::LeaveIfError(SendReceive(GetData, TIpcArgs(&data)));
+    result = QString::fromAscii(reinterpret_cast<const char*>(data.Ptr()), 
+                                data.Length());
+    CleanupStack::PopAndDestroy(&data);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::activitiesL(QList<QVariantHash>& result)
+{
+    RBuf8 data;
+    TPckgBuf<int> sizeBuf;
+    CleanupClosePushL(data);
+    data.CreateL(256);
+    User::LeaveIfError(SendReceive(Activities, TIpcArgs(&data, &sizeBuf)));
+    if(sizeBuf() > data.MaxSize()) {
+       data.ReAlloc(sizeBuf()); 
+    }
+    User::LeaveIfError(SendReceive(GetData, TIpcArgs(&data)));
+    result << data;
+    CleanupStack::PopAndDestroy(&data);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::applicationActivitiesL(QList<QVariantHash>& result, 
+                                                     const QVariantHash & condition)
+{
+    RBuf8 data;
+    TPckgBuf<int> sizeBuf;
+    CleanupClosePushL(data);
+    data.CreateL(256);
+    data << condition;
+    User::LeaveIfError(SendReceive(ApplicationActivities, TIpcArgs(&data, &sizeBuf)));
+    if(sizeBuf() > data.MaxSize()) {
+       data.ReAlloc(sizeBuf()); 
+    }
+    User::LeaveIfError(SendReceive(GetData, TIpcArgs(&data)));
+    result << data;
+    CleanupStack::PopAndDestroy(&data);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::waitActivityL(const QVariantHash &activity)
+{
+    if(mAsyncDataHandler->IsActive()) {
+        User::Leave(KErrServerBusy);
+    } else {
+        mAsyncDataHandler->waitActivity(activity);
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::getData(RBuf8& data)
+{
+    SendReceive(GetData, TIpcArgs(&data));
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClientPrivate::sendDataAsync(int func,
+                                              const TIpcArgs &data, 
+                                              TRequestStatus& status)
+{
+    SendReceive(func, data, status);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbclient/src/hsactivitydbclient.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,138 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#include "hsactivitydbclient.h"
+#include "hsactivitydbclient_p.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbClient::HsActivityDbClient(QObject* obj)
+:
+    QObject(obj),
+    d_ptr(0)
+{
+    d_ptr = new HsActivityDbClientPrivate(*this);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityDbClient::~HsActivityDbClient()
+{
+    delete d_ptr;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::connect()
+{
+    return d_ptr->connect();
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityDbClient::asyncRequestCompleated(int result, 
+                                                int requestType, 
+                                                const QString& data)
+{
+    switch(requestType){
+    case WaitActivity:
+        if( KErrNone == result ) {
+            emit activityRequested(data);
+        }
+        break;
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::addActivity(const QVariantHash &activity)
+{
+    return d_ptr->addActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::updateActivity(const QVariantHash &activity)
+{
+    return d_ptr->updateActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::removeActivity(const QVariantHash &activity)
+{
+    return d_ptr->removeActivity(activity);
+}
+    
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::removeApplicationActivities(const QVariantHash &activity)
+{
+    return d_ptr->removeApplicationActivities(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::activities(QList<QVariantHash>& result)
+{
+    return d_ptr->activities(result);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::applicationActivities(QList<QVariantHash> & result, 
+                                              const QVariantHash & conditions)
+{
+    return d_ptr->applicationActivities(result, conditions);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::waitActivity(const QVariantHash &activity)
+{
+    return d_ptr->waitActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityDbClient::launchActivity(const QVariantHash &activity)
+{
+    return d_ptr->launchActivity(activity);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/hsactivitydbserver.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = app
+TARGET = hsactivitydbserver 
+
+QT        += core \
+             gui \
+             sql 
+
+HEADERS   += ../inc/hsactivitydbclientinterface.h \
+             inc/hsactivity.h \
+             inc/hsactivityserver.h \
+             inc/hsactivitystorage.h \
+			 inc/hsactivitystorage_p.h
+
+SOURCES   += src/hsactivityserver.cpp \
+			 src/hsactivitystorage.cpp \
+             src/hsactivitystorage_p.cpp
+
+symbian{
+TARGET.UID3 = 0x200267B4
+HEADERS   += ../s60/inc/hsactivityglobals.h \
+             ../s60/inc/hsserializer.h \
+             s60/inc/hsactivityserver_p.h \
+             s60/inc/hsactivitysession_p.h
+			 
+
+SOURCES   += s60/src/main.cpp \
+             ../s60/src/hsserializer.cpp \
+             s60/src/hsactivityserver_p.cpp \
+			 s60/src/hsactivitysession_p.cpp
+
+TARGET.CAPABILITY = ALL -TCB
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/inc/hsactivity.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSACTIVITY_H
+#define HSACTIVITY_H
+
+
+const char ActivityOrganization [] = "nokia";
+
+const char ActivityApplication [] = "hsactivitydbserver";
+
+const char ActivityStorageDriver [] = "QSQLITE";
+
+const char ActivityStorageName [] = "ActivitySQLClient";
+
+const char ActivityStorageProperty [] = "activitydatabase";
+
+const char ActivityDefaultStorage [] = "activitydatabase.db";
+
+const char ActivityTableKeyword [] = ":Table";
+const char ActivityDataKeyword [] = ":Data";
+
+
+
+const char ActivityCreateQuery [] = "CREATE TABLE Activities(" \
+                                    "ApplicationId INTEGER NOT NULL," \
+                                    "ActivityName TEXT NOT NULL," \
+                                    "Data BLOB NOT NULL," \
+                                    "PRIMARY KEY ( ApplicationId, ActivityName ) )";
+
+const char ActivityDropQuery [] = "DROP TABLE :Table";
+
+const char ActivitySelectActivityQuery [] = "SELECT ApplicationId FROM Activities WHERE " \
+                                            "ApplicationId = :ApplicationId AND " \
+                                            "ActivityName = :ActivityName";
+
+const char ActivityUpdateActivityQuery [] = "UPDATE Activities SET Data = :Data WHERE " \
+                                            "ApplicationId = :ApplicationId AND " \
+                                            "ActivityName = :ActivityName";
+
+const char ActivityInsertActivityQuery [] = "INSERT INTO Activities( ApplicationId, ActivityName, Data ) VALUES " \
+                                            "( :ApplicationId, :ActivityName, :Data )";
+
+const char ActivitySelectActiveQuery [] = "SELECT ActivityName FROM Activities WHERE " \
+                                          "ApplicationId = :ApplicationId";
+
+const char ActivityActivitiesQuery [] = "SELECT Data FROM Activities";
+
+const char ActivityApplicationActivitiesQuery [] = "SELECT Data FROM Activities " \
+                                                   "WHERE ApplicationId = :ApplicationId";
+
+const char ActivityDeleteActivityQuery [] = "DELETE FROM Activities WHERE " \
+                                            "ApplicationId = :ApplicationId AND " \
+                                            "ActivityName = :ActivityName";
+
+const char ActivityDeleteApplicationActivitiesQuery [] = "DELETE FROM Activities WHERE " \
+                                                         "ApplicationId = :ApplicationId";
+
+#endif //HSACTIVITY_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/inc/hsactivityserver.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef HSACTIVITYSERVER_H
+#define HSACTIVITYSERVER_H
+
+#include "hsactivitydbclientinterface.h"
+
+class HsActivityServerPrivate;
+
+/**
+ * Class implemets server functionality to store and retrieve activity
+ */
+class HsActivityServer
+{
+public:
+    /**
+     * Constructor
+     * @param storage - reference to initialized activity storage
+     */
+    HsActivityServer(HsActivityDbClientInterface& storage);
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityServer();
+    
+    /**
+     * Function establish server and initialize listening proces
+     * @return true on succees, false otherwise 
+     */
+    bool start();
+private:
+    /**
+     * Private server implementation
+     */
+    HsActivityServerPrivate* d_ptr;
+};
+
+#endif //HSACTIVITYSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/inc/hsactivitystorage.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSACTIVITYSTORAGE_H
+#define HSACTIVITYSTORAGE_H
+#include "hsactivitydbclientinterface.h"
+class HsActivityStoragePrivate;
+
+/**
+ * Class implements HsActivityDbClientInterface and storage functionality
+ */
+class HsActivityStorage: public HsActivityDbClientInterface
+{
+public:
+    /**
+     * Constructor
+     */
+    HsActivityStorage();
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityStorage();
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::addActivity(const QVariantHash&)
+     */
+    int addActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
+     */
+    int updateActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::removeActivity(const QVariantHash &)
+     */
+    int removeActivity(const QVariantHash &activity);
+
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::removeApplicationActivities(const QVariantHash &)
+    */
+    int removeApplicationActivities(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash> &)
+     */
+    int activities(QList<QVariantHash>& result);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
+     */
+    int applicationActivities(QList<QVariantHash>& result, 
+                              const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
+     */
+    int waitActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
+     */
+    int launchActivity(const QVariantHash &activity);
+private:
+    /**
+     * Private storage implementation
+     * Own.
+     */
+    HsActivityStoragePrivate* d_ptr;
+};
+#endif //HSACTIVITYSTORAGE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/inc/hsactivitystorage_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,152 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSACTIVITYSTORAGEPRIVATE_H
+#define HSACTIVITYSTORAGEPRIVATE_H
+#include "hsactivitydbclientinterface.h"
+#include <QSqlDatabase>
+
+/**
+ * Class implements HsActivityDbClientInterface and storage functionality using
+ * database subsystem 
+ */
+class HsActivityStoragePrivate: public HsActivityDbClientInterface
+{
+public:
+    /**
+     * Constructor
+     */
+    HsActivityStoragePrivate();
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityStoragePrivate();
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::addActivity(const QVariantHash&)
+     */
+    int addActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
+     */
+    int updateActivity(const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::removeActivity(const QVariantHash &)
+     */
+    int removeActivity(const QVariantHash &activity);
+
+   /**
+    * Interface implementation.
+    * @see int HsActivityDbClientInterface::removeApplicationActivities(const QVariantHash &)
+    */
+    int removeApplicationActivities(const QVariantHash &activity);
+
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::requestedActivityName( QString &, const QVariantHash &)
+     */
+    int requestedActivityName(QString& result, 
+                              const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash> &)
+     */
+    int activities(QList<QVariantHash> &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
+     */
+    int applicationActivities(QList<QVariantHash> &, const QVariantHash &);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
+     */
+    int waitActivity(const QVariantHash &activity);
+    
+    /**
+     * Interface implementation.
+     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
+     */
+    int launchActivity(const QVariantHash &activity);
+private:
+    /**
+     * Function check database structure
+     * @return true if structure is valid, false otherwise
+     */
+    bool checkTables();
+    
+    /**
+     * Function create database structure
+     */
+    void recreateTables();
+    
+    /**
+     * Function return last SQL query error code
+     * @param querty - executed sql query
+     * @return SQL query error code  
+     */
+    int getSqlErrorCode(const QSqlQuery& query);
+    
+    /**
+     * Function exeute SQL query
+     * @param query - SQL 
+     * @return true on succees, false otherwise
+     */
+    bool exec(QSqlQuery& query);
+    
+    /**
+     * Function exeute SQL query
+     * @param query - SQL query that has to be executed
+     * @return true on succees, false otherwise
+     */
+    bool exec(const QString &query, const QVariantHash& params);
+    
+    /**
+     * Funciton bind provided filtering rules with prepared SQL query
+     * @param query - SQL query 
+     * @param activity - filtering rules
+     * @param additionalData - additional filetering rules
+     */
+    void bind( QSqlQuery& query, 
+               const QVariantHash &activity, 
+               const QVariantHash &additionalData = QVariantHash());
+    
+    /**
+     * Funciton get records that match conditions
+     * @param result - output destination 
+     * @param query - SQL query sting
+     * @param conditions - query conditions
+     */
+    int activities(QList<QVariantHash> &results, 
+                   const QString &query,
+                   const QVariantHash &conditions);
+
+private:
+    /**
+     * Connectioin to SQL engine
+     */
+    QSqlDatabase mConn;
+};
+#endif //HSACTIVITYSTORAGEPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/s60/inc/hsactivityserver_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,77 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef HSACTIVITYSERVERPRIVATE_H
+#define HSACTIVITYSERVERPRIVATE_H
+
+#include <e32base.h>
+#include "hsactivitydbclientinterface.h"
+
+/**
+ * Class implemets server functionality for S60 enviroment
+ */
+class HsActivityServerPrivate : public CServer2 
+{
+public:
+    /**
+     * Constructor
+     */
+    HsActivityServerPrivate(HsActivityDbClientInterface& storage);
+    
+    /**
+     * Destructor
+     */
+    ~HsActivityServerPrivate();
+    
+    /**
+     * Function establish server and initialize listening proces
+     * @return true on succees, false otherwise 
+     */
+    bool start();
+    
+    /**
+     * Function look for active application session and complete pending message 
+     */
+    void notifyL(int applicationId, const QString& activityName);
+    
+    /**
+     * Cancel notification 
+     */
+    void cancelNotify(int applicationId);
+    
+    /**
+     * Function add item to pending messages
+     */
+    void waitNotification(int applicationId, const RMessage2& msg);
+private:
+    /**
+     * Function create new client session to handle its request
+     * @param version - client implementation version
+     * @param message - request message
+     */
+    CSession2* NewSessionL(const TVersion& version,const RMessage2& message)const;
+
+private:
+    /**
+     * Reference to initialized storage client
+     */
+    HsActivityDbClientInterface& mStorage;
+    
+    QHash<int,RMessage2> mPendingMessage;
+};
+
+#endif //HSACTIVITYSERVERPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/s60/inc/hsactivitysession_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef ACTIVITYSESSIONPRIVATE_H
+#define ACTIVITYSESSIONPRIVATE_H
+#include <e32base.h>
+#include "hsactivitydbclientinterface.h"
+/**
+ * Class impolements client session for S60 enviroment. 
+ * Class is responsible for request handling and data translations
+ */
+class HsActivitySessionPrivate: public CSession2
+{
+public:
+    /**
+     * Constructor
+     * @param storage - reference to initialized activity storage
+     */
+    HsActivitySessionPrivate(HsActivityDbClientInterface& storage);
+    
+    /**
+     * Destructor
+     */
+    ~HsActivitySessionPrivate();
+    
+    /**
+     * Implements interface
+     * @see void CSession2::ServiceL(const RMessage2&)
+     */
+    void ServiceL(const RMessage2& message);
+    
+    /**
+     * Implements interface
+     * @see void CSession2::ServiceError(const RMessage2 &, TInt)
+     */
+    void ServiceError(const RMessage2 &message, TInt error);
+    
+    void LaunchActivityL(const RMessage2 &message, const QString &name );
+    
+    void CancelNotify(RMessage2& message);
+private:
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleAddActivityL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleUpdateActivityL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleRemoveActivityL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleRemoveApplicationActivitiesL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleActivitiesL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleApplicationActivitiesL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to server
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleLaunchActivityL(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to server
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleWaitActivityL(const RMessage2& message);
+    
+    /**
+	 * Function cancels subscribtion
+	 * @param message - request message 
+	 */
+    void HandleCancelWaitActivity(const RMessage2& message);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void HandleGetDataL(const RMessage2& message);
+    
+    void LaunchActivityL();
+    
+    void WaitActivityL(const RMessage2& message);
+    
+    void CancelNotify();
+        
+    
+    /**
+     * Function deserialize data for request message
+     * Function can leave on failure.
+     */
+    void ReadDataL(const RMessage2& src);
+    
+    /**
+     * Function handle data translation and forward request to storage client
+     * Function can leave on failure.
+     * @param message - request message 
+     */
+    void LeaveIfNotZero(int errNo);
+private:
+    /**
+     * Reference to storage client
+     */
+    HsActivityDbClientInterface& mStorage;
+    RBuf8 mData;
+    QVariantHash mActivity;
+    QList<QVariantHash> mResult;
+    QString mName;
+    int mAppId;
+};
+#endif // ACTIVITYSESSIONPRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/s60/src/hsactivityserver_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application entry point
+*
+*/
+#include "hsactivityserver_p.h"
+#include "hsactivitysession_p.h"
+#include "hsactivityglobals.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityServerPrivate::HsActivityServerPrivate(HsActivityDbClientInterface& storage)
+:
+    CServer2( EPriorityNormal, ESharableSessions),
+    mStorage(storage)
+{
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityServerPrivate::~HsActivityServerPrivate()
+{
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+bool HsActivityServerPrivate::start()
+{
+    return ( KErrNone == Start(KActivityServerName) );
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityServerPrivate::notifyL(int applicationId, 
+                                     const QString& activityName)
+{
+    if(mPendingMessage.end() != mPendingMessage.find(applicationId)) {
+        static_cast<HsActivitySessionPrivate*>(mPendingMessage.find(applicationId).value().Session())
+            ->LaunchActivityL(mPendingMessage.find(applicationId).value(), activityName );
+        mPendingMessage.erase(mPendingMessage.find(applicationId));
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityServerPrivate::waitNotification(int applicationId, 
+                                               const RMessage2& msg)
+{
+    if(mPendingMessage.find(applicationId) != mPendingMessage.end()) {
+        msg.Kill(EBadMessageNumber);
+    }
+    mPendingMessage.insert(applicationId,msg);
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityServerPrivate::cancelNotify(int applicationId)
+	{
+	if(mPendingMessage.end() != mPendingMessage.find(applicationId)) 
+		{
+		static_cast<HsActivitySessionPrivate*>(mPendingMessage.find(applicationId).value().Session())
+			->CancelNotify(mPendingMessage.find(applicationId).value());
+	    mPendingMessage.erase(mPendingMessage.find(applicationId));
+		}
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+CSession2* HsActivityServerPrivate::NewSessionL(const TVersion&,
+                                               const RMessage2&)const
+{
+    return new (ELeave) HsActivitySessionPrivate(mStorage);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/s60/src/hsactivitysession_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,286 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application entry point
+*
+*/
+#include "hsactivityserver_p.h"
+#include "hsactivitysession_p.h"
+#include "hsactivityglobals.h"
+#include "hsserializer.h"
+#include <qglobal.h>
+
+const char ActivityPrimaryKeyFormat [] = "%1:%2";
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivitySessionPrivate::HsActivitySessionPrivate(HsActivityDbClientInterface& storage)
+: mStorage(storage), mAppId(KErrNotFound)
+{
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivitySessionPrivate::~HsActivitySessionPrivate()
+{
+	 CancelNotify();
+     mData.Close();
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::ServiceL(const RMessage2& message)
+{
+    mActivity.clear();
+    mResult.clear();
+    mName.clear();
+    
+    int errNo(KErrNone);
+    switch(message.Function()) {
+    case AddActivity: HandleAddActivityL(message); break;
+    case UpdateActivity: HandleUpdateActivityL(message); break;
+    case RemoveActivity: HandleRemoveActivityL(message); break;
+    case RemoveApplicationActivities: HandleRemoveApplicationActivitiesL(message); break;
+    case Activities: HandleActivitiesL(message);break;
+    case ApplicationActivities: HandleApplicationActivitiesL(message);break;
+    case LaunchActivity: HandleLaunchActivityL(message);break;
+    case WaitActivity: HandleWaitActivityL(message);return; //!!!!! This message shouldn't be compleated !!!!!
+    case GetData: HandleGetDataL(message); break;
+    case CancelWait: HandleCancelWaitActivity(message); break;
+    default:
+        message.Panic(KErr400, CServer2::EBadMessageNumber);
+    }
+    message.Complete(KErrNone);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::ServiceError(const RMessage2 &message, TInt error)
+{
+    message.Complete(error);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleAddActivityL(const RMessage2& message)
+{
+    ReadDataL(message);
+    LeaveIfNotZero(mStorage.addActivity(mActivity));
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleUpdateActivityL(const RMessage2& message)
+{
+    ReadDataL(message);
+    LeaveIfNotZero(mStorage.updateActivity(mActivity));
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleRemoveActivityL(const RMessage2& message)
+{
+    ReadDataL(message);
+    LeaveIfNotZero(mStorage.removeActivity(mActivity));
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleRemoveApplicationActivitiesL(const RMessage2& message)
+{
+    ReadDataL(message);
+    LeaveIfNotZero(mStorage.removeApplicationActivities(mActivity));
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleActivitiesL(const RMessage2& message)
+{
+    int errNo(KErrNone);
+    QT_TRYCATCH_LEAVING(errNo = mStorage.activities(mResult));
+    LeaveIfNotZero(errNo);
+    mData << mResult;
+    TPckgC<int> dataSize(mData.Size());
+    message.WriteL(1, dataSize);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleApplicationActivitiesL(const RMessage2& message)
+{
+    int errNo(KErrNone);
+    ReadDataL(message);
+    QT_TRYCATCH_LEAVING(errNo = mStorage.applicationActivities(mResult, mActivity));
+    LeaveIfNotZero(errNo);
+    mData << mResult;
+    TPckgC<int> dataSize(mData.Size());
+    message.WriteL(1, dataSize);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleLaunchActivityL(const RMessage2& message)
+{
+    ReadDataL(message);
+    LaunchActivityL();
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleWaitActivityL(const RMessage2& message)
+{
+    ReadDataL(message);
+    WaitActivityL(message);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleCancelWaitActivity(const RMessage2& /*message*/)
+	{
+	CancelNotify();
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::HandleGetDataL(const RMessage2& message)
+{
+    message.WriteL(0, mData);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::LaunchActivityL()
+{
+    CServer2* const server(const_cast<CServer2*>(Server()));
+    if(mActivity.end() == mActivity.find(ActivityApplicationKeyword) || 
+       mActivity.end() == mActivity.find(ActivityActivityKeyword)) {
+        User::Leave(KErrCorrupt);
+    }
+    static_cast<HsActivityServerPrivate*>
+        (server)->notifyL(mActivity.find(ActivityApplicationKeyword).value().toInt(), 
+                         mActivity.find(ActivityActivityKeyword).value().toString());
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::LaunchActivityL(const RMessage2 &message, 
+                                               const QString &name )
+{
+    if (mData.MaxSize() < name.toAscii().length()){
+        mData.ReAlloc( name.toAscii().length());
+    }
+    mData.Copy(reinterpret_cast<const TUint8*>(name.toAscii().data()),
+                                               name.toAscii().length());
+    TPckgC<int> dataSize(mData.Size());
+    message.WriteL(1, dataSize);
+    message.Complete(KErrNone);
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::WaitActivityL(const RMessage2& msg)
+{
+    CServer2* const server(const_cast<CServer2*>(Server()));
+    if(mActivity.end() == mActivity.find(ActivityApplicationKeyword)) {
+        User::Leave(KErrCorrupt);
+    }
+    mAppId = mActivity.find(ActivityApplicationKeyword).value().toInt();
+    static_cast<HsActivityServerPrivate*>
+        (server)->waitNotification(mAppId, msg);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::CancelNotify()
+	{
+	if ( mAppId != KErrNotFound )
+	    {
+	    CServer2* const server(const_cast<CServer2*>(Server()));
+	    static_cast<HsActivityServerPrivate*>(server)->cancelNotify(mAppId);
+	    mAppId = KErrNotFound;
+	    }
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::CancelNotify(RMessage2& message)
+	{
+	message.Complete(KErrCancel);
+	}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::ReadDataL(const RMessage2& src)
+{
+    int srcLength = src.GetDesLength(0);
+    User::LeaveIfError(srcLength);
+    RBuf8 buffer;
+    CleanupClosePushL(buffer);
+    buffer.CreateL(srcLength);
+    src.ReadL( 0, buffer, 0);
+    if (buffer.Length() != srcLength) {
+        User::Leave(KErrCorrupt);
+    }
+    mActivity << buffer;
+    CleanupStack::PopAndDestroy(&buffer);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivitySessionPrivate::LeaveIfNotZero(int errNo)
+{
+    if (KErrNone != errNo) {
+        User::LeaveIfError(errNo);
+        User::Leave(KErrGeneral);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/s60/src/main.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application entry point
+*
+*/
+#include <QtCore>
+#include <QApplication>
+
+#include "hsactivityserver.h"
+#include "hsactivitystorage.h"
+
+
+
+int main(int argc, char *argv[])
+{
+    QApplication app(argc, argv);
+    HsActivityStorage storage;
+    HsActivityServer server(storage);
+    int retVal(KErrGeneral);
+    if( server.start() ){
+        RProcess::Rendezvous(KErrNone);
+        retVal = app.exec();
+    }else
+        RProcess::Rendezvous(retVal);
+    return retVal;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/src/hsactivityserver.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application entry point
+*
+*/
+#include "hsactivityserver.h"
+#include "hsactivityserver_p.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityServer::HsActivityServer(HsActivityDbClientInterface& storage)
+:
+    d_ptr(new HsActivityServerPrivate(storage))
+{
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityServer::~HsActivityServer()
+{
+    delete d_ptr;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+bool HsActivityServer::start()
+{
+    return d_ptr->start();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/src/hsactivitystorage.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application entry point
+*
+*/
+#include "hsactivitystorage.h"
+#include "hsactivitystorage_p.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityStorage::HsActivityStorage()
+:
+d_ptr(new HsActivityStoragePrivate())
+{
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityStorage::~HsActivityStorage()
+{
+    delete d_ptr;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::addActivity(const QVariantHash& activity)
+{
+    return d_ptr->addActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::updateActivity(const QVariantHash& activity)
+{
+    return d_ptr->updateActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::removeActivity(const QVariantHash& activity)
+{
+    return d_ptr->removeActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::removeApplicationActivities(const QVariantHash& activity)
+{
+    return d_ptr->removeApplicationActivities(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::activities(QList<QVariantHash>& result)
+{   
+    return d_ptr->activities(result);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::applicationActivities(QList<QVariantHash>& result, 
+                                             const QVariantHash &activity)
+{
+    return d_ptr->applicationActivities(result, activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::waitActivity(const QVariantHash &activity)
+{
+    return d_ptr->waitActivity(activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStorage::launchActivity(const QVariantHash &activity)
+{
+    return d_ptr->launchActivity(activity);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/src/hsactivitystorage_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,345 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QStringList>
+#include <QSettings>
+#include <QSqlDriver>
+#include <QDebug>
+#include "hsactivitystorage_p.h"
+#include "hsactivity.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityStoragePrivate::HsActivityStoragePrivate()
+{
+    // determine database localization
+    QSettings settings(ActivityOrganization, ActivityApplication);
+    settings.setValue(ActivityStorageProperty, ActivityDefaultStorage);
+    if (!settings.contains(ActivityStorageProperty)) {
+        settings.setValue(ActivityStorageProperty, ActivityDefaultStorage);
+    }
+    QString databaseFile = settings.value(ActivityStorageProperty).toString();
+    
+    if (QSqlDatabase::contains(ActivityStorageName)) {
+        mConn = QSqlDatabase::database(ActivityStorageName);
+    } else {   
+        mConn = QSqlDatabase::addDatabase(ActivityStorageDriver, ActivityStorageName);
+        mConn.setDatabaseName(databaseFile);    
+        if (!mConn.open()) {
+            qWarning(qPrintable(mConn.lastError().text()));
+            return;
+        }
+    }
+    if (!checkTables()) {
+        recreateTables();
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+HsActivityStoragePrivate::~HsActivityStoragePrivate()
+{
+    mConn.close();
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::addActivity(const QVariantHash &activity)
+{
+    // stream whole entry to bytearray
+    QByteArray streamedData;
+    QDataStream stream(&streamedData, QIODevice::WriteOnly);
+    stream << activity;
+    
+    //insert data
+    QSqlQuery query(mConn);
+    query.prepare(ActivitySelectActivityQuery);
+    bind(query, activity);
+    exec(query);
+    if(query.next()) {
+        return KErrGeneral;
+    }
+    query.prepare(ActivityInsertActivityQuery);
+    QVariantHash additionalData;
+    additionalData.insert(ActivityDataKeyword, streamedData);
+    bind(query, activity, additionalData);
+    exec(query);
+    return 0>=query.numRowsAffected() ? KErrGeneral : getSqlErrorCode(query);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::updateActivity(const QVariantHash &activity)
+{
+    // stream whole entry to bytearray
+    QByteArray streamedData;
+    QDataStream stream(&streamedData, QIODevice::WriteOnly);
+    stream << activity;
+    
+    // update
+    QSqlQuery query(mConn);
+    query.prepare(ActivityUpdateActivityQuery);
+    QVariantHash additionalData;
+    additionalData.insert(ActivityDataKeyword, streamedData);
+    bind(query, activity, additionalData);
+    exec(query);
+    return 0>=query.numRowsAffected() ? KErrGeneral : getSqlErrorCode(query);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::removeActivity(const QVariantHash &activity)
+{
+    return exec(ActivityDeleteActivityQuery, activity);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::removeApplicationActivities(const QVariantHash &activity)
+{
+    return exec(ActivityDeleteApplicationActivitiesQuery, activity);
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::requestedActivityName(QString& result, 
+                                                    const QVariantHash &activity)
+{
+    QSqlQuery query(mConn);
+    query.prepare(ActivitySelectActiveQuery);
+    bind(query, activity);
+    int retVal(KErrNone);
+    if (exec(query) && query.next()) {
+        result = query.value(0).toString();
+    } else {
+        retVal = KErrNotFound;
+    }
+    return retVal;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::activities(QList<QVariantHash>& result)
+{
+    return activities(result, ActivityActivitiesQuery, QVariantHash());
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::applicationActivities(QList<QVariantHash> & result, 
+                                                    const QVariantHash & condition)
+{
+    return activities(result, ActivityApplicationActivitiesQuery, condition);
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::waitActivity(const QVariantHash &)
+{
+    return KErrNotSupported;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::launchActivity(const QVariantHash &)
+{
+    return KErrNotSupported;
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+bool HsActivityStoragePrivate::checkTables()
+{
+    return (QStringList("Activities") == mConn.tables()); 
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityStoragePrivate::recreateTables()
+{
+    //start sql transaction
+    if (!mConn.transaction()) {
+        qErrnoWarning(qPrintable(mConn.lastError().text()));
+        return;
+    }
+    
+    // drop any existing tables
+    QSqlQuery query(mConn);
+    foreach (const QString &tableName, mConn.tables()) {
+        query.prepare(ActivityDropQuery);
+        query.bindValue(ActivityTableKeyword, tableName);
+        exec(query);
+    }
+    
+    // create new table
+    query.prepare(ActivityCreateQuery);
+    exec(query);
+    
+    //finish sql transaction
+    if (!mConn.commit()) {
+        qErrnoWarning(qPrintable(mConn.lastError().text()));
+    }  
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::getSqlErrorCode(const QSqlQuery& query)
+{
+    const QSqlError err(query.lastError());
+    const QString errStr(err.text());
+    
+    if (QSqlError ::NoError == err.type()) {
+        return 0;
+    } else {
+        qErrnoWarning(qPrintable(errStr));
+        return err.number();
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+bool HsActivityStoragePrivate::exec(QSqlQuery& query)
+{
+    const bool retVal = query.exec();
+    qErrnoWarning(qPrintable(query.lastQuery()));
+    if (!retVal) {
+        getSqlErrorCode(query);
+    }
+    return retVal;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+bool HsActivityStoragePrivate::exec(const QString &queryStr, const QVariantHash& params)
+{
+    QSqlQuery query(mConn);
+    query.prepare(queryStr);
+    bind(query, params);
+    query.exec();
+    return getSqlErrorCode(query);
+    
+}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void HsActivityStoragePrivate::bind( QSqlQuery& query, 
+                                   const QVariantHash &activity,
+                                   const QVariantHash &additionalData)
+{
+    const QChar tag(' ');
+    QString queryString( query.lastQuery() );
+    QVariantHash::const_iterator iter;
+    int offset(0);
+    QStringList tokens;
+    
+    //explode SQL query to tokens 
+    do {
+        offset = queryString.indexOf(tag, 0);
+        if (0 < offset) {
+            tokens << queryString.left(offset++);
+            queryString = queryString.right(queryString.length() - offset);
+        } else {
+            if (0 < queryString.length()) {
+                tokens << queryString;
+            }
+            break;
+        }
+    } while (true);
+    
+    //current Sql driver doesnt support proper query formating.
+    //reuest filtering data has to be binded in right order.
+    QStringList::iterator token = tokens.begin();
+    //iterate all tokens
+    for (; token != tokens.end(); token = tokens.erase(token)) {
+        //iterate all provided data and chcek if it match pattern
+        for ( iter = activity.constBegin();
+             iter != activity.constEnd(); 
+             ++iter ) {
+             if( (*token).contains(iter.key()) ){
+                query.bindValue(iter.key(), iter.value());
+                break;
+            }
+        }
+        for (iter = additionalData.constBegin(); 
+            iter != additionalData.constEnd(); 
+            ++iter) {
+            if ((*token).contains(iter.key())) {
+                query.bindValue(iter.key(), iter.value());
+                break;
+            }
+        }
+    }
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+int HsActivityStoragePrivate::activities(QList<QVariantHash> &results, 
+                                         const QString &queryStr,
+                                         const QVariantHash &conditions)
+{
+    results.clear();
+    
+    QSqlQuery query(mConn);
+    query.prepare(queryStr);
+    bind(query, conditions);
+    if (exec(query)) {
+        QVariantHash activityEntry;
+        while (query.next()) {
+            activityEntry.clear();
+            QByteArray data(query.value(0).toByteArray());
+            QDataStream stream(&data, QIODevice::ReadOnly);
+            stream >> activityEntry;
+            results.append(activityEntry);
+        }
+    }
+    return getSqlErrorCode(query);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/hsactivitydbserver/src/main.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Application entry point
+*
+*/
+#include <QtCore>
+#include <QCoreApplication>
+
+#include "hsactivityserver.h"
+#include "hsactivitystorage.h"
+
+
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+    HsActivityStorage storage;
+    HsActivityServer server(storage);
+    int retVal(KErrGeneral);
+    if( server.start() ){
+        retVal = app.exec();
+    }
+    return retVal;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/inc/hsactivitydbclientinterface.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSACTIVITYDBCLIENTINTERFACE_H
+#define HSACTIVITYDBCLIENTINTERFACE_H
+#include <qvariant.h>
+
+/**
+ * Enumerate supported functions
+ */
+enum ClientFunctions 
+{
+    AddActivity =0,
+    UpdateActivity,
+    RemoveActivity,
+    RemoveApplicationActivities,
+    RequestedActivityName,
+    Activities,
+    ApplicationActivities,
+    WaitActivity,
+    LaunchActivity,
+    GetData,
+    CancelWait
+};
+
+const char ActivityApplicationKeyword [] = ":ApplicationId";
+const char ActivityActivityKeyword [] = ":ActivityName";
+
+class HsActivityDbClientInterface
+{
+public:
+    
+    /**
+     * Function save provided avtivity in activity storage
+     * @param activity - activity to store
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int addActivity(const QVariantHash &activity) =0;
+    
+    /**
+     * Function update exiting activity
+     * @param activity - filtering rules
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int updateActivity(const QVariantHash &activity) =0;
+    
+    /**
+     * Function delete activity
+     * @param activity - filtering rules
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int removeActivity(const QVariantHash &activity) =0;
+    
+    /**
+     * Function delete activity for application
+     * @param activity - filtering rules
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int removeApplicationActivities(const QVariantHash &activity) =0;
+    
+    /**
+     * Function return list of all activity
+     * @param result - destination list
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int activities(QList<QVariantHash>& result) =0;
+    
+    /**
+     * Function return list of all activity
+     * @param result - destination list,
+     * @param activity - filtering rules
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int applicationActivities(QList<QVariantHash>& result, 
+                                      const QVariantHash &activity) =0;
+    
+    /**
+     * Function subscribe to activity
+     * @param  activity - filtering rules
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int waitActivity(const QVariantHash &activity)=0;
+    
+    /**
+     * Function launch application activity
+     * @param activity - filtering rules 
+     * @return 0 on succees, error code otherwise 
+     */
+    virtual int launchActivity(const QVariantHash &activity)=0;
+};
+#endif //HSACTIVITYDBCLIENTINTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/s60/inc/hsactivityglobals.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef ACTIVITYSYMBIAN_H
+#define ACTIVITYSYMBIAN_H
+
+#include <e32base.h>
+const TUid KActivityServerUid = {0x200267B4};
+_LIT( KActivityServerName, "hsactivitydbserver" );
+_LIT( KErr400, "Bad Reqest" );
+_LIT( KErr403, "Access denied" );
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/s60/inc/hsserializer.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,40 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef HSSERIALIZER_H
+#define HSSERIALIZER_H
+#include <qvariant.h>
+
+/**
+ * Operator serialize VarinatHash to RBuf8
+ */
+RBuf8& operator <<(RBuf8& dst, const QVariantHash& src);
+
+/**
+ * Operator deserialize RBuf8 to VarinatHash
+ */
+QVariantHash& operator <<(QVariantHash& dst, const TDesC8& src);
+
+/**
+ * Operator serialize QList<QVariantHash> to RBuf8
+ */
+RBuf8& operator <<(RBuf8& dst, const QList<QVariantHash>& src);
+
+/**
+ * Operator deserialize RBuf8 to QList<QVariantHash>
+ */
+QList<QVariantHash>& operator <<(QList<QVariantHash>& dst, const TDesC8& src); 
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitydatabase/s60/src/hsserializer.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "hsserializer.h"
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+RBuf8& operator <<(RBuf8& dst, const QVariantHash& src)
+{
+    QByteArray buffer;
+    QDataStream stream(&buffer, QIODevice::WriteOnly);
+    
+    QT_TRYCATCH_LEAVING(stream << src);
+    const int dataLength(buffer.length());
+    const unsigned char* dataPtr(reinterpret_cast<const unsigned char*>(buffer.constData()));
+    if( dst.MaxLength() < dataLength ) {
+        dst.ReAllocL(dataLength);
+    }
+    dst.Copy(dataPtr, dataLength);
+    return dst;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+QVariantHash& operator <<(QVariantHash& dst, const TDesC8& src)
+{
+    QByteArray buffer( QByteArray::fromRawData(reinterpret_cast<const char*>(src.Ptr()), 
+                                               src.Length()) );
+    
+    QDataStream stream(&buffer, QIODevice::ReadOnly);
+    QT_TRYCATCH_LEAVING(stream >> dst);
+    return dst;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+RBuf8& operator <<(RBuf8& dst, const QList<QVariantHash>& src)
+{
+    QByteArray buffer;
+    QDataStream stream(&buffer, QIODevice::WriteOnly);
+    
+    QT_TRYCATCH_LEAVING(stream << src);
+    
+    if( dst.MaxLength() < buffer.length() ) {
+        dst.ReAllocL(buffer.length());
+    }
+    dst.Copy(reinterpret_cast<const TUint8*>(buffer.data()), buffer.length());
+    return dst;
+}
+
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+QList<QVariantHash>& operator <<(QList<QVariantHash>& dst, const TDesC8& src)
+{
+    QByteArray buffer(QByteArray::fromRawData(reinterpret_cast<const char*>(src.Ptr()), 
+                                              src.Length()));
+    
+    QDataStream stream(&buffer, QIODevice::ReadOnly);
+    QT_TRYCATCH_LEAVING(stream >> dst);
+    return dst;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityfw.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = subdirs
+
+CONFIG += ordered
+
+symbian:SUBDIRS += activitydatabase
+
+SUBDIRS +=  activityserviceplugin \
+            activitylauncher \
+            orbitintegration/hbactivityplugin 
+            
+
+
+tests:SUBDIRS += activityserviceplugin/unittests
+symbian:SUBDIRS += activityserviceplugin/symbianinstaller
+
+symbian:include(rom.pri)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitylauncher/activitylauncher.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = app
+
+TARGET = activitylauncher
+
+CONFIG += hb console mobility
+MOBILITY = serviceframework
+
+SOURCES =   main.cpp \
+            activitylauncherview.cpp \
+
+HEADERS =   activitylauncherview.h \
+
+symbian {
+    TARGET.EPOCHEAPSIZE = 0x20000 0x1000000 // 128kB - 16MB
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitylauncher/activitylauncherview.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,107 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "activitylauncherview.h"
+
+#include <QGraphicsLinearLayout>
+#include <QStandardItemModel>
+#include <QProcess>
+
+#include <qservicemanager.h>
+
+#include <hblabel.h>
+#include <hbapplication.h>
+#include <hbpushbutton.h>
+#include <hbgridview.h>
+
+#include <hsactivitydbclientinterface.h>
+
+QTM_USE_NAMESPACE
+
+ActivityLauncherView::ActivityLauncherView(QGraphicsItem *parent) : HbView(parent), mModel(NULL), mActivityManager(NULL)
+{
+    QServiceManager serviceManager;
+    mActivityManager = serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager");
+    
+    if (!mActivityManager) {
+        qFatal("Cannot initialize critical com.nokia.qt.activities.ActivityManager service");
+    }
+
+    // create UI
+    setTitle(tr("Activity launcher"));
+    QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
+    QGraphicsLinearLayout* statusLayout = new QGraphicsLinearLayout(Qt::Horizontal);
+    mStatusLabel = new HbLabel(this);
+    mStatusLabel->setAlignment(Qt::AlignLeft);
+    statusLayout->setMaximumHeight(15);
+
+    HbLabel* statusHeader = new HbLabel("Status: ");
+    statusHeader->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
+    statusLayout->addItem(statusHeader);
+    statusLayout->addItem(mStatusLabel);
+
+    HbGridView* activities = new HbGridView();
+    connect(activities, SIGNAL(activated(QModelIndex)), this, SLOT(itemPressed(QModelIndex)));
+    activities->setRowCount(1);
+    activities->setColumnCount(1);
+
+    activities->setScrollDirections(Qt::Horizontal);
+
+    mModel = new QStandardItemModel(this);
+    activities->setModel(mModel);
+
+    layout->addItem(statusLayout);
+    layout->addItem(activities);
+
+    setLayout(layout);
+    qApp->installEventFilter(this);
+    getActivitiesList();
+}
+
+ActivityLauncherView::~ActivityLauncherView()
+{
+	delete mActivityManager;
+}
+
+void ActivityLauncherView::getActivitiesList()
+{
+    mStatusLabel->setPlainText("Fetching activities");
+    mCurrentActivities.clear();
+    QMetaObject::invokeMethod(mActivityManager, "activitiesList", Q_RETURN_ARG(QList<QVariantHash>, mCurrentActivities));
+    mModel->clear();
+
+    foreach(const QVariantHash& activityEntry, mCurrentActivities) {
+        QStandardItem* newItem = new QStandardItem(QIcon(activityEntry.value("screenshot").value<QPixmap>()), QString("%1").arg(activityEntry.value(ActivityActivityKeyword).toInt()));
+        mModel->invisibleRootItem()->appendRow(newItem);
+    }
+    mStatusLabel->setPlainText(QString("Ready (%1 activities)").arg(mCurrentActivities.count()));
+}
+
+bool ActivityLauncherView::eventFilter(QObject* obj, QEvent* event)
+{
+    if (event->type() == QEvent::ApplicationActivate) {
+        getActivitiesList();
+    }
+    return QObject::eventFilter(obj, event);
+}
+
+void ActivityLauncherView::itemPressed(const QModelIndex& index)
+{
+    QVariantHash activity = mCurrentActivities.at(index.row());
+    int applicationId = activity.value(ActivityApplicationKeyword).toInt();
+    QString activityName = activity.value(ActivityActivityKeyword).toString();
+    QMetaObject::invokeMethod(mActivityManager, "launchActivity", Q_ARG(int, applicationId), Q_ARG(QString, activityName));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitylauncher/activitylauncherview.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYLAUNCHERVIEW_H
+#define ACTIVITYLAUNCHERVIEW_H
+
+#include <hbview.h>
+#include <QVariant>
+
+class HbLabel;
+class QStandardItemModel;
+    
+class ActivityLauncherView : public HbView
+{
+    Q_OBJECT
+
+public:
+    ActivityLauncherView(QGraphicsItem *parent = 0);
+    ~ActivityLauncherView();
+
+private slots:
+	void itemPressed(const QModelIndex& index);
+
+protected:
+    bool eventFilter(QObject* obj, QEvent* event);
+
+private:
+    void getActivitiesList();
+
+private:
+    QStandardItemModel* mModel;
+    QList<QVariantHash> mCurrentActivities;
+    HbLabel* mStatusLabel;
+    
+    QObject* mActivityManager;
+};
+
+#endif // ACTIVITYLAUNCHERVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activitylauncher/main.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include <QCoreApplication>
+
+#include <hbapplication.h>
+#include <hbmainwindow.h>
+
+#include "activitylauncherview.h"
+
+int main(int argc, char *argv[])
+{
+    HbApplication app(argc, argv); 
+
+    HbMainWindow mainWindow;
+    ActivityLauncherView mainView;
+    mainWindow.addView(&mainView);
+    mainWindow.show();
+
+    return app.exec(); 
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityclient.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "activityclient.h"
+#include "activityclient_p.h"
+
+ActivityClient::ActivityClient(QObject *parent) : QObject(parent), d_ptr(new ActivityClientPrivate(this))
+{
+}
+
+ActivityClient::~ActivityClient()
+{
+}
+
+bool ActivityClient::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
+{
+    return d_ptr->addActivity(activityId, data, parameters);
+}
+
+bool ActivityClient::removeActivity(const QString &activityId)
+{
+    return d_ptr->removeActivity(activityId);
+}
+
+bool ActivityClient::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
+{
+    return d_ptr->updateActivity(activityId, data, parameters);
+}
+
+QList<QVariantHash> ActivityClient::activities() const
+{
+    return d_ptr->activities();
+}
+
+QVariant ActivityClient::activityData(const QString &activityId) const
+{
+    return d_ptr->activityData(activityId);
+}
+
+bool ActivityClient::waitActivity()
+{
+    return d_ptr->waitActivity();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityclient.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYCLIENT_H
+#define ACTIVITYCLIENT_H
+
+#include <QObject>
+#include <QVariant>
+#include <QString>
+
+class ActivityClientPrivate;
+
+class ActivityClient : public QObject
+{
+
+Q_OBJECT
+
+public:
+    ActivityClient(QObject *parent = 0);
+    ~ActivityClient();
+
+public slots:
+    bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
+    bool removeActivity(const QString &activityId);
+    bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
+    QList<QVariantHash> activities() const;
+    QVariant activityData(const QString &activityId) const;
+    bool waitActivity();
+
+signals:
+    void activityRequested(const QString &activityId);
+    
+private:
+    ActivityClientPrivate *d_ptr;
+    friend class ActivityClientPrivate;
+    
+};
+
+#endif // ACTIVITYCLIENT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityclient_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "activityclient_p.h"
+#include "activityclient.h"
+#include "activitydatastorage.h"
+#include <hsactivitydbclient.h>
+
+#include <QStringList>
+#include <QTimer>
+
+ActivityClientPrivate::ActivityClientPrivate(ActivityClient *q) : QObject(q)
+{
+    mDataStorage = new ActivityDataStorage();
+    mServerClient = new HsActivityDbClient();
+    mServerClient->connect();
+    connect(mServerClient, SIGNAL(activityRequested(QString)), q, SIGNAL(activityRequested(QString)));
+}
+
+ActivityClientPrivate::~ActivityClientPrivate()
+{
+    delete mServerClient;
+    delete mDataStorage;
+}
+
+bool ActivityClientPrivate::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
+{
+    QVariantHash activity(parameters);
+    mDataStorage->addActivity(activityId, data);
+    RProcess process;
+    
+    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
+    activity.insert(ActivityActivityKeyword, activityId);
+    mServerClient->addActivity(activity);
+    
+    // @todo make those operations atomic
+    // @todo return real result
+    return true;
+}
+
+bool ActivityClientPrivate::removeActivity(const QString &activityId)
+{
+    QVariantHash activity;
+    RProcess process;
+    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
+    activity.insert(ActivityActivityKeyword, activityId);
+    mDataStorage->removeActivity(activityId); 
+    mServerClient->removeActivity(activity); 
+    // @todo make those operations atomic
+    // @todo return real result
+    return true;
+}
+
+bool ActivityClientPrivate::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
+{
+    QVariantHash activity(parameters);
+    RProcess process;
+    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
+    activity.insert(ActivityActivityKeyword, activityId);
+    mDataStorage->updateActivity(activityId, data);
+    mServerClient->updateActivity(activity);
+    // @todo make those operations atomic
+    // @todo return real result
+    return true;
+}
+
+QList<QVariantHash> ActivityClientPrivate::activities() const
+{
+    QVariantHash activity;
+    RProcess process;
+    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
+
+    QList<QVariantHash> activities;
+
+    mServerClient->applicationActivities(activities, activity);
+    return activities;
+}
+
+QVariant ActivityClientPrivate::activityData(const QString &activityId) const
+{
+    return mDataStorage->activityData(activityId);
+}
+
+bool ActivityClientPrivate::waitActivity()
+{
+    RProcess process;
+    QVariantHash activity;
+    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
+    return !mServerClient->waitActivity(activity);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityclient_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYCLIENT_P_H
+#define ACTIVITYCLIENT_P_H
+
+#include <QObject>
+#include <QVariant>
+#include <QString>
+#include <QPixmap>
+
+class ActivityClient;
+class ActivityDataStorage;
+class ActivityServerClient;
+class HsActivityDbClient;
+
+class ActivityClientPrivate : public QObject 
+{
+
+Q_OBJECT
+
+public:
+    ActivityClientPrivate(ActivityClient *q);
+    ~ActivityClientPrivate();
+
+public:
+    bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
+    bool removeActivity(const QString &activityId);
+    bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
+    QList<QVariantHash> activities() const;
+    QVariant activityData(const QString &activityId) const;
+    bool waitActivity();
+    
+    
+private:
+    ActivityClient* q_ptr;   
+    ActivityDataStorage* mDataStorage;
+    HsActivityDbClient* mServerClient;
+};
+
+#endif // ACTIVITYCLIENT_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activitydatastorage.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,171 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "activitydatastorage.h"
+
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QStringList>
+
+const char KConnectionName[] = "ActivityDataStorage";
+
+ActivityDataStorage::ActivityDataStorage()
+{
+    QSqlDatabase database;
+    if (QSqlDatabase::contains(KConnectionName)) {
+        database = QSqlDatabase::database(KConnectionName);
+    } else {   
+        database = QSqlDatabase::addDatabase("QSQLITE", KConnectionName);
+        database.setDatabaseName("activitydatastorage.db");    
+        if (!database.open()) {
+            qFatal(qPrintable(database.lastError().text()));
+        }
+    }
+
+    if (!checkTables()) {
+        recreateTables();
+    }
+}
+
+ActivityDataStorage::~ActivityDataStorage()
+{
+    QSqlDatabase::database(KConnectionName).close();
+}
+
+bool ActivityDataStorage::addActivity(const QString &activityId, const QVariant &data)
+{
+    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
+    
+    QByteArray streamedData;
+    {
+        QDataStream stream(&streamedData, QIODevice::WriteOnly);
+        stream << data;
+    }    
+    
+    // insert data
+    QSqlQuery query(database);
+    if (!query.prepare("INSERT INTO Activities(Name, Data) VALUES(:Name, :Data)")) {
+        qCritical(qPrintable(query.lastError().text()));
+        return false;
+    }
+    query.bindValue(":Name", activityId);
+    query.bindValue(":Data", streamedData);
+    if (!query.exec()) {
+        qCritical(qPrintable(query.lastError().text()));
+        return false;
+    }        
+    
+    return true;
+}
+
+bool ActivityDataStorage::removeActivity(const QString &activityId)
+{
+    QString sqlCommand = QString("DELETE FROM Activities WHERE Name = '%1'").arg(activityId);
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+    if (!query.exec(sqlCommand)) {
+        qCritical(qPrintable(query.lastError().text()));
+        return false;
+    }
+    return query.numRowsAffected() > 0;
+}
+
+bool ActivityDataStorage::updateActivity(const QString &activityId, const QVariant &data)
+{
+    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
+    
+    QByteArray streamedData;
+    {
+        QDataStream stream(&streamedData, QIODevice::WriteOnly);
+        stream << data;
+    }    
+    
+    // update data
+    QSqlQuery query(database);
+    if (!query.prepare("UPDATE Activities SET Data = :Data WHERE Name = :Name")) {
+        qCritical(qPrintable(query.lastError().text()));
+        return false;
+    }
+    query.bindValue(":Data", streamedData);
+    query.bindValue(":Name", activityId);
+    if (!query.exec()) {
+        qCritical(qPrintable(query.lastError().text()));
+        return false;
+    }
+    
+    return query.numRowsAffected() > 0;
+}
+
+QVariant ActivityDataStorage::activityData(const QString &activityId) const
+{
+    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
+    QSqlQuery query(database);
+    if (!query.exec(QString("SELECT Data FROM Activities WHERE Name = '%1'").arg(activityId))) {
+        qCritical(qPrintable(query.lastError().text()));
+        return QVariant();
+    }
+    
+    QVariant result;
+    if (query.next()) {
+        QByteArray data(query.value(0).toByteArray());
+        QDataStream stream(&data, QIODevice::ReadOnly);
+        stream >> result;
+    }   
+    return result;
+}
+
+bool ActivityDataStorage::checkTables()
+{
+    QStringList expectedTables("Activities");
+    QStringList actualTables = QSqlDatabase::database(KConnectionName).tables();
+    return (expectedTables == actualTables);    
+}
+
+void ActivityDataStorage::recreateTables()
+{
+    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
+    
+    if (!database.transaction()) {
+        qFatal(qPrintable(database.lastError().text()));
+    }
+    
+    // drop any existing tables
+    {
+        QSqlQuery dropQuery(database);
+        foreach(const QString &tableName, database.tables()) {
+            if (!dropQuery.exec(QString("DROP TABLE %1").arg(tableName))) {
+                qFatal(qPrintable(dropQuery.lastError().text()));
+            }
+        }
+    }
+
+    // create new table
+    {
+        QSqlQuery createQuery(database);
+        QString statement(
+            "CREATE TABLE Activities("
+            "Name TEXT NOT NULL PRIMARY KEY UNIQUE,"
+            "Data BLOB NOT NULL)");    
+        
+        if (!createQuery.exec(statement)) {
+            qFatal(qPrintable(createQuery.lastError().text()));
+        }
+    }
+    
+    if (!database.commit()) {
+        qFatal(qPrintable(database.lastError().text()));
+    }    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activitydatastorage.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYDATASTORAGE_H
+#define ACTIVITYDATASTORAGE_H
+
+#include <QVariant>
+#include <QString>
+
+class ActivityDataStorage 
+{
+  
+public:
+    ActivityDataStorage();
+    ~ActivityDataStorage();
+  
+public:
+    bool addActivity(const QString &activityId, const QVariant &data);
+    bool removeActivity(const QString &activityId);
+    bool updateActivity(const QString &activityId, const QVariant &data);
+    QVariant activityData(const QString &activityId) const;
+  
+private:
+    bool checkTables();
+    void recreateTables();
+    
+};
+
+#endif // ACTIVITYDATASTORAGE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activitymanager.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,52 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "activitymanager.h"
+#include "activitymanager_p.h"
+
+ActivityManager::ActivityManager(QObject *parent) : QObject(parent), d_ptr(new ActivityManagerPrivate(this))
+{
+}
+
+ActivityManager::~ActivityManager()
+{
+}
+
+QList<QVariantHash> ActivityManager::activitiesList() 
+{ 
+    return d_ptr->activitiesList(); 
+}
+
+void ActivityManager::launchActivity(const QString &uri)
+{ 
+    d_ptr->launchActivity(uri); 
+}
+
+void ActivityManager::launchActivity(int applicationId, const QString &activityId)
+{ 
+    d_ptr->launchActivity(applicationId, activityId);
+}
+
+void ActivityManager::removeActivity(int applicationId, const QString &activityId)
+{ 
+    d_ptr->removeActivity(applicationId, activityId);
+}
+
+void ActivityManager::removeApplicationActivities(int applicationId)
+{ 
+    d_ptr->removeApplicationActivities(applicationId);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activitymanager.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYMANAGER_H
+#define ACTIVITYMANAGER_H
+
+#include <QObject>
+#include <QVariant>
+#include <QList>
+
+class ActivityManagerPrivate;
+
+class ActivityManager : public QObject
+{
+
+Q_OBJECT
+
+public:
+    ActivityManager(QObject *parent = 0);
+    ~ActivityManager();
+
+public slots:
+    QList<QVariantHash> activitiesList();
+    void launchActivity(const QString &uri);  
+    void launchActivity(int applicationId, const QString &activityId);  
+    void removeActivity(int applicationId, const QString &activityId);  
+    void removeApplicationActivities(int applicationId);  
+    
+private:
+    ActivityManagerPrivate *d_ptr;
+    
+    friend class ActivityManagerPrivate;
+    
+};
+
+#endif // ACTIVITYMANAGER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activitymanager_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "activitymanager_p.h"
+#include "activitymanager.h"
+#include <hsactivitydbclient.h>
+
+#include <QRegExp>
+#include <QStringList>
+
+ActivityManagerPrivate::ActivityManagerPrivate(ActivityManager *q) : QObject(q), q_ptr(q)
+{
+    mServerClient = new HsActivityDbClient();
+    mServerClient->connect();
+}
+
+ActivityManagerPrivate::~ActivityManagerPrivate()
+{
+    delete mServerClient;
+}
+
+QList<QVariantHash> ActivityManagerPrivate::activitiesList()
+{
+    QList<QVariantHash> retVal;
+    mServerClient->activities(retVal);
+    return retVal;
+}
+
+void ActivityManagerPrivate::launchActivity(const QString &uri)
+{ 
+    // @todo use the same parser as in HbApplicationPrivate (if possible)
+    QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$");
+    if (uriMatcher.indexIn(uri) != -1) {
+        QStringList list = uriMatcher.capturedTexts();
+        Q_ASSERT(list.count() == 3);
+        launchActivity(list.at(1).toInt(), list.at(2));
+    } else {
+        qWarning("Activity URI parsing error");    
+    }
+}
+
+void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId)
+{ 
+
+    ApplicationLauncher applicationLauncher;
+    if(applicationLauncher.isRunning(applicationId)) {
+        QVariantHash activity;
+        activity.insert(ActivityApplicationKeyword, applicationId);
+        activity.insert(ActivityActivityKeyword, activityId);
+        mServerClient->launchActivity(activity);
+        applicationLauncher.bringToForeground(applicationId);
+    } else {
+        applicationLauncher.startApplication(applicationId, activityId);
+    }
+}
+
+void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId)
+{ 
+    QVariantHash activity;
+    activity.insert(ActivityApplicationKeyword, applicationId);
+    activity.insert(ActivityActivityKeyword, activityId);
+    mServerClient->removeActivity(activity);
+}
+
+void ActivityManagerPrivate::removeApplicationActivities(int applicationId)
+{
+    QVariantHash activity;
+    activity.insert(ActivityApplicationKeyword, applicationId);
+    mServerClient->removeApplicationActivities(activity);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activitymanager_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYMANAGER_P_H
+#define ACTIVITYMANAGER_P_H
+
+#include <QObject>
+#include <QVariant>
+#include <QList>
+#include "applicationlauncher.h"
+
+class ActivityManager;
+class HsActivityDbClient;
+
+class ActivityManagerPrivate : public QObject
+{
+
+Q_OBJECT
+
+public:
+    ActivityManagerPrivate(ActivityManager *q);
+    ~ActivityManagerPrivate();
+
+public slots:
+    QList<QVariantHash> activitiesList();
+    void launchActivity(const QString &uri);  
+    void launchActivity(int applicationId, const QString &activityId);  
+    void removeActivity(int applicationId, const QString &activityId);  
+    void removeApplicationActivities(int applicationId);  
+
+private:
+    ActivityManager *q_ptr;
+    HsActivityDbClient *mServerClient;
+    
+    
+};
+
+#endif // ACTIVITYMANAGER_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityserviceplugin.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "activityserviceplugin.h"
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "activityclient.h"
+#include "activitymanager.h"
+
+QObject* ActivityServicePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == "com.nokia.qt.activities.ActivityClient") {
+        return new ActivityClient();
+    } else if (descriptor.interfaceName() == "com.nokia.qt.activities.ActivityManager") {        
+        return new ActivityManager();
+    } else {
+        return NULL;
+    }
+}
+
+Q_EXPORT_PLUGIN2(activityserviceplugin, ActivityServicePlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityserviceplugin.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYSERVICEPLUGIN_H
+#define ACTIVITYSERVICEPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class ActivityServicePlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+    
+public:
+    QObject* createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session);
+    
+};
+
+#endif //ACTIVITYSERVICEPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityserviceplugin.pri	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+CONFIG += mobility
+MOBILITY = serviceframework
+
+QT += sql
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityserviceplugin.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,64 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = activityserviceplugin
+
+CONFIG += plugin 
+include(activityserviceplugin.pri)
+
+HEADERS +=  activityserviceplugin.h \
+            activitydatastorage.h \
+            activityclient.h \
+            activityclient_p.h \
+            activitymanager.h \
+            activitymanager_p.h \
+            applicationlauncher.h \
+
+SOURCES +=  activityserviceplugin.cpp \
+            activitydatastorage.cpp \
+            activityclient.cpp \
+            activityclient_p.cpp \
+            activitymanager.cpp \
+            activitymanager_p.cpp \
+            applicationlauncher.cpp \
+
+symbian {
+    INCLUDEPATH += ./s60/
+    SOURCES += ./s60/applicationlauncher_p.cpp
+    
+    HEADERS += ./s60/applicationlauncher_p.h
+
+    LIBS += -lhsactivitydbclient \
+            -lxqutils \
+ 
+}
+
+win32 {
+    INCLUDEPATH += ./win/
+    SOURCES += ./win/applicationlauncher_p.cpp
+
+    HEADERS += ./win/applicationlauncher_p.h
+}            
+            
+symbian {
+    load(data_caging_paths) 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+
+    plugin.sources = activityserviceplugin.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR     
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/activityserviceplugin.xml	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+    <name>ActivityService</name>
+    <filepath>activityserviceplugin</filepath>
+    <description>Activities service</description>
+    <interface>
+        <name>com.nokia.qt.activities.ActivityClient</name>
+        <version>1.0</version>
+        <description>Implementation of ActivityClient</description>
+    </interface>
+    <interface>
+        <name>com.nokia.qt.activities.ActivityManager</name>
+        <version>1.0</version>
+        <description>Implementation of ActivityManager</description>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/applicationlauncher.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "applicationlauncher.h"
+#include "applicationlauncher_p.h"
+
+ApplicationLauncher::ApplicationLauncher() : d_ptr(new ApplicationLauncherPrivate())
+{
+}
+
+ApplicationLauncher::~ApplicationLauncher()
+{
+    delete d_ptr;
+}
+
+bool ApplicationLauncher::isRunning(int applicationId)
+{
+    return d_ptr->isRunning(applicationId);
+}
+
+void ApplicationLauncher::startApplication(int applicationId, const QString &activityId)
+{
+    d_ptr->startApplication(applicationId, activityId);
+}
+
+void ApplicationLauncher::bringToForeground(int applicationId)
+{
+    d_ptr->bringToForeground(applicationId);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/applicationlauncher.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef APPLICATIONLAUNCHER_H
+#define APPLICATIONLAUNCHER_H
+
+class ApplicationLauncherPrivate;
+
+#include <QString>
+
+class ApplicationLauncher
+{
+
+public:
+    ApplicationLauncher();
+    ~ApplicationLauncher();
+    
+public:    
+    bool isRunning(int applicationId);
+    void startApplication(int applicationId, const QString &activityId);
+    void bringToForeground(int applicationId);
+    
+private:    
+    ApplicationLauncherPrivate *d_ptr;
+    
+};
+
+#endif // APPLICATIONLAUNCHER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/s60/activitydatabase_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "activitydatabase_p.h"
+
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QStringList>
+#include <QSettings>
+
+
+
+ActivityDatabasePrivate::ActivityDatabasePrivate()
+{
+    mClient.connect();
+}
+
+ActivityDatabasePrivate::~ActivityDatabasePrivate()
+{
+}
+
+void ActivityDatabasePrivate::saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata) 
+{
+    QVariantHash request(activityMetadata);
+    request.insert(ActivityApplicationKeyword,applicationName);
+    request.insert(ActivityActivityKeyword,activityName);
+    mClient.saveActivity(request);
+    
+}
+
+void ActivityDatabasePrivate::deleteActivity(const QString &applicationName, const QString &activityName)
+{
+    QVariantHash request;
+    request.insert(ActivityApplicationKeyword,applicationName);
+    request.insert(ActivityActivityKeyword,activityName);
+    mClient.deleteActivity(request);
+}
+
+void ActivityDatabasePrivate::deleteApplicationActivities(const QString &applicationName)
+{
+    QVariantHash request;
+    request.insert(ActivityApplicationKeyword,applicationName);
+    mClient.deleteApplicationActivities(request);
+}
+
+QList<QVariantHash> ActivityDatabasePrivate::allActivitiesList()
+{
+    QList<QVariantHash> retVal;
+    mClient.activities(retVal);
+    return retVal;
+}
+
+QList<QVariantHash> ActivityDatabasePrivate::applicationActivitiesList(const QString & applicationName)
+{
+    QList<QVariantHash> result;
+    QVariantHash request;
+    request.insert(ActivityApplicationKeyword,applicationName);
+    mClient.applicationActivities(result, request);
+    return result;
+}
+
+
+QString ActivityDatabasePrivate::requestedActivityName(const QString &applicationName)
+{
+    QString result;
+    QVariantHash request;
+    request.insert(ActivityApplicationKeyword,applicationName);
+    mClient.requestedActivityName(result, request);
+    return result;
+}
+
+void ActivityDatabasePrivate::setActivityRequestFlag(const QString &applicationName, const QString &activityName)
+{
+    QVariantHash request;
+    request.insert(ActivityApplicationKeyword,applicationName);
+    request.insert(ActivityActivityKeyword,activityName);
+    mClient.setActivityRequestFlag(request);
+}
+
+void ActivityDatabasePrivate::clearActivityRequestFlag(const QString &applicationName, const QString &activityName)
+{
+    QVariantHash request;
+    request.insert(ActivityApplicationKeyword,applicationName);
+    request.insert(ActivityActivityKeyword,activityName);
+    mClient.clearActivityRequestFlag(request);
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/s60/activitydatabase_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYDATABASE_P_H
+#define ACTIVITYDATABASE_P_H
+
+#include <QVariant>
+#include <QList>
+#include <hsactivitydbclient.h>
+class ActivityDatabasePrivate {
+
+public:
+    ActivityDatabasePrivate();
+    ~ActivityDatabasePrivate();
+    
+public:
+    void saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata);    
+    void deleteActivity(const QString &applicationName, const QString &activityName);
+    void deleteApplicationActivities(const QString &applicationName);    
+    QList<QVariantHash> allActivitiesList();
+    QList<QVariantHash> applicationActivitiesList(const QString &applicationName);    
+    QString requestedActivityName(const QString &applicationName);
+    void setActivityRequestFlag(const QString &applicationName, const QString &activityName);
+    void clearActivityRequestFlag(const QString &applicationName, const QString &activityName);
+    
+private:
+	HsActivityDbClient mClient;
+};
+
+#endif // ACTIVITYDATABASE_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/s60/activityserverclient_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "activityserverclient_p.h"
+
+ActivityServerClientPrivate::ActivityServerClientPrivate()
+{
+}
+
+bool ActivityServerClientPrivate::addActivity(const QString &activityId, const QVariantHash &parameters)
+{
+    return true;
+}
+
+bool ActivityServerClientPrivate::removeActivity(const QString &activityId)
+{
+    return true;
+}
+
+bool ActivityServerClientPrivate::updateActivity(const QString &activityId, const QVariantHash &parameters)
+{
+    return true;
+}
+
+QList<QVariantHash> ActivityServerClientPrivate::applicationActivities()
+{
+    return QList<QVariantHash>();
+}
+
+bool ActivityServerClientPrivate::removeActivity(int applicationId, const QString &activityId)
+{
+    return true;
+}
+
+bool ActivityServerClientPrivate::removeApplicationActivities(int applicationId)
+{
+    return true;
+}
+
+QList<QVariantHash> ActivityServerClientPrivate::activities()
+{
+    return QList<QVariantHash>();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/s60/activityserverclient_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,47 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYSERVERCLIENT_P_H
+#define ACTIVITYSERVERCLIENT_P_H
+
+#include <QString>
+#include <QVariantHash>
+
+class ActivityServerClient;
+
+class ActivityServerClientPrivate
+{
+
+public:
+    ActivityServerClientPrivate();
+  
+public: // API used by ActivityClient
+    bool addActivity(const QString &activityId, const QVariantHash &parameters);
+    bool removeActivity(const QString &activityId);
+    bool updateActivity(const QString &activityId, const QVariantHash &parameters);
+    QList<QVariantHash> applicationActivities();
+
+public: // API  used by ActivityManager
+    bool removeActivity(int applicationId, const QString &activityId);
+    bool removeApplicationActivities(int applicationId);
+    QList<QVariantHash> activities();    
+    
+public:
+    ActivityServerClient* q_ptr;    
+    
+};
+
+#endif // ACTIVITYSERVERCLIENT_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/s60/applicationlauncher_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "applicationlauncher_p.h"
+
+#include <apgcli.h>
+#include <apacmdln.h>
+#include <APGTASK.H>
+#include <eikenv.h>
+
+#include <XQConversions>
+
+bool ApplicationLauncherPrivate::isRunning(int applicationId)
+{
+    TApaTaskList taskList(CEikonEnv::Static()->WsSession());
+    TApaTask task = taskList.FindApp(TUid::Uid(applicationId));
+    return task.Exists();
+}
+
+void ApplicationLauncherPrivate::startApplication(int applicationId, const QString &activityId)
+{
+	QString actId = "\""+activityId+"\"";
+    QString uri = QString("-activity appto://%1?activityname=%2").arg(uint(applicationId), 8, 16, QChar('0')).arg(actId);
+    
+    QT_TRAP_THROWING(
+    {
+        HBufC* uriAsDescriptor = XQConversions::qStringToS60Desc(uri);
+        CleanupStack::PushL(uriAsDescriptor);
+        
+        RApaLsSession apaLsSession;
+        User::LeaveIfError(apaLsSession.Connect());
+        CleanupClosePushL(apaLsSession);
+     
+        TApaAppInfo appInfo;
+        TInt retVal = apaLsSession.GetAppInfo(appInfo, TUid::Uid(applicationId));
+     
+        if(retVal == KErrNone) {
+            RProcess application;
+            User::LeaveIfError(application.Create(appInfo.iFullName, *uriAsDescriptor));
+            application.Resume();
+        } else {
+            // @todo
+        }
+     
+        CleanupStack::PopAndDestroy(&apaLsSession);
+        CleanupStack::PopAndDestroy(uriAsDescriptor);
+    }
+    );
+}
+
+void ApplicationLauncherPrivate::bringToForeground(int applicationId)
+{
+    TApaTaskList taskList(CEikonEnv::Static()->WsSession());
+    TApaTask task = taskList.FindApp(TUid::Uid(applicationId));
+    if (task.Exists()) {
+        task.BringToForeground();
+    } else {
+        qCritical("Cannot bring to forward task %08x", applicationId);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/s60/applicationlauncher_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef APPLICATIONLAUNCHER_P_H
+#define APPLICATIONLAUNCHER_P_H
+
+#include <QString>
+
+class ApplicationLauncherPrivate
+{
+    
+public:    
+    bool isRunning(int applicationId);
+    void startApplication(int applicationId, const QString &activityId);
+    void bringToForeground(int applicationId);
+    
+};
+
+#endif // APPLICATIONLAUNCHER_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include <qservicemanager.h>
+#include <QCoreApplication>
+
+QTM_USE_NAMESPACE
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+
+    QServiceManager manager;
+    bool ok = manager.addService(":/activityserviceplugin.xml");
+    if ( !ok )
+    {
+    int err = manager.error();    
+    qFatal("%d ini", err);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = app
+
+QT = core
+#CONFIG += no_icon
+
+CONFIG += mobility
+MOBILITY = serviceframework
+
+SOURCES += activityserviceinstaller.cpp
+
+RESOURCES += activityserviceinstaller.qrc
+
+symbian {
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.qrc	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >
+        <file alias="activityserviceplugin.xml">../../activityserviceplugin.xml</file>
+    </qresource>
+</RCC>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/symbianinstaller/symbianinstaller.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = subdirs
+SUBDIRS = activityserviceinstaller
+
+symbian {
+    load(data_caging_paths) 
+
+    plugin.sources = activityserviceplugin.dll
+    plugin.path = $$QT_PLUGINS_BASE_DIR 
+    
+    installer.pkg_postrules += "\"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/activityserviceinstaller.exe\" \  
+                                         - \"!:\sys\bin\activityserviceinstaller.exe\",FR,RB,RW"
+    
+    DEPLOYMENT += plugin installer
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/win/activitydatabase_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,249 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "activitydatabase_p.h"
+
+#include <QSqlDatabase>
+#include <QSqlQuery>
+#include <QSqlError>
+#include <QStringList>
+#include <QSettings>
+
+#include <hsactivitydbclient.h>
+
+const char KConnectionName[] = "ActivityDatabase";
+
+ActivityDatabasePrivate::ActivityDatabasePrivate()
+{
+    // determine database localization
+    QSettings settings("nokia", "activities");
+    if (!settings.contains("activitydatabase")) {
+        settings.setValue("activitydatabase", "C:\\activitydatabase.db");
+    }
+    QString databaseFile = settings.value("activitydatabase").toString();
+
+    QSqlDatabase database;
+    if (QSqlDatabase::contains(KConnectionName)) {
+        database = QSqlDatabase::database(KConnectionName);
+    } else {   
+        database = QSqlDatabase::addDatabase("QSQLITE", KConnectionName);
+        database.setDatabaseName(databaseFile);    
+        if (!database.open()) {
+            qFatal(qPrintable(database.lastError().text()));
+        }
+    }    
+    
+    if (!checkTables()) {
+        recreateTables();
+    }
+}
+
+ActivityDatabasePrivate::~ActivityDatabasePrivate()
+{
+    QSqlDatabase::database(KConnectionName).close();
+}
+
+void ActivityDatabasePrivate::saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata) 
+{
+    if (applicationName.isEmpty() || activityName.isEmpty() || activityMetadata.value("screenshot").isNull()) {
+        qWarning("Activity entry is invalid, aborting save");
+        return;
+    }
+    
+    QVariantHash activityData(activityMetadata);
+    activityData.insert(ActivityApplicationKeyword, applicationName);
+    activityData.insert(ActivityActivityKeyword, activityName);    
+    
+    // stream whole entry to bytearray
+    QByteArray streamedData;
+    {
+        QDataStream stream(&streamedData, QIODevice::WriteOnly);
+        stream << activityData;
+    }  
+
+    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
+    
+    if (!database.transaction()) {
+        qFatal(qPrintable(database.lastError().text()));
+    }
+        
+    // update or insert data
+    {
+        QSqlQuery query(database);
+        if (!query.exec(QString("SELECT ApplicationName FROM Activities WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName))) {
+            qFatal(qPrintable(query.lastError().text()));
+        }
+
+        if (query.next()) {
+            if (!query.prepare("UPDATE Activities SET Data = :Data WHERE ApplicationName = :ApplicationName AND ActivityName = :ActivityName")) {
+                qFatal(qPrintable(query.lastError().text()));
+            }
+            query.bindValue(":Data", streamedData);
+            query.bindValue(":ApplicationName", applicationName);
+            query.bindValue(":ActivityName", activityName);
+            if (!query.exec()) {
+                qFatal(qPrintable(query.lastError().text()));
+            }
+        } else {
+            if (!query.prepare("INSERT INTO Activities(ApplicationName, ActivityName, Data) VALUES(:ApplicationName, :ActivityName, :Data)")) {
+                qFatal(qPrintable(query.lastError().text()));
+            }
+            query.bindValue(":ApplicationName", applicationName);
+            query.bindValue(":ActivityName", activityName);
+            query.bindValue(":Data", streamedData);
+            if (!query.exec()) {
+                qFatal(qPrintable(query.lastError().text()));
+            }        
+        }
+    }
+    
+    if (!database.commit()) {
+        qFatal(qPrintable(database.lastError().text()));
+    } 
+}
+
+void ActivityDatabasePrivate::deleteActivity(const QString &applicationName, const QString &activityName)
+{
+    QString sqlCommand = QString("DELETE FROM Activities WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName);
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+    if (!query.exec(sqlCommand)) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+}
+
+void ActivityDatabasePrivate::deleteApplicationActivities(const QString &applicationName)
+{
+    QString sqlCommand = QString("DELETE FROM Activities WHERE ApplicationName = '%1'").arg(applicationName);
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+    if (!query.exec(sqlCommand)) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+}
+
+QList<QVariantHash> ActivityDatabasePrivate::allActivitiesList()
+{
+    return activitiesList("SELECT Data FROM Activities");
+}
+
+QList<QVariantHash> ActivityDatabasePrivate::applicationActivitiesList(const QString &applicationName)
+{
+    return activitiesList(QString("SELECT Data FROM Activities WHERE ApplicationName = '%1'").arg(applicationName));
+}
+
+QList<QVariantHash> ActivityDatabasePrivate::activitiesList(const QString& sqlCommand)
+{   
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+    if (!query.exec(sqlCommand)) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+    
+    QList<QVariantHash> result;
+    while (query.next()) {
+        QVariantHash activityEntry;
+        {
+            QByteArray data(query.value(0).toByteArray());
+            QDataStream stream(&data, QIODevice::ReadOnly);
+            stream >> activityEntry;
+        }
+        result.append(activityEntry);
+    }   
+    return result;
+}
+
+QString ActivityDatabasePrivate::requestedActivityName(const QString &applicationName)
+{
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+    if (!query.exec(QString("SELECT ActivityName FROM Activities WHERE ApplicationName = '%1' AND RequestFlag").arg(applicationName))) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+    
+    QString result;
+    if (query.next()) {
+        result = query.value(0).toString();
+    }   
+    return result;
+}
+
+void ActivityDatabasePrivate::setActivityRequestFlag(const QString &applicationName, const QString &activityName)
+{
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+    
+    // clear old requests for given application
+    if (!query.exec(QString("UPDATE Activities SET RequestFlag=0 WHERE ApplicationName = '%1'").arg(applicationName))) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+    
+    // set new request
+    if (!query.exec(QString("UPDATE Activities SET RequestFlag=1 WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName))) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+}
+
+void ActivityDatabasePrivate::clearActivityRequestFlag(const QString &applicationName, const QString &activityName)
+{
+    QSqlQuery query(QSqlDatabase::database(KConnectionName));
+
+    // just clear the given request
+    if (!query.exec(QString("UPDATE Activities SET RequestFlag=0 WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName))) {
+        qFatal(qPrintable(query.lastError().text()));
+    }
+}
+
+bool ActivityDatabasePrivate::checkTables()
+{
+    QStringList expectedTables("Activities");
+    QStringList actualTables = QSqlDatabase::database(KConnectionName).tables();
+    return (expectedTables == actualTables); 
+}
+
+void ActivityDatabasePrivate::recreateTables()
+{
+    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
+    
+    if (!database.transaction()) {
+        qFatal(qPrintable(database.lastError().text()));
+    }
+    
+    // drop any existing tables
+    {
+        QSqlQuery dropQuery(database);
+        foreach(const QString &tableName, database.tables()) {
+            if (!dropQuery.exec(QString("DROP TABLE %1").arg(tableName))) {
+                qFatal(qPrintable(dropQuery.lastError().text()));
+            }
+        }
+    }
+
+    // create new table
+    {
+        QSqlQuery createQuery(database);
+        QString statement(
+            "CREATE TABLE Activities("
+            "ApplicationName TEXT NOT NULL,"
+            "ActivityName TEXT NOT NULL,"
+            "RequestFlag BOOL NOT NULL DEFAULT FALSE,"
+            "Data BLOB NOT NULL,"
+            "PRIMARY KEY(ActivityName, ApplicationName))");
+        
+        if (!createQuery.exec(statement)) {
+            qFatal(qPrintable(createQuery.lastError().text()));
+        }
+    }
+    
+    if (!database.commit()) {
+        qFatal(qPrintable(database.lastError().text()));
+    }  
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/win/activitydatabase_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef ACTIVITYDATABASE_P_H
+#define ACTIVITYDATABASE_P_H
+
+#include <QVariant>
+#include <QList>
+
+class ActivityDatabasePrivate {
+
+public:
+    ActivityDatabasePrivate();
+    ~ActivityDatabasePrivate();
+    
+public:
+    void saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata);    
+    void deleteActivity(const QString &applicationName, const QString &activityName);
+    void deleteApplicationActivities(const QString &applicationName);    
+    QList<QVariantHash> allActivitiesList();
+    QList<QVariantHash> applicationActivitiesList(const QString &applicationName);    
+    QString requestedActivityName(const QString &applicationName);
+    void setActivityRequestFlag(const QString &applicationName, const QString &activityName);
+    void clearActivityRequestFlag(const QString &applicationName, const QString &activityName);
+
+private:
+    QList<QVariantHash> activitiesList(const QString& sqlCommand);
+    
+private:
+    bool checkTables();
+    void recreateTables();
+    
+};
+
+#endif // ACTIVITYDATABASE_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/win/applicationlauncher_p.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,34 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#include "applicationlauncher_p.h"
+#include <QProcess>
+
+bool ApplicationLauncherPrivate::isRunning(int applicationId)
+{
+    // @todo
+    return true;
+}
+
+void ApplicationLauncherPrivate::startApplication(int applicationId, const QString &activityId)
+{
+    // @todo
+}
+
+void ApplicationLauncherPrivate::bringToForeground(int applicationId)
+{
+    // @todo
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/activityserviceplugin/win/applicationlauncher_p.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+#ifndef APPLICATIONLAUNCHER_P_H
+#define APPLICATIONLAUNCHER_P_H
+
+#include <QString>
+
+class ApplicationLauncherPrivate
+{
+    
+public:    
+    bool isRunning(int applicationId);
+    void startApplication(int applicationId, const QString &activityId);
+    void bringToForeground(int applicationId);
+    
+};
+
+#endif // APPLICATIONLAUNCHER_P_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.cpp	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#include "hbactivityplugininterface.h"
+#include "hbactivityplugin.h"
+
+#include <qservicemanager.h>
+
+QTM_USE_NAMESPACE
+
+HbActivityPlugin::HbActivityPlugin(QObject *parent) : HbActivityPluginInterface(parent), mActivityClient(0)
+{
+    QServiceManager serviceManager;
+    
+    if (serviceManager.findInterfaces("ActivityService").isEmpty()) {
+        // clean old entries
+        serviceManager.removeService("ActivityService");
+        bool servicesAdded = serviceManager.addService(":/activityserviceplugin.xml");
+        if (!servicesAdded) {
+            qWarning("addService for ActivityService returned false, error %d", serviceManager.error());
+        }
+    }
+
+    mActivityClient = serviceManager.loadInterface("com.nokia.qt.activities.ActivityClient");    
+    if (!mActivityClient) {
+        qWarning("Cannot initialize critical com.nokia.qt.activities.ActivityClient service.");
+    }
+    
+    connect(mActivityClient, SIGNAL(activityRequested(QString)), this, SIGNAL(activityRequested(QString)));
+}
+
+HbActivityPlugin::~HbActivityPlugin()
+{
+    delete mActivityClient;
+}
+
+bool HbActivityPlugin::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
+{
+    bool retVal(false);
+    QMetaObject::invokeMethod(mActivityClient, 
+                              "addActivity", 
+                              Q_RETURN_ARG(bool, retVal), 
+                              Q_ARG(QString, activityId), 
+                              Q_ARG(QVariant, data), 
+                              Q_ARG(QVariantHash, parameters));
+    return retVal;
+}
+
+bool HbActivityPlugin::removeActivity(const QString &activityId)
+{
+    bool retVal(false);
+    QMetaObject::invokeMethod(mActivityClient, 
+                              "removeActivity", 
+                              Q_RETURN_ARG(bool, retVal), 
+                              Q_ARG(QString, activityId));
+    return retVal;
+}
+
+bool HbActivityPlugin::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
+{
+    bool retVal(false);
+    QMetaObject::invokeMethod(mActivityClient, 
+                              "updateActivity", 
+                              Q_RETURN_ARG(bool, retVal), 
+                              Q_ARG(QString, activityId),
+                              Q_ARG(QVariant, data),
+                              Q_ARG(QVariantHash, parameters));
+    return retVal;
+}
+QList<QVariantHash> HbActivityPlugin::activities()
+{
+    QList<QVariantHash> data;
+    QMetaObject::invokeMethod(mActivityClient, 
+                              "activities", 
+                              Q_RETURN_ARG(QList<QVariantHash>, data));
+    return data;
+}
+
+QVariant HbActivityPlugin::activityData(const QString &activityId)
+{
+    QVariant data;
+    QMetaObject::invokeMethod(mActivityClient, 
+                              "activityData", 
+                              Q_RETURN_ARG(QVariant, data),
+                              Q_ARG(QString, activityId));
+    return data;
+}
+
+bool HbActivityPlugin::waitActivity()
+{
+    bool retVal(false);
+    QMetaObject::invokeMethod(mActivityClient, 
+                              "waitActivity", 
+                              Q_RETURN_ARG(bool, retVal));
+    return retVal;
+}
+
+Q_EXPORT_PLUGIN2(hbactivityplugin, HbActivityPlugin) 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef HBACTIVITYPLUGIN_H
+#define HBACTIVITYPLUGIN_H
+
+#include "hbactivityplugininterface.h"
+
+class HbActivityPlugin : public HbActivityPluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbActivityPluginInterface)
+    
+public:
+    HbActivityPlugin(QObject *parent = 0);
+    ~HbActivityPlugin();
+    
+public:
+    virtual bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
+    virtual bool removeActivity(const QString &activityId);
+    virtual bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
+    virtual QList<QVariantHash> activities();
+    virtual QVariant activityData(const QString &activityId);
+    virtual bool waitActivity();
+
+private:
+    QObject *mActivityClient;
+    
+};
+
+#endif //HBACTIVITYPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = hbactivityplugin
+
+CONFIG += plugin 
+
+CONFIG += mobility
+MOBILITY = serviceframework
+
+HEADERS +=  hbactivityplugininterface.h \
+            hbactivityplugin.h \
+
+SOURCES +=  hbactivityplugin.cpp \
+
+RESOURCES += hbactivityplugin.qrc
+
+symbian {
+    load(data_caging_paths)
+    pluginDep.sources = hbactivityplugin.dll
+    pluginDep.path = $$QT_PLUGINS_BASE_DIR    
+    DEPLOYMENT += pluginDep
+
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/orbitintegration/hbactivityplugin/hbactivityplugin.qrc	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource prefix="/" >
+        <file alias="activityserviceplugin.xml">../../activityserviceplugin/activityserviceplugin.xml</file>
+    </qresource>
+</RCC> 
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/orbitintegration/hbactivityplugin/hbactivityplugininterface.h	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+
+#ifndef HBACTIVITYPLUGININTERFACE_H
+#define HBACTIVITYPLUGININTERFACE_H
+
+#include <QtPlugin>
+#include <QObject>
+#include <QVariant>
+#include <QString>
+#include <QList>
+#include <QVariantHash>
+
+class HbActivityPluginInterface : public QObject
+{
+    Q_OBJECT
+
+public:
+    HbActivityPluginInterface(QObject *parent = 0) : QObject(parent) {}
+    
+public:
+    virtual bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters) = 0;
+    virtual bool removeActivity(const QString &activityId) = 0;
+    virtual bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters) = 0;
+    virtual QList<QVariantHash> activities() = 0;
+    virtual QVariant activityData(const QString &activityId) = 0;
+    virtual bool waitActivity() = 0;
+
+signals:
+    void activityRequested(const QString &activityId);
+    
+};
+
+Q_DECLARE_INTERFACE(HbActivityPluginInterface, "HbActivityPluginInterface/1.0")
+
+#endif // HBACTIVITYPLUGININTERFACE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/rom.pri	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,20 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
+BLD_INF_RULES.prj_exports += "rom/activitymanager_core.iby  CORE_APP_LAYER_IBY_EXPORT_PATH(activitymanager_core.iby)"
+BLD_INF_RULES.prj_exports += "./sis/stubs/activitymanager_stub.sis  /epoc32/release/winscw/udeb/z/system/install/activitymanager_stub.sis"
+BLD_INF_RULES.prj_exports += "./sis/stubs/activitymanager_stub.sis  /epoc32/data/z/system/install/activitymanager_stub.sis"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/rom/activitymanager_core.iby	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef __TSACTMAN_CORE_IBY__
+#define __TSACTMAN_CORE_IBY__
+
+//file=ABI_DIR\BUILD_DIR\activityserviceinstaller.exe                            PROGRAMS_DIR\activityserviceinstaller.exe
+file=ABI_DIR\BUILD_DIR\activityserviceplugin.dll					       SHARED_LIB_DIR\activityserviceplugin.dll
+data=\epoc32\data\z\resource\qt\plugins\activityserviceplugin.qtplugin    resource\qt\plugins\activityserviceplugin.qtplugin
+
+file=ABI_DIR\BUILD_DIR\activitylauncher.exe                            PROGRAMS_DIR\activitylauncher.exe
+data=ZPRIVATE\10003a3f\import\apps\activitylauncher_reg.rsc            private\10003a3f\import\apps\activitylauncher_reg.rsc
+data=\epoc32\data\z\resource\apps\activitylauncher.rsc                 resource\apps\activitylauncher.rsc
+
+file=ABI_DIR\BUILD_DIR\hsactivitydbserver.exe                            PROGRAMS_DIR\hsactivitydbserver.exe
+data=ZPRIVATE\10003a3f\import\apps\hsactivitydbserver_reg.rsc            private\10003a3f\import\apps\hsactivitydbserver_reg.rsc
+data=\epoc32\data\z\resource\apps\hsactivitydbserver.rsc                 resource\apps\hsactivitydbserver.rsc
+
+file=ABI_DIR\BUILD_DIR\hsactivitydbclient.dll					       SHARED_LIB_DIR\hsactivitydbclient.dll
+
+file=ABI_DIR\BUILD_DIR\hbactivityplugin.dll					       SHARED_LIB_DIR\hbactivityplugin.dll
+data=\epoc32\data\z\resource\qt\plugins\hbactivityplugin.qtplugin    resource\qt\plugins\hbactivityplugin.qtplugin
+
+
+// stub sis
+data=ZSYSTEM/install/activitymanager_stub.sis                  system/install/activitymanager_stub.sis
+
+#endif //__TSACTMAN_CORE_IBY__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/sis/activitymanager.pkg	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,45 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+
+;Language - standard language definitions
+&EN
+
+; standard SIS file header
+#{"activitymanager"},(0x200267B4),1,0,0,TYPE=SA, RU
+
+;Localized Vendor Name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+
+;"/epoc32/release/armv5/urel/activityserviceinstaller.exe" - "!:\sys\bin\activityserviceinstaller.exe"
+"/epoc32/release/armv5/urel/activityserviceplugin.dll"-"!:\sys\bin\activityserviceplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/activityserviceplugin.qtplugin"-"!:\resource\qt\plugins\activityserviceplugin.qtplugin"
+
+"/epoc32/release/armv5/urel/activitylauncher.exe"    - "!:\sys\bin\activitylauncher.exe"
+"/epoc32/data/z/resource/apps/activitylauncher.rsc"    - "!:\resource\apps\activitylauncher.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/activitylauncher_reg.rsc"    - "!:\private\10003a3f\import\apps\activitylauncher_reg.rsc"
+
+"/epoc32/release/armv5/urel/hsactivitydbserver.exe"    - "!:\sys\bin\hsactivitydbserver.exe"
+"/epoc32/data/z/resource/apps/hsactivitydbserver.rsc"    - "!:\resource\apps\hsactivitydbserver.rsc"
+"/epoc32/data/z/private/10003a3f/import/apps/hsactivitydbserver_reg.rsc"    - "!:\private\10003a3f\import\apps\hsactivitydbserver_reg.rsc"
+
+"/epoc32/release/armv5/urel/hsactivitydbclient.dll"    - "!:\sys\bin\hsactivitydbclient.dll"
+
+"/epoc32/release/armv5/urel/hbactivityplugin.dll"    - "!:\sys\bin\hbactivityplugin.dll"
+"/epoc32/data/z/resource/qt/plugins/hbactivityplugin.qtplugin"-"!:\resource\qt\plugins\hbactivityplugin.qtplugin"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/sis/edit_pkg.pl	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,224 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+#Options:
+# -version  -adds Qt version (4,6,0) intp pkg files
+# -target  -replaces $(PLATFORM)/$(TARGET) into armv5/urel
+# -test  -creates script for test app
+# default -version
+
+use strict;
+use File::Find;
+my $base = `cd`;
+$base =~ s/\\\w+\s+$//; #move one dir upper 
+my $modulebase = `cd`;
+$modulebase =~s/(\s+)$//; #remove linefeed from end
+print $base;;
+my $qtversion = "\, 4\, 6\, 0\,";
+my $target = "armv5\/urel";
+
+my $qtversionchnage = 0;
+my $qtversionarg = "-version";
+my $targetchnage = 0;
+my $targetarg = "-target";
+my $module = 0;
+my $modulearg = "-test";
+my $delmodule = 0;
+my $delmodulearg = "-delmodule";
+my $moduledir = "testsis";
+my $modulepath = $base."\\".$moduledir;
+my $ccert = $modulebase."\\"."cert.cer";
+my $ckey = $modulebase."\\"."key.pem";
+my $modulebatpath = $modulebase."\\".$moduledir."\\createmodulesis.bat"; 
+
+checkCmdLine();
+
+if ( $qtversionchnage == 1 || $targetchnage == 1 )
+	{
+	find( \&edits, $base );
+	}
+if ( $module == 1 )
+	{
+	system "mkdir $moduledir";
+	if ( not ( open (FWM, ">$modulebatpath") ) )
+		{
+		print "\n***Error: Couldn't open $modulebatpath file to write\n";
+		return;
+		}
+	binmode FWM;
+	print FWM "del /S/Q *.SIS\r\n";
+	print FWM "del /S/Q *.SISX\r\n";
+	close FWM;	
+	find( \&moduleSis, $base );
+	}	
+if ( $delmodule == 1 )
+	{
+	find( \&delModuleSis, $base );
+	}	
+
+sub edits() 
+	{
+	my $file=$_;
+	my $winpath=$File::Find::name;
+	$winpath=~s/\//\\/g;
+	if( -f $file  && $file=~/(_template\.pkg)$/i ) 
+		{
+		print "$winpath ";
+		system "attrib -R $winpath";
+		if ( not ( open (FR, $winpath) ) )
+			{
+			print "Error: Couldn't open $winpath file to read\n";
+			return;
+			}
+		binmode FR;
+		my $buf="";
+		my $length = 0;
+		$length = -s $winpath;
+		read( FR, $buf, $length );
+		close FR;
+		if ( $qtversionchnage == 1 )
+			{
+			$buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
+			}
+		if ( $targetchnage == 1 )
+			{
+			$buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
+			}
+	    
+	    if ( not ( open (FW, ">$winpath") ) )
+			{
+			print "\n***Error: Couldn't open $winpath file to write\n";
+			return;
+			}
+		binmode FW;		
+		print FW $buf;
+	    close FW;		
+		
+		print "\r\n";
+		}
+	}
+
+sub checkCmdLine()
+	{
+	my $numArgs = $#ARGV + 1;
+	if ( $numArgs == 0 )
+		{
+		$qtversionchnage = 1;
+		}
+	else
+		{
+		foreach my $argnum ( 0 .. $#ARGV ) 
+			{
+			my $argName = lc $ARGV[$argnum];
+			if ( $argName eq $qtversionarg )
+				{
+				$qtversionchnage = 1;
+				}
+			elsif ( $argName eq $targetarg )
+				{
+				$targetchnage = 1;
+				}
+			elsif ( $argName eq $modulearg )
+				{
+				$module = 1;
+				}
+			elsif ( $argName eq $delmodulearg )
+				{
+				$delmodule = 1;
+				}
+			else
+				{
+				die "\n***Error: Bad arguments\n";
+				}
+			}
+		}
+	}
+	
+sub moduleSis()
+	{
+	my $file=$_;
+	my $winpath=$File::Find::name;
+	$winpath=~s/\//\\/g;	
+
+	
+	if( -f $file  && $file=~/(.*test.*_template\.pkg)$/i ) 
+		{
+		print "$winpath ";
+		system "attrib -R $winpath";
+		if ( not ( open (FR, $winpath) ) )
+			{
+			print "Error: Couldn't open $winpath file to read\n";
+			return;
+			}
+		binmode FR;
+		my $buf="";
+		my $length = 0;
+		$length = -s $winpath;
+		read( FR, $buf, $length );
+		close FR;
+		$buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
+		$buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
+	    
+	    if ( not ( open (FW, ">$winpath") ) )
+			{
+			print "Error: Couldn't open $winpath file to write\n";
+			return;
+			}
+		binmode FW;		
+		print FW $buf;
+	    close FW;				
+		print "\r\n";
+		
+		my $pkgname = sisName( $winpath );
+		
+		if ( not ( open (FWM2, ">>$modulebatpath") ) )
+			{			
+			print "Error: Couldn't open $modulebatpath file to append\n";
+			return;
+			}
+		binmode FWM2;		
+		print FWM2 "makesis $winpath $pkgname\.SIS\r\n";
+		print FWM2 "signsis $pkgname\.SIS $pkgname\.SISX $ccert $ckey\r\n";
+		close FWM2;	
+		}	
+	}
+		
+sub sisName()
+	{
+	my $path = shift;
+	my $name = "";
+	if ( $path =~ /\\(\w+)\.pkg/i )
+		{
+		$name = $1;
+		}
+	return $name;
+	}
+	
+sub delModuleSis()
+	{
+	my $file=$_;
+	my $winpath=$File::Find::name;
+	$winpath=~s/\//\\/g;	
+
+	
+	if( -f $file  && $file=~/(_template\.pkg)$/i && ( $file=~/^(t_)/i || $file=~/test/i ) ) 
+		{
+		print "Deleting: ";
+		print "$winpath ";
+		system "attrib -R $winpath";
+		system "del /S/Q $winpath";
+		print "\r\n";
+		}	
+	}	
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/sis/stubs/activitymanager_stub.pkg	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,50 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+; ------------------------------------------------------------------------------
+; Taskswitcher stub SIS package file.
+; Used to enable Taskswitcher to be updated from ROM with a SIS package.
+; When you add new files into this stub, please remember to update
+; SIS stub with "makesis -s" command.
+; ------------------------------------------------------------------------------
+;
+;Language - standard language definitions
+&EN
+
+; standard SIS file header
+#{"activitymanager"},(0x200267B4),1,0,0,TYPE=SA
+
+;Localized Vendor Name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+;"" - "Z:\sys\bin\activityserviceinstaller.exe"
+"" - "Z:\sys\bin\activityserviceplugin.dll"
+"" - "Z:\resource\qt\plugins\activityserviceplugin.qtplugin"
+
+""    - "Z:\sys\bin\activitylauncher.exe"
+""    - "Z:\resource\apps\activitylauncher.rsc"
+""    - "Z:\private\10003a3f\import\apps\activitylauncher_reg.rsc"
+
+""    - "Z:\sys\bin\hsactivitydbserver.exe"
+""    - "Z:\resource\apps\hsactivitydbserver.rsc"
+""    - "Z:\private\10003a3f\import\apps\hsactivitydbserver_reg.rsc"
+
+""    - "Z:\sys\bin\hsactivitydbclient.dll"
+
+""    - "Z:\sys\bin\hbactivityplugin.dll"
+"" -  "Z:\resource\qt\plugins\hbactivityplugin.qtplugin"
\ No newline at end of file
Binary file activityfw/sis/stubs/activitymanager_stub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/sis/stubs/createstubs.bat	Wed Mar 24 13:06:03 2010 +0200
@@ -0,0 +1,17 @@
+@rem
+@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description: 
+@rem
+
+for %%f in (*.pkg) do makesis -s %%f
--- a/activitymanager/activitydatabase/activitydatabase.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS += hsactivitydbclient \
-           hsactivitydbserver
--- a/activitymanager/activitydatabase/bwins/hsactivitydbclientu.def	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-EXPORTS
-	?launchActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 1 NONAME ; int HsActivityDbClient::launchActivity(class QHash<class QString, class QVariant> const &)
-	?connect@HsActivityDbClient@@QAEHXZ @ 2 NONAME ; int HsActivityDbClient::connect(void)
-	?asyncRequestCompleated@HsActivityDbClient@@UAEXHHABVQString@@@Z @ 3 NONAME ; void HsActivityDbClient::asyncRequestCompleated(int, int, class QString const &)
-	?trUtf8@HsActivityDbClient@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString HsActivityDbClient::trUtf8(char const *, char const *)
-	?applicationActivities@HsActivityDbClient@@UAEHAAV?$QList@V?$QHash@VQString@@VQVariant@@@@@@ABV?$QHash@VQString@@VQVariant@@@@@Z @ 5 NONAME ; int HsActivityDbClient::applicationActivities(class QList<class QHash<class QString, class QVariant> > &, class QHash<class QString, class QVariant> const &)
-	?qt_metacast@HsActivityDbClient@@UAEPAXPBD@Z @ 6 NONAME ; void * HsActivityDbClient::qt_metacast(char const *)
-	?qt_metacall@HsActivityDbClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 7 NONAME ; int HsActivityDbClient::qt_metacall(enum QMetaObject::Call, int, void * *)
-	?waitActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 8 NONAME ; int HsActivityDbClient::waitActivity(class QHash<class QString, class QVariant> const &)
-	?activities@HsActivityDbClient@@UAEHAAV?$QList@V?$QHash@VQString@@VQVariant@@@@@@@Z @ 9 NONAME ; int HsActivityDbClient::activities(class QList<class QHash<class QString, class QVariant> > &)
-	?trUtf8@HsActivityDbClient@@SA?AVQString@@PBD0H@Z @ 10 NONAME ; class QString HsActivityDbClient::trUtf8(char const *, char const *, int)
-	??0HsActivityDbClient@@QAE@PAVQObject@@@Z @ 11 NONAME ; HsActivityDbClient::HsActivityDbClient(class QObject *)
-	?tr@HsActivityDbClient@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString HsActivityDbClient::tr(char const *, char const *)
-	?getStaticMetaObject@HsActivityDbClient@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & HsActivityDbClient::getStaticMetaObject(void)
-	??_EHsActivityDbClient@@UAE@I@Z @ 14 NONAME ; HsActivityDbClient::~HsActivityDbClient(unsigned int)
-	?metaObject@HsActivityDbClient@@UBEPBUQMetaObject@@XZ @ 15 NONAME ; struct QMetaObject const * HsActivityDbClient::metaObject(void) const
-	?removeApplicationActivities@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 16 NONAME ; int HsActivityDbClient::removeApplicationActivities(class QHash<class QString, class QVariant> const &)
-	?tr@HsActivityDbClient@@SA?AVQString@@PBD0H@Z @ 17 NONAME ; class QString HsActivityDbClient::tr(char const *, char const *, int)
-	?addActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 18 NONAME ; int HsActivityDbClient::addActivity(class QHash<class QString, class QVariant> const &)
-	?staticMetaObject@HsActivityDbClient@@2UQMetaObject@@B @ 19 NONAME ; struct QMetaObject const HsActivityDbClient::staticMetaObject
-	??1HsActivityDbClient@@UAE@XZ @ 20 NONAME ; HsActivityDbClient::~HsActivityDbClient(void)
-	?activityRequested@HsActivityDbClient@@IAEXABVQString@@@Z @ 21 NONAME ; void HsActivityDbClient::activityRequested(class QString const &)
-	?updateActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 22 NONAME ; int HsActivityDbClient::updateActivity(class QHash<class QString, class QVariant> const &)
-	?removeActivity@HsActivityDbClient@@UAEHABV?$QHash@VQString@@VQVariant@@@@@Z @ 23 NONAME ; int HsActivityDbClient::removeActivity(class QHash<class QString, class QVariant> const &)
-
--- a/activitymanager/activitydatabase/eabi/hsactivitydbclientu.def	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-EXPORTS
-	_ZN18HsActivityDbClient10activitiesER5QListI5QHashI7QString8QVariantEE @ 1 NONAME
-	_ZN18HsActivityDbClient11addActivityERK5QHashI7QString8QVariantE @ 2 NONAME
-	_ZN18HsActivityDbClient11qt_metacallEN11QMetaObject4CallEiPPv @ 3 NONAME
-	_ZN18HsActivityDbClient11qt_metacastEPKc @ 4 NONAME
-	_ZN18HsActivityDbClient12waitActivityERK5QHashI7QString8QVariantE @ 5 NONAME
-	_ZN18HsActivityDbClient14launchActivityERK5QHashI7QString8QVariantE @ 6 NONAME
-	_ZN18HsActivityDbClient14removeActivityERK5QHashI7QString8QVariantE @ 7 NONAME
-	_ZN18HsActivityDbClient14updateActivityERK5QHashI7QString8QVariantE @ 8 NONAME
-	_ZN18HsActivityDbClient16staticMetaObjectE @ 9 NONAME DATA 16
-	_ZN18HsActivityDbClient17activityRequestedERK7QString @ 10 NONAME
-	_ZN18HsActivityDbClient19getStaticMetaObjectEv @ 11 NONAME
-	_ZN18HsActivityDbClient21applicationActivitiesER5QListI5QHashI7QString8QVariantEERKS4_ @ 12 NONAME
-	_ZN18HsActivityDbClient22asyncRequestCompleatedEiiRK7QString @ 13 NONAME
-	_ZN18HsActivityDbClient27removeApplicationActivitiesERK5QHashI7QString8QVariantE @ 14 NONAME
-	_ZN18HsActivityDbClient7connectEv @ 15 NONAME
-	_ZN18HsActivityDbClientC1EP7QObject @ 16 NONAME
-	_ZN18HsActivityDbClientC2EP7QObject @ 17 NONAME
-	_ZN18HsActivityDbClientD0Ev @ 18 NONAME
-	_ZN18HsActivityDbClientD1Ev @ 19 NONAME
-	_ZN18HsActivityDbClientD2Ev @ 20 NONAME
-	_ZNK18HsActivityDbClient10metaObjectEv @ 21 NONAME
-	_ZTI18HsActivityDbClient @ 22 NONAME
-	_ZTV18HsActivityDbClient @ 23 NONAME
-	_ZThn12_N18HsActivityDbClient22asyncRequestCompleatedEiiRK7QString @ 24 NONAME
-	_ZThn8_N18HsActivityDbClient10activitiesER5QListI5QHashI7QString8QVariantEE @ 25 NONAME
-	_ZThn8_N18HsActivityDbClient11addActivityERK5QHashI7QString8QVariantE @ 26 NONAME
-	_ZThn8_N18HsActivityDbClient12waitActivityERK5QHashI7QString8QVariantE @ 27 NONAME
-	_ZThn8_N18HsActivityDbClient14launchActivityERK5QHashI7QString8QVariantE @ 28 NONAME
-	_ZThn8_N18HsActivityDbClient14removeActivityERK5QHashI7QString8QVariantE @ 29 NONAME
-	_ZThn8_N18HsActivityDbClient14updateActivityERK5QHashI7QString8QVariantE @ 30 NONAME
-	_ZThn8_N18HsActivityDbClient21applicationActivitiesER5QListI5QHashI7QString8QVariantEERKS4_ @ 31 NONAME
-	_ZThn8_N18HsActivityDbClient27removeApplicationActivitiesERK5QHashI7QString8QVariantE @ 32 NONAME
-
--- a/activitymanager/activitydatabase/hsactivitydbclient/hsactivitydbclient.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = lib
-TARGET = hsactivitydbclient
-
-QT        += core \
-             sql
-
-QT        -= gui 
-
-HEADERS   += inc/hsactivitydbclient.h
-
-SOURCES   += src/hsactivitydbclient.cpp
-
-DEFINES += ACTIVITY_LIB
-
-symbian{
-TARGET.UID3 = 0xE467C21E
-
-HEADERS   += ../s60/inc/hsserializer.h \
-             s60/inc/hsactivitydbclient_p.h \
-			 s60/inc/hsactivitydbasyncrequest_p.h
-
-SOURCES   += ../s60/src/hsserializer.cpp \
-             s60/src/hsactivitydbclient_p.cpp \
-			 s60/src/hsactivitydbasyncrequest_p.cpp
-
-
-hsactivitydbclientdll.sources = hsactivitydbclient.dll
-hsactivitydbclientdll.path = $$SHARED_LIB_DIR
-DEPLOYMENT += hsactivitydbclientdll
-
-BLD_INF_RULES.prj_exports += "../inc/hsactivitydbclientinterface.h /epoc32/include/hsactivitydbclientinterface.h" \
-                             "inc/hsactivitydbclient.h /epoc32/include/hsactivitydbclient.h" \
-							 "inc/hsactivitydbasyncrequestobserver.h /epoc32/include/hsactivitydbasyncrequestobserver.h"
-DEPLOYMENT += api
-TARGET.CAPABILITY = ALL -TCB
-TARGET.EPOCALLOWDLLDATA = 1
-MMP_RULES += EXPORTUNFROZEN
-}
--- a/activitymanager/activitydatabase/hsactivitydbclient/inc/hsactivitydbasyncrequestobserver.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef HSACTIVITYDBASYNCREQUESTOBSERVER_H
-#define HSACTIVITYDBASYNCREQUESTOBSERVER_H
-#include <QString>
-class HsActivityDbAsyncRequestObserver
-{
-public:
-    /**
-     * Function inform observer about asynchronous request results
-     * @param result - request result
-     * @param requestType - request type
-     * @param data - respons data  
-     */
-    virtual void asyncRequestCompleated(int result, 
-                                        int requestType, 
-                                        const QString& data)=0;
-};
-#endif // HSACTIVITYDBASYNCREQUESTOBSERVER_H
--- a/activitymanager/activitydatabase/hsactivitydbclient/inc/hsactivitydbclient.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef HSACTIVITYDBCLIENT_H
-#define HSACTIVITYDBCLIENT_H
-#include <QObject>
-#include <hsactivitydbasyncrequestobserver.h>
-#include "hsactivitydbclientinterface.h"
-
-#ifdef ACTIVITY_LIB
-    #define ACTIVITY_EXPORT Q_DECL_EXPORT
-#else
-    #define ACTIVITY_EXPORT Q_DECL_IMPORT
-#endif
-
-class HsActivityDbClientPrivate;
-
-/**
- * Class implemets HsActivityDbClientInterface and is responsible for activity data management.
- */
-class ACTIVITY_EXPORT HsActivityDbClient:   public QObject,
-                                            public HsActivityDbClientInterface,
-                                            public HsActivityDbAsyncRequestObserver
-{
-Q_OBJECT
-public:
-    /**
-     * Constructor
-     */
-    HsActivityDbClient(QObject* =0);
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityDbClient();
-    
-    /**
-     * Establish connection with activity server
-     * @return 0 on succees, error code otherwise
-     */
-    int connect();
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbAsyncRequestObserver::asyncRequestCompleated(int, int, const QString&)
-     */
-    void asyncRequestCompleated(int, int, const QString&);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::saveActivity(const QVariantHash&)
-     */
-    int addActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
-     */
-    int updateActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::deleteActivity(const QVariantHash &)
-     */
-    int removeActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::deleteApplicationActivities(const QVariantHash &)
-     */
-    int removeApplicationActivities(const QVariantHash &activity);
-        
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash>&)
-     */
-    int activities(QList<QVariantHash> &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
-     */
-    int applicationActivities(QList<QVariantHash> &, 
-                              const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
-     */
-    int waitActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
-     */
-    int launchActivity(const QVariantHash &);
-signals:
-    /**
-     * Function notify about runtime activity change
-     * @param activityId - requested activity name
-     */
-    void activityRequested(const QString& activityId);
-private:
-    /**
-     * Private client implementation.
-     * Own.
-     */
-    HsActivityDbClientPrivate* d_ptr;
-};
-
-#endif //HSACTIVITYDBCLIENT_H
--- a/activitymanager/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbasyncrequest_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef HSACTIVITYDBASYNCREQUESTPRIVATE_H
-#define HSACTIVITYDBASYNCREQUESTPRIVATE_H
-#include <e32base.h>
-#include <QVariant>
-#include <hsactivitydbasyncrequestobserver.h>
-
-class HsActivityDbClientPrivate;
-
-/**
- * Class is responsible for async. request handling
- */
-class HsActivityDbAsyncRequestPrivate : public CActive
-
-{
-public:
-    /**
-     * First step constructor
-     */
-    static HsActivityDbAsyncRequestPrivate* 
-        NewL(HsActivityDbAsyncRequestObserver &, HsActivityDbClientPrivate &);
-    
-    /**
-     * First step constructor
-     */
-    static HsActivityDbAsyncRequestPrivate* 
-        NewLC(HsActivityDbAsyncRequestObserver &, HsActivityDbClientPrivate &);
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityDbAsyncRequestPrivate();
-    
-    /**
-     * Function create subscription to current ativity changes
-     * @param condition - activity filetering rules
-     */
-    void waitActivity(const QVariantHash& condition);
-protected:
-    /**
-     * Interface implementation.
-     * @see void CActive::DoCancel()
-     */
-    void DoCancel();
-    
-    /**
-     * Interface implementation.
-     * @see void CActive::DoCancel()
-     */
-    void RunL();
-private:
-    /**
-     * Constructor
-     */
-    HsActivityDbAsyncRequestPrivate(HsActivityDbAsyncRequestObserver &,
-                                    HsActivityDbClientPrivate &);
-private:
-    HsActivityDbAsyncRequestObserver& mObserver; 
-    HsActivityDbClientPrivate& mSession;
-    int mRequestType;
-    RBuf8 mDataBuf;
-    TPckgBuf<int> mDataSize;
-};
-#endif // HSACTIVITYDBCLIENTPRIVATE_H
--- a/activitymanager/activitydatabase/hsactivitydbclient/s60/inc/hsactivitydbclient_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef HSACTIVITYDBCLIENTPRIVATE_H
-#define HSACTIVITYDBCLIENTPRIVATE_H
-#include "hsactivitydbclientinterface.h"
-#include <e32base.h>
-#include <hsactivitydbasyncrequestobserver.h>
-
-class HsActivityDbAsyncRequestPrivate;
-/**
- * Class implemets HsActivityDbClientInterface and is responsible for 
- * activity data management on S60 enviroment.
- */
-class HsActivityDbClientPrivate : protected RSessionBase,
-                                  public HsActivityDbClientInterface
-{
-public:
-    /**
-     * Constructor
-     */
-    HsActivityDbClientPrivate(HsActivityDbAsyncRequestObserver&);
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityDbClientPrivate();
-    
-    /**
-     * Function establish connection to activity server
-     * @return 0 on succees, error code otherwise
-     */
-    int connect();
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::addActivity(const QVariantHash &)
-     */
-    int addActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash &)
-     */
-    int updateActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::removeActivity(const QVariantHash &)
-     */
-    int removeActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::removeApplicationActivities(const QVariantHash &)
-    */
-    int removeApplicationActivities(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::requestedActivityName(QString &, const QVariantHash &);
-     */
-    int requestedActivityName(QString &, const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash> &);
-     */
-    int activities(QList<QVariantHash> &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
-     */
-    int applicationActivities(QList<QVariantHash>&, const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
-     */
-    int waitActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
-     */
-    int launchActivity(const QVariantHash &);
-
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::cancelWaitActivity()
-     */
-    int cancelWaitActivity();
-    
-public:
-    /**
-     * Function get cached data from server
-     * @param dst - destination, preallocated buffer
-     */
-    void getData(RBuf8 & dst);
-    
-    /**
-     * Function initialize aync request
-     * @param func - requested function
-     * @param data - request data
-     * @param status - request status
-     */
-    void sendDataAsync(int func,const TIpcArgs & data, TRequestStatus& status);
-    
-private:
-    /**
-     * Function start activity server process.
-     * Function can leave on failure.
-     */
-    void startServerL();
-    
-    /**
-     * Function establish connection to activity server.
-     * Function can leave on failure
-     */
-    void connectL();
-    
-    /**
-     * Function execute remote call request.
-     * @param function - remote function identyfier
-     * @param activity - remote function parameters  
-     */
-    void execSimpleRequestL( int function, const QVariantHash &activity);
-    
-    /**
-     * Function retrieve current activity name for application.
-     * Function can leave on failure
-     * @param  result - activity name
-     * @param activity - request filtering rules 
-     */
-    void requestedActivityNameL(QString& result, 
-                                const QVariantHash &activity);
-    
-    /**
-     * Function retrieve all stored activity
-     * Function can leave on failure
-     * @param result - list of activity 
-     */
-    void activitiesL(QList<QVariantHash>& result);
-    
-    /**
-     * Function retrieve all stored activity
-     * Function can leave on failure
-     * @param result - list of activity
-     * @param cond - request conditions  
-     */
-    void applicationActivitiesL(QList<QVariantHash>& result, 
-                                const QVariantHash & cond);
-    
-    void waitActivityL(const QVariantHash &activity);
-private:
-    /**
-     * Async request handler
-     * Own
-     */
-    HsActivityDbAsyncRequestPrivate* mAsyncDataHandler; 
-
-};
-#endif // HSACTIVITYDBCLIENTPRIVATE_H
--- a/activitymanager/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbasyncrequest_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "hsactivitydbasyncrequest_p.h"
-#include "hsactivitydbclient_p.h"
-#include "hsserializer.h"
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbAsyncRequestPrivate* 
-    HsActivityDbAsyncRequestPrivate::NewL(HsActivityDbAsyncRequestObserver& observer,
-                                          HsActivityDbClientPrivate& session)
-{
-    HsActivityDbAsyncRequestPrivate* self = 
-        HsActivityDbAsyncRequestPrivate::NewLC(observer, session);
-    CleanupStack::Pop(self);
-    return self;
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbAsyncRequestPrivate* 
-    HsActivityDbAsyncRequestPrivate::NewLC(HsActivityDbAsyncRequestObserver& observer,
-                                           HsActivityDbClientPrivate& session)
-{
-    HsActivityDbAsyncRequestPrivate* self = 
-        new (ELeave)HsActivityDbAsyncRequestPrivate(observer, session);
-    CleanupStack::PushL(self);
-    self->mDataBuf.CreateL(64);
-    return self;
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbAsyncRequestPrivate::HsActivityDbAsyncRequestPrivate(HsActivityDbAsyncRequestObserver &observer,
-                                                                 HsActivityDbClientPrivate &session)
-:
-    CActive(EPriorityStandard),
-    mObserver(observer),
-    mSession(session),
-    mRequestType(-1),
-    mDataSize()
-{
-    CActiveScheduler::Add(this);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbAsyncRequestPrivate::~HsActivityDbAsyncRequestPrivate()
-{
-    mDataBuf.Close();
-    Cancel();
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbAsyncRequestPrivate::DoCancel()
-{
-    if(IsActive()) {
-    mSession.cancelWaitActivity();
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbAsyncRequestPrivate::RunL()
-{
-    RBuf8 buff;
-    CleanupClosePushL(buff);
-    QString data;
-    int requestResult(iStatus.Int());
-    if(KErrNone == requestResult) {
-        if(0 < mDataSize()) {
-            buff.CreateL(mDataSize());
-        }
-        mSession.getData(buff);
-        data = QString::fromAscii(reinterpret_cast<const char*>(buff.Ptr()), 
-                                  buff.Length());
-        buff.Close();
-    }
-    mObserver.asyncRequestCompleated(requestResult, mRequestType, data);
-    CleanupStack::PopAndDestroy(&buff);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbAsyncRequestPrivate::waitActivity(const QVariantHash& condition)
-{
-    mRequestType = WaitActivity;
-    iStatus = KRequestPending;
-    SetActive();
-    mDataBuf << condition;
-    mSession.sendDataAsync(mRequestType, TIpcArgs(&mDataBuf, &mDataSize), iStatus);
-}
--- a/activitymanager/activitydatabase/hsactivitydbclient/s60/src/hsactivitydbclient_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "hsactivitydbclient_p.h"
-#include "hsactivitydbasyncrequest_p.h"
-#include "hsactivityglobals.h"
-#include "hsserializer.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbClientPrivate::HsActivityDbClientPrivate(HsActivityDbAsyncRequestObserver& observer)
-{
-    mAsyncDataHandler = HsActivityDbAsyncRequestPrivate::NewL(observer, *this);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbClientPrivate::~HsActivityDbClientPrivate()
-{
-    delete mAsyncDataHandler;
-    Close();
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::connect()
-{
-    TRAPD(errNo, connectL());
-    return errNo;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::addActivity(const QVariantHash &activity)
-{
-    TRAPD( errNo, execSimpleRequestL(AddActivity, activity);)
-    return errNo; 
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::updateActivity(const QVariantHash &activity)
-{
-    TRAPD( errNo, execSimpleRequestL(UpdateActivity, activity);)
-    return errNo; 
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::removeActivity(const QVariantHash &activity)
-{
-    TRAPD( errNo, execSimpleRequestL(RemoveActivity, activity);)
-    return errNo; 
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::removeApplicationActivities(const QVariantHash &activity)
-{
-    TRAPD( errNo, execSimpleRequestL(RemoveApplicationActivities, activity);)
-    return errNo; 
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::activities(QList<QVariantHash>& result)
-{
-    TRAPD(errNo, activitiesL(result));
-    return errNo;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::applicationActivities(QList<QVariantHash>& result, 
-                                                      const QVariantHash & condition)
-{
-    TRAPD(errNo, applicationActivitiesL(result, condition));
-    return errNo;
-}
-
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::waitActivity(const QVariantHash &activity)
-{
-    TRAPD( errNo, waitActivityL(activity);)
-    return errNo;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::launchActivity(const QVariantHash &activity)
-{
-    TRAPD( errNo, execSimpleRequestL(LaunchActivity, activity);)
-    return errNo;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClientPrivate::cancelWaitActivity()
-{
-    return SendReceive(CancelWait, TIpcArgs());
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::startServerL()
-{
-    RProcess server;
-    const TUidType uid(KNullUid, KNullUid, KActivityServerUid);
-    User::LeaveIfError(server.Create( KActivityServerName, KNullDesC, uid));
-    TRequestStatus stat;
-    server.Rendezvous( stat );
-    if ( stat != KRequestPending ) {
-        server.Kill(0);
-    } else {
-        server.Resume();
-    }
-    User::WaitForRequest(stat);
-    int errNo = (EExitPanic == server.ExitType()) ? 
-                KErrGeneral : stat.Int();
-    if(KErrCancel == errNo) {
-        errNo = KErrNone;
-    }
-    server.Close();
-    User::LeaveIfError(errNo);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::connectL()
-{
-    const int asyncMessageSlots(4);
-    const int maxRetry(4);
-    
-    TInt retry = maxRetry;
-    TInt errNo(KErrNone);
-    do {
-        errNo = CreateSession( KActivityServerName, TVersion( 0, 0, 0 ), asyncMessageSlots );
-        if( KErrNotFound != errNo && KErrServerTerminated != errNo) {
-            retry =0;
-        } else {
-            TRAP(errNo, startServerL());
-            if (KErrNone != errNo && KErrAlreadyExists != errNo) {
-                retry =0;
-            }
-        }
-    } while(--retry > 0);
-    User::LeaveIfError(errNo);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::execSimpleRequestL(int function, const QVariantHash &activity)
-{
-    RBuf8 data;
-    CleanupClosePushL(data);
-    data.CreateL(256);
-    data << activity;
-    User::LeaveIfError(SendReceive(function, TIpcArgs(&data)));
-    CleanupStack::PopAndDestroy(&data);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::requestedActivityNameL(QString& result, 
-                                                const QVariantHash &activity)
-{
-    RBuf8 data;
-    TPckgBuf<int> sizeBuf;
-    CleanupClosePushL(data);
-    data.CreateL(256);
-    data << activity;
-    User::LeaveIfError(SendReceive(RequestedActivityName, TIpcArgs(&data,&sizeBuf)));
-    if(sizeBuf() > data.MaxSize()) {
-       data.ReAlloc(sizeBuf()); 
-    }
-    User::LeaveIfError(SendReceive(GetData, TIpcArgs(&data)));
-    result = QString::fromAscii(reinterpret_cast<const char*>(data.Ptr()), 
-                                data.Length());
-    CleanupStack::PopAndDestroy(&data);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::activitiesL(QList<QVariantHash>& result)
-{
-    RBuf8 data;
-    TPckgBuf<int> sizeBuf;
-    CleanupClosePushL(data);
-    data.CreateL(256);
-    User::LeaveIfError(SendReceive(Activities, TIpcArgs(&data, &sizeBuf)));
-    if(sizeBuf() > data.MaxSize()) {
-       data.ReAlloc(sizeBuf()); 
-    }
-    User::LeaveIfError(SendReceive(GetData, TIpcArgs(&data)));
-    result << data;
-    CleanupStack::PopAndDestroy(&data);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::applicationActivitiesL(QList<QVariantHash>& result, 
-                                                     const QVariantHash & condition)
-{
-    RBuf8 data;
-    TPckgBuf<int> sizeBuf;
-    CleanupClosePushL(data);
-    data.CreateL(256);
-    data << condition;
-    User::LeaveIfError(SendReceive(ApplicationActivities, TIpcArgs(&data, &sizeBuf)));
-    if(sizeBuf() > data.MaxSize()) {
-       data.ReAlloc(sizeBuf()); 
-    }
-    User::LeaveIfError(SendReceive(GetData, TIpcArgs(&data)));
-    result << data;
-    CleanupStack::PopAndDestroy(&data);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::waitActivityL(const QVariantHash &activity)
-{
-    if(mAsyncDataHandler->IsActive()) {
-        User::Leave(KErrServerBusy);
-    } else {
-        mAsyncDataHandler->waitActivity(activity);
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::getData(RBuf8& data)
-{
-    SendReceive(GetData, TIpcArgs(&data));
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClientPrivate::sendDataAsync(int func,
-                                              const TIpcArgs &data, 
-                                              TRequestStatus& status)
-{
-    SendReceive(func, data, status);
-}
--- a/activitymanager/activitydatabase/hsactivitydbclient/src/hsactivitydbclient.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "hsactivitydbclient.h"
-#include "hsactivitydbclient_p.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbClient::HsActivityDbClient(QObject* obj)
-:
-    QObject(obj),
-    d_ptr(0)
-{
-    d_ptr = new HsActivityDbClientPrivate(*this);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityDbClient::~HsActivityDbClient()
-{
-    delete d_ptr;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::connect()
-{
-    return d_ptr->connect();
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityDbClient::asyncRequestCompleated(int result, 
-                                                int requestType, 
-                                                const QString& data)
-{
-    switch(requestType){
-    case WaitActivity:
-        if( KErrNone == result ) {
-            emit activityRequested(data);
-        }
-        break;
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::addActivity(const QVariantHash &activity)
-{
-    return d_ptr->addActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::updateActivity(const QVariantHash &activity)
-{
-    return d_ptr->updateActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::removeActivity(const QVariantHash &activity)
-{
-    return d_ptr->removeActivity(activity);
-}
-    
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::removeApplicationActivities(const QVariantHash &activity)
-{
-    return d_ptr->removeApplicationActivities(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::activities(QList<QVariantHash>& result)
-{
-    return d_ptr->activities(result);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::applicationActivities(QList<QVariantHash> & result, 
-                                              const QVariantHash & conditions)
-{
-    return d_ptr->applicationActivities(result, conditions);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::waitActivity(const QVariantHash &activity)
-{
-    return d_ptr->waitActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityDbClient::launchActivity(const QVariantHash &activity)
-{
-    return d_ptr->launchActivity(activity);
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/hsactivitydbserver.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = app
-TARGET = hsactivitydbserver 
-
-QT        += core \
-             gui \
-             sql 
-
-HEADERS   += ../inc/hsactivitydbclientinterface.h \
-             inc/hsactivity.h \
-             inc/hsactivityserver.h \
-             inc/hsactivitystorage.h \
-			 inc/hsactivitystorage_p.h
-
-SOURCES   += src/hsactivityserver.cpp \
-			 src/hsactivitystorage.cpp \
-             src/hsactivitystorage_p.cpp
-
-symbian{
-TARGET.UID3 = 0x200267B4
-HEADERS   += ../s60/inc/hsactivityglobals.h \
-             ../s60/inc/hsserializer.h \
-             s60/inc/hsactivityserver_p.h \
-             s60/inc/hsactivitysession_p.h
-			 
-
-SOURCES   += s60/src/main.cpp \
-             ../s60/src/hsserializer.cpp \
-             s60/src/hsactivityserver_p.cpp \
-			 s60/src/hsactivitysession_p.cpp
-
-TARGET.CAPABILITY = ALL -TCB
-}
-
--- a/activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivity.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef HSACTIVITY_H
-#define HSACTIVITY_H
-
-
-const char ActivityOrganization [] = "nokia";
-
-const char ActivityApplication [] = "hsactivitydbserver";
-
-const char ActivityStorageDriver [] = "QSQLITE";
-
-const char ActivityStorageName [] = "ActivitySQLClient";
-
-const char ActivityStorageProperty [] = "activitydatabase";
-
-const char ActivityDefaultStorage [] = "activitydatabase.db";
-
-const char ActivityTableKeyword [] = ":Table";
-const char ActivityDataKeyword [] = ":Data";
-
-
-
-const char ActivityCreateQuery [] = "CREATE TABLE Activities(" \
-                                    "ApplicationId INTEGER NOT NULL," \
-                                    "ActivityName TEXT NOT NULL," \
-                                    "Data BLOB NOT NULL," \
-                                    "PRIMARY KEY ( ApplicationId, ActivityName ) )";
-
-const char ActivityDropQuery [] = "DROP TABLE :Table";
-
-const char ActivitySelectActivityQuery [] = "SELECT ApplicationId FROM Activities WHERE " \
-                                            "ApplicationId = :ApplicationId AND " \
-                                            "ActivityName = :ActivityName";
-
-const char ActivityUpdateActivityQuery [] = "UPDATE Activities SET Data = :Data WHERE " \
-                                            "ApplicationId = :ApplicationId AND " \
-                                            "ActivityName = :ActivityName";
-
-const char ActivityInsertActivityQuery [] = "INSERT INTO Activities( ApplicationId, ActivityName, Data ) VALUES " \
-                                            "( :ApplicationId, :ActivityName, :Data )";
-
-const char ActivitySelectActiveQuery [] = "SELECT ActivityName FROM Activities WHERE " \
-                                          "ApplicationId = :ApplicationId";
-
-const char ActivityActivitiesQuery [] = "SELECT Data FROM Activities";
-
-const char ActivityApplicationActivitiesQuery [] = "SELECT Data FROM Activities " \
-                                                   "WHERE ApplicationId = :ApplicationId";
-
-const char ActivityDeleteActivityQuery [] = "DELETE FROM Activities WHERE " \
-                                            "ApplicationId = :ApplicationId AND " \
-                                            "ActivityName = :ActivityName";
-
-const char ActivityDeleteApplicationActivitiesQuery [] = "DELETE FROM Activities WHERE " \
-                                                         "ApplicationId = :ApplicationId";
-
-#endif //HSACTIVITY_H
--- a/activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivityserver.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#ifndef HSACTIVITYSERVER_H
-#define HSACTIVITYSERVER_H
-
-#include "hsactivitydbclientinterface.h"
-
-class HsActivityServerPrivate;
-
-/**
- * Class implemets server functionality to store and retrieve activity
- */
-class HsActivityServer
-{
-public:
-    /**
-     * Constructor
-     * @param storage - reference to initialized activity storage
-     */
-    HsActivityServer(HsActivityDbClientInterface& storage);
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityServer();
-    
-    /**
-     * Function establish server and initialize listening proces
-     * @return true on succees, false otherwise 
-     */
-    bool start();
-private:
-    /**
-     * Private server implementation
-     */
-    HsActivityServerPrivate* d_ptr;
-};
-
-#endif //HSACTIVITYSERVER_H
--- a/activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivitystorage.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef HSACTIVITYSTORAGE_H
-#define HSACTIVITYSTORAGE_H
-#include "hsactivitydbclientinterface.h"
-class HsActivityStoragePrivate;
-
-/**
- * Class implements HsActivityDbClientInterface and storage functionality
- */
-class HsActivityStorage: public HsActivityDbClientInterface
-{
-public:
-    /**
-     * Constructor
-     */
-    HsActivityStorage();
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityStorage();
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::addActivity(const QVariantHash&)
-     */
-    int addActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
-     */
-    int updateActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::removeActivity(const QVariantHash &)
-     */
-    int removeActivity(const QVariantHash &activity);
-
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::removeApplicationActivities(const QVariantHash &)
-    */
-    int removeApplicationActivities(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash> &)
-     */
-    int activities(QList<QVariantHash>& result);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
-     */
-    int applicationActivities(QList<QVariantHash>& result, 
-                              const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
-     */
-    int waitActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
-     */
-    int launchActivity(const QVariantHash &activity);
-private:
-    /**
-     * Private storage implementation
-     * Own.
-     */
-    HsActivityStoragePrivate* d_ptr;
-};
-#endif //HSACTIVITYSTORAGE_H
--- a/activitymanager/activitydatabase/hsactivitydbserver/inc/hsactivitystorage_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef HSACTIVITYSTORAGEPRIVATE_H
-#define HSACTIVITYSTORAGEPRIVATE_H
-#include "hsactivitydbclientinterface.h"
-#include <QSqlDatabase>
-
-/**
- * Class implements HsActivityDbClientInterface and storage functionality using
- * database subsystem 
- */
-class HsActivityStoragePrivate: public HsActivityDbClientInterface
-{
-public:
-    /**
-     * Constructor
-     */
-    HsActivityStoragePrivate();
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityStoragePrivate();
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::addActivity(const QVariantHash&)
-     */
-    int addActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::updateActivity(const QVariantHash&)
-     */
-    int updateActivity(const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::removeActivity(const QVariantHash &)
-     */
-    int removeActivity(const QVariantHash &activity);
-
-   /**
-    * Interface implementation.
-    * @see int HsActivityDbClientInterface::removeApplicationActivities(const QVariantHash &)
-    */
-    int removeApplicationActivities(const QVariantHash &activity);
-
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::requestedActivityName( QString &, const QVariantHash &)
-     */
-    int requestedActivityName(QString& result, 
-                              const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::activities(QList<QVariantHash> &)
-     */
-    int activities(QList<QVariantHash> &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::applicationActivities(QList<QVariantHash> &, const QVariantHash &)
-     */
-    int applicationActivities(QList<QVariantHash> &, const QVariantHash &);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::waitActivity(const QVariantHash &)
-     */
-    int waitActivity(const QVariantHash &activity);
-    
-    /**
-     * Interface implementation.
-     * @see int HsActivityDbClientInterface::launchActivity(const QVariantHash &)
-     */
-    int launchActivity(const QVariantHash &activity);
-private:
-    /**
-     * Function check database structure
-     * @return true if structure is valid, false otherwise
-     */
-    bool checkTables();
-    
-    /**
-     * Function create database structure
-     */
-    void recreateTables();
-    
-    /**
-     * Function return last SQL query error code
-     * @param querty - executed sql query
-     * @return SQL query error code  
-     */
-    int getSqlErrorCode(const QSqlQuery& query);
-    
-    /**
-     * Function exeute SQL query
-     * @param query - SQL 
-     * @return true on succees, false otherwise
-     */
-    bool exec(QSqlQuery& query);
-    
-    /**
-     * Function exeute SQL query
-     * @param query - SQL query that has to be executed
-     * @return true on succees, false otherwise
-     */
-    bool exec(const QString &query, const QVariantHash& params);
-    
-    /**
-     * Funciton bind provided filtering rules with prepared SQL query
-     * @param query - SQL query 
-     * @param activity - filtering rules
-     * @param additionalData - additional filetering rules
-     */
-    void bind( QSqlQuery& query, 
-               const QVariantHash &activity, 
-               const QVariantHash &additionalData = QVariantHash());
-    
-    /**
-     * Funciton get records that match conditions
-     * @param result - output destination 
-     * @param query - SQL query sting
-     * @param conditions - query conditions
-     */
-    int activities(QList<QVariantHash> &results, 
-                   const QString &query,
-                   const QVariantHash &conditions);
-
-private:
-    /**
-     * Connectioin to SQL engine
-     */
-    QSqlDatabase mConn;
-};
-#endif //HSACTIVITYSTORAGEPRIVATE_H
--- a/activitymanager/activitydatabase/hsactivitydbserver/s60/inc/hsactivityserver_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef HSACTIVITYSERVERPRIVATE_H
-#define HSACTIVITYSERVERPRIVATE_H
-
-#include <e32base.h>
-#include "hsactivitydbclientinterface.h"
-
-/**
- * Class implemets server functionality for S60 enviroment
- */
-class HsActivityServerPrivate : public CServer2 
-{
-public:
-    /**
-     * Constructor
-     */
-    HsActivityServerPrivate(HsActivityDbClientInterface& storage);
-    
-    /**
-     * Destructor
-     */
-    ~HsActivityServerPrivate();
-    
-    /**
-     * Function establish server and initialize listening proces
-     * @return true on succees, false otherwise 
-     */
-    bool start();
-    
-    /**
-     * Function look for active application session and complete pending message 
-     */
-    void notifyL(int applicationId, const QString& activityName);
-    
-    /**
-     * Cancel notification 
-     */
-    void cancelNotify(int applicationId);
-    
-    /**
-     * Function add item to pending messages
-     */
-    void waitNotification(int applicationId, const RMessage2& msg);
-private:
-    /**
-     * Function create new client session to handle its request
-     * @param version - client implementation version
-     * @param message - request message
-     */
-    CSession2* NewSessionL(const TVersion& version,const RMessage2& message)const;
-
-private:
-    /**
-     * Reference to initialized storage client
-     */
-    HsActivityDbClientInterface& mStorage;
-    
-    QHash<int,RMessage2> mPendingMessage;
-};
-
-#endif //HSACTIVITYSERVERPRIVATE_H
--- a/activitymanager/activitydatabase/hsactivitydbserver/s60/inc/hsactivitysession_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef ACTIVITYSESSIONPRIVATE_H
-#define ACTIVITYSESSIONPRIVATE_H
-#include <e32base.h>
-#include "hsactivitydbclientinterface.h"
-/**
- * Class impolements client session for S60 enviroment. 
- * Class is responsible for request handling and data translations
- */
-class HsActivitySessionPrivate: public CSession2
-{
-public:
-    /**
-     * Constructor
-     * @param storage - reference to initialized activity storage
-     */
-    HsActivitySessionPrivate(HsActivityDbClientInterface& storage);
-    
-    /**
-     * Destructor
-     */
-    ~HsActivitySessionPrivate();
-    
-    /**
-     * Implements interface
-     * @see void CSession2::ServiceL(const RMessage2&)
-     */
-    void ServiceL(const RMessage2& message);
-    
-    /**
-     * Implements interface
-     * @see void CSession2::ServiceError(const RMessage2 &, TInt)
-     */
-    void ServiceError(const RMessage2 &message, TInt error);
-    
-    void LaunchActivityL(const RMessage2 &message, const QString &name );
-    
-    void CancelNotify(RMessage2& message);
-private:
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleAddActivityL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleUpdateActivityL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleRemoveActivityL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleRemoveApplicationActivitiesL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleActivitiesL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleApplicationActivitiesL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to server
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleLaunchActivityL(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to server
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleWaitActivityL(const RMessage2& message);
-    
-    /**
-	 * Function cancels subscribtion
-	 * @param message - request message 
-	 */
-    void HandleCancelWaitActivity(const RMessage2& message);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void HandleGetDataL(const RMessage2& message);
-    
-    void LaunchActivityL();
-    
-    void WaitActivityL(const RMessage2& message);
-    
-    void CancelNotify();
-        
-    
-    /**
-     * Function deserialize data for request message
-     * Function can leave on failure.
-     */
-    void ReadDataL(const RMessage2& src);
-    
-    /**
-     * Function handle data translation and forward request to storage client
-     * Function can leave on failure.
-     * @param message - request message 
-     */
-    void LeaveIfNotZero(int errNo);
-private:
-    /**
-     * Reference to storage client
-     */
-    HsActivityDbClientInterface& mStorage;
-    RBuf8 mData;
-    QVariantHash mActivity;
-    QList<QVariantHash> mResult;
-    QString mName;
-    int mAppId;
-};
-#endif // ACTIVITYSESSIONPRIVATE_H
--- a/activitymanager/activitydatabase/hsactivitydbserver/s60/src/hsactivityserver_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application entry point
-*
-*/
-#include "hsactivityserver_p.h"
-#include "hsactivitysession_p.h"
-#include "hsactivityglobals.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityServerPrivate::HsActivityServerPrivate(HsActivityDbClientInterface& storage)
-:
-    CServer2( EPriorityNormal, ESharableSessions),
-    mStorage(storage)
-{
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityServerPrivate::~HsActivityServerPrivate()
-{
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool HsActivityServerPrivate::start()
-{
-    return ( KErrNone == Start(KActivityServerName) );
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityServerPrivate::notifyL(int applicationId, 
-                                     const QString& activityName)
-{
-    if(mPendingMessage.end() != mPendingMessage.find(applicationId)) {
-        static_cast<HsActivitySessionPrivate*>(mPendingMessage.find(applicationId).value().Session())
-            ->LaunchActivityL(mPendingMessage.find(applicationId).value(), activityName );
-        mPendingMessage.erase(mPendingMessage.find(applicationId));
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityServerPrivate::waitNotification(int applicationId, 
-                                               const RMessage2& msg)
-{
-    if(mPendingMessage.find(applicationId) != mPendingMessage.end()) {
-        msg.Kill(EBadMessageNumber);
-    }
-    mPendingMessage.insert(applicationId,msg);
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityServerPrivate::cancelNotify(int applicationId)
-	{
-	if(mPendingMessage.end() != mPendingMessage.find(applicationId)) 
-		{
-		static_cast<HsActivitySessionPrivate*>(mPendingMessage.find(applicationId).value().Session())
-			->CancelNotify(mPendingMessage.find(applicationId).value());
-	    mPendingMessage.erase(mPendingMessage.find(applicationId));
-		}
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-CSession2* HsActivityServerPrivate::NewSessionL(const TVersion&,
-                                               const RMessage2&)const
-{
-    return new (ELeave) HsActivitySessionPrivate(mStorage);
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/s60/src/hsactivitysession_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application entry point
-*
-*/
-#include "hsactivityserver_p.h"
-#include "hsactivitysession_p.h"
-#include "hsactivityglobals.h"
-#include "hsserializer.h"
-#include <qglobal.h>
-
-const char ActivityPrimaryKeyFormat [] = "%1:%2";
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivitySessionPrivate::HsActivitySessionPrivate(HsActivityDbClientInterface& storage)
-: mStorage(storage), mAppId(KErrNotFound)
-{
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivitySessionPrivate::~HsActivitySessionPrivate()
-{
-	 CancelNotify();
-     mData.Close();
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::ServiceL(const RMessage2& message)
-{
-    mActivity.clear();
-    mResult.clear();
-    mName.clear();
-    
-    int errNo(KErrNone);
-    switch(message.Function()) {
-    case AddActivity: HandleAddActivityL(message); break;
-    case UpdateActivity: HandleUpdateActivityL(message); break;
-    case RemoveActivity: HandleRemoveActivityL(message); break;
-    case RemoveApplicationActivities: HandleRemoveApplicationActivitiesL(message); break;
-    case Activities: HandleActivitiesL(message);break;
-    case ApplicationActivities: HandleApplicationActivitiesL(message);break;
-    case LaunchActivity: HandleLaunchActivityL(message);break;
-    case WaitActivity: HandleWaitActivityL(message);return; //!!!!! This message shouldn't be compleated !!!!!
-    case GetData: HandleGetDataL(message); break;
-    case CancelWait: HandleCancelWaitActivity(message); break;
-    default:
-        message.Panic(KErr400, CServer2::EBadMessageNumber);
-    }
-    message.Complete(KErrNone);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::ServiceError(const RMessage2 &message, TInt error)
-{
-    message.Complete(error);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleAddActivityL(const RMessage2& message)
-{
-    ReadDataL(message);
-    LeaveIfNotZero(mStorage.addActivity(mActivity));
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleUpdateActivityL(const RMessage2& message)
-{
-    ReadDataL(message);
-    LeaveIfNotZero(mStorage.updateActivity(mActivity));
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleRemoveActivityL(const RMessage2& message)
-{
-    ReadDataL(message);
-    LeaveIfNotZero(mStorage.removeActivity(mActivity));
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleRemoveApplicationActivitiesL(const RMessage2& message)
-{
-    ReadDataL(message);
-    LeaveIfNotZero(mStorage.removeApplicationActivities(mActivity));
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleActivitiesL(const RMessage2& message)
-{
-    int errNo(KErrNone);
-    QT_TRYCATCH_LEAVING(errNo = mStorage.activities(mResult));
-    LeaveIfNotZero(errNo);
-    mData << mResult;
-    TPckgC<int> dataSize(mData.Size());
-    message.WriteL(1, dataSize);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleApplicationActivitiesL(const RMessage2& message)
-{
-    int errNo(KErrNone);
-    ReadDataL(message);
-    QT_TRYCATCH_LEAVING(errNo = mStorage.applicationActivities(mResult, mActivity));
-    LeaveIfNotZero(errNo);
-    mData << mResult;
-    TPckgC<int> dataSize(mData.Size());
-    message.WriteL(1, dataSize);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleLaunchActivityL(const RMessage2& message)
-{
-    ReadDataL(message);
-    LaunchActivityL();
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleWaitActivityL(const RMessage2& message)
-{
-    ReadDataL(message);
-    WaitActivityL(message);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleCancelWaitActivity(const RMessage2& /*message*/)
-	{
-	CancelNotify();
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::HandleGetDataL(const RMessage2& message)
-{
-    message.WriteL(0, mData);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::LaunchActivityL()
-{
-    CServer2* const server(const_cast<CServer2*>(Server()));
-    if(mActivity.end() == mActivity.find(ActivityApplicationKeyword) || 
-       mActivity.end() == mActivity.find(ActivityActivityKeyword)) {
-        User::Leave(KErrCorrupt);
-    }
-    static_cast<HsActivityServerPrivate*>
-        (server)->notifyL(mActivity.find(ActivityApplicationKeyword).value().toInt(), 
-                         mActivity.find(ActivityActivityKeyword).value().toString());
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::LaunchActivityL(const RMessage2 &message, 
-                                               const QString &name )
-{
-    if (mData.MaxSize() < name.toAscii().length()){
-        mData.ReAlloc( name.toAscii().length());
-    }
-    mData.Copy(reinterpret_cast<const TUint8*>(name.toAscii().data()),
-                                               name.toAscii().length());
-    TPckgC<int> dataSize(mData.Size());
-    message.WriteL(1, dataSize);
-    message.Complete(KErrNone);
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::WaitActivityL(const RMessage2& msg)
-{
-    CServer2* const server(const_cast<CServer2*>(Server()));
-    if(mActivity.end() == mActivity.find(ActivityApplicationKeyword)) {
-        User::Leave(KErrCorrupt);
-    }
-    mAppId = mActivity.find(ActivityApplicationKeyword).value().toInt();
-    static_cast<HsActivityServerPrivate*>
-        (server)->waitNotification(mAppId, msg);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::CancelNotify()
-	{
-	if ( mAppId != KErrNotFound )
-	    {
-	    CServer2* const server(const_cast<CServer2*>(Server()));
-	    static_cast<HsActivityServerPrivate*>(server)->cancelNotify(mAppId);
-	    mAppId = KErrNotFound;
-	    }
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::CancelNotify(RMessage2& message)
-	{
-	message.Complete(KErrCancel);
-	}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::ReadDataL(const RMessage2& src)
-{
-    int srcLength = src.GetDesLength(0);
-    User::LeaveIfError(srcLength);
-    RBuf8 buffer;
-    CleanupClosePushL(buffer);
-    buffer.CreateL(srcLength);
-    src.ReadL( 0, buffer, 0);
-    if (buffer.Length() != srcLength) {
-        User::Leave(KErrCorrupt);
-    }
-    mActivity << buffer;
-    CleanupStack::PopAndDestroy(&buffer);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivitySessionPrivate::LeaveIfNotZero(int errNo)
-{
-    if (KErrNone != errNo) {
-        User::LeaveIfError(errNo);
-        User::Leave(KErrGeneral);
-    }
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/s60/src/main.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application entry point
-*
-*/
-#include <QtCore>
-#include <QApplication>
-
-#include "hsactivityserver.h"
-#include "hsactivitystorage.h"
-
-
-
-int main(int argc, char *argv[])
-{
-    QApplication app(argc, argv);
-    HsActivityStorage storage;
-    HsActivityServer server(storage);
-    int retVal(KErrGeneral);
-    if( server.start() ){
-        RProcess::Rendezvous(KErrNone);
-        retVal = app.exec();
-    }else
-        RProcess::Rendezvous(retVal);
-    return retVal;
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/src/hsactivityserver.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application entry point
-*
-*/
-#include "hsactivityserver.h"
-#include "hsactivityserver_p.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityServer::HsActivityServer(HsActivityDbClientInterface& storage)
-:
-    d_ptr(new HsActivityServerPrivate(storage))
-{
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityServer::~HsActivityServer()
-{
-    delete d_ptr;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool HsActivityServer::start()
-{
-    return d_ptr->start();
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/src/hsactivitystorage.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application entry point
-*
-*/
-#include "hsactivitystorage.h"
-#include "hsactivitystorage_p.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityStorage::HsActivityStorage()
-:
-d_ptr(new HsActivityStoragePrivate())
-{
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityStorage::~HsActivityStorage()
-{
-    delete d_ptr;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::addActivity(const QVariantHash& activity)
-{
-    return d_ptr->addActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::updateActivity(const QVariantHash& activity)
-{
-    return d_ptr->updateActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::removeActivity(const QVariantHash& activity)
-{
-    return d_ptr->removeActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::removeApplicationActivities(const QVariantHash& activity)
-{
-    return d_ptr->removeApplicationActivities(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::activities(QList<QVariantHash>& result)
-{   
-    return d_ptr->activities(result);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::applicationActivities(QList<QVariantHash>& result, 
-                                             const QVariantHash &activity)
-{
-    return d_ptr->applicationActivities(result, activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::waitActivity(const QVariantHash &activity)
-{
-    return d_ptr->waitActivity(activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStorage::launchActivity(const QVariantHash &activity)
-{
-    return d_ptr->launchActivity(activity);
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/src/hsactivitystorage_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include <QSqlQuery>
-#include <QSqlError>
-#include <QStringList>
-#include <QSettings>
-#include <QSqlDriver>
-#include <QDebug>
-#include "hsactivitystorage_p.h"
-#include "hsactivity.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityStoragePrivate::HsActivityStoragePrivate()
-{
-    // determine database localization
-    QSettings settings(ActivityOrganization, ActivityApplication);
-    settings.setValue(ActivityStorageProperty, ActivityDefaultStorage);
-    if (!settings.contains(ActivityStorageProperty)) {
-        settings.setValue(ActivityStorageProperty, ActivityDefaultStorage);
-    }
-    QString databaseFile = settings.value(ActivityStorageProperty).toString();
-    
-    if (QSqlDatabase::contains(ActivityStorageName)) {
-        mConn = QSqlDatabase::database(ActivityStorageName);
-    } else {   
-        mConn = QSqlDatabase::addDatabase(ActivityStorageDriver, ActivityStorageName);
-        mConn.setDatabaseName(databaseFile);    
-        if (!mConn.open()) {
-            qWarning(qPrintable(mConn.lastError().text()));
-            return;
-        }
-    }
-    if (!checkTables()) {
-        recreateTables();
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-HsActivityStoragePrivate::~HsActivityStoragePrivate()
-{
-    mConn.close();
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::addActivity(const QVariantHash &activity)
-{
-    // stream whole entry to bytearray
-    QByteArray streamedData;
-    QDataStream stream(&streamedData, QIODevice::WriteOnly);
-    stream << activity;
-    
-    //insert data
-    QSqlQuery query(mConn);
-    query.prepare(ActivitySelectActivityQuery);
-    bind(query, activity);
-    exec(query);
-    if(query.next()) {
-        return KErrGeneral;
-    }
-    query.prepare(ActivityInsertActivityQuery);
-    QVariantHash additionalData;
-    additionalData.insert(ActivityDataKeyword, streamedData);
-    bind(query, activity, additionalData);
-    exec(query);
-    return 0>=query.numRowsAffected() ? KErrGeneral : getSqlErrorCode(query);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::updateActivity(const QVariantHash &activity)
-{
-    // stream whole entry to bytearray
-    QByteArray streamedData;
-    QDataStream stream(&streamedData, QIODevice::WriteOnly);
-    stream << activity;
-    
-    // update
-    QSqlQuery query(mConn);
-    query.prepare(ActivityUpdateActivityQuery);
-    QVariantHash additionalData;
-    additionalData.insert(ActivityDataKeyword, streamedData);
-    bind(query, activity, additionalData);
-    exec(query);
-    return 0>=query.numRowsAffected() ? KErrGeneral : getSqlErrorCode(query);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::removeActivity(const QVariantHash &activity)
-{
-    return exec(ActivityDeleteActivityQuery, activity);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::removeApplicationActivities(const QVariantHash &activity)
-{
-    return exec(ActivityDeleteApplicationActivitiesQuery, activity);
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::requestedActivityName(QString& result, 
-                                                    const QVariantHash &activity)
-{
-    QSqlQuery query(mConn);
-    query.prepare(ActivitySelectActiveQuery);
-    bind(query, activity);
-    int retVal(KErrNone);
-    if (exec(query) && query.next()) {
-        result = query.value(0).toString();
-    } else {
-        retVal = KErrNotFound;
-    }
-    return retVal;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::activities(QList<QVariantHash>& result)
-{
-    return activities(result, ActivityActivitiesQuery, QVariantHash());
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::applicationActivities(QList<QVariantHash> & result, 
-                                                    const QVariantHash & condition)
-{
-    return activities(result, ActivityApplicationActivitiesQuery, condition);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::waitActivity(const QVariantHash &)
-{
-    return KErrNotSupported;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::launchActivity(const QVariantHash &)
-{
-    return KErrNotSupported;
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool HsActivityStoragePrivate::checkTables()
-{
-    return (QStringList("Activities") == mConn.tables()); 
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityStoragePrivate::recreateTables()
-{
-    //start sql transaction
-    if (!mConn.transaction()) {
-        qErrnoWarning(qPrintable(mConn.lastError().text()));
-        return;
-    }
-    
-    // drop any existing tables
-    QSqlQuery query(mConn);
-    foreach (const QString &tableName, mConn.tables()) {
-        query.prepare(ActivityDropQuery);
-        query.bindValue(ActivityTableKeyword, tableName);
-        exec(query);
-    }
-    
-    // create new table
-    query.prepare(ActivityCreateQuery);
-    exec(query);
-    
-    //finish sql transaction
-    if (!mConn.commit()) {
-        qErrnoWarning(qPrintable(mConn.lastError().text()));
-    }  
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::getSqlErrorCode(const QSqlQuery& query)
-{
-    const QSqlError err(query.lastError());
-    const QString errStr(err.text());
-    
-    if (QSqlError ::NoError == err.type()) {
-        return 0;
-    } else {
-        qErrnoWarning(qPrintable(errStr));
-        return err.number();
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool HsActivityStoragePrivate::exec(QSqlQuery& query)
-{
-    const bool retVal = query.exec();
-    qErrnoWarning(qPrintable(query.lastQuery()));
-    if (!retVal) {
-        getSqlErrorCode(query);
-    }
-    return retVal;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-bool HsActivityStoragePrivate::exec(const QString &queryStr, const QVariantHash& params)
-{
-    QSqlQuery query(mConn);
-    query.prepare(queryStr);
-    bind(query, params);
-    query.exec();
-    return getSqlErrorCode(query);
-    
-}
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-void HsActivityStoragePrivate::bind( QSqlQuery& query, 
-                                   const QVariantHash &activity,
-                                   const QVariantHash &additionalData)
-{
-    const QChar tag(' ');
-    QString queryString( query.lastQuery() );
-    QVariantHash::const_iterator iter;
-    int offset(0);
-    QStringList tokens;
-    
-    //explode SQL query to tokens 
-    do {
-        offset = queryString.indexOf(tag, 0);
-        if (0 < offset) {
-            tokens << queryString.left(offset++);
-            queryString = queryString.right(queryString.length() - offset);
-        } else {
-            if (0 < queryString.length()) {
-                tokens << queryString;
-            }
-            break;
-        }
-    } while (true);
-    
-    //current Sql driver doesnt support proper query formating.
-    //reuest filtering data has to be binded in right order.
-    QStringList::iterator token = tokens.begin();
-    //iterate all tokens
-    for (; token != tokens.end(); token = tokens.erase(token)) {
-        //iterate all provided data and chcek if it match pattern
-        for ( iter = activity.constBegin();
-             iter != activity.constEnd(); 
-             ++iter ) {
-             if( (*token).contains(iter.key()) ){
-                query.bindValue(iter.key(), iter.value());
-                break;
-            }
-        }
-        for (iter = additionalData.constBegin(); 
-            iter != additionalData.constEnd(); 
-            ++iter) {
-            if ((*token).contains(iter.key())) {
-                query.bindValue(iter.key(), iter.value());
-                break;
-            }
-        }
-    }
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-int HsActivityStoragePrivate::activities(QList<QVariantHash> &results, 
-                                         const QString &queryStr,
-                                         const QVariantHash &conditions)
-{
-    results.clear();
-    
-    QSqlQuery query(mConn);
-    query.prepare(queryStr);
-    bind(query, conditions);
-    if (exec(query)) {
-        QVariantHash activityEntry;
-        while (query.next()) {
-            activityEntry.clear();
-            QByteArray data(query.value(0).toByteArray());
-            QDataStream stream(&data, QIODevice::ReadOnly);
-            stream >> activityEntry;
-            results.append(activityEntry);
-        }
-    }
-    return getSqlErrorCode(query);
-}
--- a/activitymanager/activitydatabase/hsactivitydbserver/src/main.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Application entry point
-*
-*/
-#include <QtCore>
-#include <QCoreApplication>
-
-#include "hsactivityserver.h"
-#include "hsactivitystorage.h"
-
-
-
-int main(int argc, char *argv[])
-{
-    QCoreApplication app(argc, argv);
-    HsActivityStorage storage;
-    HsActivityServer server(storage);
-    int retVal(KErrGeneral);
-    if( server.start() ){
-        retVal = app.exec();
-    }
-    return retVal;
-}
--- a/activitymanager/activitydatabase/inc/hsactivitydbclientinterface.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef HSACTIVITYDBCLIENTINTERFACE_H
-#define HSACTIVITYDBCLIENTINTERFACE_H
-#include <qvariant.h>
-
-/**
- * Enumerate supported functions
- */
-enum ClientFunctions 
-{
-    AddActivity =0,
-    UpdateActivity,
-    RemoveActivity,
-    RemoveApplicationActivities,
-    RequestedActivityName,
-    Activities,
-    ApplicationActivities,
-    WaitActivity,
-    LaunchActivity,
-    GetData,
-    CancelWait
-};
-
-const char ActivityApplicationKeyword [] = ":ApplicationId";
-const char ActivityActivityKeyword [] = ":ActivityName";
-
-class HsActivityDbClientInterface
-{
-public:
-    
-    /**
-     * Function save provided avtivity in activity storage
-     * @param activity - activity to store
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int addActivity(const QVariantHash &activity) =0;
-    
-    /**
-     * Function update exiting activity
-     * @param activity - filtering rules
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int updateActivity(const QVariantHash &activity) =0;
-    
-    /**
-     * Function delete activity
-     * @param activity - filtering rules
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int removeActivity(const QVariantHash &activity) =0;
-    
-    /**
-     * Function delete activity for application
-     * @param activity - filtering rules
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int removeApplicationActivities(const QVariantHash &activity) =0;
-    
-    /**
-     * Function return list of all activity
-     * @param result - destination list
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int activities(QList<QVariantHash>& result) =0;
-    
-    /**
-     * Function return list of all activity
-     * @param result - destination list,
-     * @param activity - filtering rules
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int applicationActivities(QList<QVariantHash>& result, 
-                                      const QVariantHash &activity) =0;
-    
-    /**
-     * Function subscribe to activity
-     * @param  activity - filtering rules
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int waitActivity(const QVariantHash &activity)=0;
-    
-    /**
-     * Function launch application activity
-     * @param activity - filtering rules 
-     * @return 0 on succees, error code otherwise 
-     */
-    virtual int launchActivity(const QVariantHash &activity)=0;
-};
-#endif //HSACTIVITYDBCLIENTINTERFACE_H
--- a/activitymanager/activitydatabase/s60/inc/hsactivityglobals.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef ACTIVITYSYMBIAN_H
-#define ACTIVITYSYMBIAN_H
-
-#include <e32base.h>
-const TUid KActivityServerUid = {0x200267B4};
-_LIT( KActivityServerName, "hsactivitydbserver" );
-_LIT( KErr400, "Bad Reqest" );
-_LIT( KErr403, "Access denied" );
-
-#endif
--- a/activitymanager/activitydatabase/s60/inc/hsserializer.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef HSSERIALIZER_H
-#define HSSERIALIZER_H
-#include <qvariant.h>
-
-/**
- * Operator serialize VarinatHash to RBuf8
- */
-RBuf8& operator <<(RBuf8& dst, const QVariantHash& src);
-
-/**
- * Operator deserialize RBuf8 to VarinatHash
- */
-QVariantHash& operator <<(QVariantHash& dst, const TDesC8& src);
-
-/**
- * Operator serialize QList<QVariantHash> to RBuf8
- */
-RBuf8& operator <<(RBuf8& dst, const QList<QVariantHash>& src);
-
-/**
- * Operator deserialize RBuf8 to QList<QVariantHash>
- */
-QList<QVariantHash>& operator <<(QList<QVariantHash>& dst, const TDesC8& src); 
-#endif
--- a/activitymanager/activitydatabase/s60/src/hsserializer.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "hsserializer.h"
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-RBuf8& operator <<(RBuf8& dst, const QVariantHash& src)
-{
-    QByteArray buffer;
-    QDataStream stream(&buffer, QIODevice::WriteOnly);
-    
-    QT_TRYCATCH_LEAVING(stream << src);
-    const int dataLength(buffer.length());
-    const unsigned char* dataPtr(reinterpret_cast<const unsigned char*>(buffer.constData()));
-    if( dst.MaxLength() < dataLength ) {
-        dst.ReAllocL(dataLength);
-    }
-    dst.Copy(dataPtr, dataLength);
-    return dst;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-QVariantHash& operator <<(QVariantHash& dst, const TDesC8& src)
-{
-    QByteArray buffer( QByteArray::fromRawData(reinterpret_cast<const char*>(src.Ptr()), 
-                                               src.Length()) );
-    
-    QDataStream stream(&buffer, QIODevice::ReadOnly);
-    QT_TRYCATCH_LEAVING(stream >> dst);
-    return dst;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-RBuf8& operator <<(RBuf8& dst, const QList<QVariantHash>& src)
-{
-    QByteArray buffer;
-    QDataStream stream(&buffer, QIODevice::WriteOnly);
-    
-    QT_TRYCATCH_LEAVING(stream << src);
-    
-    if( dst.MaxLength() < buffer.length() ) {
-        dst.ReAllocL(buffer.length());
-    }
-    dst.Copy(reinterpret_cast<const TUint8*>(buffer.data()), buffer.length());
-    return dst;
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-QList<QVariantHash>& operator <<(QList<QVariantHash>& dst, const TDesC8& src)
-{
-    QByteArray buffer(QByteArray::fromRawData(reinterpret_cast<const char*>(src.Ptr()), 
-                                              src.Length()));
-    
-    QDataStream stream(&buffer, QIODevice::ReadOnly);
-    QT_TRYCATCH_LEAVING(stream >> dst);
-    return dst;
-}
--- a/activitymanager/activitylauncher/activitylauncher.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = app
-
-TARGET = activitylauncher
-
-CONFIG += hb console mobility
-MOBILITY = serviceframework
-
-SOURCES =   main.cpp \
-            activitylauncherview.cpp \
-
-HEADERS =   activitylauncherview.h \
-
-symbian {
-    TARGET.EPOCHEAPSIZE = 0x20000 0x1000000 // 128kB - 16MB
-}
\ No newline at end of file
--- a/activitymanager/activitylauncher/activitylauncherview.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "activitylauncherview.h"
-
-#include <QGraphicsLinearLayout>
-#include <QStandardItemModel>
-#include <QProcess>
-
-#include <qservicemanager.h>
-
-#include <hblabel.h>
-#include <hbapplication.h>
-#include <hbpushbutton.h>
-#include <hbgridview.h>
-
-#include <hsactivitydbclientinterface.h>
-
-QTM_USE_NAMESPACE
-
-ActivityLauncherView::ActivityLauncherView(QGraphicsItem *parent) : HbView(parent), mModel(NULL), mActivityManager(NULL)
-{
-    QServiceManager serviceManager;
-    mActivityManager = serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager");
-    
-    if (!mActivityManager) {
-        qFatal("Cannot initialize critical com.nokia.qt.activities.ActivityManager service");
-    }
-
-    // create UI
-    setTitle(tr("Activity launcher"));
-    QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
-    QGraphicsLinearLayout* statusLayout = new QGraphicsLinearLayout(Qt::Horizontal);
-    mStatusLabel = new HbLabel(this);
-    mStatusLabel->setAlignment(Qt::AlignLeft);
-    statusLayout->setMaximumHeight(15);
-
-    HbLabel* statusHeader = new HbLabel("Status: ");
-    statusHeader->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
-    statusLayout->addItem(statusHeader);
-    statusLayout->addItem(mStatusLabel);
-
-    HbGridView* activities = new HbGridView();
-    connect(activities, SIGNAL(activated(QModelIndex)), this, SLOT(itemPressed(QModelIndex)));
-    activities->setRowCount(1);
-    activities->setColumnCount(1);
-
-    activities->setScrollDirections(Qt::Horizontal);
-
-    mModel = new QStandardItemModel(this);
-    activities->setModel(mModel);
-
-    layout->addItem(statusLayout);
-    layout->addItem(activities);
-
-    setLayout(layout);
-    qApp->installEventFilter(this);
-    getActivitiesList();
-}
-
-ActivityLauncherView::~ActivityLauncherView()
-{
-	delete mActivityManager;
-}
-
-void ActivityLauncherView::getActivitiesList()
-{
-    mStatusLabel->setPlainText("Fetching activities");
-    mCurrentActivities.clear();
-    QMetaObject::invokeMethod(mActivityManager, "activitiesList", Q_RETURN_ARG(QList<QVariantHash>, mCurrentActivities));
-    mModel->clear();
-
-    foreach(const QVariantHash& activityEntry, mCurrentActivities) {
-        QStandardItem* newItem = new QStandardItem(QIcon(activityEntry.value("screenshot").value<QPixmap>()), QString("%1").arg(activityEntry.value(ActivityActivityKeyword).toInt()));
-        mModel->invisibleRootItem()->appendRow(newItem);
-    }
-    mStatusLabel->setPlainText(QString("Ready (%1 activities)").arg(mCurrentActivities.count()));
-}
-
-bool ActivityLauncherView::eventFilter(QObject* obj, QEvent* event)
-{
-    if (event->type() == QEvent::ApplicationActivate) {
-        getActivitiesList();
-    }
-    return QObject::eventFilter(obj, event);
-}
-
-void ActivityLauncherView::itemPressed(const QModelIndex& index)
-{
-    QVariantHash activity = mCurrentActivities.at(index.row());
-    int applicationId = activity.value(ActivityApplicationKeyword).toInt();
-    QString activityName = activity.value(ActivityActivityKeyword).toString();
-    QMetaObject::invokeMethod(mActivityManager, "launchActivity", Q_ARG(int, applicationId), Q_ARG(QString, activityName));
-}
--- a/activitymanager/activitylauncher/activitylauncherview.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYLAUNCHERVIEW_H
-#define ACTIVITYLAUNCHERVIEW_H
-
-#include <hbview.h>
-#include <QVariant>
-
-class HbLabel;
-class QStandardItemModel;
-    
-class ActivityLauncherView : public HbView
-{
-    Q_OBJECT
-
-public:
-    ActivityLauncherView(QGraphicsItem *parent = 0);
-    ~ActivityLauncherView();
-
-private slots:
-	void itemPressed(const QModelIndex& index);
-
-protected:
-    bool eventFilter(QObject* obj, QEvent* event);
-
-private:
-    void getActivitiesList();
-
-private:
-    QStandardItemModel* mModel;
-    QList<QVariantHash> mCurrentActivities;
-    HbLabel* mStatusLabel;
-    
-    QObject* mActivityManager;
-};
-
-#endif // ACTIVITYLAUNCHERVIEW_H
--- a/activitymanager/activitylauncher/main.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include <QCoreApplication>
-
-#include <hbapplication.h>
-#include <hbmainwindow.h>
-
-#include "activitylauncherview.h"
-
-int main(int argc, char *argv[])
-{
-    HbApplication app(argc, argv); 
-
-    HbMainWindow mainWindow;
-    ActivityLauncherView mainView;
-    mainWindow.addView(&mainView);
-    mainWindow.show();
-
-    return app.exec(); 
-}
--- a/activitymanager/activitymanager.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = subdirs
-
-CONFIG += ordered
-
-symbian:SUBDIRS += activitydatabase
-
-SUBDIRS +=  activityserviceplugin \
-            activitylauncher \
-            orbitintegration/hbactivityplugin 
-            
-
-
-tests:SUBDIRS += activityserviceplugin/unittests
-symbian:SUBDIRS += activityserviceplugin/symbianinstaller
-
-symbian:include(rom.pri)
\ No newline at end of file
--- a/activitymanager/activityserviceplugin/activityclient.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "activityclient.h"
-#include "activityclient_p.h"
-
-ActivityClient::ActivityClient(QObject *parent) : QObject(parent), d_ptr(new ActivityClientPrivate(this))
-{
-}
-
-ActivityClient::~ActivityClient()
-{
-}
-
-bool ActivityClient::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
-{
-    return d_ptr->addActivity(activityId, data, parameters);
-}
-
-bool ActivityClient::removeActivity(const QString &activityId)
-{
-    return d_ptr->removeActivity(activityId);
-}
-
-bool ActivityClient::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
-{
-    return d_ptr->updateActivity(activityId, data, parameters);
-}
-
-QList<QVariantHash> ActivityClient::activities() const
-{
-    return d_ptr->activities();
-}
-
-QVariant ActivityClient::activityData(const QString &activityId) const
-{
-    return d_ptr->activityData(activityId);
-}
-
-bool ActivityClient::waitActivity()
-{
-    return d_ptr->waitActivity();
-}
--- a/activitymanager/activityserviceplugin/activityclient.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYCLIENT_H
-#define ACTIVITYCLIENT_H
-
-#include <QObject>
-#include <QVariant>
-#include <QString>
-
-class ActivityClientPrivate;
-
-class ActivityClient : public QObject
-{
-
-Q_OBJECT
-
-public:
-    ActivityClient(QObject *parent = 0);
-    ~ActivityClient();
-
-public slots:
-    bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
-    bool removeActivity(const QString &activityId);
-    bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
-    QList<QVariantHash> activities() const;
-    QVariant activityData(const QString &activityId) const;
-    bool waitActivity();
-
-signals:
-    void activityRequested(const QString &activityId);
-    
-private:
-    ActivityClientPrivate *d_ptr;
-    friend class ActivityClientPrivate;
-    
-};
-
-#endif // ACTIVITYCLIENT_H
--- a/activitymanager/activityserviceplugin/activityclient_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "activityclient_p.h"
-#include "activityclient.h"
-#include "activitydatastorage.h"
-#include <hsactivitydbclient.h>
-
-#include <QStringList>
-#include <QTimer>
-
-ActivityClientPrivate::ActivityClientPrivate(ActivityClient *q) : QObject(q)
-{
-    mDataStorage = new ActivityDataStorage();
-    mServerClient = new HsActivityDbClient();
-    mServerClient->connect();
-    connect(mServerClient, SIGNAL(activityRequested(QString)), q, SIGNAL(activityRequested(QString)));
-}
-
-ActivityClientPrivate::~ActivityClientPrivate()
-{
-    delete mServerClient;
-    delete mDataStorage;
-}
-
-bool ActivityClientPrivate::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
-{
-    QVariantHash activity(parameters);
-    mDataStorage->addActivity(activityId, data);
-    RProcess process;
-    
-    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
-    activity.insert(ActivityActivityKeyword, activityId);
-    mServerClient->addActivity(activity);
-    
-    // @todo make those operations atomic
-    // @todo return real result
-    return true;
-}
-
-bool ActivityClientPrivate::removeActivity(const QString &activityId)
-{
-    QVariantHash activity;
-    RProcess process;
-    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
-    activity.insert(ActivityActivityKeyword, activityId);
-    mDataStorage->removeActivity(activityId); 
-    mServerClient->removeActivity(activity); 
-    // @todo make those operations atomic
-    // @todo return real result
-    return true;
-}
-
-bool ActivityClientPrivate::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
-{
-    QVariantHash activity(parameters);
-    RProcess process;
-    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
-    activity.insert(ActivityActivityKeyword, activityId);
-    mDataStorage->updateActivity(activityId, data);
-    mServerClient->updateActivity(activity);
-    // @todo make those operations atomic
-    // @todo return real result
-    return true;
-}
-
-QList<QVariantHash> ActivityClientPrivate::activities() const
-{
-    QVariantHash activity;
-    RProcess process;
-    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
-
-    QList<QVariantHash> activities;
-
-    mServerClient->applicationActivities(activities, activity);
-    return activities;
-}
-
-QVariant ActivityClientPrivate::activityData(const QString &activityId) const
-{
-    return mDataStorage->activityData(activityId);
-}
-
-bool ActivityClientPrivate::waitActivity()
-{
-    RProcess process;
-    QVariantHash activity;
-    activity.insert(ActivityApplicationKeyword, static_cast<int>(process.SecureId().iId));
-    return !mServerClient->waitActivity(activity);
-}
--- a/activitymanager/activityserviceplugin/activityclient_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYCLIENT_P_H
-#define ACTIVITYCLIENT_P_H
-
-#include <QObject>
-#include <QVariant>
-#include <QString>
-#include <QPixmap>
-
-class ActivityClient;
-class ActivityDataStorage;
-class ActivityServerClient;
-class HsActivityDbClient;
-
-class ActivityClientPrivate : public QObject 
-{
-
-Q_OBJECT
-
-public:
-    ActivityClientPrivate(ActivityClient *q);
-    ~ActivityClientPrivate();
-
-public:
-    bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
-    bool removeActivity(const QString &activityId);
-    bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
-    QList<QVariantHash> activities() const;
-    QVariant activityData(const QString &activityId) const;
-    bool waitActivity();
-    
-    
-private:
-    ActivityClient* q_ptr;   
-    ActivityDataStorage* mDataStorage;
-    HsActivityDbClient* mServerClient;
-};
-
-#endif // ACTIVITYCLIENT_P_H
--- a/activitymanager/activityserviceplugin/activitydatastorage.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "activitydatastorage.h"
-
-#include <QSqlDatabase>
-#include <QSqlQuery>
-#include <QSqlError>
-#include <QStringList>
-
-const char KConnectionName[] = "ActivityDataStorage";
-
-ActivityDataStorage::ActivityDataStorage()
-{
-    QSqlDatabase database;
-    if (QSqlDatabase::contains(KConnectionName)) {
-        database = QSqlDatabase::database(KConnectionName);
-    } else {   
-        database = QSqlDatabase::addDatabase("QSQLITE", KConnectionName);
-        database.setDatabaseName("activitydatastorage.db");    
-        if (!database.open()) {
-            qFatal(qPrintable(database.lastError().text()));
-        }
-    }
-
-    if (!checkTables()) {
-        recreateTables();
-    }
-}
-
-ActivityDataStorage::~ActivityDataStorage()
-{
-    QSqlDatabase::database(KConnectionName).close();
-}
-
-bool ActivityDataStorage::addActivity(const QString &activityId, const QVariant &data)
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    
-    QByteArray streamedData;
-    {
-        QDataStream stream(&streamedData, QIODevice::WriteOnly);
-        stream << data;
-    }    
-    
-    // insert data
-    QSqlQuery query(database);
-    if (!query.prepare("INSERT INTO Activities(Name, Data) VALUES(:Name, :Data)")) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    query.bindValue(":Name", activityId);
-    query.bindValue(":Data", streamedData);
-    if (!query.exec()) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }        
-    
-    return true;
-}
-
-bool ActivityDataStorage::removeActivity(const QString &activityId)
-{
-    QString sqlCommand = QString("DELETE FROM Activities WHERE Name = '%1'").arg(activityId);
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    if (!query.exec(sqlCommand)) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    return query.numRowsAffected() > 0;
-}
-
-bool ActivityDataStorage::updateActivity(const QString &activityId, const QVariant &data)
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    
-    QByteArray streamedData;
-    {
-        QDataStream stream(&streamedData, QIODevice::WriteOnly);
-        stream << data;
-    }    
-    
-    // update data
-    QSqlQuery query(database);
-    if (!query.prepare("UPDATE Activities SET Data = :Data WHERE Name = :Name")) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    query.bindValue(":Data", streamedData);
-    query.bindValue(":Name", activityId);
-    if (!query.exec()) {
-        qCritical(qPrintable(query.lastError().text()));
-        return false;
-    }
-    
-    return query.numRowsAffected() > 0;
-}
-
-QVariant ActivityDataStorage::activityData(const QString &activityId) const
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    QSqlQuery query(database);
-    if (!query.exec(QString("SELECT Data FROM Activities WHERE Name = '%1'").arg(activityId))) {
-        qCritical(qPrintable(query.lastError().text()));
-        return QVariant();
-    }
-    
-    QVariant result;
-    if (query.next()) {
-        QByteArray data(query.value(0).toByteArray());
-        QDataStream stream(&data, QIODevice::ReadOnly);
-        stream >> result;
-    }   
-    return result;
-}
-
-bool ActivityDataStorage::checkTables()
-{
-    QStringList expectedTables("Activities");
-    QStringList actualTables = QSqlDatabase::database(KConnectionName).tables();
-    return (expectedTables == actualTables);    
-}
-
-void ActivityDataStorage::recreateTables()
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    
-    if (!database.transaction()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }
-    
-    // drop any existing tables
-    {
-        QSqlQuery dropQuery(database);
-        foreach(const QString &tableName, database.tables()) {
-            if (!dropQuery.exec(QString("DROP TABLE %1").arg(tableName))) {
-                qFatal(qPrintable(dropQuery.lastError().text()));
-            }
-        }
-    }
-
-    // create new table
-    {
-        QSqlQuery createQuery(database);
-        QString statement(
-            "CREATE TABLE Activities("
-            "Name TEXT NOT NULL PRIMARY KEY UNIQUE,"
-            "Data BLOB NOT NULL)");    
-        
-        if (!createQuery.exec(statement)) {
-            qFatal(qPrintable(createQuery.lastError().text()));
-        }
-    }
-    
-    if (!database.commit()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }    
-}
--- a/activitymanager/activityserviceplugin/activitydatastorage.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYDATASTORAGE_H
-#define ACTIVITYDATASTORAGE_H
-
-#include <QVariant>
-#include <QString>
-
-class ActivityDataStorage 
-{
-  
-public:
-    ActivityDataStorage();
-    ~ActivityDataStorage();
-  
-public:
-    bool addActivity(const QString &activityId, const QVariant &data);
-    bool removeActivity(const QString &activityId);
-    bool updateActivity(const QString &activityId, const QVariant &data);
-    QVariant activityData(const QString &activityId) const;
-  
-private:
-    bool checkTables();
-    void recreateTables();
-    
-};
-
-#endif // ACTIVITYDATASTORAGE_H
--- a/activitymanager/activityserviceplugin/activitymanager.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "activitymanager.h"
-#include "activitymanager_p.h"
-
-ActivityManager::ActivityManager(QObject *parent) : QObject(parent), d_ptr(new ActivityManagerPrivate(this))
-{
-}
-
-ActivityManager::~ActivityManager()
-{
-}
-
-QList<QVariantHash> ActivityManager::activitiesList() 
-{ 
-    return d_ptr->activitiesList(); 
-}
-
-void ActivityManager::launchActivity(const QString &uri)
-{ 
-    d_ptr->launchActivity(uri); 
-}
-
-void ActivityManager::launchActivity(int applicationId, const QString &activityId)
-{ 
-    d_ptr->launchActivity(applicationId, activityId);
-}
-
-void ActivityManager::removeActivity(int applicationId, const QString &activityId)
-{ 
-    d_ptr->removeActivity(applicationId, activityId);
-}
-
-void ActivityManager::removeApplicationActivities(int applicationId)
-{ 
-    d_ptr->removeApplicationActivities(applicationId);
-}
--- a/activitymanager/activityserviceplugin/activitymanager.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYMANAGER_H
-#define ACTIVITYMANAGER_H
-
-#include <QObject>
-#include <QVariant>
-#include <QList>
-
-class ActivityManagerPrivate;
-
-class ActivityManager : public QObject
-{
-
-Q_OBJECT
-
-public:
-    ActivityManager(QObject *parent = 0);
-    ~ActivityManager();
-
-public slots:
-    QList<QVariantHash> activitiesList();
-    void launchActivity(const QString &uri);  
-    void launchActivity(int applicationId, const QString &activityId);  
-    void removeActivity(int applicationId, const QString &activityId);  
-    void removeApplicationActivities(int applicationId);  
-    
-private:
-    ActivityManagerPrivate *d_ptr;
-    
-    friend class ActivityManagerPrivate;
-    
-};
-
-#endif // ACTIVITYMANAGER_H
--- a/activitymanager/activityserviceplugin/activitymanager_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "activitymanager_p.h"
-#include "activitymanager.h"
-#include <hsactivitydbclient.h>
-
-#include <QRegExp>
-#include <QStringList>
-
-ActivityManagerPrivate::ActivityManagerPrivate(ActivityManager *q) : QObject(q), q_ptr(q)
-{
-    mServerClient = new HsActivityDbClient();
-    mServerClient->connect();
-}
-
-ActivityManagerPrivate::~ActivityManagerPrivate()
-{
-    delete mServerClient;
-}
-
-QList<QVariantHash> ActivityManagerPrivate::activitiesList()
-{
-    QList<QVariantHash> retVal;
-    mServerClient->activities(retVal);
-    return retVal;
-}
-
-void ActivityManagerPrivate::launchActivity(const QString &uri)
-{ 
-    // @todo use the same parser as in HbApplicationPrivate (if possible)
-    QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$");
-    if (uriMatcher.indexIn(uri) != -1) {
-        QStringList list = uriMatcher.capturedTexts();
-        Q_ASSERT(list.count() == 3);
-        launchActivity(list.at(1).toInt(), list.at(2));
-    } else {
-        qWarning("Activity URI parsing error");    
-    }
-}
-
-void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId)
-{ 
-
-    ApplicationLauncher applicationLauncher;
-    if(applicationLauncher.isRunning(applicationId)) {
-        QVariantHash activity;
-        activity.insert(ActivityApplicationKeyword, applicationId);
-        activity.insert(ActivityActivityKeyword, activityId);
-        mServerClient->launchActivity(activity);
-        applicationLauncher.bringToForeground(applicationId);
-    } else {
-        applicationLauncher.startApplication(applicationId, activityId);
-    }
-}
-
-void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId)
-{ 
-    QVariantHash activity;
-    activity.insert(ActivityApplicationKeyword, applicationId);
-    activity.insert(ActivityActivityKeyword, activityId);
-    mServerClient->removeActivity(activity);
-}
-
-void ActivityManagerPrivate::removeApplicationActivities(int applicationId)
-{
-    QVariantHash activity;
-    activity.insert(ActivityApplicationKeyword, applicationId);
-    mServerClient->removeApplicationActivities(activity);
-}
--- a/activitymanager/activityserviceplugin/activitymanager_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYMANAGER_P_H
-#define ACTIVITYMANAGER_P_H
-
-#include <QObject>
-#include <QVariant>
-#include <QList>
-#include "applicationlauncher.h"
-
-class ActivityManager;
-class HsActivityDbClient;
-
-class ActivityManagerPrivate : public QObject
-{
-
-Q_OBJECT
-
-public:
-    ActivityManagerPrivate(ActivityManager *q);
-    ~ActivityManagerPrivate();
-
-public slots:
-    QList<QVariantHash> activitiesList();
-    void launchActivity(const QString &uri);  
-    void launchActivity(int applicationId, const QString &activityId);  
-    void removeActivity(int applicationId, const QString &activityId);  
-    void removeApplicationActivities(int applicationId);  
-
-private:
-    ActivityManager *q_ptr;
-    HsActivityDbClient *mServerClient;
-    
-    
-};
-
-#endif // ACTIVITYMANAGER_P_H
--- a/activitymanager/activityserviceplugin/activityserviceplugin.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "activityserviceplugin.h"
-
-#include <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-
-#include "activityclient.h"
-#include "activitymanager.h"
-
-QObject* ActivityServicePlugin::createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session)
-{
-    Q_UNUSED(context);
-    Q_UNUSED(session);
-
-    if (descriptor.interfaceName() == "com.nokia.qt.activities.ActivityClient") {
-        return new ActivityClient();
-    } else if (descriptor.interfaceName() == "com.nokia.qt.activities.ActivityManager") {        
-        return new ActivityManager();
-    } else {
-        return NULL;
-    }
-}
-
-Q_EXPORT_PLUGIN2(activityserviceplugin, ActivityServicePlugin)
--- a/activitymanager/activityserviceplugin/activityserviceplugin.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYSERVICEPLUGIN_H
-#define ACTIVITYSERVICEPLUGIN_H
-
-#include <QObject>
-#include <qserviceplugininterface.h>
-
-QTM_USE_NAMESPACE
-
-class ActivityServicePlugin : public QObject, public QServicePluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(QtMobility::QServicePluginInterface)
-    
-public:
-    QObject* createInstance(const QServiceInterfaceDescriptor &descriptor, QServiceContext *context, QAbstractSecuritySession *session);
-    
-};
-
-#endif //ACTIVITYSERVICEPLUGIN_H
--- a/activitymanager/activityserviceplugin/activityserviceplugin.pri	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-CONFIG += mobility
-MOBILITY = serviceframework
-
-QT += sql
--- a/activitymanager/activityserviceplugin/activityserviceplugin.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = lib
-TARGET = activityserviceplugin
-
-CONFIG += plugin 
-include(activityserviceplugin.pri)
-
-HEADERS +=  activityserviceplugin.h \
-            activitydatastorage.h \
-            activityclient.h \
-            activityclient_p.h \
-            activitymanager.h \
-            activitymanager_p.h \
-            applicationlauncher.h \
-
-SOURCES +=  activityserviceplugin.cpp \
-            activitydatastorage.cpp \
-            activityclient.cpp \
-            activityclient_p.cpp \
-            activitymanager.cpp \
-            activitymanager_p.cpp \
-            applicationlauncher.cpp \
-
-symbian {
-    INCLUDEPATH += ./s60/
-    SOURCES += ./s60/applicationlauncher_p.cpp
-    
-    HEADERS += ./s60/applicationlauncher_p.h
-
-    LIBS += -lhsactivitydbclient \
-            -lxqutils \
- 
-}
-
-win32 {
-    INCLUDEPATH += ./win/
-    SOURCES += ./win/applicationlauncher_p.cpp
-
-    HEADERS += ./win/applicationlauncher_p.h
-}            
-            
-symbian {
-    load(data_caging_paths) 
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.CAPABILITY = ALL -TCB
-
-    plugin.sources = activityserviceplugin.dll
-    plugin.path = $$QT_PLUGINS_BASE_DIR     
-}
--- a/activitymanager/activityserviceplugin/activityserviceplugin.xml	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<service>
-    <name>ActivityService</name>
-    <filepath>activityserviceplugin</filepath>
-    <description>Activities service</description>
-    <interface>
-        <name>com.nokia.qt.activities.ActivityClient</name>
-        <version>1.0</version>
-        <description>Implementation of ActivityClient</description>
-    </interface>
-    <interface>
-        <name>com.nokia.qt.activities.ActivityManager</name>
-        <version>1.0</version>
-        <description>Implementation of ActivityManager</description>
-    </interface>
-</service>
--- a/activitymanager/activityserviceplugin/applicationlauncher.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "applicationlauncher.h"
-#include "applicationlauncher_p.h"
-
-ApplicationLauncher::ApplicationLauncher() : d_ptr(new ApplicationLauncherPrivate())
-{
-}
-
-ApplicationLauncher::~ApplicationLauncher()
-{
-    delete d_ptr;
-}
-
-bool ApplicationLauncher::isRunning(int applicationId)
-{
-    return d_ptr->isRunning(applicationId);
-}
-
-void ApplicationLauncher::startApplication(int applicationId, const QString &activityId)
-{
-    d_ptr->startApplication(applicationId, activityId);
-}
-
-void ApplicationLauncher::bringToForeground(int applicationId)
-{
-    d_ptr->bringToForeground(applicationId);
-}
--- a/activitymanager/activityserviceplugin/applicationlauncher.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef APPLICATIONLAUNCHER_H
-#define APPLICATIONLAUNCHER_H
-
-class ApplicationLauncherPrivate;
-
-#include <QString>
-
-class ApplicationLauncher
-{
-
-public:
-    ApplicationLauncher();
-    ~ApplicationLauncher();
-    
-public:    
-    bool isRunning(int applicationId);
-    void startApplication(int applicationId, const QString &activityId);
-    void bringToForeground(int applicationId);
-    
-private:    
-    ApplicationLauncherPrivate *d_ptr;
-    
-};
-
-#endif // APPLICATIONLAUNCHER_H
--- a/activitymanager/activityserviceplugin/s60/activitydatabase_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "activitydatabase_p.h"
-
-#include <QSqlDatabase>
-#include <QSqlQuery>
-#include <QSqlError>
-#include <QStringList>
-#include <QSettings>
-
-
-
-ActivityDatabasePrivate::ActivityDatabasePrivate()
-{
-    mClient.connect();
-}
-
-ActivityDatabasePrivate::~ActivityDatabasePrivate()
-{
-}
-
-void ActivityDatabasePrivate::saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata) 
-{
-    QVariantHash request(activityMetadata);
-    request.insert(ActivityApplicationKeyword,applicationName);
-    request.insert(ActivityActivityKeyword,activityName);
-    mClient.saveActivity(request);
-    
-}
-
-void ActivityDatabasePrivate::deleteActivity(const QString &applicationName, const QString &activityName)
-{
-    QVariantHash request;
-    request.insert(ActivityApplicationKeyword,applicationName);
-    request.insert(ActivityActivityKeyword,activityName);
-    mClient.deleteActivity(request);
-}
-
-void ActivityDatabasePrivate::deleteApplicationActivities(const QString &applicationName)
-{
-    QVariantHash request;
-    request.insert(ActivityApplicationKeyword,applicationName);
-    mClient.deleteApplicationActivities(request);
-}
-
-QList<QVariantHash> ActivityDatabasePrivate::allActivitiesList()
-{
-    QList<QVariantHash> retVal;
-    mClient.activities(retVal);
-    return retVal;
-}
-
-QList<QVariantHash> ActivityDatabasePrivate::applicationActivitiesList(const QString & applicationName)
-{
-    QList<QVariantHash> result;
-    QVariantHash request;
-    request.insert(ActivityApplicationKeyword,applicationName);
-    mClient.applicationActivities(result, request);
-    return result;
-}
-
-
-QString ActivityDatabasePrivate::requestedActivityName(const QString &applicationName)
-{
-    QString result;
-    QVariantHash request;
-    request.insert(ActivityApplicationKeyword,applicationName);
-    mClient.requestedActivityName(result, request);
-    return result;
-}
-
-void ActivityDatabasePrivate::setActivityRequestFlag(const QString &applicationName, const QString &activityName)
-{
-    QVariantHash request;
-    request.insert(ActivityApplicationKeyword,applicationName);
-    request.insert(ActivityActivityKeyword,activityName);
-    mClient.setActivityRequestFlag(request);
-}
-
-void ActivityDatabasePrivate::clearActivityRequestFlag(const QString &applicationName, const QString &activityName)
-{
-    QVariantHash request;
-    request.insert(ActivityApplicationKeyword,applicationName);
-    request.insert(ActivityActivityKeyword,activityName);
-    mClient.clearActivityRequestFlag(request);
-}
-
--- a/activitymanager/activityserviceplugin/s60/activitydatabase_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYDATABASE_P_H
-#define ACTIVITYDATABASE_P_H
-
-#include <QVariant>
-#include <QList>
-#include <hsactivitydbclient.h>
-class ActivityDatabasePrivate {
-
-public:
-    ActivityDatabasePrivate();
-    ~ActivityDatabasePrivate();
-    
-public:
-    void saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata);    
-    void deleteActivity(const QString &applicationName, const QString &activityName);
-    void deleteApplicationActivities(const QString &applicationName);    
-    QList<QVariantHash> allActivitiesList();
-    QList<QVariantHash> applicationActivitiesList(const QString &applicationName);    
-    QString requestedActivityName(const QString &applicationName);
-    void setActivityRequestFlag(const QString &applicationName, const QString &activityName);
-    void clearActivityRequestFlag(const QString &applicationName, const QString &activityName);
-    
-private:
-	HsActivityDbClient mClient;
-};
-
-#endif // ACTIVITYDATABASE_P_H
--- a/activitymanager/activityserviceplugin/s60/activityserverclient_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "activityserverclient_p.h"
-
-ActivityServerClientPrivate::ActivityServerClientPrivate()
-{
-}
-
-bool ActivityServerClientPrivate::addActivity(const QString &activityId, const QVariantHash &parameters)
-{
-    return true;
-}
-
-bool ActivityServerClientPrivate::removeActivity(const QString &activityId)
-{
-    return true;
-}
-
-bool ActivityServerClientPrivate::updateActivity(const QString &activityId, const QVariantHash &parameters)
-{
-    return true;
-}
-
-QList<QVariantHash> ActivityServerClientPrivate::applicationActivities()
-{
-    return QList<QVariantHash>();
-}
-
-bool ActivityServerClientPrivate::removeActivity(int applicationId, const QString &activityId)
-{
-    return true;
-}
-
-bool ActivityServerClientPrivate::removeApplicationActivities(int applicationId)
-{
-    return true;
-}
-
-QList<QVariantHash> ActivityServerClientPrivate::activities()
-{
-    return QList<QVariantHash>();
-}
--- a/activitymanager/activityserviceplugin/s60/activityserverclient_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYSERVERCLIENT_P_H
-#define ACTIVITYSERVERCLIENT_P_H
-
-#include <QString>
-#include <QVariantHash>
-
-class ActivityServerClient;
-
-class ActivityServerClientPrivate
-{
-
-public:
-    ActivityServerClientPrivate();
-  
-public: // API used by ActivityClient
-    bool addActivity(const QString &activityId, const QVariantHash &parameters);
-    bool removeActivity(const QString &activityId);
-    bool updateActivity(const QString &activityId, const QVariantHash &parameters);
-    QList<QVariantHash> applicationActivities();
-
-public: // API  used by ActivityManager
-    bool removeActivity(int applicationId, const QString &activityId);
-    bool removeApplicationActivities(int applicationId);
-    QList<QVariantHash> activities();    
-    
-public:
-    ActivityServerClient* q_ptr;    
-    
-};
-
-#endif // ACTIVITYSERVERCLIENT_P_H
--- a/activitymanager/activityserviceplugin/s60/applicationlauncher_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "applicationlauncher_p.h"
-
-#include <apgcli.h>
-#include <apacmdln.h>
-#include <APGTASK.H>
-#include <eikenv.h>
-
-#include <XQConversions>
-
-bool ApplicationLauncherPrivate::isRunning(int applicationId)
-{
-    TApaTaskList taskList(CEikonEnv::Static()->WsSession());
-    TApaTask task = taskList.FindApp(TUid::Uid(applicationId));
-    return task.Exists();
-}
-
-void ApplicationLauncherPrivate::startApplication(int applicationId, const QString &activityId)
-{
-	QString actId = "\""+activityId+"\"";
-    QString uri = QString("-activity appto://%1?activityname=%2").arg(uint(applicationId), 8, 16, QChar('0')).arg(actId);
-    
-    QT_TRAP_THROWING(
-    {
-        HBufC* uriAsDescriptor = XQConversions::qStringToS60Desc(uri);
-        CleanupStack::PushL(uriAsDescriptor);
-        
-        RApaLsSession apaLsSession;
-        User::LeaveIfError(apaLsSession.Connect());
-        CleanupClosePushL(apaLsSession);
-     
-        TApaAppInfo appInfo;
-        TInt retVal = apaLsSession.GetAppInfo(appInfo, TUid::Uid(applicationId));
-     
-        if(retVal == KErrNone) {
-            RProcess application;
-            User::LeaveIfError(application.Create(appInfo.iFullName, *uriAsDescriptor));
-            application.Resume();
-        } else {
-            // @todo
-        }
-     
-        CleanupStack::PopAndDestroy(&apaLsSession);
-        CleanupStack::PopAndDestroy(uriAsDescriptor);
-    }
-    );
-}
-
-void ApplicationLauncherPrivate::bringToForeground(int applicationId)
-{
-    TApaTaskList taskList(CEikonEnv::Static()->WsSession());
-    TApaTask task = taskList.FindApp(TUid::Uid(applicationId));
-    if (task.Exists()) {
-        task.BringToForeground();
-    } else {
-        qCritical("Cannot bring to forward task %08x", applicationId);
-    }
-}
--- a/activitymanager/activityserviceplugin/s60/applicationlauncher_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef APPLICATIONLAUNCHER_P_H
-#define APPLICATIONLAUNCHER_P_H
-
-#include <QString>
-
-class ApplicationLauncherPrivate
-{
-    
-public:    
-    bool isRunning(int applicationId);
-    void startApplication(int applicationId, const QString &activityId);
-    void bringToForeground(int applicationId);
-    
-};
-
-#endif // APPLICATIONLAUNCHER_P_H
--- a/activitymanager/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include <qservicemanager.h>
-#include <QCoreApplication>
-
-QTM_USE_NAMESPACE
-
-int main(int argc, char *argv[])
-{
-    QCoreApplication app(argc, argv);
-
-    QServiceManager manager;
-    bool ok = manager.addService(":/activityserviceplugin.xml");
-    if ( !ok )
-    {
-    int err = manager.error();    
-    qFatal("%d ini", err);
-    }
-}
--- a/activitymanager/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = app
-
-QT = core
-#CONFIG += no_icon
-
-CONFIG += mobility
-MOBILITY = serviceframework
-
-SOURCES += activityserviceinstaller.cpp
-
-RESOURCES += activityserviceinstaller.qrc
-
-symbian {
-    TARGET.CAPABILITY = ALL -TCB
-}
--- a/activitymanager/activityserviceplugin/symbianinstaller/activityserviceinstaller/activityserviceinstaller.qrc	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/" >
-        <file alias="activityserviceplugin.xml">../../activityserviceplugin.xml</file>
-    </qresource>
-</RCC>
--- a/activitymanager/activityserviceplugin/symbianinstaller/symbianinstaller.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = subdirs
-SUBDIRS = activityserviceinstaller
-
-symbian {
-    load(data_caging_paths) 
-
-    plugin.sources = activityserviceplugin.dll
-    plugin.path = $$QT_PLUGINS_BASE_DIR 
-    
-    installer.pkg_postrules += "\"$${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET)/activityserviceinstaller.exe\" \  
-                                         - \"!:\sys\bin\activityserviceinstaller.exe\",FR,RB,RW"
-    
-    DEPLOYMENT += plugin installer
-}
--- a/activitymanager/activityserviceplugin/win/activitydatabase_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "activitydatabase_p.h"
-
-#include <QSqlDatabase>
-#include <QSqlQuery>
-#include <QSqlError>
-#include <QStringList>
-#include <QSettings>
-
-#include <hsactivitydbclient.h>
-
-const char KConnectionName[] = "ActivityDatabase";
-
-ActivityDatabasePrivate::ActivityDatabasePrivate()
-{
-    // determine database localization
-    QSettings settings("nokia", "activities");
-    if (!settings.contains("activitydatabase")) {
-        settings.setValue("activitydatabase", "C:\\activitydatabase.db");
-    }
-    QString databaseFile = settings.value("activitydatabase").toString();
-
-    QSqlDatabase database;
-    if (QSqlDatabase::contains(KConnectionName)) {
-        database = QSqlDatabase::database(KConnectionName);
-    } else {   
-        database = QSqlDatabase::addDatabase("QSQLITE", KConnectionName);
-        database.setDatabaseName(databaseFile);    
-        if (!database.open()) {
-            qFatal(qPrintable(database.lastError().text()));
-        }
-    }    
-    
-    if (!checkTables()) {
-        recreateTables();
-    }
-}
-
-ActivityDatabasePrivate::~ActivityDatabasePrivate()
-{
-    QSqlDatabase::database(KConnectionName).close();
-}
-
-void ActivityDatabasePrivate::saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata) 
-{
-    if (applicationName.isEmpty() || activityName.isEmpty() || activityMetadata.value("screenshot").isNull()) {
-        qWarning("Activity entry is invalid, aborting save");
-        return;
-    }
-    
-    QVariantHash activityData(activityMetadata);
-    activityData.insert(ActivityApplicationKeyword, applicationName);
-    activityData.insert(ActivityActivityKeyword, activityName);    
-    
-    // stream whole entry to bytearray
-    QByteArray streamedData;
-    {
-        QDataStream stream(&streamedData, QIODevice::WriteOnly);
-        stream << activityData;
-    }  
-
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    
-    if (!database.transaction()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }
-        
-    // update or insert data
-    {
-        QSqlQuery query(database);
-        if (!query.exec(QString("SELECT ApplicationName FROM Activities WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName))) {
-            qFatal(qPrintable(query.lastError().text()));
-        }
-
-        if (query.next()) {
-            if (!query.prepare("UPDATE Activities SET Data = :Data WHERE ApplicationName = :ApplicationName AND ActivityName = :ActivityName")) {
-                qFatal(qPrintable(query.lastError().text()));
-            }
-            query.bindValue(":Data", streamedData);
-            query.bindValue(":ApplicationName", applicationName);
-            query.bindValue(":ActivityName", activityName);
-            if (!query.exec()) {
-                qFatal(qPrintable(query.lastError().text()));
-            }
-        } else {
-            if (!query.prepare("INSERT INTO Activities(ApplicationName, ActivityName, Data) VALUES(:ApplicationName, :ActivityName, :Data)")) {
-                qFatal(qPrintable(query.lastError().text()));
-            }
-            query.bindValue(":ApplicationName", applicationName);
-            query.bindValue(":ActivityName", activityName);
-            query.bindValue(":Data", streamedData);
-            if (!query.exec()) {
-                qFatal(qPrintable(query.lastError().text()));
-            }        
-        }
-    }
-    
-    if (!database.commit()) {
-        qFatal(qPrintable(database.lastError().text()));
-    } 
-}
-
-void ActivityDatabasePrivate::deleteActivity(const QString &applicationName, const QString &activityName)
-{
-    QString sqlCommand = QString("DELETE FROM Activities WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName);
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    if (!query.exec(sqlCommand)) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-}
-
-void ActivityDatabasePrivate::deleteApplicationActivities(const QString &applicationName)
-{
-    QString sqlCommand = QString("DELETE FROM Activities WHERE ApplicationName = '%1'").arg(applicationName);
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    if (!query.exec(sqlCommand)) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-}
-
-QList<QVariantHash> ActivityDatabasePrivate::allActivitiesList()
-{
-    return activitiesList("SELECT Data FROM Activities");
-}
-
-QList<QVariantHash> ActivityDatabasePrivate::applicationActivitiesList(const QString &applicationName)
-{
-    return activitiesList(QString("SELECT Data FROM Activities WHERE ApplicationName = '%1'").arg(applicationName));
-}
-
-QList<QVariantHash> ActivityDatabasePrivate::activitiesList(const QString& sqlCommand)
-{   
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    if (!query.exec(sqlCommand)) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-    
-    QList<QVariantHash> result;
-    while (query.next()) {
-        QVariantHash activityEntry;
-        {
-            QByteArray data(query.value(0).toByteArray());
-            QDataStream stream(&data, QIODevice::ReadOnly);
-            stream >> activityEntry;
-        }
-        result.append(activityEntry);
-    }   
-    return result;
-}
-
-QString ActivityDatabasePrivate::requestedActivityName(const QString &applicationName)
-{
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    if (!query.exec(QString("SELECT ActivityName FROM Activities WHERE ApplicationName = '%1' AND RequestFlag").arg(applicationName))) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-    
-    QString result;
-    if (query.next()) {
-        result = query.value(0).toString();
-    }   
-    return result;
-}
-
-void ActivityDatabasePrivate::setActivityRequestFlag(const QString &applicationName, const QString &activityName)
-{
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-    
-    // clear old requests for given application
-    if (!query.exec(QString("UPDATE Activities SET RequestFlag=0 WHERE ApplicationName = '%1'").arg(applicationName))) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-    
-    // set new request
-    if (!query.exec(QString("UPDATE Activities SET RequestFlag=1 WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName))) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-}
-
-void ActivityDatabasePrivate::clearActivityRequestFlag(const QString &applicationName, const QString &activityName)
-{
-    QSqlQuery query(QSqlDatabase::database(KConnectionName));
-
-    // just clear the given request
-    if (!query.exec(QString("UPDATE Activities SET RequestFlag=0 WHERE ApplicationName = '%1' AND ActivityName = '%2'").arg(applicationName).arg(activityName))) {
-        qFatal(qPrintable(query.lastError().text()));
-    }
-}
-
-bool ActivityDatabasePrivate::checkTables()
-{
-    QStringList expectedTables("Activities");
-    QStringList actualTables = QSqlDatabase::database(KConnectionName).tables();
-    return (expectedTables == actualTables); 
-}
-
-void ActivityDatabasePrivate::recreateTables()
-{
-    QSqlDatabase database = QSqlDatabase::database(KConnectionName);
-    
-    if (!database.transaction()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }
-    
-    // drop any existing tables
-    {
-        QSqlQuery dropQuery(database);
-        foreach(const QString &tableName, database.tables()) {
-            if (!dropQuery.exec(QString("DROP TABLE %1").arg(tableName))) {
-                qFatal(qPrintable(dropQuery.lastError().text()));
-            }
-        }
-    }
-
-    // create new table
-    {
-        QSqlQuery createQuery(database);
-        QString statement(
-            "CREATE TABLE Activities("
-            "ApplicationName TEXT NOT NULL,"
-            "ActivityName TEXT NOT NULL,"
-            "RequestFlag BOOL NOT NULL DEFAULT FALSE,"
-            "Data BLOB NOT NULL,"
-            "PRIMARY KEY(ActivityName, ApplicationName))");
-        
-        if (!createQuery.exec(statement)) {
-            qFatal(qPrintable(createQuery.lastError().text()));
-        }
-    }
-    
-    if (!database.commit()) {
-        qFatal(qPrintable(database.lastError().text()));
-    }  
-}
--- a/activitymanager/activityserviceplugin/win/activitydatabase_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef ACTIVITYDATABASE_P_H
-#define ACTIVITYDATABASE_P_H
-
-#include <QVariant>
-#include <QList>
-
-class ActivityDatabasePrivate {
-
-public:
-    ActivityDatabasePrivate();
-    ~ActivityDatabasePrivate();
-    
-public:
-    void saveActivity(const QString &applicationName, const QString &activityName, const QVariantHash &activityMetadata);    
-    void deleteActivity(const QString &applicationName, const QString &activityName);
-    void deleteApplicationActivities(const QString &applicationName);    
-    QList<QVariantHash> allActivitiesList();
-    QList<QVariantHash> applicationActivitiesList(const QString &applicationName);    
-    QString requestedActivityName(const QString &applicationName);
-    void setActivityRequestFlag(const QString &applicationName, const QString &activityName);
-    void clearActivityRequestFlag(const QString &applicationName, const QString &activityName);
-
-private:
-    QList<QVariantHash> activitiesList(const QString& sqlCommand);
-    
-private:
-    bool checkTables();
-    void recreateTables();
-    
-};
-
-#endif // ACTIVITYDATABASE_P_H
--- a/activitymanager/activityserviceplugin/win/applicationlauncher_p.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#include "applicationlauncher_p.h"
-#include <QProcess>
-
-bool ApplicationLauncherPrivate::isRunning(int applicationId)
-{
-    // @todo
-    return true;
-}
-
-void ApplicationLauncherPrivate::startApplication(int applicationId, const QString &activityId)
-{
-    // @todo
-}
-
-void ApplicationLauncherPrivate::bringToForeground(int applicationId)
-{
-    // @todo
-}
--- a/activitymanager/activityserviceplugin/win/applicationlauncher_p.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#ifndef APPLICATIONLAUNCHER_P_H
-#define APPLICATIONLAUNCHER_P_H
-
-#include <QString>
-
-class ApplicationLauncherPrivate
-{
-    
-public:    
-    bool isRunning(int applicationId);
-    void startApplication(int applicationId, const QString &activityId);
-    void bringToForeground(int applicationId);
-    
-};
-
-#endif // APPLICATIONLAUNCHER_P_H
--- a/activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.cpp	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "hbactivityplugininterface.h"
-#include "hbactivityplugin.h"
-
-#include <qservicemanager.h>
-
-QTM_USE_NAMESPACE
-
-HbActivityPlugin::HbActivityPlugin(QObject *parent) : HbActivityPluginInterface(parent), mActivityClient(0)
-{
-    QServiceManager serviceManager;
-    
-    if (serviceManager.findInterfaces("ActivityService").isEmpty()) {
-        // clean old entries
-        serviceManager.removeService("ActivityService");
-        bool servicesAdded = serviceManager.addService(":/activityserviceplugin.xml");
-        if (!servicesAdded) {
-            qWarning("addService for ActivityService returned false, error %d", serviceManager.error());
-        }
-    }
-
-    mActivityClient = serviceManager.loadInterface("com.nokia.qt.activities.ActivityClient");    
-    if (!mActivityClient) {
-        qWarning("Cannot initialize critical com.nokia.qt.activities.ActivityClient service.");
-    }
-    
-    connect(mActivityClient, SIGNAL(activityRequested(QString)), this, SIGNAL(activityRequested(QString)));
-}
-
-HbActivityPlugin::~HbActivityPlugin()
-{
-    delete mActivityClient;
-}
-
-bool HbActivityPlugin::addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
-{
-    bool retVal(false);
-    QMetaObject::invokeMethod(mActivityClient, 
-                              "addActivity", 
-                              Q_RETURN_ARG(bool, retVal), 
-                              Q_ARG(QString, activityId), 
-                              Q_ARG(QVariant, data), 
-                              Q_ARG(QVariantHash, parameters));
-    return retVal;
-}
-
-bool HbActivityPlugin::removeActivity(const QString &activityId)
-{
-    bool retVal(false);
-    QMetaObject::invokeMethod(mActivityClient, 
-                              "removeActivity", 
-                              Q_RETURN_ARG(bool, retVal), 
-                              Q_ARG(QString, activityId));
-    return retVal;
-}
-
-bool HbActivityPlugin::updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters)
-{
-    bool retVal(false);
-    QMetaObject::invokeMethod(mActivityClient, 
-                              "updateActivity", 
-                              Q_RETURN_ARG(bool, retVal), 
-                              Q_ARG(QString, activityId),
-                              Q_ARG(QVariant, data),
-                              Q_ARG(QVariantHash, parameters));
-    return retVal;
-}
-QList<QVariantHash> HbActivityPlugin::activities()
-{
-    QList<QVariantHash> data;
-    QMetaObject::invokeMethod(mActivityClient, 
-                              "activities", 
-                              Q_RETURN_ARG(QList<QVariantHash>, data));
-    return data;
-}
-
-QVariant HbActivityPlugin::activityData(const QString &activityId)
-{
-    QVariant data;
-    QMetaObject::invokeMethod(mActivityClient, 
-                              "activityData", 
-                              Q_RETURN_ARG(QVariant, data),
-                              Q_ARG(QString, activityId));
-    return data;
-}
-
-bool HbActivityPlugin::waitActivity()
-{
-    bool retVal(false);
-    QMetaObject::invokeMethod(mActivityClient, 
-                              "waitActivity", 
-                              Q_RETURN_ARG(bool, retVal));
-    return retVal;
-}
-
-Q_EXPORT_PLUGIN2(hbactivityplugin, HbActivityPlugin) 
--- a/activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#ifndef HBACTIVITYPLUGIN_H
-#define HBACTIVITYPLUGIN_H
-
-#include "hbactivityplugininterface.h"
-
-class HbActivityPlugin : public HbActivityPluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(HbActivityPluginInterface)
-    
-public:
-    HbActivityPlugin(QObject *parent = 0);
-    ~HbActivityPlugin();
-    
-public:
-    virtual bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
-    virtual bool removeActivity(const QString &activityId);
-    virtual bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters);
-    virtual QList<QVariantHash> activities();
-    virtual QVariant activityData(const QString &activityId);
-    virtual bool waitActivity();
-
-private:
-    QObject *mActivityClient;
-    
-};
-
-#endif //HBACTIVITYPLUGIN_H
--- a/activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.pro	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-TEMPLATE = lib
-TARGET = hbactivityplugin
-
-CONFIG += plugin 
-
-CONFIG += mobility
-MOBILITY = serviceframework
-
-HEADERS +=  hbactivityplugininterface.h \
-            hbactivityplugin.h \
-
-SOURCES +=  hbactivityplugin.cpp \
-
-RESOURCES += hbactivityplugin.qrc
-
-symbian {
-    load(data_caging_paths)
-    pluginDep.sources = hbactivityplugin.dll
-    pluginDep.path = $$QT_PLUGINS_BASE_DIR    
-    DEPLOYMENT += pluginDep
-
-    TARGET.EPOCALLOWDLLDATA = 1
-    TARGET.CAPABILITY = ALL -TCB
-}
--- a/activitymanager/orbitintegration/hbactivityplugin/hbactivityplugin.qrc	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/" >
-        <file alias="activityserviceplugin.xml">../../activityserviceplugin/activityserviceplugin.xml</file>
-    </qresource>
-</RCC> 
\ No newline at end of file
--- a/activitymanager/orbitintegration/hbactivityplugin/hbactivityplugininterface.h	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#ifndef HBACTIVITYPLUGININTERFACE_H
-#define HBACTIVITYPLUGININTERFACE_H
-
-#include <QtPlugin>
-#include <QObject>
-#include <QVariant>
-#include <QString>
-#include <QList>
-#include <QVariantHash>
-
-class HbActivityPluginInterface : public QObject
-{
-    Q_OBJECT
-
-public:
-    HbActivityPluginInterface(QObject *parent = 0) : QObject(parent) {}
-    
-public:
-    virtual bool addActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters) = 0;
-    virtual bool removeActivity(const QString &activityId) = 0;
-    virtual bool updateActivity(const QString &activityId, const QVariant &data, const QVariantHash &parameters) = 0;
-    virtual QList<QVariantHash> activities() = 0;
-    virtual QVariant activityData(const QString &activityId) = 0;
-    virtual bool waitActivity() = 0;
-
-signals:
-    void activityRequested(const QString &activityId);
-    
-};
-
-Q_DECLARE_INTERFACE(HbActivityPluginInterface, "HbActivityPluginInterface/1.0")
-
-#endif // HBACTIVITYPLUGININTERFACE_H
--- a/activitymanager/rom.pri	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
-BLD_INF_RULES.prj_exports += "rom/activitymanager_core.iby  CORE_APP_LAYER_IBY_EXPORT_PATH(activitymanager_core.iby)"
-BLD_INF_RULES.prj_exports += "./sis/stubs/activitymanager_stub.sis  /epoc32/release/winscw/udeb/z/system/install/activitymanager_stub.sis"
-BLD_INF_RULES.prj_exports += "./sis/stubs/activitymanager_stub.sis  /epoc32/data/z/system/install/activitymanager_stub.sis"
\ No newline at end of file
--- a/activitymanager/rom/activitymanager_core.iby	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef __TSACTMAN_CORE_IBY__
-#define __TSACTMAN_CORE_IBY__
-
-//file=ABI_DIR\BUILD_DIR\activityserviceinstaller.exe                            PROGRAMS_DIR\activityserviceinstaller.exe
-file=ABI_DIR\BUILD_DIR\activityserviceplugin.dll					       SHARED_LIB_DIR\activityserviceplugin.dll
-data=\epoc32\data\z\resource\qt\plugins\activityserviceplugin.qtplugin    resource\qt\plugins\activityserviceplugin.qtplugin
-
-file=ABI_DIR\BUILD_DIR\activitylauncher.exe                            PROGRAMS_DIR\activitylauncher.exe
-data=ZPRIVATE\10003a3f\import\apps\activitylauncher_reg.rsc            private\10003a3f\import\apps\activitylauncher_reg.rsc
-data=\epoc32\data\z\resource\apps\activitylauncher.rsc                 resource\apps\activitylauncher.rsc
-
-file=ABI_DIR\BUILD_DIR\hsactivitydbserver.exe                            PROGRAMS_DIR\hsactivitydbserver.exe
-data=ZPRIVATE\10003a3f\import\apps\hsactivitydbserver_reg.rsc            private\10003a3f\import\apps\hsactivitydbserver_reg.rsc
-data=\epoc32\data\z\resource\apps\hsactivitydbserver.rsc                 resource\apps\hsactivitydbserver.rsc
-
-file=ABI_DIR\BUILD_DIR\hsactivitydbclient.dll					       SHARED_LIB_DIR\hsactivitydbclient.dll
-
-file=ABI_DIR\BUILD_DIR\hbactivityplugin.dll					       SHARED_LIB_DIR\hbactivityplugin.dll
-data=\epoc32\data\z\resource\qt\plugins\hbactivityplugin.qtplugin    resource\qt\plugins\hbactivityplugin.qtplugin
-
-
-// stub sis
-data=ZSYSTEM/install/activitymanager_stub.sis                  system/install/activitymanager_stub.sis
-
-#endif //__TSACTMAN_CORE_IBY__
--- a/activitymanager/sis/activitymanager.pkg	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"activitymanager"},(0x200267B4),1,0,0,TYPE=SA, RU
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-
-;"/epoc32/release/armv5/urel/activityserviceinstaller.exe" - "!:\sys\bin\activityserviceinstaller.exe"
-"/epoc32/release/armv5/urel/activityserviceplugin.dll"-"!:\sys\bin\activityserviceplugin.dll"
-"/epoc32/data/z/resource/qt/plugins/activityserviceplugin.qtplugin"-"!:\resource\qt\plugins\activityserviceplugin.qtplugin"
-
-"/epoc32/release/armv5/urel/activitylauncher.exe"    - "!:\sys\bin\activitylauncher.exe"
-"/epoc32/data/z/resource/apps/activitylauncher.rsc"    - "!:\resource\apps\activitylauncher.rsc"
-"/epoc32/data/z/private/10003a3f/import/apps/activitylauncher_reg.rsc"    - "!:\private\10003a3f\import\apps\activitylauncher_reg.rsc"
-
-"/epoc32/release/armv5/urel/hsactivitydbserver.exe"    - "!:\sys\bin\hsactivitydbserver.exe"
-"/epoc32/data/z/resource/apps/hsactivitydbserver.rsc"    - "!:\resource\apps\hsactivitydbserver.rsc"
-"/epoc32/data/z/private/10003a3f/import/apps/hsactivitydbserver_reg.rsc"    - "!:\private\10003a3f\import\apps\hsactivitydbserver_reg.rsc"
-
-"/epoc32/release/armv5/urel/hsactivitydbclient.dll"    - "!:\sys\bin\hsactivitydbclient.dll"
-
-"/epoc32/release/armv5/urel/hbactivityplugin.dll"    - "!:\sys\bin\hbactivityplugin.dll"
-"/epoc32/data/z/resource/qt/plugins/hbactivityplugin.qtplugin"-"!:\resource\qt\plugins\hbactivityplugin.qtplugin"
--- a/activitymanager/sis/edit_pkg.pl	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-#Options:
-# -version  -adds Qt version (4,6,0) intp pkg files
-# -target  -replaces $(PLATFORM)/$(TARGET) into armv5/urel
-# -test  -creates script for test app
-# default -version
-
-use strict;
-use File::Find;
-my $base = `cd`;
-$base =~ s/\\\w+\s+$//; #move one dir upper 
-my $modulebase = `cd`;
-$modulebase =~s/(\s+)$//; #remove linefeed from end
-print $base;;
-my $qtversion = "\, 4\, 6\, 0\,";
-my $target = "armv5\/urel";
-
-my $qtversionchnage = 0;
-my $qtversionarg = "-version";
-my $targetchnage = 0;
-my $targetarg = "-target";
-my $module = 0;
-my $modulearg = "-test";
-my $delmodule = 0;
-my $delmodulearg = "-delmodule";
-my $moduledir = "testsis";
-my $modulepath = $base."\\".$moduledir;
-my $ccert = $modulebase."\\"."cert.cer";
-my $ckey = $modulebase."\\"."key.pem";
-my $modulebatpath = $modulebase."\\".$moduledir."\\createmodulesis.bat"; 
-
-checkCmdLine();
-
-if ( $qtversionchnage == 1 || $targetchnage == 1 )
-	{
-	find( \&edits, $base );
-	}
-if ( $module == 1 )
-	{
-	system "mkdir $moduledir";
-	if ( not ( open (FWM, ">$modulebatpath") ) )
-		{
-		print "\n***Error: Couldn't open $modulebatpath file to write\n";
-		return;
-		}
-	binmode FWM;
-	print FWM "del /S/Q *.SIS\r\n";
-	print FWM "del /S/Q *.SISX\r\n";
-	close FWM;	
-	find( \&moduleSis, $base );
-	}	
-if ( $delmodule == 1 )
-	{
-	find( \&delModuleSis, $base );
-	}	
-
-sub edits() 
-	{
-	my $file=$_;
-	my $winpath=$File::Find::name;
-	$winpath=~s/\//\\/g;
-	if( -f $file  && $file=~/(_template\.pkg)$/i ) 
-		{
-		print "$winpath ";
-		system "attrib -R $winpath";
-		if ( not ( open (FR, $winpath) ) )
-			{
-			print "Error: Couldn't open $winpath file to read\n";
-			return;
-			}
-		binmode FR;
-		my $buf="";
-		my $length = 0;
-		$length = -s $winpath;
-		read( FR, $buf, $length );
-		close FR;
-		if ( $qtversionchnage == 1 )
-			{
-			$buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
-			}
-		if ( $targetchnage == 1 )
-			{
-			$buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
-			}
-	    
-	    if ( not ( open (FW, ">$winpath") ) )
-			{
-			print "\n***Error: Couldn't open $winpath file to write\n";
-			return;
-			}
-		binmode FW;		
-		print FW $buf;
-	    close FW;		
-		
-		print "\r\n";
-		}
-	}
-
-sub checkCmdLine()
-	{
-	my $numArgs = $#ARGV + 1;
-	if ( $numArgs == 0 )
-		{
-		$qtversionchnage = 1;
-		}
-	else
-		{
-		foreach my $argnum ( 0 .. $#ARGV ) 
-			{
-			my $argName = lc $ARGV[$argnum];
-			if ( $argName eq $qtversionarg )
-				{
-				$qtversionchnage = 1;
-				}
-			elsif ( $argName eq $targetarg )
-				{
-				$targetchnage = 1;
-				}
-			elsif ( $argName eq $modulearg )
-				{
-				$module = 1;
-				}
-			elsif ( $argName eq $delmodulearg )
-				{
-				$delmodule = 1;
-				}
-			else
-				{
-				die "\n***Error: Bad arguments\n";
-				}
-			}
-		}
-	}
-	
-sub moduleSis()
-	{
-	my $file=$_;
-	my $winpath=$File::Find::name;
-	$winpath=~s/\//\\/g;	
-
-	
-	if( -f $file  && $file=~/(.*test.*_template\.pkg)$/i ) 
-		{
-		print "$winpath ";
-		system "attrib -R $winpath";
-		if ( not ( open (FR, $winpath) ) )
-			{
-			print "Error: Couldn't open $winpath file to read\n";
-			return;
-			}
-		binmode FR;
-		my $buf="";
-		my $length = 0;
-		$length = -s $winpath;
-		read( FR, $buf, $length );
-		close FR;
-		$buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
-		$buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
-	    
-	    if ( not ( open (FW, ">$winpath") ) )
-			{
-			print "Error: Couldn't open $winpath file to write\n";
-			return;
-			}
-		binmode FW;		
-		print FW $buf;
-	    close FW;				
-		print "\r\n";
-		
-		my $pkgname = sisName( $winpath );
-		
-		if ( not ( open (FWM2, ">>$modulebatpath") ) )
-			{			
-			print "Error: Couldn't open $modulebatpath file to append\n";
-			return;
-			}
-		binmode FWM2;		
-		print FWM2 "makesis $winpath $pkgname\.SIS\r\n";
-		print FWM2 "signsis $pkgname\.SIS $pkgname\.SISX $ccert $ckey\r\n";
-		close FWM2;	
-		}	
-	}
-		
-sub sisName()
-	{
-	my $path = shift;
-	my $name = "";
-	if ( $path =~ /\\(\w+)\.pkg/i )
-		{
-		$name = $1;
-		}
-	return $name;
-	}
-	
-sub delModuleSis()
-	{
-	my $file=$_;
-	my $winpath=$File::Find::name;
-	$winpath=~s/\//\\/g;	
-
-	
-	if( -f $file  && $file=~/(_template\.pkg)$/i && ( $file=~/^(t_)/i || $file=~/test/i ) ) 
-		{
-		print "Deleting: ";
-		print "$winpath ";
-		system "attrib -R $winpath";
-		system "del /S/Q $winpath";
-		print "\r\n";
-		}	
-	}	
\ No newline at end of file
--- a/activitymanager/sis/stubs/activitymanager_stub.pkg	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-; ------------------------------------------------------------------------------
-; Taskswitcher stub SIS package file.
-; Used to enable Taskswitcher to be updated from ROM with a SIS package.
-; When you add new files into this stub, please remember to update
-; SIS stub with "makesis -s" command.
-; ------------------------------------------------------------------------------
-;
-;Language - standard language definitions
-&EN
-
-; standard SIS file header
-#{"activitymanager"},(0x200267B4),1,0,0,TYPE=SA
-
-;Localized Vendor Name
-%{"Nokia"}
-
-;Unique Vendor name
-:"Nokia"
-
-;"" - "Z:\sys\bin\activityserviceinstaller.exe"
-"" - "Z:\sys\bin\activityserviceplugin.dll"
-"" - "Z:\resource\qt\plugins\activityserviceplugin.qtplugin"
-
-""    - "Z:\sys\bin\activitylauncher.exe"
-""    - "Z:\resource\apps\activitylauncher.rsc"
-""    - "Z:\private\10003a3f\import\apps\activitylauncher_reg.rsc"
-
-""    - "Z:\sys\bin\hsactivitydbserver.exe"
-""    - "Z:\resource\apps\hsactivitydbserver.rsc"
-""    - "Z:\private\10003a3f\import\apps\hsactivitydbserver_reg.rsc"
-
-""    - "Z:\sys\bin\hsactivitydbclient.dll"
-
-""    - "Z:\sys\bin\hbactivityplugin.dll"
-"" -  "Z:\resource\qt\plugins\hbactivityplugin.qtplugin"
\ No newline at end of file
Binary file activitymanager/sis/stubs/activitymanager_stub.sis has changed
--- a/activitymanager/sis/stubs/createstubs.bat	Wed Mar 24 03:15:43 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-
-for %%f in (*.pkg) do makesis -s %%f
--- a/homescreensrv.pro	Wed Mar 24 03:15:43 2010 +0200
+++ b/homescreensrv.pro	Wed Mar 24 13:06:03 2010 +0200
@@ -23,7 +23,7 @@
             homescreensrv_plat \
             screensavermodel \
             bagetmodel \
-            activitymanager \
+            activityfw \
             tsrc
 
 CONFIG += ordered