|
1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #include "mmtsy.h" |
|
17 #include "testdef.h" |
|
18 #include <etelmm.h> |
|
19 #include <et_clsvr.h> |
|
20 #include "Dmmlog.h" |
|
21 #include <etelext.h> |
|
22 |
|
23 CMobileLocationServicesDMmTsy* CMobileLocationServicesDMmTsy::NewL(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName) |
|
24 { |
|
25 CMobileLocationServicesDMmTsy* lcs=new(ELeave) CMobileLocationServicesDMmTsy(aPhone,aFac,aName); |
|
26 CleanupStack::PushL(lcs); |
|
27 lcs->ConstructL(); |
|
28 CleanupStack::Pop(); |
|
29 return lcs; |
|
30 } |
|
31 |
|
32 CMobileLocationServicesDMmTsy::CMobileLocationServicesDMmTsy(CPhoneDMmTsy *aPhone, CPhoneFactoryDummyBase* aFac,const TDesC& aName) : |
|
33 CSubSessionExtDummyBase(aFac), iPhone(aPhone) |
|
34 { |
|
35 iLocationServices=aName; |
|
36 } |
|
37 |
|
38 void CMobileLocationServicesDMmTsy::ConstructL() |
|
39 { |
|
40 LOGTEXT(_L8("CMobileLocationServicesDMmTsy created")); |
|
41 } |
|
42 |
|
43 CMobileLocationServicesDMmTsy::~CMobileLocationServicesDMmTsy() |
|
44 { |
|
45 LOGTEXT(_L8("CMobileLocationServicesDMmTsy destroyed")); |
|
46 } |
|
47 |
|
48 CTelObject* CMobileLocationServicesDMmTsy::OpenNewObjectByNameL(const TDesC& /*aName*/) |
|
49 { |
|
50 User::Leave(KErrNotSupported); |
|
51 return NULL; |
|
52 } |
|
53 |
|
54 CTelObject* CMobileLocationServicesDMmTsy::OpenNewObjectL(TDes& /*aNewName*/) |
|
55 { |
|
56 User::Leave(KErrNotSupported); |
|
57 return NULL; |
|
58 } |
|
59 |
|
60 void CMobileLocationServicesDMmTsy::Init() |
|
61 { |
|
62 } |
|
63 |
|
64 TInt CMobileLocationServicesDMmTsy::RegisterNotification(const TInt /*aIpc*/) |
|
65 { |
|
66 // RegisterNotification is called when the server recognises that this notification |
|
67 // is being posted for the first time on this sub-session object. |
|
68 |
|
69 // It enables the TSY to "turn on" any regular notification messages that it may |
|
70 // receive from the phone |
|
71 return KErrNone; |
|
72 } |
|
73 |
|
74 TInt CMobileLocationServicesDMmTsy::DeregisterNotification(const TInt /*aIpc*/) |
|
75 { |
|
76 // DeregisterNotification is called when the server recognises that this notification |
|
77 // will not be posted again because the last client to have a handle on this sub-session |
|
78 // object has just closed the handle. |
|
79 |
|
80 // It enables the TSY to "turn off" any regular notification messages that it may |
|
81 // receive from the phone |
|
82 return KErrNone; |
|
83 } |
|
84 |
|
85 TInt CMobileLocationServicesDMmTsy::NumberOfSlotsL(const TInt aIpc) |
|
86 { |
|
87 // NumberOfSlotsL is called by the server when it is registering a new notification |
|
88 // It enables the TSY to tell the server how many buffer slots to allocate for |
|
89 // "repost immediately" notifications that may trigger before clients collect them |
|
90 |
|
91 TInt numberOfSlots=1; |
|
92 switch (aIpc) |
|
93 { |
|
94 case EMobileLocationServicesNotifyMtlr: |
|
95 case EMobileLocationServicesNotifyMeasurementControl: |
|
96 case EMobileLocationServicesNotifyResetUePositioningInformation: |
|
97 numberOfSlots=2; |
|
98 break; |
|
99 default: |
|
100 break; |
|
101 } |
|
102 return numberOfSlots; |
|
103 } |
|
104 |
|
105 CTelObject::TReqMode CMobileLocationServicesDMmTsy::ReqModeL(const TInt aIpc) |
|
106 { |
|
107 CTelObject::TReqMode ret=0; |
|
108 switch (aIpc) |
|
109 { |
|
110 case EMobileLocationServicesSetLcsDomain: |
|
111 case EMobileLocationServicesSendMtlrResponse: |
|
112 case EMobileLocationServicesSendMolr: |
|
113 case EMobileLocationServicesSendMtlrError: |
|
114 case EMobileLocationServicesRejectMtlr: |
|
115 case EMobileLocationServicesSendMeasurementReport: |
|
116 case EMobileLocationServicesSendMeasurementControlFailure: |
|
117 break; |
|
118 case EMobileLocationServicesNotifyMtlr: |
|
119 case EMobileLocationServicesNotifyMeasurementControl: |
|
120 case EMobileLocationServicesNotifyResetUePositioningInformation: |
|
121 ret=KReqModeMultipleCompletionEnabled | KReqModeRePostImmediately; |
|
122 break; |
|
123 } |
|
124 return ret; |
|
125 } |
|
126 |
|
127 TInt CMobileLocationServicesDMmTsy::ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage) |
|
128 { |
|
129 // ExtFunc is called by the server when it has a "extended", i.e. non-core ETel request |
|
130 // for the TSY to process |
|
131 // A request handle, request type and request data are passed to the TSY |
|
132 TAny* dataPtr=aPackage.Ptr1(); |
|
133 TAny* dataPtr2=aPackage.Ptr2(); |
|
134 // The request data has to extracted from TDataPackage and the TAny* pointers have to |
|
135 // be "cast" to the expected request data type |
|
136 switch (aIpc) |
|
137 { |
|
138 case EMobileLocationServicesSetLcsDomain: |
|
139 return SetLcsDomain(aTsyReqHandle,REINTERPRET_CAST(RMobileLocationServices::TDomain*,dataPtr)); |
|
140 case EMobileLocationServicesNotifyMtlr: |
|
141 return NotifyMtlr(aTsyReqHandle,aPackage.Des1n()); |
|
142 case EMobileLocationServicesSendMtlrResponse: |
|
143 return SendMtlrResponse(aTsyReqHandle,REINTERPRET_CAST(RMobileLocationServices::TMtlrResponse*,dataPtr)); |
|
144 case EMobileLocationServicesSendMolr: |
|
145 return SendMolr(aTsyReqHandle,aPackage.Des1n(),aPackage.Des2n()); |
|
146 case EMobileLocationServicesSendMtlrError: |
|
147 return SendMtlrResponse(aTsyReqHandle,REINTERPRET_CAST(RMobileLocationServices::TMtlrError*,dataPtr)); |
|
148 case EMobileLocationServicesRejectMtlr: |
|
149 return SendMtlrResponse(aTsyReqHandle,REINTERPRET_CAST(RMobileLocationServices::TMtlrReject*,dataPtr)); |
|
150 case EMobileLocationServicesNotifyMeasurementControl: |
|
151 return NotifyMeasurementControl(aTsyReqHandle,aPackage.Des1n()); |
|
152 case EMobileLocationServicesSendMeasurementReport: |
|
153 return SendMeasurementReport(aTsyReqHandle,aPackage.Des1n()); |
|
154 case EMobileLocationServicesSendMeasurementControlFailure: |
|
155 return SendMeasurementReport(aTsyReqHandle,REINTERPRET_CAST(RMobileLocationServices::TMeasurementControlFailure*,dataPtr)); |
|
156 case EMobileLocationServicesNotifyResetUePositioningInformation: |
|
157 return NotifyResetUePositioningInformation(aTsyReqHandle,REINTERPRET_CAST(RMobileLocationServices::TUePosTechnology*, dataPtr)); |
|
158 default: |
|
159 return KErrGeneral; |
|
160 } |
|
161 } |
|
162 |
|
163 TInt CMobileLocationServicesDMmTsy::CancelService(const TInt aIpc, const TTsyReqHandle aTsyReqHandle) |
|
164 { |
|
165 // CancelService is called by the server when it is "cleaning-up" any still outstanding |
|
166 // asynchronous requests before closing a client's sub-session. |
|
167 // This will happen if a client closes its R-class handle without cancelling outstanding |
|
168 // asynchronous requests. |
|
169 LOGTEXT(_L8("CMobileLocationServicesDMmTsy: - CancelService called")); |
|
170 switch (aIpc) |
|
171 { |
|
172 case EMobileLocationServicesNotifyMtlr: |
|
173 return NotifyMtlrCancel(aTsyReqHandle); |
|
174 case EMobileLocationServicesSendMolr: |
|
175 return SendMolrCancel(aTsyReqHandle); |
|
176 case EMobileLocationServicesNotifyMeasurementControl: |
|
177 return NotifyMeasurementControlCancel(aTsyReqHandle); |
|
178 case EMobileLocationServicesSendMeasurementReport: |
|
179 case EMobileLocationServicesSendMeasurementControlFailure: |
|
180 return SendMeasurementReportCancel(aTsyReqHandle); |
|
181 case EMobileLocationServicesSendMtlrResponse: |
|
182 case EMobileLocationServicesSendMtlrError: |
|
183 case EMobileLocationServicesRejectMtlr: |
|
184 return SendMtlrResponseCancel(aTsyReqHandle); |
|
185 case EMobileLocationServicesNotifyResetUePositioningInformation: |
|
186 return NotifyResetUePositioningInformationCancel(aTsyReqHandle); |
|
187 default: |
|
188 return KErrGeneral; |
|
189 } |
|
190 } |
|
191 TInt CMobileLocationServicesDMmTsy::SendMtlrResponse(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMtlrResponse* aMtlrResponse) |
|
192 { |
|
193 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMtlrResponse Called")); |
|
194 if (*aMtlrResponse==DMMTSY_MTLR_RESPONSE1 || *aMtlrResponse==DMMTSY_MTLR_RESPONSE2) |
|
195 { |
|
196 iPhone->AddDelayedReq(aTsyReqHandle,this, 500000); |
|
197 } |
|
198 else |
|
199 { |
|
200 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
201 } |
|
202 return KErrNone; |
|
203 } |
|
204 |
|
205 TInt CMobileLocationServicesDMmTsy::SendMtlrResponse(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMtlrError* aMtlrError) |
|
206 { |
|
207 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMtlrResponse Called")); |
|
208 if (*aMtlrError==DMMTSY_MTLR_ERROR1 || *aMtlrError==DMMTSY_MTLR_ERROR2) |
|
209 { |
|
210 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
211 } |
|
212 else |
|
213 { |
|
214 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
215 } |
|
216 return KErrNone; |
|
217 } |
|
218 |
|
219 TInt CMobileLocationServicesDMmTsy::SendMtlrResponse(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMtlrReject* aMtlrReject) |
|
220 { |
|
221 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMtlrResponse Called")); |
|
222 if(*aMtlrReject==DMMTSY_MTLR_REJECT1 || *aMtlrReject==DMMTSY_MTLR_REJECT2) |
|
223 { |
|
224 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
225 } |
|
226 else |
|
227 { |
|
228 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
229 } |
|
230 return KErrNone; |
|
231 } |
|
232 |
|
233 TInt CMobileLocationServicesDMmTsy::NotifyMtlr(const TTsyReqHandle aTsyReqHandle,TDes8* aNotifyMtlr) |
|
234 { |
|
235 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::NotifyMtlr Called")); |
|
236 RMobileLocationServices::TNotifyMtlrV7Pckg *notifyMtlrPckg = (RMobileLocationServices::TNotifyMtlrV7Pckg*)(aNotifyMtlr); |
|
237 RMobileLocationServices::TNotifyMtlrV7 & notifyMtlr = (*notifyMtlrPckg)(); |
|
238 if(notifyMtlr.iLocationInfo.iLcsClientName.iLcsDataCodingScheme == DMMTSY_DATA_CODING_SCHEME1) |
|
239 { |
|
240 notifyMtlr.iMtlrLocationEstimateType=DMMTSY_LOCATION_ESTIMATE_TYPE1; |
|
241 notifyMtlr.iNotificationType=DMMTSY_NOTIFICATION_TYPE1; |
|
242 iPhone->AddDelayedReq(aTsyReqHandle,this, 100000); |
|
243 } |
|
244 if(notifyMtlr.iLocationInfo.iLcsClientName.iLcsDataCodingScheme == DMMTSY_DATA_CODING_SCHEME2) |
|
245 { |
|
246 notifyMtlr.iMtlrLocationEstimateType=DMMTSY_LOCATION_ESTIMATE_TYPE2; |
|
247 notifyMtlr.iNotificationType=DMMTSY_NOTIFICATION_TYPE2; |
|
248 iPhone->AddDelayedReq(aTsyReqHandle,this, 100000); |
|
249 } |
|
250 if(notifyMtlr.iLocationInfo.iLcsClientName.iLcsDataCodingScheme == DMMTSY_DATA_CODING_SCHEME3) |
|
251 { |
|
252 notifyMtlr.iMtlrLocationEstimateType=DMMTSY_LOCATION_ESTIMATE_TYPE2; |
|
253 notifyMtlr.iNotificationType=DMMTSY_NOTIFICATION_TYPE3; |
|
254 iPhone->AddDelayedReq(aTsyReqHandle,this, 100000); |
|
255 } |
|
256 if(notifyMtlr.iLocationInfo.iLcsClientName.iLcsDataCodingScheme == DMMTSY_DATA_CODING_SCHEME4) |
|
257 { |
|
258 notifyMtlr.iMtlrLocationEstimateType=DMMTSY_LOCATION_ESTIMATE_TYPE2; |
|
259 notifyMtlr.iNotificationType=DMMTSY_NOTIFICATION_TYPE4; |
|
260 iPhone->AddDelayedReq(aTsyReqHandle,this, 100000); |
|
261 } |
|
262 if(notifyMtlr.iLocationInfo.iLcsClientName.iLcsDataCodingScheme == DMMTSY_DATA_CODING_SCHEME5) |
|
263 { |
|
264 notifyMtlr.iMtlrLocationEstimateType=DMMTSY_LOCATION_ESTIMATE_TYPE2; |
|
265 notifyMtlr.iNotificationType=DMMTSY_NOTIFICATION_TYPE5; |
|
266 iPhone->AddDelayedReq(aTsyReqHandle,this, 100000); |
|
267 } |
|
268 if(notifyMtlr.iLocationInfo.iLcsClientName.iLcsDataCodingScheme == DMMTSY_DATA_CODING_SCHEME6) |
|
269 { |
|
270 notifyMtlr.iLocationInfo.iLcsClientID.Copy(DMMTSY_INVALID_EXTERNAL_CLIENT_ID) ; |
|
271 iPhone->AddDelayedReq(aTsyReqHandle,this, 100000); |
|
272 } |
|
273 return KErrNone; |
|
274 } |
|
275 |
|
276 TInt CMobileLocationServicesDMmTsy::SendMolr(const TTsyReqHandle aTsyReqHandle,TDes8* aStartMolr,TDes8* aMolrReturnResult) |
|
277 { |
|
278 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMolr Called")); |
|
279 RMobileLocationServices::TStartMolrV7Pckg *startMolrPckg = (RMobileLocationServices::TStartMolrV7Pckg*)(aStartMolr); |
|
280 RMobileLocationServices::TStartMolrV7 & startMolr = (*startMolrPckg)(); |
|
281 RMobileLocationServices::TMolrReturnResultV7Pckg *molrReturnResultPckg = (RMobileLocationServices::TMolrReturnResultV7Pckg*)(aMolrReturnResult); |
|
282 RMobileLocationServices::TMolrReturnResultV7 & molrReturnResult = (*molrReturnResultPckg)(); |
|
283 if(startMolr.iMolrType==DMMTSY_MOLR_TYPE1 && startMolr.iLcsClientExternalID==DMMTSY_INVALID_EXTERNAL_CLIENT_ID) |
|
284 { |
|
285 molrReturnResult.iLocationEstimate=DMMTSY_MOLR_LOCATION_ESTIMATE; |
|
286 molrReturnResult.iMolrErrors=DMMTSY_MOLR_ERROR_TYPE2; |
|
287 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
288 } |
|
289 else if(startMolr.iMolrType==DMMTSY_MOLR_TYPE1 || |
|
290 startMolr.iMolrType==DMMTSY_MOLR_TYPE2 || |
|
291 startMolr.iQos.iHorizontalAccuracy == DMMTSY_MOLR_HORIZONTAL_ACCURACY || |
|
292 startMolr.iLcsClientExternalID==DMMTSY_EXTERNAL_CLIENT_ID || |
|
293 startMolr.iMolrLocationEstimateType == DMMTSY_MOLR_LOCATION_ESTIMATION_TYPE1 || |
|
294 startMolr.iLocationMethod == DMMTSY_MOLR_LOCATION_METHOD3 || |
|
295 startMolr.iQos.iVerticalAccuracy == DMMTSY_MOLR_VERTICAL_ACCURACY || |
|
296 startMolr.iQos.iResponseTime == DMMTSY_MOLR_RESPONSE_TIME1 || |
|
297 startMolr.iGpsAssistanceData==DMMTSY_MOLR_GPS_ASSISTANCE_DATA) |
|
298 { |
|
299 molrReturnResult.iLocationEstimate=DMMTSY_MOLR_LOCATION_ESTIMATE; |
|
300 molrReturnResult.iVelocityEstimate=DMMTSY_MOLR_VELOCITY_ESTIMATE; |
|
301 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
302 } |
|
303 else |
|
304 { |
|
305 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
306 } |
|
307 return KErrNone; |
|
308 } |
|
309 |
|
310 TInt CMobileLocationServicesDMmTsy::NotifyMtlrCancel(const TTsyReqHandle aTsyReqHandle) |
|
311 { |
|
312 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::NotifyMtlrCancel Called")); |
|
313 iPhone->RemoveDelayedReq(aTsyReqHandle); |
|
314 ReqCompleted(aTsyReqHandle,KErrCancel); |
|
315 return KErrNone; |
|
316 } |
|
317 TInt CMobileLocationServicesDMmTsy::SendMolrCancel(const TTsyReqHandle aTsyReqHandle) |
|
318 { |
|
319 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMolrCancel Called")); |
|
320 iPhone->RemoveDelayedReq(aTsyReqHandle); |
|
321 ReqCompleted(aTsyReqHandle,KErrCancel); |
|
322 return KErrNone; |
|
323 } |
|
324 TInt CMobileLocationServicesDMmTsy::SendMtlrResponseCancel(const TTsyReqHandle aTsyReqHandle) |
|
325 { |
|
326 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMtlrResponseCancel Called")); |
|
327 iPhone->RemoveDelayedReq(aTsyReqHandle); |
|
328 ReqCompleted(aTsyReqHandle,KErrCancel); |
|
329 return KErrNone; |
|
330 } |
|
331 TInt CMobileLocationServicesDMmTsy::NotifyMeasurementControl(const TTsyReqHandle aTsyReqHandle,TDes8* aMeasurementControl) |
|
332 { |
|
333 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::NotifyMeasurementControl Called")); |
|
334 RMobileLocationServices::TMeasurementControlV7Pckg *measurementControlPckg = (RMobileLocationServices::TMeasurementControlV7Pckg*)(aMeasurementControl); |
|
335 RMobileLocationServices::TMeasurementControlV7 & measurementControl = (*measurementControlPckg)(); |
|
336 // modified measurement control data |
|
337 if(measurementControl.iMeasurementIdentity==DMMTSY_PHONE_LCS_MODIFIED_MEASUREMENTID) |
|
338 { |
|
339 measurementControl.iMeasurementIdentity=DMMTSY_PHONE_LCS_MODIFIED_MEASUREMENTID; |
|
340 |
|
341 //Reference Time Data populated |
|
342 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferencTime.iGpsWeek = DMMTSY_PHONE_LCS_MC_GPS_REFTIME_GPSWK; |
|
343 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferencTime.iGpsTowOneMsec = DMMTSY_PHONE_LCS_MC_GPS_REFTIME_GPSTOWONEMSCE; |
|
344 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iReferenceTimeRequest = EFalse; |
|
345 |
|
346 // Acquisition Assistance Data populated |
|
347 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iLsPart = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_LSPART; |
|
348 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iMsPart = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_MSPART; |
|
349 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iSfn = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_SFN; |
|
350 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iAcquisitionAssistanceReq = EFalse; |
|
351 |
|
352 // Reference Location data populated |
|
353 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferenceLocation.iLatitudeSign = DMMTSY_PHONE_LCS_MC_GPS_REFLOC_LATSIGN1; |
|
354 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferenceLocation.iLatitude = DMMTSY_PHONE_LCS_MC_GPS_REFLOC_LAT; |
|
355 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iReferenceLocation.iLongitude = DMMTSY_PHONE_LCS_MC_GPS_REFLOC_LONG; |
|
356 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iReferenceLocationRequest = EFalse; |
|
357 |
|
358 // NavigationModel data populated |
|
359 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iNavigationModel.iEphemerisParameter.iCodeOnL2 = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_EPHEMERIS ; |
|
360 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iNavigationModel.iSatID = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_SATID; |
|
361 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iNavigationModel.iSatelliteStatus = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_SATSTATUS1; |
|
362 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iNavigationModelRequest = EFalse; |
|
363 |
|
364 //DGPS corrections data populated |
|
365 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iDgpsCorrections.iGpsTow = DMMTSY_PHONE_LCS_MC_GPS_CORRECTIONS_TOW; |
|
366 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iDgpsCorrectionsRequest = EFalse; |
|
367 |
|
368 // Ionospheric data populated |
|
369 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iIonosphericModel.iAlfa1 = DMMTSY_PHONE_LCS_MC_GPS_IONOSPHERIC_MODEL1; |
|
370 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iIonosphericModelRequest = EFalse; |
|
371 |
|
372 //UTC data populated |
|
373 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iUtcModel.iA1 = DMMTSY_PHONE_LCS_MC_GPS_UTC_MODEL1; |
|
374 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iUtcModelRequest = EFalse; |
|
375 |
|
376 //Almanac data populated |
|
377 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iAlmanac.iWnA = DMMTSY_PHONE_LCS_MC_GPS_ALMANAC; |
|
378 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iAlmanacRequest = EFalse; |
|
379 |
|
380 //RealTime integrity data populated |
|
381 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iBadSatList[0] = DMMTSY_PHONE_LCS_MC_GPS_BADSATLIST; |
|
382 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iGpsAddlDataStatus.iRealTimeIntegrityRequest = EFalse; |
|
383 |
|
384 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iAcquisitionAssistance.iGpsReferenceTime = DMMTSY_PHONE_LCS_MC_GPS_ACQASSISTANCE_TIME; |
|
385 measurementControl.iMeasReportTransferMode = DMMTSY_PHONE_LCS_MC_RPTTRANSFERMODE; |
|
386 |
|
387 measurementControl.iMeasurementCommand.iModify.iUePosGpsAssistanceData.iAcquisitionAssistance.iUtranGpsReferenceTime.iCellParametersID = DMMTSY_PHONE_LCS_MC_GPS_MODE_CELLPARAMID; |
|
388 measurementControl.iMeasurementCommand.iModify.iUePosReportingQuantity.iHorzAccuracy = DMMTSY_PHONE_LCS_MC_HORZACCURACY; |
|
389 measurementControl.iMeasurementCommand.iModify.iUePosReportingQuantity.iVertAccuracy = DMMTSY_PHONE_LCS_MC_VERTACCURACY; |
|
390 |
|
391 //Additional Data request is False |
|
392 measurementControl.iMeasurementCommand.iModify.iUePosReportingQuantity.iAddlAssistanceDataReq = EFalse; |
|
393 |
|
394 iPhone->AddDelayedReq(aTsyReqHandle,this, 1000000); |
|
395 } |
|
396 //incomplete measurement control |
|
397 else if(measurementControl.iMeasurementIdentity==DMMTSY_PHONE_LCS_MEASUREMENTID1) |
|
398 { |
|
399 measurementControl.iMeasurementIdentity=DMMTSY_PHONE_LCS_MEASUREMENTID1; |
|
400 |
|
401 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iGpsWeek = DMMTSY_PHONE_LCS_MC_GPS_REFTIME_GPSWK; |
|
402 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iGpsTowOneMsec = DMMTSY_PHONE_LCS_MC_GPS_REFTIME_GPSTOWONEMSCE; |
|
403 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iLsPart = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_LSPART; |
|
404 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iMsPart = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_MSPART; |
|
405 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iSfn = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_SFN; |
|
406 |
|
407 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iDgpsCorrections.iGpsTow = DMMTSY_PHONE_LCS_MC_GPS_CORRECTIONS_TOW; |
|
408 |
|
409 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iNavigationModel.iEphemerisParameter.iCodeOnL2 = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_EPHEMERIS ; |
|
410 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iNavigationModel.iSatID = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_SATID; |
|
411 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iNavigationModel.iSatelliteStatus = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_SATSTATUS1; |
|
412 |
|
413 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iIonosphericModel.iAlfa1 = DMMTSY_PHONE_LCS_MC_GPS_IONOSPHERIC_MODEL1; |
|
414 |
|
415 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAlmanac.iWnA = DMMTSY_PHONE_LCS_MC_GPS_ALMANAC; |
|
416 |
|
417 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAcquisitionAssistance.iGpsReferenceTime = DMMTSY_PHONE_LCS_MC_GPS_ACQASSISTANCE_TIME; |
|
418 |
|
419 measurementControl.iMeasReportTransferMode = DMMTSY_PHONE_LCS_MC_RPTTRANSFERMODE; |
|
420 measurementControl.iMeasurementCommand.iSetup.iUePosReportingQuantity.iAddlAssistanceDataReq = ETrue; |
|
421 |
|
422 iPhone->AddDelayedReq(aTsyReqHandle,this, 1000000); |
|
423 } |
|
424 // measurement control failure case |
|
425 else if(measurementControl.iMeasurementIdentity==DMMTSY_PHONE_LCS_INVALID_MEASUREMENTID) |
|
426 { |
|
427 measurementControl.iMeasurementIdentity=DMMTSY_PHONE_LCS_INVALID_MEASUREMENTID; |
|
428 iPhone->AddDelayedReq(aTsyReqHandle,this, 1000000); |
|
429 } |
|
430 //complete measurement control data |
|
431 else |
|
432 { |
|
433 measurementControl.iMeasurementIdentity=DMMTSY_PHONE_LCS_MEASUREMENTID; |
|
434 |
|
435 //Reference Time Data populated |
|
436 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iGpsWeek = DMMTSY_PHONE_LCS_MC_GPS_REFTIME_GPSWK; |
|
437 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iGpsTowOneMsec = DMMTSY_PHONE_LCS_MC_GPS_REFTIME_GPSTOWONEMSCE; |
|
438 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iReferenceTimeRequest = EFalse; |
|
439 |
|
440 // Acquisition Assistance Data populated |
|
441 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iLsPart = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_LSPART; |
|
442 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iMsPart = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_MSPART; |
|
443 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iSfn = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_SFN; |
|
444 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iAcquisitionAssistanceReq = EFalse; |
|
445 |
|
446 // Reference Location data populated |
|
447 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferenceLocation.iLatitudeSign = DMMTSY_PHONE_LCS_MC_GPS_REFLOC_LATSIGN1; |
|
448 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferenceLocation.iLatitude = DMMTSY_PHONE_LCS_MC_GPS_REFLOC_LAT; |
|
449 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferenceLocation.iLongitude = DMMTSY_PHONE_LCS_MC_GPS_REFLOC_LONG; |
|
450 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iReferenceLocationRequest = EFalse; |
|
451 |
|
452 // NavigationModel data populated |
|
453 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iNavigationModel.iEphemerisParameter.iCodeOnL2 = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_EPHEMERIS ; |
|
454 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iNavigationModel.iSatID = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_SATID; |
|
455 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iNavigationModel.iSatelliteStatus = DMMTSY_PHONE_LCS_MC_GPS_NAVIGATION_SATSTATUS1; |
|
456 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iNavigationModelRequest = EFalse; |
|
457 |
|
458 //DGPS corrections data populated |
|
459 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iDgpsCorrections.iGpsTow = DMMTSY_PHONE_LCS_MC_GPS_CORRECTIONS_TOW; |
|
460 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iDgpsCorrectionsRequest = EFalse; |
|
461 |
|
462 // Ionospheric data populated |
|
463 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iIonosphericModel.iAlfa1 = DMMTSY_PHONE_LCS_MC_GPS_IONOSPHERIC_MODEL1; |
|
464 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iIonosphericModelRequest = EFalse; |
|
465 |
|
466 //UTC data populated |
|
467 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iUtcModel.iA1 = DMMTSY_PHONE_LCS_MC_GPS_UTC_MODEL1; |
|
468 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iUtcModelRequest = EFalse; |
|
469 |
|
470 //Almanac data populated |
|
471 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAlmanac.iWnA = DMMTSY_PHONE_LCS_MC_GPS_ALMANAC; |
|
472 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iAlmanacRequest = EFalse; |
|
473 |
|
474 //RealTime integrity data populated |
|
475 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iBadSatList[0] = DMMTSY_PHONE_LCS_MC_GPS_BADSATLIST; |
|
476 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iGpsAddlDataStatus.iRealTimeIntegrityRequest = EFalse; |
|
477 |
|
478 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAcquisitionAssistance.iGpsReferenceTime = DMMTSY_PHONE_LCS_MC_GPS_ACQASSISTANCE_TIME; |
|
479 measurementControl.iMeasReportTransferMode = DMMTSY_PHONE_LCS_MC_RPTTRANSFERMODE; |
|
480 |
|
481 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAcquisitionAssistance.iUtranGpsReferenceTime.iCellParametersID = DMMTSY_PHONE_LCS_MC_GPS_MODE_CELLPARAMID; |
|
482 measurementControl.iMeasurementCommand.iSetup.iUePosReportingQuantity.iHorzAccuracy = DMMTSY_PHONE_LCS_MC_HORZACCURACY; |
|
483 measurementControl.iMeasurementCommand.iSetup.iUePosReportingQuantity.iVertAccuracy = DMMTSY_PHONE_LCS_MC_VERTACCURACY; |
|
484 |
|
485 measurementControl.iVelocityRequested = DMMTSY_PHONE_LCS_MC_VELOCITY_REQUESTED; |
|
486 |
|
487 //Additional Data request is False |
|
488 measurementControl.iMeasurementCommand.iSetup.iUePosReportingQuantity.iAddlAssistanceDataReq = EFalse; |
|
489 |
|
490 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iModeSpecificInfoStatus = DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_MODESTATUS_REQUESTED; |
|
491 |
|
492 if(measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iModeSpecificInfoStatus == DMMTSY_PHONE_LCS_MC_GPS_UTRANREFTIME_MODESTATUS_REQUESTED) |
|
493 { |
|
494 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iModeSpecificInfo.iPrimaryScramblingCode =DMMTSY_PHONE_LCS_MC_GPS_MODE_PRIMARYCODE; |
|
495 } |
|
496 else |
|
497 { |
|
498 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iReferencTime.iUtranGpsRefTime.iModeSpecificInfo.iCellParametersID = DMMTSY_PHONE_LCS_MC_GPS_MODE_CELLPARAMID; |
|
499 } |
|
500 |
|
501 if(measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAcquisitionAssistance.iUtranGpsRefTimeStatus == DMMTSY_PHONE_LCS_MC_GPS_ACQASSISTANCE_REFTIMEST_REQUESTED) |
|
502 { |
|
503 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAcquisitionAssistance.iUtranGpsReferenceTime.iPrimaryScramblingCode = DMMTSY_PHONE_LCS_MC_GPS_MODE_PRIMARYCODE; |
|
504 } |
|
505 else |
|
506 { |
|
507 measurementControl.iMeasurementCommand.iSetup.iUePosGpsAssistanceData.iAcquisitionAssistance.iUtranGpsReferenceTime.iCellParametersID = DMMTSY_PHONE_LCS_MC_GPS_MODE_CELLPARAMID; |
|
508 } |
|
509 |
|
510 iPhone->AddDelayedReq(aTsyReqHandle,this, 1000000); |
|
511 } |
|
512 return KErrNone; |
|
513 } |
|
514 |
|
515 TInt CMobileLocationServicesDMmTsy::SendMeasurementReport(const TTsyReqHandle aTsyReqHandle,TDes8* aMeasurementReport) |
|
516 { |
|
517 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMeasurementReport Called")); |
|
518 RMobileLocationServices::TMeasurementReportV7Pckg *measurementReportPckg = (RMobileLocationServices::TMeasurementReportV7Pckg*)(aMeasurementReport); |
|
519 RMobileLocationServices::TMeasurementReportV7 & measurementReport = (*measurementReportPckg)(); |
|
520 //successful measurement report |
|
521 if(measurementReport.iMeasurementIdentity==DMMTSY_PHONE_LCS_MEASUREMENTID && measurementReport.iMeasuredResults.iTUePosMeasuredResults.iPosErrorStatus == DMMTSY_PHONE_LCS_MCR_POSERROR_STATUS_FALSE) |
|
522 { |
|
523 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
524 } |
|
525 //measurment report with modified data |
|
526 else if(measurementReport.iMeasurementIdentity==DMMTSY_PHONE_LCS_MODIFIED_MEASUREMENTID && measurementReport.iMeasuredResults.iTUePosMeasuredResults.iPosErrorStatus == DMMTSY_PHONE_LCS_MCR_POSERROR_STATUS_FALSE) |
|
527 { |
|
528 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
529 } |
|
530 //unsuccessful measurement report |
|
531 else if(measurementReport.iMeasurementIdentity==DMMTSY_PHONE_LCS_MEASUREMENTID1 && |
|
532 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iPosErrorStatus == DMMTSY_PHONE_LCS_MCR_POSERROR_STATUS_TRUE) |
|
533 { |
|
534 if( measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iAlmanacRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_ALMANACREQ || |
|
535 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iUtcModelRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_UTCREQ || |
|
536 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iIonosphericModelRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_IONREQ || |
|
537 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iNavigationModelRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_NAVREQ || |
|
538 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iDgpsCorrectionsRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_DPSREQ || |
|
539 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iReferenceLocationRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_REFLOCREQ || |
|
540 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iReferenceTimeRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_REFTIMEREQ || |
|
541 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iAcquisitionAssistanceReq == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_ACQASSITREQ || |
|
542 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iGpsAddlAssistDataReq.iRealTimeIntegrityRequest == DMMTSY_PHONE_LCS_MC_GPS_ADDLASSITDATA_REALTIMEINTGREQ || |
|
543 measurementReport.iMeasuredResults.iTUePosMeasuredResults.iUePosError.iPosErrorCause == DMMTSY_PHONE_LCS_MC_GPS_ERRORCAUSE5) |
|
544 { |
|
545 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
546 } |
|
547 } |
|
548 else |
|
549 { |
|
550 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
551 } |
|
552 return KErrNone; |
|
553 } |
|
554 |
|
555 TInt CMobileLocationServicesDMmTsy::SendMeasurementReport(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TMeasurementControlFailure* aMeasurementControlFailure) |
|
556 { |
|
557 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMeasurementControlFailure Called")); |
|
558 if( *aMeasurementControlFailure == DMMTSY_PHONE_LCS_MCTRLFAILURE1 || |
|
559 *aMeasurementControlFailure == DMMTSY_PHONE_LCS_MCTRLFAILURE2 || |
|
560 *aMeasurementControlFailure == DMMTSY_PHONE_LCS_MCTRLFAILURE3 || |
|
561 *aMeasurementControlFailure == DMMTSY_PHONE_LCS_MCTRLFAILURE4 || |
|
562 *aMeasurementControlFailure == DMMTSY_PHONE_LCS_MCTRLFAILURE5 || |
|
563 *aMeasurementControlFailure == DMMTSY_PHONE_LCS_MCTRLFAILURE6 ) |
|
564 { |
|
565 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
566 } |
|
567 else |
|
568 { |
|
569 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
570 } |
|
571 return KErrNone; |
|
572 } |
|
573 |
|
574 TInt CMobileLocationServicesDMmTsy::NotifyMeasurementControlCancel(const TTsyReqHandle aTsyReqHandle) |
|
575 { |
|
576 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::NotifyMeasurementControlCancel Called")); |
|
577 iPhone->RemoveDelayedReq(aTsyReqHandle); |
|
578 ReqCompleted(aTsyReqHandle,KErrCancel); |
|
579 return KErrNone; |
|
580 } |
|
581 |
|
582 TInt CMobileLocationServicesDMmTsy::SendMeasurementReportCancel(const TTsyReqHandle aTsyReqHandle) |
|
583 { |
|
584 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SendMeasurementReportCancel Called")); |
|
585 iPhone->RemoveDelayedReq(aTsyReqHandle); |
|
586 ReqCompleted(aTsyReqHandle,KErrCancel); |
|
587 return KErrNone; |
|
588 } |
|
589 |
|
590 TInt CMobileLocationServicesDMmTsy::SetLcsDomain(const TTsyReqHandle aTsyReqHandle,RMobileLocationServices::TDomain* aDomain) |
|
591 { |
|
592 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::SetLcsDomain is Called")); |
|
593 if (*aDomain==DMMTSY_SETLCS_DOMAIN1 || *aDomain==DMMTSY_SETLCS_DOMAIN2) |
|
594 { |
|
595 ReqCompleted(aTsyReqHandle,KErrNone); |
|
596 } |
|
597 else |
|
598 { |
|
599 ReqCompleted(aTsyReqHandle,KErrCorrupt); |
|
600 } |
|
601 return KErrNone; |
|
602 } |
|
603 |
|
604 |
|
605 TInt CMobileLocationServicesDMmTsy::NotifyResetUePositioningInformation(const TTsyReqHandle aTsyReqHandle, RMobileLocationServices::TUePosTechnology* aUePosTechnology) |
|
606 { |
|
607 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::NotifyResetUePositioningInformation Called")); |
|
608 *aUePosTechnology = RMobileLocationServices::KUePosTechnologyAGPS; // 0 |
|
609 iPhone->AddDelayedReq(aTsyReqHandle,this); |
|
610 return KErrNone; |
|
611 } |
|
612 |
|
613 TInt CMobileLocationServicesDMmTsy::NotifyResetUePositioningInformationCancel(const TTsyReqHandle aTsyReqHandle) |
|
614 { |
|
615 LOGTEXT(_L8("CMobileLocationServicesDMmTsy::NotifyResetUePositioningInformationCancel Called")); |
|
616 iPhone->RemoveDelayedReq(aTsyReqHandle); |
|
617 ReqCompleted(aTsyReqHandle,KErrCancel); |
|
618 return KErrNone; |
|
619 } |
|
620 |
|
621 |
|
622 |
|
623 |
|
624 |