diff -r 000000000000 -r 9cfd9a3ee49c lbstest/lbstestproduct/lbsclient/src/ctlbsclientpostp11.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lbstest/lbstestproduct/lbsclient/src/ctlbsclientpostp11.cpp Tue Feb 02 01:50:39 2010 +0200 @@ -0,0 +1,133 @@ +// Copyright (c) 2001-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: +// + + + +// INCLUDES +#include "ctlbsclientpostp11.h" +#include "ctlbsclientobserver.h" +#include + + +// ================= MEMBER FUNCTIONS ======================= + +// --------------------------------------------------------- +// Constructor. +// --------------------------------------------------------- +CT_LbsClientPosTp11::CT_LbsClientPosTp11(CT_LbsServer& aParent): CT_LbsPortedStepBase(aParent) + { + _LIT(KTestName, "TP11 - EPos start and termination"); + SetTestStepName(KTestName); + } + +// --------------------------------------------------------- +// Destructor. +// --------------------------------------------------------- +CT_LbsClientPosTp11::~CT_LbsClientPosTp11() + { + } + +// --------------------------------------------------------- +// CT_LbsClientPosTp11::CheckEPosActivityL +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CT_LbsClientPosTp11::CheckEPosActivityL(TBool aExpectEPosLiveness) + { + if (aExpectEPosLiveness && !CT_LbsClientObserver::EPosAliveL()) + { + _LIT(KError, "Expected EPos server to be alive but it wasn't"); + LogErrorAndLeaveL(KError); + } + if (!aExpectEPosLiveness && CT_LbsClientObserver::EPosAliveL()) + { + _LIT(KError, "Expected EPos server to be dead but it wasn't"); + LogErrorAndLeaveL(KError); + } + } + +// --------------------------------------------------------- +// CT_LbsClientPosTp11::ServerAliveL +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +TBool CT_LbsClientPosTp11::ServerAliveL(const TDesC& aServerName) + { + TFindServer find(aServerName); + TFullName name; + if (find.Next(name) == KErrNone) // server found + { + TBuf<100> buf; + _LIT(KFoundServer, "Found server: "); + buf.Append(KFoundServer); + buf.Append(name); + INFO_PRINTF1(buf); + return ETrue; + } + else + { + return EFalse; + } + } + +// --------------------------------------------------------- +// CT_LbsClientPosTp11::StartL +// +// (other items were commented in a header). +// --------------------------------------------------------- +// +void CT_LbsClientPosTp11::StartL() + { + const TInt KTimeEPosIsStillActive = 1000000; + const TInt KTimeEPosHasShutDown = 4000000; + + User::After(2000000); + + CT_LbsClientObserver::WaitForEPosShutdown(); + + RPositionServer client1; + RPositionServer client2; + RPositionServer client3; + + CheckEPosActivityL(EFalse); + + User::LeaveIfError(client1.Connect()); + CleanupClosePushL(client1); + CheckEPosActivityL(ETrue); + + User::LeaveIfError(client2.Connect()); + CleanupClosePushL(client2); + CheckEPosActivityL(ETrue); + + User::LeaveIfError(client3.Connect()); + CleanupClosePushL(client3); + CheckEPosActivityL(ETrue); + + client1.Close(); + CheckEPosActivityL(ETrue); + client2.Close(); + CheckEPosActivityL(ETrue); + client3.Close(); + + User::After(TTimeIntervalMicroSeconds32(KTimeEPosIsStillActive)); + CheckEPosActivityL(ETrue); + User::After(TTimeIntervalMicroSeconds32( + KTimeEPosHasShutDown - KTimeEPosIsStillActive)); + CheckEPosActivityL(EFalse); + + CleanupStack::Pop(3); // client1-3 + }