diff -r 000000000000 -r 9cfd9a3ee49c lbstest/lbstestproduct/lbsconflict/inc/ctlbsconflictstepmtlrx3ppush.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lbstest/lbstestproduct/lbsconflict/inc/ctlbsconflictstepmtlrx3ppush.h Tue Feb 02 01:50:39 2010 +0200 @@ -0,0 +1,98 @@ +// Copyright (c) 2006-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: +// @file ctlbsconflictstepmain.h +// This contains the header file for a MTLR- X3P Push test. +// +// + +#ifndef __CT_LBS_CONFLICT_STEP_MTLR_X3P_PUSH_H__ +#define __CT_LBS_CONFLICT_STEP_MTLR_X3P_PUSH_H__ + +// LBS includes. +#include +#include +#include +#include + +// LBS test includes. +#include "ctlbsconflictstep.h" +#include "ctlbsconflictserver.h" +#include "ctlbsdox3p.h" + + +// Literals used +_LIT(KLbsConflictStep_MTLRX3PPush, "LbsConflictStep_MTLRX3PPush"); + +class CT_LbsConflictStep_MTLRX3PPush : public CT_LbsConflictStep, + public MT_LbsDoX3PObserver, + public MLbsPrivacyObserver + { +public: + ~CT_LbsConflictStep_MTLRX3PPush(); + + static CT_LbsConflictStep_MTLRX3PPush* New(CT_LbsConflictServer& aParent); + virtual TVerdict doTestStepL(); + + // From CT_LbsConflictStep. + void Connected(); + void Disconnected(); + void NotifyRegisterLcsMoLr(const TDesC& aData); + void NotifyReleaseLcsMoLr(TInt aReason); + void NotifyMeasurementControlLocation(const TPositionInfo& aPosition, const RLbsAssistanceDataBuilderSet& aData, const TLbsNetPosRequestQuality& aQuality); + void NotifyReleaseLcsLocationNotification(const CLbsNetworkProtocolBase::TLbsPrivacyResponse& aResult); + void NotifyFacilityLcsMoLrResult(TInt aReason, const TPositionInfo& aPosition); + void NotifyMeasurementReportLocation(const TPositionInfo& aPosition); + void NotifyMeasurementReportRequestMoreAssistanceData(const TLbsAssistanceDataGroup& aFilter); + void NotifyMeasurementReportControlFailure(TInt aReason); + + // From MT_LbsDoPosUpdateObserver - Position notify update callback. + void MT_LbsDoX3PCallback(TInt aTransmitId, TRequestStatus& aStatus); + + // From MLbsPrivacyObserver. + void ProcessNetworkLocationRequest(TUint aRequestId, const TLbsExternalRequestInfo& aRequestInfo, const TNotificationType& aNotificationType); + void ProcessNetworkPositionUpdate(TUint aRequestId, const TPositionInfo& aPosInfo); + void ProcessRequestComplete(TUint aRequestId, TInt aReason); + +private: + CT_LbsConflictStep_MTLRX3PPush(CT_LbsConflictServer& aParent); + void ConstructL(); + + void SetExpectedSeq(); + void VerifyPosInfos(); + + enum { /** Just started a MTLR priv request. */ + EStartMTLRPrivReq = CT_LbsConflictStep::ELast, + + /** MTLR privacy request complete, started a MTLR location request. */ + EStartMTLRLocReq, + + /** MTLR location request complete with reference position, waiting for + second location complete. */ + EWaitMTLRLocRes + }; + + /** Active object wrapper to allow the X3P. + */ + CT_LbsDoX3P* iDoX3PPush; + + /** Privacy controller, required to preform a MT-LR. + */ + CLbsPrivacyController* iPrivacyController; + + /** MT-LR request id, used to verify the request ids passed to MT-LR callbacks. + */ + TUint iMtlrRequestId; + }; + +#endif //__CT_LBS_CONFLICT_STEP_MTLR_X3P_PUSH_H__