locationrequestmgmt/networkrequesthandler/inc/privacyandlocationrequesthandler.h
branchRCL_3
changeset 54 0c2046328c85
parent 0 9cfd9a3ee49c
child 49 5f20f71a57a3
child 55 c92d4f3c47c5
equal deleted inserted replaced
52:29dbbeac905d 54:0c2046328c85
   119 	CLbsAdmin* LbsAdmin();	
   119 	CLbsAdmin* LbsAdmin();	
   120 	CNGMessageSwitch* MessageSwitch();
   120 	CNGMessageSwitch* MessageSwitch();
   121 	TPositionModuleInfoExtended::TDeviceGpsModeCapabilities DeviceGpsModeCaps();
   121 	TPositionModuleInfoExtended::TDeviceGpsModeCapabilities DeviceGpsModeCaps();
   122 	CLbsAdmin::TLbsBehaviourMode BehaviourMode();
   122 	CLbsAdmin::TLbsBehaviourMode BehaviourMode();
   123 	RLbsNetworkRegistrationStatus& NetworkRegistrationStatus();
   123 	RLbsNetworkRegistrationStatus& NetworkRegistrationStatus();
       
   124 	void IncrementPositioningStatus();
       
   125 	void DecrementPositioningStatus();
   124 
   126 
   125 private:
   127 private:
   126 	static TBool IsSessionIdEqual(
   128 	static TBool IsSessionIdEqual(
   127 			const TLbsNetSessionIdInt* aSessionId,
   129 			const TLbsNetSessionIdInt* aSessionId,
   128 			const CLbsPrivLocFsm& aFsm);
   130 			const CLbsPrivLocFsm& aFsm);
   160 	// this is the current number of active non-emergency sessions 
   162 	// this is the current number of active non-emergency sessions 
   161 	TUint iNumActiveSessions;
   163 	TUint iNumActiveSessions;
   162 
   164 
   163 	CLbsPrivLocFsm* iMolRFsm;
   165 	CLbsPrivLocFsm* iMolRFsm;
   164 	CLbsPrivLocFsm* iX3pFsm;
   166 	CLbsPrivLocFsm* iX3pFsm;
       
   167 
       
   168 	// ETrue if location management is supported
       
   169 	TBool iLocationManagementSupported;
       
   170 	
       
   171     // Category of the Positioning Status P&S Keys
       
   172 	TUid iPosStatusCategory;
   165 	};
   173 	};
   166 
   174 
   167 
   175 
   168 //------------------------------------------------------------------------------
   176 //------------------------------------------------------------------------------
   169 //
   177 //
   435 	CLbsAdmin* LbsAdmin();
   443 	CLbsAdmin* LbsAdmin();
   436 	CAgpsInterfaceHandler* AgpsInterface();
   444 	CAgpsInterfaceHandler* AgpsInterface();
   437 	RLbsNetworkRegistrationStatus& LbsNetworkRegistrationStatus();
   445 	RLbsNetworkRegistrationStatus& LbsNetworkRegistrationStatus();
   438 	TPositionModuleInfoExtended::TDeviceGpsModeCapabilities DeviceGpsModeCaps();
   446 	TPositionModuleInfoExtended::TDeviceGpsModeCapabilities DeviceGpsModeCaps();
   439 	CLbsAdmin::TLbsBehaviourMode BehaviourMode();	
   447 	CLbsAdmin::TLbsBehaviourMode BehaviourMode();	
   440 
   448 	void IncrementPositioningStatus();
   441 
   449 
   442 protected:	
   450 protected:	
   443 	CLbsPrivLocFsm*			iFsm;
   451 	CLbsPrivLocFsm*			iFsm;
   444 	};
   452 	};
   445 
   453 
   774 		{ return *iLocationUpdateTimer; }
   782 		{ return *iLocationUpdateTimer; }
   775 	
   783 	
   776 	TLbsNetSessionIdInt& LastLocReqSessionId()
   784 	TLbsNetSessionIdInt& LastLocReqSessionId()
   777 		{ return iLastLocReqSessionId; }
   785 		{ return iLastLocReqSessionId; }
   778 	
   786 	
   779 	   TBool& WasPrivacyResponseReceivedStateExited() 
   787 	TBool& WasPrivacyResponseReceivedStateExited() 
   780 	    { return iWasPrivacyResponseReceivedStateExited; }
   788 	    { return iWasPrivacyResponseReceivedStateExited; }
       
   789 	
       
   790 	TLbsExternalRequestInfo::TRequestType& ExternalRequestType()
       
   791 	    { return iExternalRequestType; }
       
   792 	
       
   793 	TBool& WasPositioningStatusIncremented()
       
   794         { return iPositioningStatusIncremented; }
       
   795 	   
   781 	
   796 	
   782 private: // Allow access for friend classes (the states and the NRH) 
   797 private: // Allow access for friend classes (the states and the NRH) 
   783 	friend class CLbsPrivLocStateBase;
   798 	friend class CLbsPrivLocStateBase;
   784 	friend class CLbsNetworkRequestHandler;
   799 	friend class CLbsNetworkRequestHandler;
   785 	friend class CPrivacyAndLocationHandler;
   800 	friend class CPrivacyAndLocationHandler;
   858 	TLbsNetSessionIdInt iLastLocReqSessionId;
   873 	TLbsNetSessionIdInt iLastLocReqSessionId;
   859 
   874 
   860 	// Has a privacy request been rejected?
   875 	// Has a privacy request been rejected?
   861 	TBool iWasPrivacyResponseReceivedStateExited;
   876 	TBool iWasPrivacyResponseReceivedStateExited;
   862 	
   877 	
       
   878 	// The type of external request that has been recieved.
       
   879 	TLbsExternalRequestInfo::TRequestType iExternalRequestType;
       
   880 	
       
   881 	// Indicates if this session resulted in the positioning status being incremented.
       
   882 	TBool iPositioningStatusIncremented;
       
   883 	
   863 private:
   884 private:
   864 	//  the states
   885 	//  the states
   865 	CLbsPrivLocStateBase* iCurrentState;
   886 	CLbsPrivLocStateBase* iCurrentState;
   866 	TFixedArray<CLbsPrivLocStateBase*, ETotalStates> iStates;
   887 	TFixedArray<CLbsPrivLocStateBase*, ETotalStates> iStates;
   867 	};
   888 	};