--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lbs/lbsclient/src/ctlbsclientpostp222.cpp Thu Jan 21 12:53:44 2010 +0000
@@ -0,0 +1,196 @@
+// 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 the License "Symbian Foundation License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+
+// INCLUDES
+#include "ctlbsclientpostp222.h"
+
+// CONSTANTS
+// ================= MEMBER FUNCTIONS =======================
+
+// Constructor.
+CT_LbsClientPosTp222::CT_LbsClientPosTp222(CT_LbsServer& aParent): CT_LbsPortedStepBase(aParent)
+ {
+ _LIT(KTestName, "TP222 - Partial Update test");
+ SetTestStepName(KTestName);
+ }
+
+// ---------------------------------------------------------
+// Destructor.
+// ---------------------------------------------------------
+CT_LbsClientPosTp222::~CT_LbsClientPosTp222()
+ {
+ }
+
+// ---------------------------------------------------------
+// CPosTp222::CloseTest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CT_LbsClientPosTp222::CloseTest()
+ {
+ ClosePositioner();
+ Disconnect();
+ }
+
+// This flag must be defined if testing partial update NOT supported
+#ifdef PARTIAL_UPDATE_NOT_SUPPORTED
+// ---------------------------------------------------------
+// CPosTp222::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+// If partial update is NOT supported
+void CT_LbsClientPosTp222::StartL()
+ {
+ _LIT(KPartialUpdateTest, "-----Testing that PartialUpdate is NOT supported-----");
+ INFO_PRINTF1(KPartialUpdateTest);
+ SetupPsyL(iUidTestPsyPartialUpdate);
+ SetupGlobalPrivacyL(TPosPrivacy(TPosPrivacy::EAcceptAll, EFalse));
+ _LIT(KService, "PellesKattlåda");
+
+ ConnectL();
+ User::LeaveIfError(OpenPositionerByName(iUidTestPsyPartialUpdate));
+
+ TPositionUpdateOptions updateOptions;
+ // Check that partial update is not supported
+ updateOptions.SetAcceptPartialUpdates(ETrue);
+
+ TInt res = iPositioner.SetUpdateOptions(updateOptions);
+ _LIT(KSetUpdateOptions, "SetUpdateOptions should not be supported, instead error %d was return");
+ AssertTrueL(res == KErrNotSupported, KSetUpdateOptions, res);
+
+ TPositionInfo info = TPositionInfo();
+ TInt err = PerformSyncRequest(KService, &info);
+ _LIT(KErrRequest2, "error when performing sync request nr2, err: %d");
+ AssertTrueL(err == KErrNone, KErrRequest2, err);
+ // Check that a "full" position is returned
+ TPosition pos = TPosition();
+ info.GetPosition(pos);
+
+ if (pos.Latitude() == 30 && pos.Longitude() == 40 && pos.Altitude() == 50)
+ {
+ _LIT(KErrorAndLeave,
+ "Partial update position returned from positioner when this feature should be disabled");
+ LogErrorAndLeaveL(KErrorAndLeave);
+ }
+
+ ClosePositioner();
+ Disconnect();
+
+ _LIT(KFunctionDone, "Test Completed successfully");
+ INFO_PRINTF1(KFunctionDone);
+ }
+
+#else
+// ---------------------------------------------------------
+// CPosTp222::StartL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+// If partial update is supported
+void CT_LbsClientPosTp222::StartL()
+ {
+ _LIT(KPartialUpdateTest, "-----Testing that PartialUpdate is supported-----");
+ INFO_PRINTF1(KPartialUpdateTest);
+ SetupPsyL(iUidTestPsyPartialUpdate);
+
+ ConnectL();
+ User::LeaveIfError(OpenPositionerByName(iUidTestPsyPartialUpdate));
+ _LIT(KService, "PellesKaninlaada");
+
+ TPositionUpdateOptions updateOptions;
+ TPositionUpdateOptions resultOptions;
+ // Check that partial update is not set
+ TBool res = updateOptions.AcceptPartialUpdates();
+ if (res)
+ {
+ _LIT(KErrorAndLeave, "Partial update default is not correct");
+ LogErrorAndLeaveL(KErrorAndLeave);
+ }
+
+ updateOptions.SetAcceptPartialUpdates(ETrue);
+ TInt response = iPositioner.SetUpdateOptions(updateOptions);
+ _LIT(KSetUpdateOptions, "SetUpdateOptions returned error: %d");
+ AssertTrueL(response == KErrNone, KSetUpdateOptions, res);
+
+ // Check that partial update has been set
+ iPositioner.GetUpdateOptions(resultOptions);
+ res = resultOptions.AcceptPartialUpdates();
+ if (!res)
+ {
+ _LIT(KErrorAndLeave, "Partial update not correctly set");
+ LogErrorAndLeaveL(KErrorAndLeave);
+ }
+
+ TPositionInfo info = TPositionInfo();
+ TInt err = PerformSyncRequest(KService, &info);
+ _LIT(KErrRequest, "error when performing sync request, err: %d");
+ AssertTrueL(err == KPositionPartialUpdate, KErrRequest, err);
+
+ //Check that a "partial update" position is returned
+ TPosition pos = TPosition();
+ info.GetPosition(pos);
+
+ if (pos.Latitude() != 30 || pos.Longitude() != 40 || pos.Altitude() != 50)
+ {
+ _LIT(KErrorAndLeave,
+ "Wrong position returned from positioner(partial update)");
+ LogErrorAndLeaveL(KErrorAndLeave);
+ }
+
+ // Disable partialupdate
+ updateOptions.SetAcceptPartialUpdates(EFalse);
+ response = iPositioner.SetUpdateOptions(updateOptions);
+ _LIT(KSetUpdateOptions1,
+ "SetUpdateOptions returned error when disabling partial update err: %d");
+ AssertTrueL(response == KErrNone, KSetUpdateOptions1, res);
+
+ // Check that partial update has been disabled
+ iPositioner.GetUpdateOptions(resultOptions);
+ res = resultOptions.AcceptPartialUpdates();
+ if (res)
+ {
+ _LIT(KErrorAndLeave, "Partial update should not be set");
+ LogErrorAndLeaveL(KErrorAndLeave);
+ }
+
+ TPositionInfo info2 = TPositionInfo();
+ err = PerformSyncRequest(KService, &info2);
+ _LIT(KErrRequest2, "error when performing sync request nr2, err: %d");
+ AssertTrueL(err == KErrNone, KErrRequest2, err);
+ // Check that a "full" position is returned
+ TPosition pos2 = TPosition();
+ info2.GetPosition(pos2);
+
+ if (pos2.Latitude() == 30 && pos2.Longitude() == 40 && pos2.Altitude() == 50)
+ {
+ _LIT(KErrorAndLeave, "Partial update position returned from positioner");
+ LogErrorAndLeaveL(KErrorAndLeave);
+ }
+
+ ClosePositioner();
+ Disconnect();
+ _LIT(KFunctionDone, "Test Completed successfully");
+ INFO_PRINTF1(KFunctionDone);
+ }
+#endif
+
+
+