mmserv/sts/stsserver/src/stsserversession.cpp
branchRCL_3
changeset 20 0ac9a5310753
parent 19 095bea5f582e
child 21 999b2818a0eb
--- a/mmserv/sts/stsserver/src/stsserversession.cpp	Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 2010 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:
- * This method provides the generic Symbian specific message handling
- * for the server session.  The actual STS specific processing occurs
- * in the STS class.
- */
-
-//  Include Files  
-#include "stsserversession.h"
-#include "stsserver.h"
-#include "sts.h"
-
-// CStsServerSession IMPLEMENTATION
-CStsServerSession::CStsServerSession(CStsServer& aServer, CSts& aSts) :
-    iServer(aServer), iSts(aSts)
-    {
-    }
-
-CStsServerSession::~CStsServerSession()
-    {
-    CleanUpObservers();
-    TStsCallBack callBack;
-    callBack.callBackType = EStsShutdown;
-    iMsgQueue.SendBlocking(callBack);
-    iServer.DropSession(this);
-    iMsgQueue.Close();
-    }
-
-void CStsServerSession::CreateL()
-    {
-    iServer.AddSession(this);
-    }
-
-void CStsServerSession::ServiceL(const RMessage2& aMessage)
-    {
-    switch (aMessage.Function())
-        {
-        case StsMsg_RegisterMsgQueue:
-            DoRegisterMsgQueueL(aMessage);
-            break;
-        case StsMsg_PlayTone:
-            DoPlayToneL(aMessage);
-            break;
-        case StsMsg_PlayAlarm:
-            DoPlayAlarmL(aMessage);
-            break;
-        case StsMsg_PlayToneAlarm:
-            DoPlayToneAlarmL(aMessage);
-            break;
-        case StsMsg_StopAlarm:
-            DoStopAlarmL(aMessage);
-            break;
-        default:
-            break;
-        }
-    }
-
-void CStsServerSession::ServiceError(const RMessage2& aMessage, TInt aError)
-    {
-    CSession2::ServiceError(aMessage, aError);
-    }
-
-void CStsServerSession::DoRegisterMsgQueueL(const RMessage2& aMessage)
-    {
-    TInt result = iMsgQueue.Open(aMessage, 0);
-    if (result == KErrNone)
-        {
-        TThreadId id = RThread().Id();
-        TPckg<TThreadId> idPckg(id);
-        TRAP(result,aMessage.Write(1, idPckg));
-        }
-    aMessage.Complete(result);
-    }
-
-void CStsServerSession::DoPlayToneL(const RMessage2& aMessage)
-    {
-    CSystemToneService::TToneType tone =
-            (CSystemToneService::TToneType) aMessage.Int0();
-    aMessage.Complete(KErrNone);
-    iSts.PlayTone(tone);
-    }
-
-void CStsServerSession::DoPlayAlarmL(const RMessage2& aMessage)
-    {
-    CSystemToneService::TAlarmType alarm =
-            (CSystemToneService::TAlarmType) aMessage.Int0();
-    unsigned int context = 0;
-    iSts.PlayAlarm(alarm, context, *this);
-    iObserverMap[context] = (MStsPlayAlarmObserver*) aMessage.Ptr2();
-    TPckg<unsigned int> contextPckg(context);
-    TRAPD(err,aMessage.WriteL(1,contextPckg));
-    aMessage.Complete(err);
-    // if the context is 0 there was a problem with the PlayAlarm,
-    // so trigger the PlayAlarmComplete callback.
-    if (context == 0)
-        {
-        PlayAlarmComplete(0);
-        }
-    }
-
-void CStsServerSession::DoPlayToneAlarmL(const RMessage2& aMessage)
-    {
-    CSystemToneService::TToneType tone =
-            (CSystemToneService::TToneType) aMessage.Int0();
-    unsigned int context = 0;
-    iSts.PlayAlarm(tone, context, *this);
-    iObserverMap[context] = (MStsPlayAlarmObserver*) aMessage.Ptr2();
-    TPckg<unsigned int> contextPckg(context);
-    TRAPD(err,aMessage.WriteL(1,contextPckg));
-    aMessage.Complete(err);
-    // if the context is 0 there was a problem with the PlayAlarm,
-    // so trigger the PlayAlarmComplete callback.
-    if (context == 0)
-        {
-        PlayAlarmComplete(0);
-        }
-    }
-
-void CStsServerSession::DoStopAlarmL(const RMessage2& aMessage)
-    {
-    unsigned int context = aMessage.Int0();
-    aMessage.Complete(KErrNone);
-    iObserverMap.erase(context);
-    iSts.StopAlarm(context);
-    }
-
-void CStsServerSession::CleanUpObservers()
-    {
-    while (!iObserverMap.empty())
-        {
-        //TODO: Add trace here
-        unsigned int context = iObserverMap.begin()->first;
-        iObserverMap.erase(context);
-        iSts.StopAlarm(context);
-        }
-    }
-
-void CStsServerSession::PlayAlarmComplete(unsigned int aAlarmContext)
-    {
-    TStsCallBack callBack =
-        {
-        EStsPlayAlarmComplete, iObserverMap[aAlarmContext], aAlarmContext
-        };
-    iMsgQueue.SendBlocking(callBack);
-    iObserverMap.erase(aAlarmContext);
-    }