--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocolmodules/networkprotocolmodule/LbsNetSim/inc/lbsnetsimgateway.h Fri Jun 04 10:34:15 2010 +0100
@@ -0,0 +1,222 @@
+// 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:
+//
+
+/**
+ @file
+ @internalTechnology
+ @test
+*/
+
+
+#ifndef LBSNETSIMTESTGATEWAY_H
+#define LBSNETSIMTESTGATEWAY_H
+
+#include <lbspositioninfo.h>
+#include <lbs/lbslocdatasourcegpsbase.h>
+#include <lbs/lbsassistancedatabuilderset.h>
+
+
+// forwards
+class MLbsNetSimObserver;
+class TLbsPrivacyResponse;
+class TPositionInfo;
+
+class RLbsNetSim : public RSessionBase
+ {
+ public:
+ // Constructor
+ IMPORT_C RLbsNetSim();
+ IMPORT_C ~RLbsNetSim();
+
+ // Server methods
+ IMPORT_C TInt ConnectL(MLbsNetSimObserver* aObserver);
+ IMPORT_C void Close();
+
+ // Methods
+ IMPORT_C void RegisterLcsMoLrL(const TDesC& aData);
+ IMPORT_C void ReleaseLcsMoLrL(TInt aReason);
+ IMPORT_C void ReleaseLcsLocationNotificationL(const CLbsNetworkProtocolBase::TLbsPrivacyResponse& aResult);
+ IMPORT_C void MeasurementReportLocationL(const TPositionInfoBase& aPosition);
+ IMPORT_C void MeasurementReportLocationRequestMoreAssistanceDataL(const TLbsAssistanceDataGroup& aFilter);
+ IMPORT_C void MeasurementControlFailureL(TInt aReason);
+
+ private:
+ static TInt StartServer();
+ public:
+ // So inner classes can call sendreceive
+ void SendReceive(TInt aFunction,const TIpcArgs& aArgs,TRequestStatus& aStatus) const
+ {
+ RSessionBase::SendReceive(aFunction, aArgs, aStatus);
+ }
+ TInt SendReceive(TInt aFunction,const TIpcArgs& aArgs) const
+ {
+ return RSessionBase::SendReceive(aFunction, aArgs);
+ }
+ void SendReceive(TInt aFunction,TRequestStatus& aStatus) const
+ {
+ RSessionBase::SendReceive(aFunction, aStatus);
+ }
+ TInt SendReceive(TInt aFunction) const
+ {
+ return RSessionBase::SendReceive(aFunction);
+ }
+ TInt Send(TInt aFunction) const
+ {
+ return RSessionBase::Send(aFunction);
+ }
+ private:
+ //
+ class CNotificationMeasurementControlLocation : public CActive
+ {
+ public:
+ static CNotificationMeasurementControlLocation* NewL(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ ~CNotificationMeasurementControlLocation();
+
+ void RunL();
+ void DoCancel();
+ private:
+ // Constuctor
+ CNotificationMeasurementControlLocation(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ void ConstructL();
+
+ RLbsNetSim* iNetSim;
+ MLbsNetSimObserver* iObserver;
+
+ // Params
+ TPositionInfo iPosition;
+ TPckg<TPositionInfo> iPositionPkg;
+ TLbsNetPosRequestQuality iQuality;
+ TPckg<TLbsNetPosRequestQuality> iQualityPkg;
+ RLbsAssistanceDataBuilderSet iAssistanceData;
+ HBufC8* iAssistanceDataBuffer;
+ TPtr8 iPtr;
+ };
+ //
+ class CNotificationRegisterLcsLocation : public CActive
+ {
+ public:
+ CNotificationRegisterLcsLocation(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ ~CNotificationRegisterLcsLocation();
+
+ void RunL();
+ void DoCancel();
+ private:
+ RLbsNetSim* iNetSim;
+ MLbsNetSimObserver* iObserver;
+
+ // Params
+ TLbsExternalRequestInfo iRequestInfo;
+ TPckg<TLbsExternalRequestInfo> iRequestInfoPkg;
+ TLbsNetPosRequestPrivacy iRequestPrivacy;
+ TPckg<TLbsNetPosRequestPrivacy> iRequestPrivacyPkg;
+ };
+ //
+ class CNotificationCancelPrivacyRequest : public CActive
+ {
+ public:
+ CNotificationCancelPrivacyRequest(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ ~CNotificationCancelPrivacyRequest();
+
+ void RunL();
+ void DoCancel();
+ private:
+ RLbsNetSim* iNetSim;
+ MLbsNetSimObserver* iObserver;
+
+ // Params
+ TInt iReason;
+ TPckg<TInt> iReasonPkg;
+ };
+ //
+ class CMeasurementReportLocation : public CActive
+ {
+ public:
+ CMeasurementReportLocation(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ ~CMeasurementReportLocation();
+
+ void SendL(const TPositionInfo& aPosition);
+ void RunL();
+ void DoCancel();
+ private:
+ RLbsNetSim* iNetSim;
+ MLbsNetSimObserver* iObserver;
+
+ // Params
+ TInt iReason;
+ TPckg<TInt> iReasonPkg;
+ TPositionInfo iPosition;
+ TPckg<TPositionInfo> iPositionPkg;
+ TBool iFireNotification;
+ TPckg<TBool> iFireNotificationPkg;
+ };
+ //
+ class CNotificationNetworkGone : public CActive
+ {
+ public:
+ CNotificationNetworkGone(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ ~CNotificationNetworkGone();
+
+ void RunL();
+ void DoCancel();
+ private:
+ RLbsNetSim* iNetSim;
+ MLbsNetSimObserver* iObserver;
+ };
+ class CNotificationResetAssistanceData : public CActive
+ {
+ public:
+ CNotificationResetAssistanceData(RLbsNetSim* aNetSim, MLbsNetSimObserver* aObserver);
+ ~CNotificationResetAssistanceData();
+
+ void RunL();
+ void DoCancel();
+ private:
+ RLbsNetSim* iNetSim;
+ MLbsNetSimObserver* iObserver;
+ TLbsAssistanceDataGroup iMask;
+ TPckg<TLbsAssistanceDataGroup> iMaskPkg;
+ };
+ private:
+ MLbsNetSimObserver* iObserver;
+
+ // A-Sync vairables: RegisterLcsMoLr
+ HBufC* iRegisterLcsMoLrData;
+ // A-Sync vairables: ReleaseLcsMoLr
+ TInt iReleaseLcsMoLrReason;
+ TPckg<TInt> iReleaseLcsMoLrReasonPkg;
+ // A-Sync vairables: RequestMoreAssistanceData
+ TLbsAssistanceDataGroup iRequestMoreAssistanceDataFilter;
+ TPckg<TLbsAssistanceDataGroup> iRequestMoreAssistanceDataFilterPkg;
+ // A-Sync vairables: ReleaseLcsLocationNotification
+ CLbsNetworkProtocolBase::TLbsPrivacyResponse iReleaseLcsLocationNotificationResponse;
+ TPckg<CLbsNetworkProtocolBase::TLbsPrivacyResponse> iReleaseLcsLocationNotificationResponsePkg;
+
+
+
+
+ // Message helpers
+ CMeasurementReportLocation* iMeasurementReportLocation;
+
+ // Notifications
+ CNotificationMeasurementControlLocation* iNotificationMeasurementControlLocation;
+ CNotificationRegisterLcsLocation* iNotificationRegisterLcsLocation;
+ CNotificationCancelPrivacyRequest* iNotificationCancelPrivacyRequest;
+ CNotificationNetworkGone* iNotificationNetworkGone;
+ CNotificationResetAssistanceData* iNotificationResetAssistanceData;
+
+ };
+
+#endif // LBSNETSIMTESTGATEWAY_H
+