--- a/activityfw/activitydatabase/hsactivitydbserver/s60/src/hsactivitysession_p.cpp Fri Apr 16 14:45:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,330 +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>
-#include <qpixmap.h>
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-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();
-
- 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 GetThumbnail:
- HandleGetThumbnailL(message);
- break;
- 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::HandleGetThumbnailL(const RMessage2 &message)
-{
- ReadDataL(message);
- GetThumbnailL(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::GetThumbnailL(const RMessage2 &message)
-{
- if (mActivity.constEnd() == mActivity.constFind(ActivityScreenshotKeyword)) {
- User::Leave(KErrGeneral);
- }
- mData << QPixmap(mActivity.constFind(ActivityScreenshotKeyword).value().toString());
- TPckgC<int> dataSize(mData.Size());
- message.WriteL(1, dataSize);
-}
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-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);
- }
-}