diff -r a2efdd544abf -r b47902b73a93 locationrequestmgmt/networkrequesthandler/inc/x3prequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationrequestmgmt/networkrequesthandler/inc/x3prequest.h Fri Jun 04 10:34:15 2010 +0100 @@ -0,0 +1,102 @@ +/* +* Copyright (c) 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 +@internalComponent +@released +*/ + +#ifndef _X3PREQUEST_H +#define _X3PREQUEST_H + +#include +#include "lbscommoninternaldatatypes.h" +#include "lbsnetinternalapi.h" + + +// Panic Category +_LIT(KX3pRequestFault,"Lbs-Nrh X3pRequest"); + + +/** + * + * Mixin class to report expiry of request timer. + * + */ +class MX3pRequestObserver + { +public: + virtual void OnRequestTimeout(const TLbsNetSessionIdInt& aTimedOutRequestId) = 0; + }; + + +class CX3pRequest : public CBase, + public MLbsCallbackTimerObserver + + { +enum TLbsNrhX3pRequestPanic + { + EPanicTimerError = 0x01 + }; + +public: + static CX3pRequest* NewL(MX3pRequestObserver* aObserver, + const TLbsNetSessionIdInt& aSessionId, + const TDesC& aDestinationID, + TUint aTransmitPriority, + const TLbsTransmitPositionOptions& aTransmitOptions); + + const TLbsNetSessionIdInt& SessionId(); + const TDesC& DestinationId(); + TUint TransmitPriority(); + void SetRequestQuality(const TLbsNetPosRequestQualityInt& aRequestQuality); + TBool FixIsAccurate(const TPositionInfo& aPosInfo, TBool aHybridMode); + + void StartTimer(); + void ReStartTimerOnce(); + ~CX3pRequest(); + +protected: + CX3pRequest(MX3pRequestObserver* aObserver, + const TLbsNetSessionIdInt& aSessionId, + TUint aTransmitPriority); + + void ConstructL(const TDesC& aDestinationId, + const TLbsTransmitPositionOptions& aTransmitOptions); + +protected: + void RunL(); + +protected: // From MLbsCallbackTimerObserver + /** Called when the timer expires */ + void OnTimerEventL(TInt aTimerId); + /** Called if OnTimerEventL leaves */ + TInt OnTimerError(TInt aTimerId, TInt aError); + + +private: + MX3pRequestObserver* iObserver; + TLbsNetSessionIdInt iSessionId; + TBuf<64> iDestinationId; + TUint iTransmitPriority; + TLbsTransmitPositionOptions iTransmitOptions; + TLbsNetPosRequestQualityInt iRequestQuality; + TBool iQualityParametersReceived; + CLbsCallbackTimer* iTimer; + TBool iTimerReStarted; + }; +#endif // _X3PREQUEST_H