activitymanager/activitydatabase/hsactivitydbserver/s60/src/hsactivitysession_p.cpp
--- 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);
- }
-}