lbstest/lbstestproduct/lbshybridmultiple/src/clbstestmtlrsessionsequence.cpp
changeset 0 9cfd9a3ee49c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lbstest/lbstestproduct/lbshybridmultiple/src/clbstestmtlrsessionsequence.cpp	Tue Feb 02 01:50:39 2010 +0200
@@ -0,0 +1,114 @@
+// Copyright (c) 2008-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: Stores information for a MTLR test sequence
+// 
+//
+
+#include "clbstestmtlrsessionsequence.h"
+
+/** 2nd Phase constructor
+ */
+CTestMtlrSessionSequence* CTestMtlrSessionSequence::NewL(CLbsTestNgMessageHandler& aNgProxy, MHybridMultipleTestCallBack& aTestCallback,
+		TInt aSequenceNum, const TDesC& aConfigFileName, const TDesC& aConfigSection)
+	{
+	CTestMtlrSessionSequence* self = new (ELeave) CTestMtlrSessionSequence(aNgProxy, aTestCallback);
+	CleanupStack::PushL(self);
+	self->ConstructL(aSequenceNum, aConfigFileName, aConfigSection);
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+/** Destructor
+ */
+CTestMtlrSessionSequence::~CTestMtlrSessionSequence()
+	{
+	}
+	
+/** Standard C Constructor
+ */
+CTestMtlrSessionSequence::CTestMtlrSessionSequence(CLbsTestNgMessageHandler& aNgProxy, MHybridMultipleTestCallBack& aTestCallback)
+:CTestSessionSequence(aNgProxy, aTestCallback),
+iEmergency(EFalse)
+	{
+	}
+	
+/** Second phase construction
+ */
+void CTestMtlrSessionSequence::ConstructL(TInt aSequenceNum, const TDesC& aConfigFileName, const TDesC& aConfigSection)
+	{
+	CTestSessionSequence::ConstructL(aSequenceNum, aConfigFileName, aConfigSection);
+	
+	//Find out what type of MTLR this session is (standard MTLR or NI MTLR)
+	TBuf<6> typeName;
+	typeName.Format(_L("Type%d"), iSequenceId);
+	TPtrC sequenceType;
+	iIniFile->FindVar(aConfigSection, typeName, sequenceType);
+	
+	if(sequenceType.Find(_L("NIMTLR")) != KErrNotFound)
+		{
+		iService = MLbsNetworkProtocolObserver::EServiceNetworkInduced;
+		iTestCallback.LogTestStatement(_L("Type = Network Induced MTLR"));
+		}
+	else
+		{
+		iService = MLbsNetworkProtocolObserver::EServiceNetworkInduced;
+		iTestCallback.LogTestStatement(_L("Type = MTLR"));
+		}
+
+	//Read the Emergency field
+	TBuf<11> emergencyName;
+	emergencyName.Format(_L("Emergency%d"), iSequenceId);
+	iIniFile->FindVar(aConfigSection, emergencyName, iEmergency);
+	LogTestStatement(_L("Emergency = %d"), 1, iEmergency);
+	
+	iTestCallback.LogTestStatement(_L("-----------------------------------------------------------------------"));
+	}
+
+/* << ProcessPrivacyRequest()
+ */
+void CTestMtlrSessionSequence::SendProcessPrivacyRequest()
+	{
+	TLbsNetPosRequestPrivacy privacy    = ArgUtils::Privacy();
+	TLbsExternalRequestInfo requestInfo = ArgUtils::RequestInfo();
+	
+	iNgProxy.ProtocolProxy()->CallL(ENetMsgProcessPrivacyRequest, &iSessionId, &iEmergency, &privacy, &requestInfo);
+	}
+
+/* << ProcessLocationRequest()
+ */
+void CTestMtlrSessionSequence::SendProcessLocationRequest()
+	{
+	TLbsNetPosRequestQuality quality = ArgUtils::QualityAlpha2(); 
+	TLbsNetPosRequestMethod method   = ArgUtils::RequestHybridMethod();
+	iNgProxy.ProtocolProxy()->CallL(ENetMsgProcessLocationRequest, &iSessionId, &iEmergency, &iService, &quality, &method);
+	}
+
+/* << ProcessStatusUpdate()
+ */
+void CTestMtlrSessionSequence::SendProcessStatusUpdate()
+	{
+	MLbsNetworkProtocolObserver::TLbsNetProtocolServiceMask activeServiceMask = MLbsNetworkProtocolObserver::EServiceMobileTerminated;
+	iNgProxy.ProtocolProxy()->CallL(ENetMsgProcessStatusUpdate, &activeServiceMask);
+	}
+
+/** Checks RespondPrivacyRequest()
+ */
+void CTestMtlrSessionSequence::CheckRespondPrivacyRequest(CLbsNetworkProtocolBase::TLbsPrivacyResponse aPrivacyResponse)
+	{
+	//Check to ensure the privacy request is accepted
+	if(aPrivacyResponse != CLbsNetworkProtocolBase::EPrivacyResponseAccepted)
+		{
+		iTestCallback.StopTest(KErrArgument);
+		}
+	}
+