buildverification/autosmoketest/Timew/ConsoleAlarmAlertServer/Source/ConsoleAlarmAlertSession.cpp
--- a/buildverification/autosmoketest/Timew/ConsoleAlarmAlertServer/Source/ConsoleAlarmAlertSession.cpp Mon Feb 22 17:54:00 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +0,0 @@
-// Copyright (c) 1999-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 "consolealarmalertsession.h"
-
-// System includes
-
-#include "e32svr.h"
-// User includes
-#include "asaltdefs.h"
-//#include "..\..\Test\ConsoleANTestClient.h"
-//
-#include "consolealarmalertsession.h"
-#include "consolealarmalertconsole.h"
-#include "consolealarmalertledflasher.h"
-#include "consolealarmalertserver.h" //for inter-session communication
-
-// Type definitions
-
-// Constants
-const TInt KSlot0 = 0;
-const TInt KSlot1 = 1;
-const TInt KSlot2 = 2;
-
-// Enumerations
-
-// Classes referenced
-
-
-//
-// ----> CConsoleAlarmAlertSession (source)
-//
-
-//*************************************************************************************
-CConsoleAlarmAlertSession::CConsoleAlarmAlertSession(CConsoleAlarmAlertServer* aServer)
-: iServer(aServer), iInstructionSet(NULL), iInstructionSetFound(EFalse)
- {
- }
-
-
-//*************************************************************************************
-CConsoleAlarmAlertSession::~CConsoleAlarmAlertSession()
- {
- CConsoleAlarmAlertSession* session = iServer->WaitingSession();
- session = NULL;
- delete iSoundLEDFlasher;
- delete iSoundCallbackTimer;
- delete iConsole;
- }
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::ConstructL()
- {
- iSoundLEDFlasher = CConsoleAlarmAlertLEDFlasher::NewL();
- iSoundCallbackTimer = CPeriodic::NewL(CActive::EPriorityIdle);
- iConsole = new(ELeave) CConsoleAlarmAlertConsole(*this);
- }
-
-
-//*************************************************************************************
-CConsoleAlarmAlertSession* CConsoleAlarmAlertSession::NewL(CConsoleAlarmAlertServer* aServer)
- {
- CConsoleAlarmAlertSession* self = new(ELeave) CConsoleAlarmAlertSession(aServer);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
- }
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-TTime CConsoleAlarmAlertSession::DeferTime() const
- {
- return iDeferTime;
- }
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::Notify(TASAltAlertServerResponse aFlag)
- {
- if (iHasMessage)
- {
- iMsgPtr.Complete(aFlag);
- iHasMessage = EFalse;
- }
- }
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::Notify(TASAltAlertServerResponse aFlag, const TTime& aDeferTime)
- {
- if (iHasMessage)
- {
- TPckgC<TTime> time(aDeferTime);
- TRAPD(err, iMsgPtr.WriteL(KSlot0, time));
- __ASSERT_DEBUG(err == KErrNone, User::Invariant());
- Notify(aFlag);
- }
- }
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::ServiceL(const RMessage2& aMessage)
- {
- iMsgComplete = ETrue;
- const TInt function = aMessage.Function();
-
- //see if the server holds a set of instructions to be followed,
- //rather than waiting for user input.
- if(!iInstructionSetFound) //go look for it now.
- {
- //we will enter into this code only once
- const CServer2* tmpServ = Server();
- const CConsoleAlarmAlertServer* specific = reinterpret_cast<const CConsoleAlarmAlertServer*>(tmpServ);
- iInstructionSet = const_cast<CConsoleAlarmAlertServer*>(specific)->ResponseArray();
- iInstructionSetFound = ETrue;
- }
-
- //
- switch(function)
- {
- case EASAltOpCodeNotify:
- {
- __ASSERT_ALWAYS(!iHasMessage, User::Invariant());
- iMsgComplete = EFalse;
- iMsgPtr = aMessage;
- iHasMessage = ETrue;
- CConsoleAlarmAlertSession* session = iServer->WaitingSession();
- session = this;
- break;
- }
-
- case EASAltOpCodeNotifyCancel:
- if (iHasMessage)
- {
- iHasMessage=EFalse;
- iMsgPtr.Complete(KErrCancel);
- }
- break;
-
- case EASAltOpCodeVisible:
- {
- TBool isVisible = aMessage.Int0();
- iConsole->SetVisibility(isVisible);
- iServer->SetNotifying(isVisible);
- break;
- }
-
- case EASAltOpCodeSetState:
- iConsole->SetAlertState(aMessage.Int0());
- break;
-
- case EASAltOpCodeSetAlarm:
- SetAlarmL(aMessage);
- iConsole->iTimeInterval=0;
- iConsole->UpdateDisplay();
- break;
-
- case EASAltOpCodeGetUserTime:
- GetUserTimeL(aMessage);
- break;
-
- case EASAltOpCodeSetDeferTime:
- SetDeferTimeL(aMessage);
- iConsole->UpdateDisplay();
- break;
-
- case EASAltOpCodeLogon:
- __ASSERT_ALWAYS(!iLoggedOn, User::Invariant());
- iMsgComplete=EFalse;
- iLoggedOn=ETrue;
- break;
-
- case EASAltOpCodeStartPlayingSound:
- {
- iSoundLEDFlasher->Start();
- TCallBack callback(SoundPlaybackCallbackL, this);
- iSoundCallbackTimer->Start(TTimeIntervalMicroSeconds32(0), TTimeIntervalMicroSeconds32(3000000), callback);
- break;
- }
-
- case EASAltOpCodeStopPlayingSound:
- iSoundLEDFlasher->Stop();
- iSoundCallbackTimer->Cancel();
- break;
-
-#if 0
-//Test code
- case EASAltTestOpCodeAcknowledgeAlarm:
- if (iServer->WaitingSession())
- iServer->WaitingSession()->Notify(EASAltAlertServerResponseClear);
- break;
-
- case EASAltTestOpCodeGetAttachment:
- {
- if (iServer->Attachment() != NULL)
- {
- const TDes8& data = iServer->Attachment()->Des();
- const TInt maxLength = static_cast<TInt>(aMessage.Int0());
- if (data.Size() > maxLength)
- User::Panic(_L("Client's buffer is too short"), KErrOverflow);
- else
- {
- if (data.Length() == 0)
- {
- _LIT8(KEmpty,"Empty");
- aMessage.WriteL(KSlot1, KEmpty);
- }
- else
- {
- aMessage.WriteL(KSlot1, data);
- }
- iServer->SetAttachment(NULL);
- }
- }
- }
- break;
-
- case EASAltTestOpCodeGetIsNotifying:
- {
- TPckgC<TBool> ret = iServer->IsNotifying();
- aMessage.WriteL(KSlot0, ret);
- break;
- }
-#endif
- default:
- User::Invariant();
- break;
- }
-
- if (iMsgComplete)
- aMessage.Complete(KErrNone);
- }
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-TBool CConsoleAlarmAlertSession::CmdL()
- {
- return KErrNone;
- }
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::SetAlarmL(const RMessage2& aMessage)
- {
- TPckg<TASShdAlarm> pA(iAlarm);
- aMessage.ReadL(KSlot0, pA);
- if (iAlarm.HasAssociatedData())
- {
- iAlarmAssociatedDataSize = aMessage.GetDesLength(2);
- TPckg<TAgnAlarmInfo> pB(iAlarmData);
- aMessage.ReadL(KSlot2, pB);
-
- //Storing the data in the server for the test session to read..
- HBufC8* data = HBufC8::NewLC(iAlarmAssociatedDataSize);
- TPtr8 pData(data->Des());
- aMessage.ReadL(KSlot2, pData);
- iServer->SetAttachment(data); //Server takes an ownership
- CleanupStack::Pop(data);
- }
- else
- iAlarmAssociatedDataSize = 0;
- }
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::GetUserTimeL(const RMessage2& aMessage)
- {
- TTime time;
- time.HomeTime();
- time+=TTimeIntervalMinutes(iConsole->GetTimeInterval());
- TPtrC8 pTime((TUint8 *)&time,sizeof(TTime));
- aMessage.WriteL(KSlot0,pTime);
- }
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertSession::SetDeferTimeL(const RMessage2& aMessage)
- {
- TPckg<TTime> pTime(iDeferTime);
- aMessage.ReadL(KSlot0, pTime);
- }
-
-
-//*************************************************************************************
-TBool CConsoleAlarmAlertSession::SoundPlaybackCallbackL(TAny* /*aSelf*/)
- {
-// _LIT(KPlayingSound, "Playing sound");
-// User::InfoPrint(KPlayingSound);
- return ETrue;
- }
-
-//**************************************************************************************
-TAny * CConsoleAlarmAlertSession::InstructionSet()
- {
- return iInstructionSet;
- }
-
-
-
-
-