buildverification/smoketest/Timew/ConsoleAlarmAlertServer/Source/ConsoleAlarmAlertConsole.cpp
branchRCL_3
changeset 10 4ca382093dae
parent 5 6beaa9cf4752
child 11 493058e57c8c
--- a/buildverification/smoketest/Timew/ConsoleAlarmAlertServer/Source/ConsoleAlarmAlertConsole.cpp	Mon Feb 22 17:54:00 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,404 +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 "consolealarmalertconsole.h"
-
-// System includes
-#include <e32twin.h>
-#include <e32base.h>
-#include <e32svr.h>
-
-// User includes
-#include "asaltdefs.h"
-#include "consolealarmalertsession.h"
-
-// Type definitions
-
-// Constants
-
-// Enumerations
-
-// Classes referenced
-
-
-//
-// ----> CConsoleAlarmAlertConsole (source)
-//
-
-//*************************************************************************************
-CConsoleAlarmAlertConsole::CConsoleAlarmAlertConsole(CConsoleAlarmAlertSession& aSession)
-:	CActive(CActive::EPriorityLow), iSession(aSession), iInstructionIndex(0)
-	{
-	CActiveScheduler::Add(this);
-	}
-
-
-//*************************************************************************************
-CConsoleAlarmAlertConsole::~CConsoleAlarmAlertConsole()
-	{
-	Cancel();
-	Hide();
-	}
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::GetKey()
-	{
-	if	(iWin && !IsActive())
-		{
-		SetActive();
-		iWin->Read(iStatus);
-		}		
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::CancelKey()
-	{
-	if	(IsActive())
-		Cancel();
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::DecCounter()
-	{
-	if	(iTimeInterval > 0)
-		{
-		--iTimeInterval;
-		UpdateDisplay();
-		}
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::UpdateDisplay()
-	{
-	TBuf<180> buf;
-	_LIT(KEalwlAlarmSoundOff, "Off");
-	_LIT(KEalwlAlarmSoundOn, "On");
-	_LIT(KEalwlStatusEnabled, "Are");
-	_LIT(KEalwlStatusNotEnabled, "Are Not");
-	_LIT(KEalwlStatusIs, "Is");
-	_LIT(KEalwlStatusIsNo, "Is No");
-	//
-	if	(!iWin)
-		return;
-	iWin->SetCursorPosAbs(TPoint(0,0));
-
-	// MESSAGE
-	buf.Format(_L("Message : %S"), &iSession.Alarm().Message());
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-
-	// DATA
-	if	(iSession.Alarm().HasAssociatedData())
-		{
-		const TAgnAlarmInfo data = iSession.AlarmData();
-		const TUid KUidAgendaModelAlarmCategory = { 0x101F4A70 };
-		if (data.iAlarmCategory == KUidAgendaModelAlarmCategory)
-			{
-			_LIT(KEalwlAgendaData,"\ndata: agenda filename \"%S\"");
-			if (data.iFileName.Length() < 40)
-				buf.Format(KEalwlAgendaData,&data.iFileName);
-			else
-				{
-				TBuf<40> temp = data.iFileName.Left(40);
-				buf.Format(KEalwlAgendaData,&temp);
-				}
-			}
-		else
-			buf.Format(_L("\nAlarm has %d data bytes"), iSession.AlarmDataSize());
-		}
-	else
-		{
-		buf = _L("\nAlarm has no associated data");
-		}
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-
-	// DEFER TIME
-	if	(iSession.DeferTime() != Time::NullTTime())
-		{
-		TDateTime dateTime(iSession.DeferTime().DateTime());
-		buf.Format(_L("\nDefer   : %02d:%02d"), dateTime.Hour(), dateTime.Minute());
-		}
-	else
-		buf=_L("\nNULL defer time");
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-
-	// TIME INTERVAL
-	buf.Format(_L("\nCurrent time interval is %d minutes"), GetTimeInterval());
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-
-	// STATE FLAGS
-	buf.Format(_L("\nAlarm sounds are %S"),(iAlertState&EASAltStateFlagsSilentRunning)?&KEalwlAlarmSoundOff:&KEalwlAlarmSoundOn);
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-	buf.Format(_L("\nAlarm sounds %S paused"),(iAlertState&EASAltStateFlagsSoundIsPaused)?&KEalwlStatusEnabled:&KEalwlStatusNotEnabled);
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-	buf.Format(_L("\nAlarm sounds %S deferred"),(iAlertState&EASAltStateFlagsInQuietPeriod)?&KEalwlStatusEnabled:&KEalwlStatusNotEnabled);
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-	buf.Format(_L("\nThere %S more than one unacknowledged alarms"),(iAlertState&EASAltStateFlagsMoreThanOneDueAlarm)?&KEalwlStatusEnabled:&KEalwlStatusNotEnabled);
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-	buf.Format(_L("\nThere %S memory to snooze alarms"),(iAlertState&EASAltStateFlagsNoMemoryForSnoozeAlarm)?&KEalwlStatusIsNo:&KEalwlStatusIs);
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-	buf.Format(_L("\nThere %S an alarm sound to play"),(iAlertState&EASAltStateFlagsAlarmHasNoSoundFileName)?&KEalwlStatusIsNo:&KEalwlStatusIs);
-	iWin->Write(buf);
-	iWin->ClearToEndOfLine();
-
-	// COMMAND PROMPTS
-	iWin->Write(_L("\nENTER = Silence alarm          SPACE = Quiet Period"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\nESCAPE = Acknowledge alarm     A = Acknowledge all"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\nP = Pause alarm sound          TAB = Snooze alarm"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\n1 = 1 min sound interval		 0 = 0 mins sound interval"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\n+ = Increase int. and pause    - = Decrease int. and pause"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\n! = Kill alarm alert server"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\n"));
-	iWin->ClearToEndOfLine();
-	iWin->Write(_L("\r"));
-	//
-	if(!iSession.InstructionSet()) //Get user input if instruction set unspecified.
-		GetKey();
-	else if (iInstructionIndex >= static_cast<RArray<TInt>*>(iSession.InstructionSet())->Count()) //Get user input if program has already iterated thru entire instruction set.
-		GetKey();
-	else //Use the command in the instruction set, instead of waiting for user input.
-		{
-			if(!IsActive())
-			{
-			iStatus = KRequestPending;
-			TRequestStatus* ptrStatus = &iStatus;
-			User::RequestComplete( ptrStatus, KErrNone );
-			SetActive();
-			}
-		}
-	}
-
-//*************************************************************************************
-TInt CConsoleAlarmAlertConsole::GetTimeInterval() const
-	{
-	return(iTimeInterval);
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::SetVisibility(TInt aVis)
-	{
-	if	(!aVis)
-		Hide();
-	else if (!iWin)
-		{
-		// Create a new window, since cannot set order of console windows
-		CreateWin();
-		UpdateDisplay();
-		}
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::SetAlertState(TInt aFlags)
-	{
-	iAlertState = aFlags;
-	UpdateDisplay();
-	}
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::RunL()
-	{
-	if (iStatus.Int() == KErrCancel)
-		return;
-
-	__ASSERT_DEBUG(iWin, User::Invariant());
-	TInt key = iWin->KeyCode();
-	if(iSession.InstructionSet() && iInstructionIndex < static_cast<RArray<TInt>*>(iSession.InstructionSet())->Count())
-		{
-		RArray<TInt>* temp = static_cast<RArray<TInt>*>(iSession.InstructionSet());
-		key = (*temp)[iInstructionIndex++];
-		GetKey();
-		}
-	else
-		{
-		GetKey();
-		if ((key>=EKeyF1 && key<=EKeyF12) || key==EKeyTab)
-			{
-			DoDeferTime(EASAltAlertServerResponseSnooze);
-			}
-		}
-
-	switch (key)
-		{
-	// ACKNOWLEDGE CURRENT
-	case EKeyEscape:
-		iSession.Notify(EASAltAlertServerResponseClear);
-		return;
-	// ACKNOWLEDGE ALL
-	case 'a':
-	case 'A':
-		iSession.Notify(EASAltAlertServerResponseClearAll);
-		return;
-	// QUIET PERIOD
-	case EKeySpace:
-		DoDeferTime(EASAltAlertServerResponseQuietPeriod);
-		break;
-	// PAUSE SOUND
-	case 'p':
-	case 'P':
-		DoDeferTime(EASAltAlertServerResponsePauseSound);
-		break;
-	// SILENCE ALL SOUND
-	case EKeyEnter:
-		iSession.Notify(EASAltAlertServerResponseSilence);
-		break;
-	// INTERVAL 1 MINUTE
-	case '1':
-		iTimeInterval=1;
-		iSession.Notify(EASAltAlertServerResponsePauseSound);
-		break;
-	// INTERVAL 0 MINUTES
-	case '0':
-		iTimeInterval=0;
-		iSession.Notify(EASAltAlertServerResponsePauseSound);
-		break;
-	// PAUSE +
-	case '=':
-	case '+':
-		iTimeInterval++;
-		iSession.Notify(EASAltAlertServerResponsePauseSound);
-		break;
-	// PAUSE -
-	case '-':
-		iTimeInterval--;
-		iSession.Notify(EASAltAlertServerResponsePauseSound);
-		break;
-
-	// QUIT
-	case '!':
-		CActiveScheduler::Stop();
-		break;
-		}
-
-	TBuf<10> buf;
-	buf.Format(_L("'%c',"), key);
-	iWin->Write(buf);
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::DoCancel()
-	{
-	__ASSERT_DEBUG(iWin, User::Invariant());
-	iWin->ReadCancel();
-	}
-
-
-//
-//
-//
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::Hide()
-	{
-	if	(iWin)
-		CancelKey(); 
-	//
-	delete iWin;
-	iWin = NULL;
-	//
-	if	(iCountDown)
-		iCountDown->Cancel();
-	//
-	delete iCountDown;
-	iCountDown=NULL;
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::CreateWin()
-	{
-	_LIT(KAlarmAlertConsoleCaption, "Test Alarm Alert Server Console");
-	//
-	__ASSERT_DEBUG(!iWin, User::Invariant());
-	__ASSERT_DEBUG(!iCountDown, User::Invariant());
-	//
-	TRAPD(trapCheck, iWin = Console::NewL(KAlarmAlertConsoleCaption, TSize(KConsFullScreen, KConsFullScreen)));
-	if	(trapCheck)
-		{
-		iWin=NULL;
-		return;
-		}
-	
-	TRAP(trapCheck, iCountDown = CPeriodic::NewL(CActive::EPriorityIdle));
-	if	(trapCheck)
-		{
-		iCountDown=NULL;
-		return;
-		}
-	//
-	const TTimeIntervalMicroSeconds32 interval(60000000);
-	iCountDown->Start(interval, interval, TCallBack(&CountDownCallBack, this));
-	}
-
-
-//*************************************************************************************
-void CConsoleAlarmAlertConsole::DoDeferTime(TASAltAlertServerResponse aResponse)
-	{
-	if	(++iTimeInterval > 60)
-		{
-		iTimeInterval = 5;
-		User::Beep(440, 12);
-		}
-	//
-	TTime now;
-	now.HomeTime();
-	now += TTimeIntervalMinutes(iTimeInterval);
-	//
-	iSession.Notify(aResponse, now);
-	}
-
-
-//*************************************************************************************
-TBool CConsoleAlarmAlertConsole::CountDownCallBack(TAny* aSelf)
-	{
-	CConsoleAlarmAlertConsole& self = *reinterpret_cast<CConsoleAlarmAlertConsole*>(aSelf);
-	self.DecCounter();
-	//
-	return EFalse;
-	}
-
-