|
1 /* |
|
2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Header file for COMASUPLProtocolManager2 implementation |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef C_COMASUPLPROTOCOLMANAGER2_H |
|
21 #define C_COMASUPLPROTOCOLMANAGER2_H |
|
22 |
|
23 #include <e32cmn.h> |
|
24 #include <etel.h> |
|
25 #include <etelmm.h> |
|
26 |
|
27 //#include "epos_csuplprotocolmanagerbase.h" // interface |
|
28 #include "epos_comasuplprotocolmanager.h" |
|
29 #include "epos_msuplsettingsobserver.h" |
|
30 #include "epos_msuplsessionobserver.h" |
|
31 |
|
32 #include "epos_msuplpacketnotifier.h" |
|
33 #include "epos_momasuplecomeventobserver.h" |
|
34 #include "epos_comasuplsettingslauncher.h" |
|
35 #include "epos_csuplsettingsinternal.h" |
|
36 #include "epos_comasuplsession2.h" |
|
37 #include "epos_comasuplasnbase.h" |
|
38 |
|
39 class COMASuplTrace; |
|
40 class CSuplCommunicationManager; |
|
41 class RMobilePhone; |
|
42 class RTelServer; |
|
43 class COMASuplSettings; |
|
44 class COMASuplPosHandlerBase; |
|
45 class COMASuplSETSessionID; |
|
46 class COMASuplSLPSessionID; |
|
47 |
|
48 class COMASuplEcomEventWatcher; |
|
49 class TSuplTerminalQop; |
|
50 class CSuplSettings; |
|
51 class COMASuplTimeoutTimer; |
|
52 class COMASuplETelNotifier; |
|
53 |
|
54 /** |
|
55 * MOMASuplSessionObserver observer for session termination operation. |
|
56 * @lib eposomasuplprotocolhandler.lib |
|
57 * @since S60 v3.1 |
|
58 */ |
|
59 |
|
60 class MOMASuplSessionObserver |
|
61 { |
|
62 |
|
63 public: |
|
64 /** |
|
65 * TerminateSession |
|
66 * @since S60 v3.1u |
|
67 * @param aSession, session which is going to terminate |
|
68 * @param aErrorCode, error code for completion of request. |
|
69 */ |
|
70 virtual void TerminateSession(CSuplSessionBase *aSession, TInt aErrorCode) = 0; |
|
71 }; |
|
72 |
|
73 |
|
74 /** |
|
75 * An implementation of the COMASUPLProtocolManagerBase definition. |
|
76 * @lib eposomasuplprotocolhandler.lib |
|
77 * @since S60 v3.1 |
|
78 */ |
|
79 |
|
80 class COMASUPLProtocolManager2 : public COMASUPLProtocolManager, |
|
81 public MOMASuplSessionObserver, |
|
82 public MSuplSettingsObserver, |
|
83 public MOMASuplTimeOutNotifier, |
|
84 public MOMASuplUISettingsObserver, |
|
85 public MOMASuplETelNotifierObserver, |
|
86 public MSuplSessionObserver |
|
87 { |
|
88 |
|
89 public: |
|
90 |
|
91 /** |
|
92 * NewL, Create instance of concrete implementation. |
|
93 * @since S60 v3.1u |
|
94 * @param None |
|
95 * @return Instance of this class. |
|
96 */ |
|
97 IMPORT_C static COMASUPLProtocolManager2* NewL(); |
|
98 |
|
99 /** |
|
100 * ~COMASUPLProtocolManager2 |
|
101 * @since S60 v3.1u |
|
102 * @param None |
|
103 * @return None |
|
104 */ |
|
105 IMPORT_C ~COMASUPLProtocolManager2(); |
|
106 |
|
107 /** |
|
108 * CreateNewSessionL, Creates new SuplSession instance |
|
109 * @since S60 v3.1u |
|
110 * @param aRequestType, used for differentiation between SET & NET cases |
|
111 * @return Instance of CSuplSessionBase. |
|
112 */ |
|
113 IMPORT_C virtual CSuplSessionBase* CreateNewSessionL( |
|
114 CSUPLProtocolManagerBase::TSuplReqType aRequestType, |
|
115 TInt aIpcSessionId, |
|
116 RSuplTerminalSubSession::TSuplServiceType aSuplService); |
|
117 |
|
118 /** |
|
119 * RunSessionL, Starts the SUPL Sesssion for Terminal Initiated Location Request |
|
120 * @since S60 v3.1 |
|
121 * @param aSuplSession , session object on which processing will start |
|
122 * @param aStatus, On completion, sets status of the request |
|
123 * @param aAllowedCapabilities , Allowed capabilities of SET |
|
124 * @Param: aQop, specifies the quality of position |
|
125 * @param aRequestID , Request ID of Session |
|
126 * @return None |
|
127 */ |
|
128 IMPORT_C virtual void RunSessionL(CSuplSessionBase *const aSuplSession,TRequestStatus& aStatus, const TDesC& aHslpAddress, TBool aFallBack, TBool aFirstReq, |
|
129 TInt aAllowedCapabilities,TSuplTerminalQop& aQop, TInt aRequestID = 0); |
|
130 |
|
131 /** |
|
132 * RunSessionL, Starts the SUPL Sesssion for Terminal Initiated Location Request |
|
133 * @since S60 v3.1 |
|
134 * @param aSuplSession , session object on which processing will start |
|
135 * @param aStatus, On completion, sets status of the request |
|
136 * @param aAllowedCapabilities , Allowed capabilities of SET |
|
137 * @param aRequestID , Request ID of Session |
|
138 * @return None |
|
139 */ |
|
140 IMPORT_C virtual void RunSessionL(CSuplSessionBase *const aSuplSession,TRequestStatus& aStatus,const TDesC& aHslpAddress, TBool aFallBack, |
|
141 TBool aFirstReq, TInt aAllowedCapabilities, TInt aRequestID = 0); |
|
142 /** |
|
143 * HandleSuplMessage, Handles session in NET initiated case |
|
144 * @since S60 v3.1 |
|
145 * @param aSuplSession , session object on which processing will start |
|
146 * @param aStatus, On completion, sets status of the request |
|
147 * @param aMessage, message to be decoded. |
|
148 * @return None |
|
149 */ |
|
150 IMPORT_C virtual void HandleSuplMessageL(CSuplSessionBase *const aSuplSession,TRequestStatus& aStatus,HBufC8* aMessage); |
|
151 |
|
152 /** |
|
153 * DestroySession, Destroys the specified Supl Session instance |
|
154 * @since S60 v3.1u |
|
155 * @param aSuplSession , session object which has to delete |
|
156 * @return TInt,returns KErrNone if deleted successfully else KErrArgument |
|
157 */ |
|
158 IMPORT_C TInt DestroySession(CSuplSessionBase* aSuplSession); |
|
159 |
|
160 /** |
|
161 * InitializeL, Does the asynchonous initilization. |
|
162 * @since S60 v3.1u |
|
163 * @param aCommManager,Communication Manager |
|
164 * @param aInitilizationRequestStatus, TRequestStatus for asynchronous initilization operation |
|
165 * @return None |
|
166 */ |
|
167 IMPORT_C void InitializeL(CSuplCommunicationManager* aCommManager,TRequestStatus& aInitilizationRequestStatus); |
|
168 |
|
169 /** |
|
170 * Function: CancelInitialize, |
|
171 * @Description: Does the cancellation of asynchonous initilization. |
|
172 * @Param: None |
|
173 * @Returns: None |
|
174 */ |
|
175 IMPORT_C void CancelInitialize(); |
|
176 |
|
177 /** |
|
178 * Function: DeInitialize, |
|
179 * @since S60 v3.1u |
|
180 * @Description: Does the de-initilization. |
|
181 * @Param: aDeInitRequestStatus,for asynchronous de-initilization of protocol manager |
|
182 * @Returns: None |
|
183 */ |
|
184 IMPORT_C void DeInitialize(TRequestStatus& aDeInitRequestStatus); |
|
185 |
|
186 /** |
|
187 * Function: CancelDeInitialize, |
|
188 * @since S60 v3.1u |
|
189 * @Description: Does the cancellation of asynchonous de-initilization. |
|
190 * @Param: None |
|
191 * @Returns: None |
|
192 */ |
|
193 IMPORT_C void CancelDeInitialize(); |
|
194 |
|
195 /** |
|
196 * HandleSuplPackets,Process Supl message which are comming from SLP |
|
197 * @since S60 v3.1u |
|
198 * @param aPacket, message packet |
|
199 * @return None |
|
200 */ |
|
201 IMPORT_C void HandlePacket(const TDesC8& aPacket, TUint aPortNum); |
|
202 |
|
203 /** |
|
204 * HandlePacketError,Process Supl message receiving Errors |
|
205 * @since S60 v3.1u |
|
206 * @param aError, the Error Code |
|
207 * @return None |
|
208 */ |
|
209 IMPORT_C virtual void HandlePacketError(TInt aError); |
|
210 |
|
211 /** |
|
212 * CancelRunSession,Cancels an in-progress Terminal Initiated Location Request |
|
213 * @param aSession, The session on which the request has to be cancelled |
|
214 * @return None |
|
215 */ |
|
216 IMPORT_C void CancelRunSession(CSuplSessionBase* aSuplSession); |
|
217 |
|
218 /** |
|
219 * Function: RunPeriodicTriggerSessionL, |
|
220 * @since S60 v5.2 |
|
221 * @Description: Starts processing on session |
|
222 * |
|
223 * @Param: aSuplSession , session object on which processing will start |
|
224 * @Param: aStatus, On return, the status of the request |
|
225 * @Param: aPTrigger, specifies the periodic trigger session |
|
226 * @Param: aFallBack, enables the SUPL's Multiple-SLP Fallback Mechanism |
|
227 * @Param: aAllowedCapabilities , Allowed capabilities of SET |
|
228 * @Param: aRequestID , Request ID of Session |
|
229 * |
|
230 * @Returns: None |
|
231 */ |
|
232 IMPORT_C virtual void RunSuplTriggerSessionL( |
|
233 CSuplSessionBase *const aSuplSession, |
|
234 TRequestStatus& aStatus, |
|
235 TSuplTerminalPeriodicTrigger& aPTrigger, |
|
236 const TDesC& aHslpAddress, |
|
237 TBool aFallBack, |
|
238 TInt aAllowedCapabilities, |
|
239 TInt aRequestID = 0); |
|
240 |
|
241 /** |
|
242 * Function: NotifyTriggerFiredL |
|
243 * @since S60 v5.2 |
|
244 * @Description: Notifies the position fix trigger |
|
245 * |
|
246 * @Param: aSuplSession , session object on which processing will start |
|
247 * @Param: aStatus, On return, the status of the request |
|
248 * @Param: aFireInfo, On return, the position fix in defined interval |
|
249 * |
|
250 * @Returns: None |
|
251 */ |
|
252 IMPORT_C virtual void NotifyTriggerFiredL( |
|
253 CSuplSessionBase *const aSuplSession, |
|
254 TRequestStatus& aStatus, |
|
255 TSuplTriggerFireInfo& aFireInfo); |
|
256 |
|
257 /** |
|
258 * CancelPeriodicTriggerSession,Cancels an in-progress Terminal Initiated |
|
259 * Periodic Trigger Session Location Request |
|
260 * |
|
261 * @param aSession, The session on which the request has to be cancelled |
|
262 * @return None |
|
263 */ |
|
264 IMPORT_C virtual void CancelSuplTriggerSession(CSuplSessionBase* aSuplSession); |
|
265 |
|
266 IMPORT_C COMASuplSession* FindSessionOnPortNum(TUint aPortNum) const ; |
|
267 |
|
268 public : // From base class, MOMASuplSessionObserver |
|
269 |
|
270 /** |
|
271 * TerminateSession,Terminate the SUPL Session specified by the paramerter |
|
272 * @since S60 v3.1u |
|
273 * @param aSession, the SUPL Session to be terminated |
|
274 * @param aErrorCode,error code by which session completes |
|
275 * @return None |
|
276 */ |
|
277 virtual void TerminateSession(CSuplSessionBase *aSession, TInt aErrorCode); |
|
278 |
|
279 public: // For setting UI observer |
|
280 TInt LaunchSettingsUI(MOMASuplUICompletionObserver* aObserver,const TDesC& aForHslp); |
|
281 TInt LaunchSuplUsageSettingsUI(MOMASuplUICompletionObserver* aObserver, TBool aRoaming); |
|
282 TInt LaunchSuplDialogTimeoutUI(MOMASuplUICompletionObserver* aObserver ); |
|
283 void UpdateAllSubSessnsInSameSession(TInt aIpcSessionId); |
|
284 |
|
285 void SettingsChanged(); |
|
286 |
|
287 TInt GetLastUsedAccessPoint(TDes& aLastlyUsedAccessPoint,TUint32& iIAPId); |
|
288 /** |
|
289 * This callback method is used to notify the client about |
|
290 * the completion of UI launch |
|
291 * @param aError - Error during Launch |
|
292 * @return None |
|
293 */ |
|
294 void SettingsUICompletedL(TInt aError); |
|
295 |
|
296 /** |
|
297 * This callback method is used to notify the client about |
|
298 * the completion of UI launch |
|
299 * @param aError - Error during Launch |
|
300 * @return None |
|
301 */ |
|
302 void SettingsUsageUICompletedL(TInt aError); |
|
303 |
|
304 /** |
|
305 * This callback method is used to notify the client about |
|
306 * the completion of UI completion |
|
307 * @param aError - Error during Launch |
|
308 * @return None |
|
309 */ |
|
310 void SettingsTimeOutUICompletedL(TInt aError); |
|
311 |
|
312 public: //From base class MSuplSettingsObserver |
|
313 |
|
314 /** |
|
315 * HandleSuplSettingsChangeL,Observeed function, gets called. |
|
316 * @since S60 v3.1 |
|
317 * @param aEvent,TSuplSettingsEventType, type of event. |
|
318 * @return None |
|
319 */ |
|
320 virtual void HandleSuplSettingsChangeL(TSuplSettingsEventType aEvent,TInt aSlpId); |
|
321 |
|
322 public: // From base class MSuplSessionObserver |
|
323 /** |
|
324 * HandleSuplSessionChangeL,Observeed function, gets called. |
|
325 * @since S60 v5.2 |
|
326 * @param aEvent,TSuplSettingsEventType, type of event. |
|
327 * @return None |
|
328 */ |
|
329 void HandleSuplSessionChangeL(MSuplSessionObserver::TSuplSessionEventType aEvent,TInt64 aSessionId); |
|
330 |
|
331 /** |
|
332 * Handles Pos handler unload event |
|
333 * @since S60 v3.1u |
|
334 * @param None |
|
335 * @param None |
|
336 * @return None |
|
337 */ |
|
338 void PlugInUninstalled(); |
|
339 |
|
340 private: // Construction |
|
341 |
|
342 /** |
|
343 * COMASUPLProtocolManager2,Perform the first phase of two phase construction |
|
344 * @since S60 v3.1u |
|
345 * @param None |
|
346 * @return None |
|
347 */ |
|
348 COMASUPLProtocolManager2(); |
|
349 |
|
350 /** |
|
351 * ConstructL,Perform the second phase construction of a COMASUPLProtocolManager2 object. |
|
352 * @since S60 v3.1u |
|
353 * @param None |
|
354 * @return None |
|
355 */ |
|
356 void ConstructL(); |
|
357 |
|
358 /** |
|
359 * CreateNewSessionL,An overloaded version that takes the COMASuplSession::TOMASuplReqType |
|
360 * This additional method is required to take of invalid session ID |
|
361 * @since S60 v3.1u |
|
362 * @param None |
|
363 * @return None |
|
364 */ |
|
365 //virtual |
|
366 CSuplSessionBase* CreateNewSessionL( |
|
367 COMASuplSession::TOMASuplReqType aRequestType, |
|
368 TInt aIpcSessionId, |
|
369 RSuplTerminalSubSession::TSuplServiceType aSuplService |
|
370 ); |
|
371 |
|
372 private : //For internal use only |
|
373 |
|
374 /** |
|
375 * CompleteInitilization,Completes TRequestStatus used for initilization. |
|
376 * @since S60 v3.1u |
|
377 * @param aError, error code by which we are going to complete TRequestStatus. |
|
378 * @return None |
|
379 */ |
|
380 void CompleteInitilization(TInt aError); |
|
381 |
|
382 /** |
|
383 * CheckForSessionCount, Check Max session count,if its reaches to max then resets to Zero. |
|
384 * @since S60 v3.1u |
|
385 * @param None |
|
386 * @return None |
|
387 */ |
|
388 void CheckForSessionCount(); |
|
389 |
|
390 /** |
|
391 * ConnectToETelL, Connects to Telephony server & RMobilePhone |
|
392 * @since S60 v3.1u |
|
393 * @param None, |
|
394 * @return TInt, returns system wide error code |
|
395 */ |
|
396 TInt ConnectToETelL(); |
|
397 |
|
398 /** |
|
399 * DeleteAllSessions, Deletes all sessions,if any session is remaining in array |
|
400 * @since S60 v3.1u |
|
401 * @param None, |
|
402 * @return None |
|
403 */ |
|
404 void DeleteAllSessions(); |
|
405 |
|
406 /** |
|
407 * HandleOMASuplPackets, Handles OMA Packets,passes to approriate session |
|
408 * @since S60 v3.1u |
|
409 * @param aPacket, Packet received from gateway...(i.e. thro' Communication Manager) |
|
410 * @return None |
|
411 */ |
|
412 void HandleOMASuplPacketsL(const TDesC8& aPacket, TUint aPortNum); |
|
413 |
|
414 /** |
|
415 * FindSession,finds session in sessions array,using decoded message |
|
416 * @since S60 v3.1u |
|
417 * @param aRetrivedSessionID,Session which has to be find in sessions array. |
|
418 * @return CSuplSessionBase*, session which found in sessions array,if any. |
|
419 */ |
|
420 COMASuplSession* FindSession(COMASuplSessionID* aRetrivedSessionID,TBool& aInvalidSLPId, TBool& aInvalidSETId) const; |
|
421 |
|
422 /** |
|
423 * GetSETSessionID, Retrives SET ID from COMASuplSessionID |
|
424 * @since S60 v3.1u |
|
425 * @param aOMAsuplSessionID,Session ID. |
|
426 * @return COMASuplSETSessionID, SET ID retrived from aOMAsuplSessionID. |
|
427 */ |
|
428 COMASuplSETSessionID* GetSETSessionID(COMASuplSessionID* aOMAsuplSessionID) const; |
|
429 |
|
430 /** |
|
431 * GetSLPSessionID, Retrives SLP ID from COMASuplSessionID |
|
432 * @since S60 v3.1u |
|
433 * @param aOMAsuplSessionID,Session ID. |
|
434 * @return COMASuplSLPSessionID, SLP ID retrived from aOMAsuplSessionID. |
|
435 */ |
|
436 COMASuplSLPSessionID* GetSLPSessionID(COMASuplSessionID* aOMAsuplSessionID) const; |
|
437 |
|
438 /** |
|
439 * CompareSETSessionID, Compares two SET ID of two Sessions. |
|
440 * @since S60 v3.1u |
|
441 * @param aSuplSETID, SET Session ID. |
|
442 * @param aRetrivedSuplSETID, SET Session ID. |
|
443 * @return TBool, if SET Session id matches returns ETrue else EFalse |
|
444 */ |
|
445 TBool CompareSETSessionID(COMASuplSETSessionID* aSuplSETID, |
|
446 COMASuplSETSessionID* aRetrivedSuplSETID) const; |
|
447 |
|
448 /** |
|
449 * CompareSLPSessionID, Compares two SLP ID of two Sessions. |
|
450 * @since S60 v3.1u |
|
451 * @param aSuplSLPID, SLP Session ID. |
|
452 * @param aRetrivedSuplSLPID, SLP Session ID. |
|
453 * @return TBool, if matches returns ETrue else EFalse |
|
454 */ |
|
455 TBool CompareSLPSessionID(COMASuplSLPSessionID* aSuplSLPID, |
|
456 COMASuplSLPSessionID* aRetrivedSuplSLPID) const; |
|
457 |
|
458 /** |
|
459 * ProcessInvalidSessionL, Processes invalid session, if any comes |
|
460 * @since S60 v3.1u |
|
461 * @param aRetrivedSessionID,SessionID of SuplSession. |
|
462 * @return None. |
|
463 */ |
|
464 void ProcessInvalidSessionL(COMASuplAsnMessageBase* aDecodedMsg); |
|
465 |
|
466 /** |
|
467 * ReadOMASuplSettingsL, Reads OMA Supl Configuration. |
|
468 * @since S60 v3.1u |
|
469 * @param None. |
|
470 * @return None. |
|
471 */ |
|
472 void ReadOMASuplSettingsL(); |
|
473 |
|
474 /** |
|
475 * ReadSuplUsage, Reads OMA Supl Usage. |
|
476 * @since S60 v3.1u |
|
477 * @param None. |
|
478 * @return None. |
|
479 */ |
|
480 void ReadSuplUsage(); |
|
481 |
|
482 /** |
|
483 * ReadOMASuplConfigurationL, Reads OMA Supl Configuration. |
|
484 * @since S60 v3.1u |
|
485 * @param None. |
|
486 * @return None. |
|
487 */ |
|
488 void ReadOMASuplConfigurationL(); |
|
489 |
|
490 /** |
|
491 * ResetBufferingParameters, |
|
492 * @since S60 v3.1 |
|
493 * @param None. |
|
494 * @return None |
|
495 */ |
|
496 void ResetBufferingParameters(); |
|
497 |
|
498 // For Logging purpose |
|
499 void LogPacket(const TDesC8& aPacket,COMASuplAsnMessageBase* decodedAsn); |
|
500 void LogAvailableSessions( COMASuplSETSessionID* aSuplSETID,COMASuplSLPSessionID* aSuplSLPID,TInt aTotalCount) const; |
|
501 void LogReceivedSessionIdL(COMASuplSessionID* aRetrivedSessionID); |
|
502 void PrintHex(const TDesC8& aBuffer,TInt aLine); |
|
503 |
|
504 |
|
505 TInt GetNetworkModeL(); |
|
506 void CheckOutstandingUsageUIRequestsL(); |
|
507 |
|
508 /** |
|
509 * LoadOMASUPLPluginsL, Loads supl protocolhandler plugins |
|
510 * @since S60 v9.2TB |
|
511 * @param None |
|
512 * @return None |
|
513 */ |
|
514 void LoadOMASUPLPluginsL(); |
|
515 |
|
516 protected: //From MCompleteInitilization |
|
517 |
|
518 /** |
|
519 * InitilizationCompletedL, Gets called after initilization gets completed with error or without error. |
|
520 * @since S60 v3.1u |
|
521 * @param aError,Error code if any happen while initilization. |
|
522 * @return None. |
|
523 */ |
|
524 void InitilizationCompletedL(TInt aError); |
|
525 |
|
526 void DeInitilizationCompletedL(TInt aError); |
|
527 |
|
528 public: // MOMASuplTimeOutNotifier |
|
529 |
|
530 /** |
|
531 * Timeout Notifier Method. |
|
532 * @since Series 60 3.1M |
|
533 * @param None |
|
534 * @return None |
|
535 */ |
|
536 virtual void TimerExpiredL(); |
|
537 |
|
538 public: // COMASUPLProtocolManager |
|
539 void SetCommonConfig(COMASuplCommonConfig*& aCommmonConfig); |
|
540 |
|
541 public: // For ETEL requests |
|
542 void CheckForRoaming(); |
|
543 void NotifyCurrentNetworkChange(); |
|
544 void CancelNotify(); |
|
545 |
|
546 public: // MOMASuplETelNotifierObserver |
|
547 void HandleCurrentNetworkChangeL(TInt aErrorCode, TBool aHomeNw); |
|
548 void HandleRoamingCheckCompleteL(TInt aErrorCode, TBool aHomeNw); |
|
549 |
|
550 private: // Data Members |
|
551 |
|
552 //Holds all session objects created by CreateNewSession |
|
553 RPointerArray<CSuplSessionBase> iSuplSessions; |
|
554 |
|
555 //No of Sessions created |
|
556 TInt iRunningSessionCount; |
|
557 |
|
558 //Communication Manager |
|
559 CSuplCommunicationManager* iCommManager; |
|
560 |
|
561 //Tracing utility |
|
562 COMASuplTrace* iTrace; |
|
563 |
|
564 // Etel Server |
|
565 RTelServer iTelServer; |
|
566 |
|
567 //For access to a mobile phone |
|
568 RMobilePhone iMobilePhone; |
|
569 |
|
570 //TSYName |
|
571 TFileName iTsyName; |
|
572 |
|
573 // Indicates if the Protocol Manager was initialized or not |
|
574 TBool iIsInitilized; |
|
575 |
|
576 // OMA Supl Settings |
|
577 COMASuplSettings* iSuplSettings; |
|
578 |
|
579 //Pos Handler |
|
580 COMASuplPosHandlerBase *iPosHandler; |
|
581 |
|
582 // Asynchronous request status for Initilization |
|
583 TRequestStatus* iInitilizationRequestStatus; |
|
584 |
|
585 |
|
586 // Settings UI Handle |
|
587 COMASuplSettingsLauncher* iSettingsLauncher; |
|
588 COMASuplETelNotifier* iNotifier; |
|
589 |
|
590 // Session Observer for UI completion |
|
591 MOMASuplUICompletionObserver* iSessnUIObserver; |
|
592 // Asynchronous request status for De-Initilization |
|
593 TRequestStatus* iDeInitRequestStatus; |
|
594 |
|
595 TBool iDeInitDone; |
|
596 |
|
597 // UT1 Timer for SUPL_START |
|
598 TInt iUT1_StartTimer; |
|
599 |
|
600 // UT2 Timer for SUPL_POS_INIT |
|
601 TInt iUT2_PosInitTimer; |
|
602 |
|
603 // UT3 Timer for SUPL_POS |
|
604 TInt iUT3_PosTimer; |
|
605 |
|
606 //Privacy Timer |
|
607 TInt iPrivacyTimer; |
|
608 |
|
609 //SET Mode |
|
610 TInt iSETMode; |
|
611 |
|
612 //SUPL Usage configuration |
|
613 TInt iSuplUsage; |
|
614 // Timer for persistent failure |
|
615 TInt iPersistFailTimer; |
|
616 |
|
617 //For ECom unload event |
|
618 COMASuplEcomEventWatcher* iSuplEcomEventWatcher; |
|
619 |
|
620 //SUPLSettings |
|
621 CSuplSettingsInternal *iSuplStorageSettings; |
|
622 |
|
623 // Container to store IMSI value |
|
624 RBuf iIMSI; |
|
625 |
|
626 RBuf8 iQueuedPacket; |
|
627 |
|
628 TInt iPreviousMessageLength; |
|
629 |
|
630 |
|
631 TBool iIsPreviouslyDecodingFailed; |
|
632 |
|
633 //Timeout Timer |
|
634 COMASuplTimeoutTimer* iTimer; |
|
635 |
|
636 TBool iNotifyStarted; |
|
637 TBool iRoamingCheckStarted; |
|
638 TInt iSuplInitTimeOut; |
|
639 TBool iTimeOutDialogPresent; |
|
640 |
|
641 RPointerArray<MOMASuplUICompletionObserver> iUIRequestArray; |
|
642 |
|
643 TBuf<256> iCurrentlyUsedHslp; |
|
644 |
|
645 COMASuplAsnHandlerBase* iOMASuplAsnHandlerBaseImpl; |
|
646 }; |
|
647 |
|
648 #endif // C_COMASUPLPROTOCOLMANAGER2_H |