|
1 // Copyright (c) 2000-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 // Multimode ETel API header file. |
|
15 // Describes the MM ETel API - classes, methods and types. |
|
16 // |
|
17 // |
|
18 |
|
19 /** |
|
20 @file |
|
21 @publishedPartner |
|
22 @released |
|
23 */ |
|
24 |
|
25 #ifndef __ETELMM_H__ |
|
26 #define __ETELMM_H__ |
|
27 |
|
28 #include <e32base.h> |
|
29 #include <s32mem.h> |
|
30 #include <etel.h> |
|
31 #include <etelmmcs.h> |
|
32 |
|
33 |
|
34 /** |
|
35 Internal API/TSY delimiter used to pass the phonebook type |
|
36 */ |
|
37 #define PHBOOK_DELIMITER _L("//") |
|
38 /** The size of the phone book delimiter string. |
|
39 @publishedPartner |
|
40 */ |
|
41 const TInt KSizeOfPhbookDelimiter=2; |
|
42 |
|
43 /** |
|
44 Names for Multimode ETel sub-sessions |
|
45 */ |
|
46 _LIT(KETelMeAdnPhoneBook,"S1"); |
|
47 _LIT(KETelMeDialledPhoneBook,"S2"); |
|
48 _LIT(KETelMeMissedPhoneBook,"S3"); |
|
49 _LIT(KETelMeReceivedPhoneBook,"S4"); |
|
50 _LIT(KETelCombinedAdnPhoneBook,"S5"); |
|
51 _LIT(KETelTaAdnPhoneBook,"S6"); |
|
52 _LIT(KETelIccAdnPhoneBook,"S7"); |
|
53 _LIT(KETelIccFdnPhoneBook,"S8"); |
|
54 _LIT(KETelIccSdnPhoneBook,"S9"); |
|
55 _LIT(KETelIccBdnPhoneBook,"S10"); |
|
56 _LIT(KETelIccLndPhoneBook,"S11"); |
|
57 _LIT(KETelIccVoiceMailBox,"S12"); |
|
58 |
|
59 _LIT(KETelMeSmsStore,"S13"); |
|
60 _LIT(KETelIccSmsStore,"S14"); |
|
61 _LIT(KETelCombinedSmsStore,"S15"); |
|
62 |
|
63 _LIT(KETelNamStore,"S16"); |
|
64 _LIT(KETelOwnNumberStore,"S17"); |
|
65 _LIT(KETelEmergencyNumberStore,"S18"); |
|
66 |
|
67 _LIT(KETelSmsMessaging,"S19"); |
|
68 _LIT(KETelBroadcastMessaging,"S20"); |
|
69 _LIT(KETelUssdMessaging,"S21"); |
|
70 |
|
71 _LIT(KETelConferenceCall,"S22"); |
|
72 |
|
73 _LIT(KETelIccMbdnPhoneBook, "S23"); |
|
74 _LIT(KETelIccMsisdnPhoneBook, "S24"); |
|
75 _LIT(KETelIccOciPhoneBook, "S25"); |
|
76 _LIT(KETelIccIciPhoneBook, "S26"); |
|
77 _LIT(KETelIccNamStore ,"S27"); |
|
78 _LIT(KETelIccInfoPhoneBook, "S28"); |
|
79 |
|
80 _LIT(KETelLocationServices,"S29"); |
|
81 |
|
82 // Types for Multimode ETel sub-sessions |
|
83 |
|
84 _LIT(KEtelCdmaPhoneBookType,"T1"); |
|
85 _LIT(KEtelGsmPhoneBookType,"T2"); |
|
86 _LIT(KEtelUSimPhoneBookType,"T3"); |
|
87 |
|
88 // Types for SmartCardEap sub-sessions |
|
89 |
|
90 /** |
|
91 The prefix to all RMobileSmartCardEap sub-session names. |
|
92 */ |
|
93 _LIT(KETelSmartCardEapSession, "ScEap"); |
|
94 /** |
|
95 The length of KETelSmartCardEapSession. Used to obtain a const value |
|
96 for this length at compile-time. |
|
97 */ |
|
98 #define SCEAP_SSN_LENGTH 5 |
|
99 |
|
100 /** |
|
101 EAP-MD5 type identifier. Value taken from section 5 of RFC 3748 Jun 2004. |
|
102 This should be used as the EAP type identifier value of |
|
103 RMobileSmartCardEap::Open() if standard EAP-MD5 challenges are to be used. |
|
104 |
|
105 This value corresponds to one of the possible values returned in the type |
|
106 list of TUiccApplicationEapInfoV6. |
|
107 |
|
108 (Decimal value = 4) |
|
109 |
|
110 @see RMobileSmartCardEap::Open() |
|
111 @see RMobilePhone::TUiccApplicationEapInfoV6 |
|
112 */ |
|
113 _LIT8(KETelSmartCardEapTypeMD5, "04"); |
|
114 |
|
115 /** |
|
116 EAP-TLS type identifier. Value taken from section 4.1 of RFC 2716 Oct 1999. |
|
117 This should be used as the EAP type identifier value of |
|
118 RMobileSmartCardEap::Open() if standard EAP-TLS is to be used. |
|
119 |
|
120 This value corresponds to one of the possible values returned in the type |
|
121 list of TUiccApplicationEapInfoV6. |
|
122 |
|
123 (Decimal value = 13) |
|
124 |
|
125 @see RMobileSmartCardEap::Open() |
|
126 @see RMobilePhone::TUiccApplicationEapInfoV6 |
|
127 */ |
|
128 _LIT8(KETelSmartCardEapTypeTLS, "0D"); |
|
129 |
|
130 /** |
|
131 EAP-SIM type identifier. |
|
132 This should be used as the EAP type identifier value of |
|
133 RMobileSmartCardEap::Open() if standard EAP-SIM is to be used. |
|
134 |
|
135 This value corresponds to one of the possible values returned in the type |
|
136 list of TUiccApplicationEapInfoV6. |
|
137 |
|
138 (Decimal value = 18) |
|
139 |
|
140 @see RMobileSmartCardEap::Open() |
|
141 @see RMobilePhone::TUiccApplicationEapInfoV6 |
|
142 */ |
|
143 _LIT8(KETelSmartCardEapTypeSIM, "12"); |
|
144 |
|
145 /** |
|
146 EAP-AKA type identifier. |
|
147 This should be used as the EAP type identifier value of |
|
148 RMobileSmartCardEap::Open() if standard EAP-AKA is to be used. |
|
149 |
|
150 This value corresponds to one of the possible values returned in the type |
|
151 list of TUiccApplicationEapInfoV6. |
|
152 |
|
153 (Decimal value = 23) |
|
154 |
|
155 @see RMobileSmartCardEap::Open() |
|
156 @see RMobilePhone::TUiccApplicationEapInfoV6 |
|
157 */ |
|
158 _LIT8(KETelSmartCardEapTypeAKA, "17"); |
|
159 |
|
160 /** |
|
161 EAP-TTLS type identifier. |
|
162 This should be used as the EAP type identifier value of |
|
163 RMobileSmartCardEap::Open() if standard EAP-TTLS is to be used. |
|
164 |
|
165 This value corresponds to one of the possible values returned in the type |
|
166 list of TUiccApplicationEapInfoV6. |
|
167 |
|
168 (Decimal value = 21) |
|
169 |
|
170 @see RMobileSmartCardEap::Open() |
|
171 @see RMobilePhone::TUiccApplicationEapInfoV6 |
|
172 */ |
|
173 _LIT8(KETelSmartCardEapTypeTTLS, "15"); |
|
174 |
|
175 /***********************************************************************************/ |
|
176 // |
|
177 // Global Multimode constants and types |
|
178 // |
|
179 /***********************************************************************************/ |
|
180 |
|
181 /** |
|
182 Unique API identifier and Functional Unit constants |
|
183 Modes: Common |
|
184 */ |
|
185 enum TMultimodeETelV1Api |
|
186 { |
|
187 /** TSY supports the Multimode ETel v1.0 API. |
|
188 |
|
189 Modes: Common */ |
|
190 KETelExtMultimodeV1=3000, // 3000 is unique reference for Multimode Etel v1.0 API |
|
191 /** TSY supports the MobileSimAccess functional unit. |
|
192 |
|
193 Modes: Common */ |
|
194 KETelFuncMobileIccAccess, |
|
195 /** TSY supports the MobileNetwork functional unit. |
|
196 |
|
197 Modes: Common */ |
|
198 KETelFuncMobileNetwork, |
|
199 /** TSY supports the MobileIdentity functional unit. |
|
200 |
|
201 Modes: Common */ |
|
202 KETelFuncMobileIdentity, |
|
203 /** TSY supports the MobilePower functional unit. |
|
204 |
|
205 Modes: Common */ |
|
206 KETelFuncMobilePower, |
|
207 /** TSY supports the MobileSignal functional unit. |
|
208 |
|
209 Modes: GSM/WCDMA */ |
|
210 KETelFuncMobileSignal, |
|
211 /** TSY supports the MobileIndicator functional unit. |
|
212 |
|
213 Modes: Common */ |
|
214 KETelFuncMobileIndicator, |
|
215 /** TSY supports the MobileDTMF functional unit. |
|
216 |
|
217 Modes: Common */ |
|
218 KETelFuncMobileDTMF, |
|
219 /** TSY supports the MobileUserNetworkAccess functional unit. |
|
220 |
|
221 Modes: Common */ |
|
222 KETelFuncMobileUserNetworkAccess, |
|
223 /** TSY supports the MobileIdentityService functional unit. |
|
224 |
|
225 Modes: Common */ |
|
226 KETelFuncMobileIdentityService, |
|
227 /** TSY supports the MobileCallForwarding functional unit. |
|
228 |
|
229 Modes: Common */ |
|
230 KETelFuncMobileCallForwarding, |
|
231 /** TSY supports the MobileCallBarring functional unit. |
|
232 |
|
233 Modes: GSM/WCDMA */ |
|
234 KETelFuncMobileCallBarring, |
|
235 /** TSY supports the MobileCallWaiting functional unit. |
|
236 |
|
237 Modes: Common */ |
|
238 KETelFuncMobileCallWaiting, |
|
239 /** TSY supports the MobileCallCompletion functional unit. */ |
|
240 KETelFuncMobileCallCompletion, |
|
241 /** TSY supports the MobileAlternatingCall functional unit. |
|
242 |
|
243 Modes: GSM/WCDMA */ |
|
244 KETelFuncMobileAlternatingCall, |
|
245 /** TSY supports the MobileCost functional unit. |
|
246 |
|
247 Modes: GSM/WCDMA */ |
|
248 KETelFuncMobileCost, |
|
249 /** TSY supports the MobileSecurity functional unit. |
|
250 |
|
251 Modes: Common */ |
|
252 KETelFuncMobileSecurity, |
|
253 /** TSY supports the MobileAlternateLineService functional unit. |
|
254 |
|
255 Modes: GSM/WCDMA */ |
|
256 KETelFuncMobileAlternateLineService, |
|
257 /** TSY supports the MobileMessageWaiting functional unit. |
|
258 |
|
259 Modes: Common */ |
|
260 KETelFuncMobileMessageWaiting, |
|
261 /** TSY supports the MobileFixedDiallingNumbers functional unit. |
|
262 |
|
263 Modes: GSM/WCDMA */ |
|
264 KETelFuncMobileFixedDiallingNumbers, |
|
265 /** TSY supports the MobileDataCall functional unit. |
|
266 |
|
267 Modes: Common */ |
|
268 KETelFuncMobileDataCall, |
|
269 /** TSY supports the MobilePrivacy functional unit. |
|
270 |
|
271 Modes: CDMA |
|
272 @deprecated 9.5 |
|
273 */ |
|
274 KETelFuncMobilePrivacy, |
|
275 /** TSY supports the MobileEmergencyCall functional unit. |
|
276 |
|
277 Modes: Common */ |
|
278 KETelFuncMobileEmergencyCall, |
|
279 /** TSY supports the MobileSmsMessaging functional unit. |
|
280 |
|
281 Modes: Common */ |
|
282 KETelFuncMobileSmsMessaging, |
|
283 /** TSY supports the MobileBroadcastMessaging functional unit. |
|
284 |
|
285 Modes: Common */ |
|
286 KETelFuncMobileBroadcastMessaging, |
|
287 /** TSY supports the MobileUssdMessaging functional unit. |
|
288 |
|
289 Modes: GSM/WCDMA */ |
|
290 KETelFuncMobileUssdMessaging, |
|
291 /** TSY supports the MobileConferenceCall functional unit. |
|
292 |
|
293 Modes: Common */ |
|
294 KETelFuncMobileConferenceCall, |
|
295 /** TSY supports the MobilePhonebookStore functional unit. |
|
296 |
|
297 Modes: Common */ |
|
298 KETelFuncMobilePhonebook, |
|
299 /** TSY supports the MobileSmsStore functional unit. |
|
300 |
|
301 Modes: Common */ |
|
302 KETelFuncMobileSmsStore, |
|
303 /** TSY supports the MobileNamStore functional unit. |
|
304 |
|
305 Modes: CDMA |
|
306 @deprecated 9.5 |
|
307 */ |
|
308 KETelFuncMobileNamStore, |
|
309 /** TSY supports the MobileONStore functional unit. |
|
310 |
|
311 Modes: Common */ |
|
312 KETelFuncMobileOwnNumberStore, |
|
313 /** TSY supports the MobileENStore functional unit. |
|
314 |
|
315 Modes: Common */ |
|
316 KETelFuncMobileEmergencyNumberStore, |
|
317 /** TSY supports the MobileMultimedia functional unit. |
|
318 |
|
319 Modes: GSM/WCDMA */ |
|
320 KETelFuncMobileMulticall, |
|
321 /** TSY supports the MobileNextIncomingCall functional unit. |
|
322 |
|
323 Modes: GSM/WCDMA */ |
|
324 KETelFuncMobileNextIncomingCall, |
|
325 /** TSY supports the MobileMultimediaCall functional unit. |
|
326 |
|
327 Modes: GSM/WCDMA */ |
|
328 KETelFuncMobileMultimediaCall, |
|
329 /** TSY supports the MobileUserSignalling functional unit. |
|
330 |
|
331 Modes: GSM/WCDMA */ |
|
332 KETelFuncMobileUserSignalling |
|
333 }; |
|
334 |
|
335 /** Unique API identifier and Functional Unit constants. |
|
336 Modes: WCDMA |
|
337 |
|
338 */ |
|
339 enum TMultimodeETelV2Api |
|
340 { |
|
341 /** TSY supports the Multimode ETel v2.0 API. |
|
342 |
|
343 Modes: WCDMA */ |
|
344 KETelExtMultimodeV2=7000, // 7000 is unique reference for Multimode Etel v2.0 API |
|
345 /** TSY supports the MobileMultimediaCallSettings functional unit. |
|
346 |
|
347 Modes: WCDMA */ |
|
348 KEtelFuncMobileMultimediaCallSettings, |
|
349 /** TSY supports the MobileNetworkSecurity functional unit. |
|
350 |
|
351 Modes: WCDMA */ |
|
352 KEtelFuncMobileNetworkSecurity, |
|
353 KEtelFuncMobileUSIMApplications |
|
354 }; |
|
355 |
|
356 /** |
|
357 Enum to define the v3.0 API additions |
|
358 |
|
359 */ |
|
360 enum TMultimodeETelV3Api |
|
361 { |
|
362 /** |
|
363 Indicator that the TSY supports the Multimode ETel v3.0 API. |
|
364 */ |
|
365 KETelExtMultimodeV3 = 10000, |
|
366 /** |
|
367 TSY supports the MobileMMSInformation functional unit. |
|
368 */ |
|
369 KEtelFuncMobileMMSInformation, // 10001 |
|
370 /** |
|
371 TSY supports the KEtelFuncMobileAirTime functional unit. |
|
372 */ |
|
373 KEtelFuncMobileAirTime, // 10002 |
|
374 /** |
|
375 TSY supports the KEtelFuncMobileAutoRedial functional unit. |
|
376 */ |
|
377 KEtelFuncMobileAutoRedial, // 10003 |
|
378 /** |
|
379 TSY supports the KEtelFuncMobilePersonalisation functional unit. |
|
380 */ |
|
381 KEtelFuncMobilePersonalisation, // 10004 |
|
382 /** |
|
383 TSY supports the KEtelMobileMailboxNumbers functional unit. |
|
384 */ |
|
385 KEtelFuncMobileMailboxNumbers, // 10005 |
|
386 /** |
|
387 TSY supports the Mobile APN Control List functional unit. |
|
388 */ |
|
389 KEtelFuncMobileAPNControlList // 10006 |
|
390 }; |
|
391 |
|
392 /** |
|
393 Enum to define the v4.0 API additions |
|
394 |
|
395 */ |
|
396 enum TMultimodeETelV4Api |
|
397 { |
|
398 /** |
|
399 Indicator that the TSY supports the Multimode ETel v4.0 API. |
|
400 */ |
|
401 KETelExtMultimodeV4 = 15000 |
|
402 }; |
|
403 |
|
404 |
|
405 /** Enum to define Release 5 enabling API and data structures |
|
406 */ |
|
407 enum TMultimodeEtelV5Api |
|
408 { |
|
409 /** |
|
410 Indicator that the TSY supports the Multimode ETel v5.0 API. |
|
411 */ |
|
412 KEtelExtMultimodeV5=20000, |
|
413 /** |
|
414 Indicator that the TSY supports the IMS functional unit. |
|
415 */ |
|
416 KEtelFuncMobileIMS, // 20001 |
|
417 /** |
|
418 TSY supports the KEtelFuncMobileSmartCardApplications functional unit. |
|
419 */ |
|
420 KEtelFuncMobileSmartCardApplications // 20002 |
|
421 }; |
|
422 |
|
423 |
|
424 /** |
|
425 Enum to define the v6.0 API additions. |
|
426 */ |
|
427 enum TMultimodeEtelV6Api |
|
428 { |
|
429 /** |
|
430 Indicator that the TSY supports the Multimode ETel v6.0 API. |
|
431 */ |
|
432 KEtelExtMultimodeV6=25000, |
|
433 /** |
|
434 Indicator that the TSY supports the EAP supporting functional unit. |
|
435 */ |
|
436 KEtelSmartCardEap // 25001 |
|
437 }; |
|
438 |
|
439 /** |
|
440 Enum to define the v7.0 API additions. |
|
441 */ |
|
442 enum TMultimodeEtelV7Api |
|
443 { |
|
444 /** |
|
445 Indicator that the TSY supports the Multimode ETel v7.0 API. |
|
446 */ |
|
447 KEtelExtMultimodeV7=30000, |
|
448 /** |
|
449 Indicator that the TSY supports the LocationServices supporting functional unit. |
|
450 */ |
|
451 KEtelLocationControlServices // 30001 |
|
452 }; |
|
453 |
|
454 /** |
|
455 Enum to define the v8.0 API additions. |
|
456 */ |
|
457 enum TMultimodeEtelV8Api |
|
458 { |
|
459 /** |
|
460 Indicator that the TSY supports the Multimode ETel v8.0 API. |
|
461 */ |
|
462 KEtelExtMultimodeV8=35000, |
|
463 /** |
|
464 Indicator that the TSY supports HSUPA. |
|
465 */ |
|
466 KEtelHsupa, // 35001 |
|
467 /** |
|
468 Indicator that the TSY supports GBA authentication functional unit |
|
469 */ |
|
470 KEtelFuncGenericBootstrapArchitecture, |
|
471 /** |
|
472 Indicator that the TSY supports MBMS authentication functional unit |
|
473 */ |
|
474 KEtelFuncMBMS, |
|
475 /* |
|
476 Indicator that the TSY supports WLAN parameters on the USIM functional unit |
|
477 */ |
|
478 KEtelFuncWLan |
|
479 }; |
|
480 |
|
481 /** |
|
482 Enum to define the v9.0 API additions. |
|
483 */ |
|
484 enum TMultimodeEtelV9Api |
|
485 { |
|
486 /** |
|
487 Indicator that the TSY supports the Multimode ETel v9.0 API. |
|
488 */ |
|
489 KEtelExtMultimodeV9=45000, |
|
490 /** |
|
491 Indicator that the TSY supports the Cell Information functional unit. |
|
492 */ |
|
493 KEtelFuncCellInfo, // 45001 |
|
494 }; |
|
495 |
|
496 /** |
|
497 Enum to define the Etel 3rdParty V1 API additions |
|
498 |
|
499 */ |
|
500 enum TMultimodeETel3rdPartyV1Api |
|
501 { |
|
502 /** |
|
503 Indicator that the TSY supports the Etel 3rd Party v1.0 API |
|
504 */ |
|
505 KETelExt3rdPartyV1 = 40000 |
|
506 }; |
|
507 |
|
508 |
|
509 /*********************************************************/ |
|
510 // |
|
511 // Phone based functionality (RMobilePhone) |
|
512 // |
|
513 /*********************************************************/ |
|
514 |
|
515 |
|
516 class CMobilePhonePtrHolder; |
|
517 class CMobilePhoneStoredNetworkList; |
|
518 class CMobilePhoneStoredWlanSIDList; |
|
519 class RMobileSmartCardEap; |
|
520 |
|
521 class RMobilePhone : public RPhone |
|
522 /** |
|
523 Provides client access to mobile phone functionality provided by TSY. |
|
524 |
|
525 Encapsulates access to a mobile phone. The functionality of RMobilePhone |
|
526 is divided into a number of functional units, for the purpose of easier documentation |
|
527 and navigation and selectable support by TSY. |
|
528 |
|
529 Note: Some RMobilePhone function members must be supported by the TSY while |
|
530 others are part of optional "functional unit" and only need to be supported |
|
531 if the TSY supports that functional unit. When a functional unit is mandatory |
|
532 then the unit should at least support the Get...Caps() member function to |
|
533 indicate the member functions that are supported for this unit. |
|
534 |
|
535 */ |
|
536 { |
|
537 public: |
|
538 friend class CAsyncRetrievePhoneList; |
|
539 IMPORT_C RMobilePhone(); |
|
540 |
|
541 // Global multimode types |
|
542 |
|
543 |
|
544 class TMultimodeType |
|
545 /** |
|
546 Base class for all the V1 parameter types defined within the API. |
|
547 |
|
548 @publishedPartner |
|
549 @released |
|
550 */ |
|
551 { |
|
552 public: |
|
553 IMPORT_C TInt ExtensionId() const; |
|
554 protected: |
|
555 TMultimodeType(); |
|
556 void InternalizeL(RReadStream& aStream); |
|
557 void ExternalizeL(RWriteStream& aStream) const; |
|
558 protected: |
|
559 TInt iExtensionId; |
|
560 }; |
|
561 |
|
562 /** A typedef'd packaged TMultimodeType for passing through a generic API |
|
563 function member. */ |
|
564 typedef TPckg<TMultimodeType> TMultimodeTypePckg; |
|
565 |
|
566 // Types used in RMobilePhone::TMobileAddress |
|
567 |
|
568 /** Address types. |
|
569 |
|
570 Modes: Common */ |
|
571 enum TMobileTON |
|
572 { |
|
573 /** User or the network has no knowledge of the type of number. |
|
574 |
|
575 Modes: Common */ |
|
576 EUnknownNumber, // 0 |
|
577 /** International number. |
|
578 |
|
579 Modes: Common */ |
|
580 EInternationalNumber, // 1 |
|
581 /** National number. |
|
582 |
|
583 Modes: Common */ |
|
584 ENationalNumber, // 2 |
|
585 /** Administration/service number specific to the serving network, e.g. used to |
|
586 access an operator. |
|
587 |
|
588 Modes: Common */ |
|
589 ENetworkSpecificNumber, // 3 |
|
590 /** Subscriber number. |
|
591 |
|
592 Modes: Common */ |
|
593 ESubscriberNumber, // 4 - Also defined as "dedicated, short code" in GSM 04.08 |
|
594 /** Alphanumeric number coded according to 3GPP TS 123 038 GSM 7-bit default alphabet. |
|
595 |
|
596 Modes: GSM/WCDMA */ |
|
597 EAlphanumericNumber, // 5 |
|
598 /** Abbreviated number. |
|
599 |
|
600 Modes: Common */ |
|
601 EAbbreviatedNumber // 6 |
|
602 }; |
|
603 |
|
604 /** Number Plan Indicator. |
|
605 |
|
606 Modes: Common */ |
|
607 enum TMobileNPI |
|
608 { |
|
609 /** User or the network has no knowledge of the numbering plan. |
|
610 |
|
611 Modes: Common */ |
|
612 EUnknownNumberingPlan =0, |
|
613 /** ISDN/telephony numbering plan. |
|
614 |
|
615 Modes: Common */ |
|
616 EIsdnNumberPlan=1, |
|
617 /** Data numbering plan. |
|
618 |
|
619 Modes: Common */ |
|
620 EDataNumberPlan=3, |
|
621 /** Telex numbering plan. |
|
622 |
|
623 Modes: Common */ |
|
624 ETelexNumberPlan=4, |
|
625 /** Service centre specific plan used to indicate a numbering plan specific to external |
|
626 Short Message entities attached to the SMSC. */ |
|
627 EServiceCentreSpecificPlan1=5, |
|
628 /** Service centre specific plan used to indicate a numbering plan specific to external |
|
629 Short Message entities attached to the SMSC. |
|
630 |
|
631 Modes: GSM/WCDMA */ |
|
632 EServiceCentreSpecificPlan2=6, |
|
633 /** National numbering plan. |
|
634 |
|
635 Modes: GSM/WCDMA */ |
|
636 ENationalNumberPlan=8, |
|
637 /** Private numbering plan. |
|
638 |
|
639 Modes: Common */ |
|
640 EPrivateNumberPlan=9, |
|
641 /** ERMES numbering plan. |
|
642 |
|
643 Modes: GSM/WCDMA */ |
|
644 EERMESNumberPlan=10 |
|
645 }; |
|
646 |
|
647 enum |
|
648 { |
|
649 KMaxMobilePasswordSize=10, |
|
650 KMaxMobileNameSize=32, |
|
651 KMaxMobileTelNumberSize=100 |
|
652 }; |
|
653 |
|
654 struct TMMTableSettings |
|
655 { |
|
656 TUint32 iLocId; |
|
657 }; |
|
658 |
|
659 typedef TPckg<TMMTableSettings> TMMTableSettingsPckg; |
|
660 |
|
661 |
|
662 |
|
663 class TMobileAddress |
|
664 /** |
|
665 Defines API abstraction of a mobile telephone number. |
|
666 |
|
667 @publishedPartner |
|
668 @released |
|
669 */ |
|
670 { |
|
671 public: |
|
672 IMPORT_C TMobileAddress(); |
|
673 |
|
674 void InternalizeL(RReadStream& aStream); |
|
675 void ExternalizeL(RWriteStream& aStream) const; |
|
676 |
|
677 public: |
|
678 /** Type of number. |
|
679 |
|
680 @see TMobileTON */ |
|
681 TMobileTON iTypeOfNumber; |
|
682 /** Number plan. |
|
683 |
|
684 @see TMobileNPI */ |
|
685 TMobileNPI iNumberPlan; |
|
686 /** Telephone number. */ |
|
687 TBuf<KMaxMobileTelNumberSize> iTelNumber; |
|
688 }; |
|
689 |
|
690 // Mobile information location type |
|
691 |
|
692 /** Defines Location of service information. |
|
693 |
|
694 Modes: Common */ |
|
695 enum TMobileInfoLocation |
|
696 { |
|
697 /** Retrieve the service information ONLY from the cache on the phone. Return KErrNotFound |
|
698 if the cache does not exist or it is empty. */ |
|
699 EInfoLocationCache, |
|
700 /** Retrieve the service information from the cache, but if this is empty or does |
|
701 not exist then interrogate the network. */ |
|
702 EInfoLocationCachePreferred, |
|
703 /** Retrieve the service information from the network (and refresh the cache if |
|
704 there is one). */ |
|
705 EInfoLocationNetwork |
|
706 }; |
|
707 |
|
708 // Mobile call service type |
|
709 |
|
710 /** Applicability of request to a mobile service group. |
|
711 |
|
712 Modes: Common */ |
|
713 enum TMobileService |
|
714 { |
|
715 /** The call service has not been specified. |
|
716 |
|
717 Modes: Common */ |
|
718 EServiceUnspecified, |
|
719 /** The API request applies to voice call services. |
|
720 |
|
721 Modes: Common */ |
|
722 EVoiceService, |
|
723 /** The API request applies to auxiliary voice call services. |
|
724 |
|
725 Modes: GSM/WCDMA */ |
|
726 EAuxVoiceService, |
|
727 /** The API request applies to circuit switched data call services. |
|
728 |
|
729 Modes: Common */ |
|
730 ECircuitDataService, |
|
731 /** The API request applies to packet data services. |
|
732 |
|
733 Modes: Common */ |
|
734 EPacketDataService, |
|
735 /** The API request applies to fax call services. |
|
736 |
|
737 Modes: Common */ |
|
738 EFaxService, |
|
739 /** The API request applies to short message services. |
|
740 |
|
741 Modes: Common */ |
|
742 EShortMessageService, |
|
743 /** The API request applies to all mobile services. |
|
744 |
|
745 Modes: Common */ |
|
746 EAllServices, |
|
747 /** All teleservices |
|
748 |
|
749 Modes: Common */ |
|
750 EAllTele, |
|
751 /** Telephony |
|
752 |
|
753 Modes: Common */ |
|
754 ETelephony, |
|
755 /** All data teleservices |
|
756 |
|
757 Modes: Common */ |
|
758 EAllDataTele, |
|
759 /** Voice Broadcast Service (VBS) Bearer Service |
|
760 |
|
761 Modes: Common */ |
|
762 EAllDataExSms, |
|
763 /** All teleservices except SMS |
|
764 |
|
765 Modes: Common */ |
|
766 EAllTeleExcSms, |
|
767 /** All PLMN specific teleservices |
|
768 |
|
769 Modes: Common */ |
|
770 EAllPlmnTele, |
|
771 /** PLMN specific teleservice 1 |
|
772 |
|
773 Modes: Common */ |
|
774 EPlmnTele1, |
|
775 /** PLMN specific teleservice 2 |
|
776 |
|
777 Modes: Common */ |
|
778 EPlmnTele2, |
|
779 /** PLMN specific teleservice 3 |
|
780 |
|
781 Modes: Common */ |
|
782 EPlmnTele3, |
|
783 /** PLMN specific teleservice 4 |
|
784 |
|
785 Modes: Common */ |
|
786 EPlmnTele4, |
|
787 /** PLMN specific teleservice 5 |
|
788 |
|
789 Modes: Common */ |
|
790 EPlmnTele5, |
|
791 /** PLMN specific teleservice 6 |
|
792 |
|
793 Modes: Common */ |
|
794 EPlmnTele6, |
|
795 /** PLMN specific teleservice 7 |
|
796 |
|
797 Modes: Common */ |
|
798 EPlmnTele7, |
|
799 /** PLMN specific teleservice 8 |
|
800 |
|
801 Modes: Common */ |
|
802 EPlmnTele8, |
|
803 /** PLMN specific teleservice 9 |
|
804 |
|
805 Modes: Common */ |
|
806 EPlmnTele9, |
|
807 /** PLMN specific teleservice 10 |
|
808 |
|
809 Modes: Common */ |
|
810 EPlmnTeleA, |
|
811 /** PLMN specific teleservice 11 |
|
812 |
|
813 Modes: Common */ |
|
814 EPlmnTeleB, |
|
815 /** PLMN specific teleservice 12 |
|
816 |
|
817 Modes: Common */ |
|
818 EPlmnTeleC, |
|
819 /** PLMN specific teleservice 13 |
|
820 |
|
821 Modes: Common */ |
|
822 EPlmnTeleD, |
|
823 /** PLMN specific teleservice 14 |
|
824 |
|
825 Modes: Common */ |
|
826 EPlmnTeleE, |
|
827 /** PLMN specific teleservice 15 |
|
828 |
|
829 Modes: Common */ |
|
830 EPlmnTeleF, |
|
831 /** All bearer services |
|
832 |
|
833 Modes: Common */ |
|
834 EAllBearer, |
|
835 /** All async services |
|
836 |
|
837 Modes: Common */ |
|
838 EAllAsync, |
|
839 /** All sync services |
|
840 |
|
841 Modes: Common */ |
|
842 EAllSync, |
|
843 /** All data circuit sync |
|
844 |
|
845 Modes: Common */ |
|
846 ESyncData, |
|
847 /** All data circuit async |
|
848 |
|
849 Modes: Common */ |
|
850 EAsyncData, |
|
851 /** All packet data services |
|
852 |
|
853 Modes: Common */ |
|
854 EPacketData, |
|
855 /** All pad access services |
|
856 |
|
857 Modes: Common */ |
|
858 EPadAccess, |
|
859 /** All PLMN specific bearer services |
|
860 |
|
861 Modes: Common */ |
|
862 EAllPlmnBearer, |
|
863 /** PLMN specific bearer service 1 |
|
864 |
|
865 Modes: Common */ |
|
866 EPlmnBearerServ1, |
|
867 /** PLMN specific bearer service 2 |
|
868 |
|
869 Modes: Common */ |
|
870 EPlmnBearerServ2, |
|
871 /** PLMN specific bearer service 3 |
|
872 |
|
873 Modes: Common */ |
|
874 EPlmnBearerServ3, |
|
875 /** PLMN specific bearer service 4 |
|
876 |
|
877 Modes: Common */ |
|
878 EPlmnBearerServ4, |
|
879 /** PLMN specific bearer service 5 |
|
880 |
|
881 Modes: Common */ |
|
882 EPlmnBearerServ5, |
|
883 /** PLMN specific bearer service 6 |
|
884 |
|
885 Modes: Common */ |
|
886 EPlmnBearerServ6, |
|
887 /** PLMN specific bearer service 7 |
|
888 |
|
889 Modes: Common */ |
|
890 EPlmnBearerServ7, |
|
891 /** PLMN specific bearer service 8 |
|
892 |
|
893 Modes: Common */ |
|
894 EPlmnBearerServ8, |
|
895 /** PLMN specific bearer service 9 |
|
896 |
|
897 Modes: Common */ |
|
898 EPlmnBearerServ9, |
|
899 /** PLMN specific bearer service 10 |
|
900 |
|
901 Modes: Common */ |
|
902 EPlmnBearerServA, |
|
903 /** PLMN specific bearer service 11 |
|
904 |
|
905 Modes: Common */ |
|
906 EPlmnBearerServB, |
|
907 /** PLMN specific bearer service 12 |
|
908 |
|
909 Modes: Common */ |
|
910 EPlmnBearerServC, |
|
911 /** PLMN specific bearer service 13 |
|
912 |
|
913 Modes: Common */ |
|
914 EPlmnBearerServD, |
|
915 /** PLMN specific bearer service 14 |
|
916 |
|
917 Modes: Common */ |
|
918 EPlmnBearerServE, |
|
919 /** PLMN specific bearer service 15 |
|
920 |
|
921 Modes: Common */ |
|
922 EPlmnBearerServF, |
|
923 /** Alternative tele services |
|
924 |
|
925 Modes: Common */ |
|
926 EAltTele, |
|
927 /** Voice Group Call Service (VGCS) |
|
928 |
|
929 Modes: Common */ |
|
930 EVoiceGroupCall, |
|
931 /** Voice Broadcast Service (VBS) |
|
932 |
|
933 Modes: Common */ |
|
934 EVoiceBroadcast, |
|
935 /** All GPRS Bearer Services |
|
936 |
|
937 Modes: Common */ |
|
938 EAllGprsBearer |
|
939 }; |
|
940 |
|
941 // Mobile name type |
|
942 |
|
943 /** A typedef to hold the names of API sub-sessions. The names are coded as ASCII |
|
944 characters. */ |
|
945 typedef TBuf<KMaxMobileNameSize> TMobileName; |
|
946 |
|
947 // Mobile password type |
|
948 |
|
949 /** A typedef for the standard password used by mobile phones for secure access |
|
950 to services (phone lock, SIM lock, call barring password). The password is |
|
951 coded as Unicode characters. */ |
|
952 typedef TBuf<KMaxMobilePasswordSize> TMobilePassword; |
|
953 |
|
954 // for use by client-side API code and TSY only |
|
955 |
|
956 struct TClientId |
|
957 /** This type is used within the 2-phase list retrieval classes. During both phases, |
|
958 the client-side API code will pass down the TClientId so that TSY can use |
|
959 this information to match the first phase of the request to the second phase. */ |
|
960 { |
|
961 /** The handle to the underlying RTelServer session. */ |
|
962 TInt iSessionHandle; |
|
963 /** The handle to the sub-session to which this API request relates. */ |
|
964 TInt iSubSessionHandle; |
|
965 }; |
|
966 |
|
967 /** Phone air interface capabilities. */ |
|
968 enum TMobilePhoneModeCaps |
|
969 { |
|
970 /** Phone can operate in GSM mode on 900/1800/1900 MHz bands. */ |
|
971 KCapsGsmSupported=0x00000001, |
|
972 /** Phone can operate in GPRS mode on 900/1800/1900 MHz bands. */ |
|
973 KCapsGprsSupported=0x00000002, |
|
974 /** Phone can operate in AMPS mode on 800MHz band. */ |
|
975 KCapsAmpsSupported=0x00000004, |
|
976 /** |
|
977 Phone can operate in CDMA (IS-95) mode on 800/1900 MHz bands. |
|
978 @deprecated 9.5 |
|
979 */ |
|
980 KCapsCdma95Supported=0x00000008, |
|
981 /** |
|
982 Phone can operate in CDMA (cdma2000) mode on 800/1900 MHz bands. |
|
983 @deprecated 9.5 |
|
984 */ |
|
985 KCapsCdma2000Supported=0x00000010, |
|
986 /** Phone can operate in W-CDMA (UTRA Frequency Division Duplex (FDD)) mode. */ |
|
987 KCapsWcdmaSupported=0x00000020, |
|
988 /** Phone can operate in TDMA/CDMA (UTRA Time Division Duplex (TDD)) mode. */ |
|
989 KCapsTdcdmaSupported=0x00000040, |
|
990 /** |
|
991 Phone can access Smart Card functionality required for an EAP. |
|
992 @deprecated 9.3 |
|
993 */ |
|
994 KCapsEapSupported=0x00000080 |
|
995 }; |
|
996 |
|
997 /** Version number of the multimode ETel API. */ |
|
998 enum TMultimodeEtelAPIVersion |
|
999 { |
|
1000 /** Multimode Etel API version 1. */ |
|
1001 TMultimodeETelApiV1 |
|
1002 }; |
|
1003 |
|
1004 // |
|
1005 // API/TSY internal type |
|
1006 // |
|
1007 |
|
1008 struct TPhoneStoreNameAndIccType |
|
1009 /** Structure that holds the phone store name and ICC type. |
|
1010 |
|
1011 Mode: Common */ |
|
1012 { |
|
1013 /** This parameter is used to set the name of the storage. */ |
|
1014 TName iStoreName; |
|
1015 /** This parameter is used to set the type of the ICC card. */ |
|
1016 TName iMode; |
|
1017 }; |
|
1018 |
|
1019 IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const; |
|
1020 |
|
1021 IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const; |
|
1022 |
|
1023 IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const; |
|
1024 |
|
1025 IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aStatus, TDes8& aInfo, const TDesC& aStoreName, const TDesC& aMode) const; |
|
1026 |
|
1027 // explicit phone initialisation |
|
1028 IMPORT_C void InitialiseMM(TRequestStatus& aReqStatus, TDes8& aTableSettings) const; |
|
1029 |
|
1030 /***********************************************************************************/ |
|
1031 // |
|
1032 // MobilePhoneIccAccess functional unit |
|
1033 // |
|
1034 /***********************************************************************************/ |
|
1035 |
|
1036 /** ICC access capabilities. |
|
1037 |
|
1038 Modes: GSM */ |
|
1039 enum TMobilePhoneIccCaps |
|
1040 { |
|
1041 /** Phone has a SIM and it currently supports SIM access by clients. |
|
1042 |
|
1043 Modes: GSM */ |
|
1044 KCapsSimAccessSupported=0x00000001, |
|
1045 /** Phone has a R-UIM and it currently supports R-UIM access by clients. |
|
1046 |
|
1047 Modes: CDMA |
|
1048 @deprecated 9.5 |
|
1049 */ |
|
1050 KCapsRUimAccessSupported=0x00000002, |
|
1051 /** Phone has a USIM and it currently supports USIM access by clients. |
|
1052 |
|
1053 Modes: WCDMA */ |
|
1054 KCapsUSimAccessSupported=0x00000004 |
|
1055 }; |
|
1056 |
|
1057 |
|
1058 enum |
|
1059 { |
|
1060 /** |
|
1061 Maximum size of an ICC identity. |
|
1062 |
|
1063 NOTE: TS102.221 defines the maximum size of the ICC Identity as held in EF_ICCID as 10 bytes, however |
|
1064 TS 51.011 mentions that network operators may issue a SIM with an identification number of 20 bytes. |
|
1065 Therefore to cover this possibility the higher figure of 20 bytes has been chosen as the maximum size of the ICC identity. |
|
1066 */ |
|
1067 KMaxSizeIccIdentity = 20 |
|
1068 }; |
|
1069 |
|
1070 /** A typedef to hold the ICC identity.*/ |
|
1071 typedef TBuf8<KMaxSizeIccIdentity> TIccIdentity; |
|
1072 |
|
1073 IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const; |
|
1074 IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
1075 IMPORT_C void GetIccIdentity(TRequestStatus& aReqStatus, TIccIdentity& aIdentity) const; |
|
1076 |
|
1077 /** The Call Transfer/Call Forward options that are supported by the CSP. |
|
1078 |
|
1079 Modes: WCDMA/GSM */ |
|
1080 enum TCspCallOffering |
|
1081 { |
|
1082 /** Indicates that "Call Transfer" is supported by the CSP. */ |
|
1083 KCspCT=0x08, |
|
1084 /** Indicates that "Call Forwarding on Not Reachable" is supported by the CSP. */ |
|
1085 KCspCFNRc=0x10, |
|
1086 /** Indicates that "Call Forwarding on No Reply" is supported by the CSP. */ |
|
1087 KCspCFNRy=0x20, |
|
1088 /** Indicates that "Call Forwarding on Busy" is supported by the CSP. */ |
|
1089 KCspCFB=0x40, |
|
1090 /** Indicates that "Call Forwarding Unconditional" is supported by the CSP. */ |
|
1091 KCspCFU=0x80 |
|
1092 }; |
|
1093 |
|
1094 /** The call restrictions supported by the CSP. |
|
1095 |
|
1096 Modes: GSM/WCDMA */ |
|
1097 enum TCspCallRestriction |
|
1098 { |
|
1099 /** Indicates that "Barring of Incoming Calls when roaming outside the home PLMN |
|
1100 country" is supported by CSP. */ |
|
1101 KCspBICRoam=0x08, |
|
1102 /** Indicates that "Barring of All Incoming Calls" is supported by CSP. */ |
|
1103 KCspBAIC=0x10, |
|
1104 /** Indicates that "Barring of Outgoing International Calls except those directed |
|
1105 to the home PLMN country" is supported by CSP. */ |
|
1106 KCspBOICexHC=0x20, |
|
1107 /** Indicates that "Barring of Outgoing International Calls" is supported by CSP. */ |
|
1108 KCspBOIC=0x40, |
|
1109 /** Indicates that "Barring of All Outgoing Calls" is supported by CSP. */ |
|
1110 KCspBOAC=0x80 |
|
1111 }; |
|
1112 |
|
1113 /** Other services supported by the CSP. |
|
1114 |
|
1115 Modes: GSM/WCDMA */ |
|
1116 enum TCspOtherSuppServices |
|
1117 { |
|
1118 /** Indicates that the Outgoing Access option of the Closed User Group service is |
|
1119 supported by the CSP. */ |
|
1120 KCspCUGOA=0x08, |
|
1121 /** Indicates that the Preferential CUG option of the Closed User Group service |
|
1122 is supported by the CSP. */ |
|
1123 KCspPrefCUG=0x10, |
|
1124 /** Indicates that the Advice of Charge service is supported by the CSP. */ |
|
1125 KCspAoC=0x20, |
|
1126 /** Indicates that the Closed User Group service is supported by the CSP. */ |
|
1127 KCspCUG=0x40, |
|
1128 /** Indicates that the Multiparty call service is supported by the CSP */ |
|
1129 KCspMPTY=0x80, |
|
1130 }; |
|
1131 |
|
1132 /** Call completion modes supported by this CSP. |
|
1133 |
|
1134 Modes: GSM/WCDMA */ |
|
1135 enum TCspCallCompletion |
|
1136 { |
|
1137 /** Indicates that the Call Completion to Busy Subscriber service is supported by |
|
1138 the CSP. */ |
|
1139 KCspCCBS=0x20, |
|
1140 /** Indicates that the Call Waiting service is supported by the CSP. */ |
|
1141 KCspCW=0x40, |
|
1142 /** Indicates that the Call Hold service is supported by the CSP. */ |
|
1143 KCspHOLD=0x80, |
|
1144 }; |
|
1145 |
|
1146 /** SMS Teleservices supported by the CSP. |
|
1147 |
|
1148 Modes: GSM/WCDMA */ |
|
1149 enum TCspTeleservices |
|
1150 { |
|
1151 /** Indicates that display of Validity Period menu options for SMS is supported |
|
1152 by the CSP. */ |
|
1153 KCspValidityPeriod=0x02, |
|
1154 /** Indicates that display of Protocol ID menu options for SMS is supported by the |
|
1155 CSP. */ |
|
1156 KCspProtocolID=0x04, |
|
1157 /** Indicates that SMS Delivery Confirmation is supported by the CSP. */ |
|
1158 KCspDelConf=0x08, |
|
1159 /** Indicates that display of Reply Path menu options for outgoing SMS is supported |
|
1160 by the CSP. */ |
|
1161 KCspReplyPath=0x10, |
|
1162 /** Indicates that the Cell Broadcast service is supported by the CSP. */ |
|
1163 KCspSMCB=0x20, |
|
1164 /** Indicates mobile originated Short Messages are supported by CSP. */ |
|
1165 KCspSMMO=0x40, |
|
1166 /** Indicates mobile terminated Short Messages are supported by CSP. */ |
|
1167 KCspSMMT=0x80, |
|
1168 }; |
|
1169 |
|
1170 /** Alternate Line Services */ |
|
1171 enum TCspCPHSTeleservices |
|
1172 { |
|
1173 /** Indicates that Alternate Line Service is supported by the CSP. */ |
|
1174 KCspALS=0x80 |
|
1175 }; |
|
1176 |
|
1177 /** Currently not used. */ |
|
1178 enum TCspCPHSFeatures |
|
1179 { |
|
1180 /** This bit value is reserved for SST in Phase 1 CPHS. */ |
|
1181 KCspReservedSST=0x80 |
|
1182 }; |
|
1183 |
|
1184 /** Number Identification option supported by the CSP. |
|
1185 |
|
1186 Modes: GSM/WCDMA */ |
|
1187 enum TCspNumberIdentification |
|
1188 { |
|
1189 /** Indicates that Calling Line Identity Presentation blocking per call (CLI sent |
|
1190 by default) is supported by the CSP. */ |
|
1191 KCspCLIBlock=0x01, |
|
1192 /** Indicates that Calling Line Identity Presentation per call (CLI blocked by default) |
|
1193 is supported by the CSP. */ |
|
1194 KCspCLISend=0x02, |
|
1195 /** Indicates that Connected Line Identification Presentation is supported by the |
|
1196 CSP. */ |
|
1197 KCspCOLP=0x10, |
|
1198 /** Indicates that Connected Line Identification Restriction is supported by the |
|
1199 CSP. */ |
|
1200 KCspCOLR=0x20, |
|
1201 /** Indicates that Calling Line Identification Presentation is supported by the CSP. */ |
|
1202 KCspCLIP=0x80, |
|
1203 }; |
|
1204 |
|
1205 /** Phase 2+ services supported by the CSP. |
|
1206 |
|
1207 Modes: GSM/WCDMA */ |
|
1208 enum TCspPhase2PlusServices |
|
1209 { |
|
1210 /** Indicates that Multiple Band roaming is supported by CSP. */ |
|
1211 KCspMultipleband=0x04, |
|
1212 /** Indicates that Multiple Subscriber Profile is supported by CSP. |
|
1213 |
|
1214 v1.0 of Multimode ETel API does not support this feature */ |
|
1215 KCspMSP=0x08, |
|
1216 /** Indicates that Voice Broadcast is supported by CSP. |
|
1217 |
|
1218 v1.0 of Multimode ETel API does not support this feature. */ |
|
1219 KCspVoiceBroadcast=0x10, |
|
1220 /** Indicates that Voice Group Call is supported by CSP. |
|
1221 |
|
1222 v1.0 of Multimode ETel API does not support this feature. */ |
|
1223 KCspVoiceGroupCall=0x20, |
|
1224 /** Indicates that High Speed Circuit Switched Data is supported by CSP. */ |
|
1225 KCspHscsd=0x40, |
|
1226 /** Indicates that General Packet Radio Service is supported by CSP. */ |
|
1227 KCspGprs=0x80 |
|
1228 }; |
|
1229 |
|
1230 /** Value added services supported by this CSP. |
|
1231 |
|
1232 Modes: GSM/WCDMA */ |
|
1233 enum TCspValueAdded |
|
1234 { |
|
1235 /** Indicates that display of language selection menus is supported by the CSP. |
|
1236 |
|
1237 v1.0 of Multimode ETel API does not support this feature. */ |
|
1238 KCspLanguage=0x01, |
|
1239 /** Indicates that display of data call option menu is supported by the CSP. */ |
|
1240 KCspData=0x04, |
|
1241 /** Indicates that display of fax call option menu is supported by the CSP. */ |
|
1242 KCspFax=0x08, |
|
1243 /** Indicates that display of the menu option to send a Short Message of type Email |
|
1244 is supported by the CSP. */ |
|
1245 KCspSMMOEmail=0x10, |
|
1246 /** Indicates that display of the menu option to send a Short Message of type Paging |
|
1247 is supported by the CSP. */ |
|
1248 KCspSMMOPaging=0x20, |
|
1249 /** Indicates that display of the menu option for manual PLMN selection is supported |
|
1250 by the CSP. */ |
|
1251 KCspPLMNMode=0x80, |
|
1252 }; |
|
1253 |
|
1254 |
|
1255 |
|
1256 class TMobilePhoneCspFileV1 : public TMultimodeType |
|
1257 /** Defines contents of the CSP (Customer Service Profile) on the SIM. The profile |
|
1258 consists of the sum of the respective enums. |
|
1259 |
|
1260 @see GetCustomerServiceProfile() |
|
1261 @publishedPartner |
|
1262 @released*/ |
|
1263 { |
|
1264 public: |
|
1265 /** Constructor. */ |
|
1266 IMPORT_C TMobilePhoneCspFileV1(); |
|
1267 |
|
1268 /** Sum of the TCspCallOffering. */ |
|
1269 TUint8 iCallOfferingServices; |
|
1270 /** Sum of the TCspCallRestriction. */ |
|
1271 TUint8 iCallRestrictionServices; |
|
1272 /** Sum of the TCspOtherSuppServices. */ |
|
1273 TUint8 iOtherSuppServices; |
|
1274 /** Sum of the TCspCallCompletion. */ |
|
1275 TUint8 iCallCompletionServices; |
|
1276 /** Sum of the TCspTeleservices. */ |
|
1277 TUint8 iTeleservices; |
|
1278 /** Sum of the TCspCPHSTeleservices. */ |
|
1279 TUint8 iCphsTeleservices; |
|
1280 /** Sum of the TCspCPHSFeatures. */ |
|
1281 TUint8 iCphsFeatures; |
|
1282 /** Sum of the TCspNumberIdentification. */ |
|
1283 TUint8 iNumberIdentServices; |
|
1284 /** Sum of the TCspPhase2PlusServices. */ |
|
1285 TUint8 iPhase2PlusServices; |
|
1286 /** Sum of the TCspValueAdded. */ |
|
1287 TUint8 iValueAddedServices; |
|
1288 }; |
|
1289 |
|
1290 /** A typedef'd packaged TMobilePhoneCspFileV1 for passing through a generic API |
|
1291 function member. */ |
|
1292 typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg; |
|
1293 |
|
1294 IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const; |
|
1295 |
|
1296 /** SIM/USIM/CDMA Service Table. |
|
1297 |
|
1298 Modes: Common */ |
|
1299 enum TSSTServices1To8 |
|
1300 { |
|
1301 /** Indicates that disabling PIN1 is supported by the ICC. */ |
|
1302 KSstPin1Disable=0x01, |
|
1303 /** Indicates that storage of Abbreviated Dialling Numbers within this ICC is supported. */ |
|
1304 KSstADN=0x02, |
|
1305 /** Indicates that the Fixed Dialling Numbers service and the storage of FDN numbers |
|
1306 within this ICC is supported. */ |
|
1307 KSstFDN=0x04, |
|
1308 /** Indicates that the Short Message Service and the storage of short messages within |
|
1309 this ICC is supported. |
|
1310 |
|
1311 Modes: Common */ |
|
1312 KSstSMS=0x08, |
|
1313 /** Indicates that the Advice of Charge service is supported by this ICC. |
|
1314 |
|
1315 Modes: GSM/WCDMA */ |
|
1316 KSstAoC=0x10, |
|
1317 /** Indicates that the storage of Configuration Capability Parameters associated |
|
1318 with an AND, FDN, MSISDN, LND or SDN is supported by this ICC. |
|
1319 |
|
1320 Modes: GSM/WCDMA */ |
|
1321 KSstCCP=0x20, |
|
1322 /** Indicates that storage of a preferred network list is supported by this ICC. |
|
1323 |
|
1324 v1.0 of Multimode ETel API does not support this feature |
|
1325 |
|
1326 Modes: GSM/WCDMA */ |
|
1327 KSstPLMNSelector=0x40 |
|
1328 }; |
|
1329 |
|
1330 /** SIM/USIM/CDMA Service Table (continued). |
|
1331 |
|
1332 Modes: GSM/WCDMA */ |
|
1333 enum TSSTServices9To16 |
|
1334 { |
|
1335 /** Indicates that storage of MSISDN (own numbers) numbers within this ICC is supported. |
|
1336 |
|
1337 Modes: GSM/WCDMA */ |
|
1338 KSstMSISDN=0x01, |
|
1339 /** Indicates that storage of extended (greater than 20 digits) ADN, LND and MSISDN |
|
1340 numbers within this ICC is supported. |
|
1341 |
|
1342 Modes: Common */ |
|
1343 KSstExt1=0x02, |
|
1344 /** Indicates that storage of extended (greater than 20 digits) FDN numbers within |
|
1345 this ICC is supported. |
|
1346 |
|
1347 Modes: Common */ |
|
1348 KSstExt2=0x04, |
|
1349 /** Indicates that storage of SMS parameter records within this ICC is supported. |
|
1350 |
|
1351 Modes: Common */ |
|
1352 KSstSMSP=0x08, |
|
1353 /** Indicates that storage of Last Numbers Dialled within this ICC is supported. |
|
1354 |
|
1355 Modes: Common */ |
|
1356 KSstLND=0x10, |
|
1357 /** Indicates that the storage of Cell Broadcast message identifiers is supported |
|
1358 within this ICC. |
|
1359 |
|
1360 Modes: GSM/WCDMA */ |
|
1361 KSstCBMI=0x20, |
|
1362 /** Indicates that access to the GID1 file is supported within this ICC. |
|
1363 |
|
1364 v1.0 of Multimode ETel API does not support this feature |
|
1365 |
|
1366 Modes: GSM/WCDMA */ |
|
1367 KSstGID1=0x40, |
|
1368 /** Indicates that access to the GID2 file is supported within this ICC. |
|
1369 |
|
1370 v1.0 of Multimode ETel API does not support this feature |
|
1371 |
|
1372 Modes: GSM/WCDMA */ |
|
1373 KSstGID2=0x80 |
|
1374 }; |
|
1375 |
|
1376 /** SIM/USIM/CDMA Service Table (continued). |
|
1377 |
|
1378 v1.0 of Multimode ETel API does not support this feature |
|
1379 |
|
1380 Modes: Common */ |
|
1381 enum TSSTServices17To24 |
|
1382 { |
|
1383 /** Indicates that access to the Service Provider Name within ICC is supported. |
|
1384 |
|
1385 v1.0 of Multimode ETel API does not support this feature |
|
1386 |
|
1387 Modes: Common */ |
|
1388 KSstSPName=0x01, |
|
1389 /** Indicates that storage of Service Dialling Numbers within ICC is supported. |
|
1390 |
|
1391 Modes: Common */ |
|
1392 KSstSDN=0x02, |
|
1393 /** Indicates that storage of extended (greater than 20 digits) SDN numbers within |
|
1394 this ICC/RUIM is supported. |
|
1395 |
|
1396 Modes: Common */ |
|
1397 KSstExt3=0x04, |
|
1398 /** Indicates that access to the VGCS group identifier list within ICC is supported. |
|
1399 |
|
1400 v1.0 of Multimode ETel API does not support this feature |
|
1401 |
|
1402 Modes: GSM/WCDMA */ |
|
1403 KSstVGCSList=0x10, |
|
1404 /** Indicates that access to the VBS group identifier list within ICC is supported. |
|
1405 |
|
1406 v1.0 of Multimode ETel API does not support this feature |
|
1407 |
|
1408 Modes: GSM/WCDMA */ |
|
1409 KSstVBSList=0x20, |
|
1410 /** Indicates that the enhanced Multi-Level Precedence and Pre-emption service is |
|
1411 supported by ICC |
|
1412 |
|
1413 v1.0 of Multimode ETel API does not support this feature |
|
1414 |
|
1415 Modes: GSM/WCDMA */ |
|
1416 KSsteMLPP=0x40, |
|
1417 /** Indicates that automatic answer for eMLPP is supported by ICC |
|
1418 |
|
1419 v1.0 of Multimode ETel API does not support this feature |
|
1420 |
|
1421 Modes: GSM/WCDMA */ |
|
1422 KSstAnswereMLPP=0x80 |
|
1423 }; |
|
1424 |
|
1425 /** SIM/USIM/CDMA Service Table (continued). |
|
1426 |
|
1427 Modes: GSM/WCDMA */ |
|
1428 enum TSSTServices25To32 |
|
1429 { |
|
1430 /** Indicates that SAT SMS-CB data download is supported by ICC. */ |
|
1431 KSstSmsCbDataDownload=0x01, |
|
1432 /** Indicates that SAT SMS-PP data download is supported by ICC. */ |
|
1433 KSstSmsPpDataDownload=0x02, |
|
1434 /** Indicates that SAT menu selection is supported by ICC. |
|
1435 |
|
1436 SAT ETel API provides this feature. */ |
|
1437 KSstMenuSelection=0x04, |
|
1438 /** Indicates that SAT call control is supported by ICC. |
|
1439 |
|
1440 SAT ETel API provides this feature. */ |
|
1441 KSstCallControl=0x08, |
|
1442 /** Indicates that SAT pro-active SIM is supported by ICC. |
|
1443 |
|
1444 SAT ETel API provides this feature. */ |
|
1445 KSstProactiveSim=0x10, |
|
1446 /** Indicates ICC storage of ranges of Cell Broadcast Message Identifiers is supported. */ |
|
1447 KSstCBMIRanges=0x20, |
|
1448 /** Indicates ICC storage of Barred Dialling Numbers is supported. */ |
|
1449 KSstBDN=0x40, |
|
1450 /** Indicates ICC storage of extended (greater than 20 digits) BDN numbers is supported. */ |
|
1451 KSstExt4=0x80 |
|
1452 }; |
|
1453 |
|
1454 /** SIM/USIM/CDMA Service Table (continued). |
|
1455 |
|
1456 Modes: GSM/WCDMA */ |
|
1457 enum TSSTServices33To40 |
|
1458 { |
|
1459 /** Indicates depersonalisation control keys are supported by ICC. |
|
1460 |
|
1461 v1.0 of Multimode ETel API does not support this feature. */ |
|
1462 KSstDepersonalisationKeys=0x01, |
|
1463 /** Indicates co-operative network list are supported by this ICC. |
|
1464 |
|
1465 v1.0 of Multimode ETel API does not support this feature. */ |
|
1466 KSstCooperativeNetworks=0x02, |
|
1467 /** Indicates Short Message Status Reports are supported by ICC. */ |
|
1468 KSstSMStatusReports=0x04, |
|
1469 /** Indicates network's indication of alerting is supported by ICC. |
|
1470 |
|
1471 v1.0 of Multimode ETel API does not support this feature. */ |
|
1472 KSstNetworkIndAlerting=0x08, |
|
1473 /** Indicates outgoing SM control by SAT is supported by ICC. |
|
1474 |
|
1475 SAT ETel API provides this feature. */ |
|
1476 KSstMoSmControlBySim=0x10, |
|
1477 /** Indicates that GPRS is supported by this ICC. |
|
1478 |
|
1479 GPRS ETel API provides GPRS functionality. */ |
|
1480 KSstGprs=0x20, |
|
1481 /** Indicates that Image files are supported by this ICC. |
|
1482 |
|
1483 SAT ETel API provides this feature. */ |
|
1484 KSstImage=0x40, |
|
1485 /** Indicates that SoLSA in supported by this ICC. |
|
1486 |
|
1487 v1.0 of Multimode ETel API does not support this feature */ |
|
1488 KSstSoLSA=0x80 |
|
1489 }; |
|
1490 |
|
1491 /** SIM/USIM/CDMA Service Table (continued). |
|
1492 |
|
1493 Modes: GSM/WCDMA */ |
|
1494 enum TSSTServices41To48 |
|
1495 { |
|
1496 /** Indicates that USSD string data is supported in SAT Call Control by this ICC. |
|
1497 |
|
1498 SAT ETel API provides this feature. */ |
|
1499 KSstUssdStringInCallControl=0x01, |
|
1500 /** Indicates that RUN AT COMMAND is supported in SAT by this ICC. |
|
1501 |
|
1502 v1.0 of Multimode ETel API does not support this feature */ |
|
1503 KSstRunATCommand=0x02, |
|
1504 /** Indicates that PLMN selector list with access technology is supported by this |
|
1505 ICC. |
|
1506 |
|
1507 v1.0 of Multimode ETel API does not support this feature. */ |
|
1508 KSstPlmnSelectorListWithAccessTechnology=0x04, |
|
1509 /** Indicates that OPLMN selector list with access technology is supported by this |
|
1510 ICC. |
|
1511 |
|
1512 v1.0 of Multimode ETel API does not support this feature. */ |
|
1513 KSstOplmnSelectorListWithAccessTechnology=0x08, |
|
1514 /** Indicates that HPLMN access technology is supported by this ICC. |
|
1515 |
|
1516 v1.0 of Multimode ETel API does not support this feature. */ |
|
1517 KSstHplmnAccessTechnology=0x10, |
|
1518 /** Indicates that CPBCCH information is supported by this ICC. |
|
1519 |
|
1520 v1.0 of Multimode ETel API does not support this feature. */ |
|
1521 KSstCpbcchInformation=0x20, |
|
1522 /** Indicates that Investigation Scan is supported by this ICC. |
|
1523 |
|
1524 v1.0 of Multimode ETel API does not support this feature. */ |
|
1525 KSstInvestigationScan=0x40, |
|
1526 /** Indicates that extended capability configuration parameters are supported by |
|
1527 this ICC. |
|
1528 |
|
1529 v1.0 of Multimode ETel API does not support this feature. */ |
|
1530 KSstExtendedCcp=0x80 |
|
1531 }; |
|
1532 |
|
1533 /** SIM/USIM/CDMA Service Table (continued). |
|
1534 |
|
1535 Modes: GSM/WCDMA */ |
|
1536 enum TSSTServices49To56 |
|
1537 { |
|
1538 /** Indicates Mobile Execution Environment services are supported by this ICC */ |
|
1539 KSstMExE=0x01, |
|
1540 /** Indicates that RPLMN last used access technology is supported by this ICC. |
|
1541 |
|
1542 v1.0 of Multimode ETel API does not support this feature. */ |
|
1543 KSstRplmnLastUsedAccessTechnology=0x02 |
|
1544 }; |
|
1545 |
|
1546 /** USIM service table. */ |
|
1547 enum TUSTServices1To8 |
|
1548 { |
|
1549 /** Indicates that the local phonebook is supported by the USIM. Local phonebook |
|
1550 means a phonebook that is specific to a USIM Application, as opposed to the |
|
1551 global phonebook which is located at the DF Telecom level on the UICC and |
|
1552 not attached to a USIM Application. */ |
|
1553 KUstLocalPhBk=0x01, |
|
1554 /** Indicates that the Fixed Dialling Numbers (FDN) service and the storage of |
|
1555 FDN numbers within this USIM is supported. */ |
|
1556 KUstFDN=0x02, |
|
1557 /** Indicates that the Extension 2 is supported by the USIM. Extension 2 provides |
|
1558 extension data for Fixed Dialling Numbers. */ |
|
1559 KUstExt2=0x04, |
|
1560 /** Indicates that the Service Dialling Numbers are supported by the USIM. */ |
|
1561 KUstSDN=0x08, |
|
1562 /** Indicates that the Extension 3 is supported by the USIM. Extension 3 provides |
|
1563 extension data for Service Dialling Numbers. */ |
|
1564 KUstExt3=0x10, |
|
1565 /** Indicates that the Barred Dialling Numbers are supported by the USIM. */ |
|
1566 KUstBDN=0x20, |
|
1567 /** Indicates that the Extension 4 is supported by the USIM. Extension 4 provides |
|
1568 extension data for Barred Dialling Numbers. */ |
|
1569 KUstExt4=0x40, |
|
1570 /** Indicates that the outgoing call information (OCI and OCT) are supported by |
|
1571 the USIM. |
|
1572 |
|
1573 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1574 KUstOugoingCallInfo=0x80 |
|
1575 }; |
|
1576 |
|
1577 /** USIM service table (continued). */ |
|
1578 enum TUSTServices9To16 |
|
1579 { |
|
1580 /** Indicates that the incoming call information (ICI and ICT) are supported by |
|
1581 the USIM |
|
1582 |
|
1583 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1584 KUstIncomingCallInfo=0x01, |
|
1585 /** Indicates that Short Message Storage is supported by the USIM. */ |
|
1586 KUstSMS=0x02, |
|
1587 /** Indicates that Short Message Status Reports are supported by the USIM. */ |
|
1588 KUstSMSR=0x04, |
|
1589 /** Indicates that Short Message Service Parameters are supported by the USIM. */ |
|
1590 KUstSMSP=0x08, |
|
1591 /** Indicates that Advice Of Charge is supported by the USIM. */ |
|
1592 KUstAoC=0x10, |
|
1593 /** Indicates that Capability Configuration Parameters are supported by the USIM. */ |
|
1594 KUstCCP=0x20, |
|
1595 /** Indicates that Cell Broadcast Message Identifier is supported by the USIM. */ |
|
1596 KUstCBMI=0x40, |
|
1597 /** Indicates that Cell Broadcast Message Identifier Ranges are supported by the |
|
1598 USIM. */ |
|
1599 KUstCBMIRanges=0x80 |
|
1600 }; |
|
1601 |
|
1602 /** USIM service table (continued). */ |
|
1603 enum TUSTServices17To24 |
|
1604 { |
|
1605 /** Indicates that Group Identifier Level 1 is supported by the USIM. |
|
1606 |
|
1607 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1608 KUstGID1=0x01, |
|
1609 /** Indicates that Group Identifier Level 2 is supported by the USIM. |
|
1610 |
|
1611 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1612 KUstGID2=0x02, |
|
1613 /** Indicates that Service Provider Name is supported by the USIM. */ |
|
1614 KUstSPN=0x04, |
|
1615 /** Indicates that user controlled PLMN selector with Access Technology is supported |
|
1616 by the USIM. |
|
1617 |
|
1618 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1619 KUstPLMNSelAccessTech=0x08, |
|
1620 /** Indicates that MSISDN is supported by the USIM. */ |
|
1621 KUstMSISDN=0x10, |
|
1622 /** Indicates that Image is supported by the USIM. |
|
1623 |
|
1624 Note: (U)SAT ETel API provides this feature. This enum value is reserved for |
|
1625 future API use. */ |
|
1626 KUstIMG=0x20, |
|
1627 //0x40 is a reserved value |
|
1628 /** Indicates that enhanced Multi Level Precedence and Pre-emption Service is supported |
|
1629 by the USIM. |
|
1630 |
|
1631 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1632 KUsteMLPP=0x80 |
|
1633 }; |
|
1634 |
|
1635 /** USIM service table (continued). */ |
|
1636 enum TUSTServices25To32 |
|
1637 { |
|
1638 /** Indicates that Automatic Answer for eMLPP is supported by the USIM. |
|
1639 |
|
1640 Note: v1.0 and v2.0 of Multimode ETel API do not support this feature. */ |
|
1641 KUstAnswereMLPP=0x01, |
|
1642 //0x02 is a reserved value |
|
1643 /** Indicates that GSM Access is supported by the USIM */ |
|
1644 KUstGSMAccess=0x04, |
|
1645 /** Indicates that Data download via SMS-PP is supported by the USIM. |
|
1646 |
|
1647 Note: (U)SAT ETel API provides this feature. */ |
|
1648 KUstSMSPpDataDownload=0x08, |
|
1649 /** Indicates that Data download via SMS-CB is supported by the USIM. |
|
1650 |
|
1651 Note: (U)SAT ETel API provides this feature. */ |
|
1652 KUstSMSCbDataDownload=0x10, |
|
1653 /** Indicates that Call Control by USIM is supported by the USIM. |
|
1654 |
|
1655 Note: (U)SAT ETel API provides this feature. */ |
|
1656 KUstCallControl=0x20, |
|
1657 /** Indicates that MO-SMS Control by USIM is supported by the USIM. |
|
1658 |
|
1659 Note: (U)SAT ETel API provides this feature. */ |
|
1660 KUstMoSmControl=0x40, |
|
1661 /** Indicates that the proactive command RUN AT COMMAND is supported by the USIM. |
|
1662 |
|
1663 Note: (U)SAT ETel API provides this feature. */ |
|
1664 KUstPCmdRunAtCommand=0x80 |
|
1665 }; |
|
1666 |
|
1667 /** USIM service table (continued). */ |
|
1668 enum TUSTServices33To40 |
|
1669 { |
|
1670 /** Should always be present as specified by 3 GPP spec. */ |
|
1671 KUstAlways=0x10, |
|
1672 /** Indicates that the Enabled Service Table is supported by the USIM. */ |
|
1673 KUstEST=0x02, |
|
1674 /** Indicates that APN Control List is supported by the USIM. |
|
1675 |
|
1676 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1677 KUstACL=0x04, |
|
1678 /** Indicates that the Depersonalisation Control Keys are supported by the USIM. |
|
1679 |
|
1680 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1681 KIstDepersonalisationKeys =0x08, |
|
1682 /** Indicates that the Co-operative Network List is supported by the USIM. |
|
1683 |
|
1684 Note: v2.0 of Multimode ETel API does not support this feature. */ |
|
1685 KUstCooperativeNetwork=0x10, |
|
1686 /** Indicates that GSM Security Context is supported by the USIM. */ |
|
1687 KUstGSMSecurityContext=0x20, |
|
1688 /** Indicates that CPBCCH Information is supported by the USIM. |
|
1689 |
|
1690 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1691 KUstCPBCCHInfo=0x40, |
|
1692 /** Indicates that Investigation Scan is supported by the USIM. |
|
1693 |
|
1694 Note:v2.0 of Multimode ETel API do not support this feature. */ |
|
1695 KUstInvestigationScan=0x80 |
|
1696 }; |
|
1697 |
|
1698 /** USIM service table (continued). */ |
|
1699 enum TUSTServices41To48 |
|
1700 { |
|
1701 /** Indicates that MExE is supported by the USIM. |
|
1702 |
|
1703 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1704 KUstMExE=0x01, |
|
1705 /** Indicates that Operator controlled PLMN selector with Access Technology is |
|
1706 supported by the USIM. |
|
1707 |
|
1708 N.B .v2.0 of Multimode ETel API do not support this feature. */ |
|
1709 KUstOperatorPLMNSelector=0x02, |
|
1710 /** Indicates that HPLMN selector with Access Technology is supported by the USIM. |
|
1711 |
|
1712 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1713 KUstHPLMNSelAccessTech=0x04, |
|
1714 /** Indicates that Extension 5 is supported by the USIM. Provides support for extension |
|
1715 data for MSISDN. */ |
|
1716 KUstExt5=0x08, |
|
1717 /** Indicates that PLMN Network Name is supported by the USIM. |
|
1718 |
|
1719 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1720 KUstPLMNNetworkName=0x10, |
|
1721 /** Indicates that Operator PLMN List is supported by the USIM. |
|
1722 |
|
1723 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1724 KUstOperatorPLMNList=0x20, |
|
1725 /** Indicates that Mailbox Dialling Numbers are supported by the USIM. */ |
|
1726 KUstMDN=0x40, |
|
1727 /** Indicates that Message Waiting Indication Status is supported by the USIM. */ |
|
1728 KUstMWISo=0x80 |
|
1729 }; |
|
1730 |
|
1731 /** USIM service table (continued). */ |
|
1732 enum TUSTServices49To56 |
|
1733 { |
|
1734 /** Indicates that Call forwarding indication status is supported by the USIM. |
|
1735 |
|
1736 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1737 KUstCFIS=0x01, |
|
1738 /** Indicates that RPLMN last-used access technology is supported by the USIM (Release 5). |
|
1739 From Release 6 this service is "Reserved and shall be ignored". |
|
1740 |
|
1741 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1742 KUstRPLMN=0x02, |
|
1743 /** Indicates that Service provider display information is supported by the USIM. |
|
1744 |
|
1745 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1746 KUstSPDI=0x04, |
|
1747 KUstMMS=0x08, |
|
1748 KUstExt8=0x10, |
|
1749 KUstCConGPRS=0x20, |
|
1750 KUstMMSUCP=0x40 |
|
1751 }; |
|
1752 |
|
1753 |
|
1754 /** USIM service table (continued). */ |
|
1755 enum TUSTServices57To64 |
|
1756 { |
|
1757 /** Indicates that VGCS Group Identifier List ( VGCS and VGCSS) is supported by the USIM. |
|
1758 |
|
1759 Note: v8.0 of Multimode ETel API does not support this feature. */ |
|
1760 KUstVGCSGroupIdList=0x01, |
|
1761 /** Indicates that VBS Group Identifier List ( VBS and VBSS ) is supported by the USIM. |
|
1762 |
|
1763 Note: v8.0 of Multimode ETel API does not support this feature. */ |
|
1764 KUstVBSGroupIdList=0x02, |
|
1765 /** Indicates that Pseudonym is supported by the USIM.*/ |
|
1766 KUstPseudonym=0x04, |
|
1767 /** Indicates that User controlled PLMN selector for WLAN Access is supported by the USIM. */ |
|
1768 KUstUserPLMNSelectorWLAN=0x08, |
|
1769 /** Indicates that Operator controlled PLMN selector for WLAN Access is supported by the USIM.*/ |
|
1770 KUstOperatorPLMNSelectorWLAN =0x10, |
|
1771 /** Indicates that User controlled WLAN specific identifier list is supported by the USIM.*/ |
|
1772 KUstUserWSIDList=0x20, |
|
1773 /** Indicates that Opertor controlled WLAN specific identifier list is supported by the USIM. */ |
|
1774 KUstOperatorWSIDList=0x40, |
|
1775 /** Indicates that Voice Group Call Service Ciphering Algorithm is supported by the USIM. |
|
1776 |
|
1777 Note: v8.0 of Multimode ETel API does not support this feature. */ |
|
1778 KUstVGCSSecurity=0x80 |
|
1779 }; |
|
1780 |
|
1781 /** USIM service table (continued). */ |
|
1782 enum TUSTServices65To72 |
|
1783 { |
|
1784 /** Indicates that Voice Broadcast Service Ciphering Algorithm is supported by the USIM. |
|
1785 |
|
1786 Note: v8.0 of Multimode ETel API does not support this feature. */ |
|
1787 KUstVBSSecurity=0x01, |
|
1788 /** Indicates that the WLAN Reauthentication Identity is supported by the USIM.*/ |
|
1789 KUstWLANReAuthenId=0x02, |
|
1790 /** Indicates that Multimedia Message Storage is supported by the USIM. |
|
1791 |
|
1792 Note: v8.0 of Multimode ETel API does not support this feature. */ |
|
1793 KUstMMStorage=0x04, |
|
1794 /** Indicates that Generic Bootstrapping Architecture (GBA) is supported by the USIM */ |
|
1795 |
|
1796 KUstGBA=0x08, |
|
1797 /** Indicates that Multimedia Broadcast Multicast Service (MBMS) Security is supported by the USIM.*/ |
|
1798 |
|
1799 KUstMBMSSecurity =0x10, |
|
1800 /** Indicates that USSD Data Dowload feature is supported by the USIM. |
|
1801 |
|
1802 Note: v8.0 of Multimode ETel API does not support this feature. */ |
|
1803 |
|
1804 KUstUSSDDataDownload=0x20, |
|
1805 /** Indicates that Additional TERMINAL PROFILE after UICC activation is supported by the USIM */ |
|
1806 KUstTerminalProfileUICCActivation=0x80 |
|
1807 }; |
|
1808 |
|
1809 /** Enabled Services Table. */ |
|
1810 enum TESTServices1To8 |
|
1811 { |
|
1812 /** Indicates that FDN service is activated. */ |
|
1813 KEstFDN=0x01, |
|
1814 /** Indicates that BDN service is activated. */ |
|
1815 KEstBDN=0x02, |
|
1816 /** Indicates that the APN Control List service is activated. |
|
1817 |
|
1818 Note: v2.0 of Multimode ETel API do not support this feature. */ |
|
1819 KEstACL=0x04 |
|
1820 }; |
|
1821 |
|
1822 /** ISIM Service Table*/ |
|
1823 enum TISTServices1To8 |
|
1824 { |
|
1825 /** Indicates that EFP-CSCF is present in the ISIM. */ |
|
1826 KIstPCSCF=0x01, |
|
1827 /** Indicates that the Generic Bootstrapping Architecture (GBA) is supported by the ISIM. */ |
|
1828 KIstGBA=0x02, |
|
1829 /** Indicates that the ISIM supports operations in HTTP-Digest security context. */ |
|
1830 KIstHTTPDigest=0x04 |
|
1831 }; |
|
1832 |
|
1833 |
|
1834 /** Get Service Table. |
|
1835 |
|
1836 Modes: GSM/WCDMA */ |
|
1837 enum TMobilePhoneServiceTable |
|
1838 { |
|
1839 /** Retrieve SIM service table on SIM (or from GSM application on UICC). |
|
1840 |
|
1841 Modes: GSM/WCDMA */ |
|
1842 ESIMServiceTable, |
|
1843 /** Retrieve USIM service table from active USIM application on UICC. |
|
1844 |
|
1845 Modes: WCDMA */ |
|
1846 EUSIMServiceTable, |
|
1847 /** Retrieve CDMA service table on R-UIM. |
|
1848 |
|
1849 Modes: CDMA |
|
1850 @deprecated 9.5 |
|
1851 */ |
|
1852 ECDMAServiceTable, |
|
1853 /** USIM Enabled Services Table to be used in conjunction with the USIM Service |
|
1854 Table. |
|
1855 |
|
1856 Modes: WCDMA */ |
|
1857 EUSIMEnabledServiceTable, |
|
1858 /** ISIM Service Table (IST) for the currently active ISIM application on the UICC is selected. |
|
1859 |
|
1860 Modes: WCDMA */ |
|
1861 EISIMServiceTable |
|
1862 }; |
|
1863 |
|
1864 |
|
1865 class TMobilePhoneServiceTableV1 : public TMultimodeType |
|
1866 /** Defines contents of the specified Service Table on the ICC. |
|
1867 |
|
1868 @see GetServiceTable() |
|
1869 @publishedPartner |
|
1870 @released |
|
1871 */ |
|
1872 { |
|
1873 public: |
|
1874 IMPORT_C TMobilePhoneServiceTableV1(); |
|
1875 |
|
1876 /** Sum of the TSSTServices1To8 capability constants. */ |
|
1877 TUint8 iServices1To8; |
|
1878 /** Sum of the TSSTServices9To16 capability constants. */ |
|
1879 TUint8 iServices9To16; |
|
1880 /** Sum of the TSSTServices17To24 capability constants. */ |
|
1881 TUint8 iServices17To24; |
|
1882 /** Sum of the TSSTServices25To32 capability constants. */ |
|
1883 TUint8 iServices25To32; |
|
1884 /** Sum of the TSSTServices33To40 capability constants. */ |
|
1885 TUint8 iServices33To40; |
|
1886 /** Sum of the TSSTServices41To48 capability constants. */ |
|
1887 TUint8 iServices41To48; |
|
1888 /** Sum of the TSSTServices49To56 capability constants. */ |
|
1889 TUint8 iServices49To56; |
|
1890 }; |
|
1891 |
|
1892 /** A typedef'd packaged TMobilePhoneServiceTableV1 passing through a generic API |
|
1893 function member. */ |
|
1894 typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg; |
|
1895 |
|
1896 enum { KAIDSize=16 }; |
|
1897 |
|
1898 /** A typedef'd buffer to hold the application identifier (AID) that identifies |
|
1899 the USIM application in a UICC. The AID consists of a Registered application |
|
1900 provider IDentifier (RID) of 5Â bytes and a Proprietary application Identifier |
|
1901 eXtension (PIX) of up to 11 bytes. */ |
|
1902 typedef TBuf8<KAIDSize> TAID; |
|
1903 |
|
1904 class TMobilePhoneServiceTableV2 : public TMobilePhoneServiceTableV1 |
|
1905 /** Defines contents of the specified Service Table on the ICC for the v2.0 version |
|
1906 of the API. |
|
1907 */ |
|
1908 { |
|
1909 public: |
|
1910 IMPORT_C TMobilePhoneServiceTableV2(); |
|
1911 public: |
|
1912 /** The application identifier. */ |
|
1913 TAID iAID; |
|
1914 }; |
|
1915 |
|
1916 /** A typedef'd packaged TMobilePhoneServiceTableV2 passing through a generic API |
|
1917 function member. */ |
|
1918 typedef TPckg<TMobilePhoneServiceTableV2> TMobilePhoneServiceTableV2Pckg; |
|
1919 |
|
1920 class TMobilePhoneServiceTableV8 : public TMobilePhoneServiceTableV2 |
|
1921 /** Defines contents of the specified Service Table on the UICC for the v8.0 version |
|
1922 of the API. |
|
1923 See section 4.2.8 of 3GPP TS 31.102 v6.18.0 of the API. |
|
1924 */ |
|
1925 { |
|
1926 public: |
|
1927 IMPORT_C TMobilePhoneServiceTableV8(); |
|
1928 public: |
|
1929 /** Sum of the TSSTServices57To64 capability constants. */ |
|
1930 TUint8 iServices57To64; |
|
1931 /** Sum of the TSSTServices65To72 capability constants. */ |
|
1932 TUint8 iServices65To72; |
|
1933 }; |
|
1934 |
|
1935 /** A typedef'd packaged TMobilePhoneServiceTableV8 passing through a generic API |
|
1936 function member. */ |
|
1937 typedef TPckg<TMobilePhoneServiceTableV8> TMobilePhoneServiceTableV8Pckg; |
|
1938 |
|
1939 IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const; |
|
1940 |
|
1941 |
|
1942 /***********************************************************************************/ |
|
1943 // |
|
1944 // MobilePhonePower functional unit |
|
1945 // |
|
1946 /***********************************************************************************/ |
|
1947 |
|
1948 /** Phone supported battery information. |
|
1949 |
|
1950 Modes: Common */ |
|
1951 enum TMobilePhoneBatteryCaps |
|
1952 { |
|
1953 /** Phone supports requests to get the current battery information. */ |
|
1954 KCapsGetBatteryInfo=0x00000001, |
|
1955 /** Phone supports requests for notification of change in battery information. */ |
|
1956 KCapsNotifyBatteryInfoChange=0x00000002 |
|
1957 }; |
|
1958 |
|
1959 IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const; |
|
1960 |
|
1961 /** The mobile phone battery status. |
|
1962 |
|
1963 Modes: Common */ |
|
1964 enum TMobilePhoneBatteryStatus |
|
1965 { |
|
1966 /** The TSY can not determine the phone's current power status. */ |
|
1967 EPowerStatusUnknown, |
|
1968 /** The phone is currently powered by a battery. */ |
|
1969 EPoweredByBattery, |
|
1970 /** A battery is connected, but the phone is externally powered. */ |
|
1971 EBatteryConnectedButExternallyPowered, |
|
1972 /** No battery is connected. */ |
|
1973 ENoBatteryConnected, |
|
1974 /** Power fault. */ |
|
1975 EPowerFault |
|
1976 }; |
|
1977 |
|
1978 class TMobilePhoneBatteryInfoV1 : public TMultimodeType |
|
1979 /** Defines contents of the battery status of the phone. |
|
1980 |
|
1981 @see GetBatteryInfo() |
|
1982 @see NotifyBatteryInfoChange() |
|
1983 */ |
|
1984 { |
|
1985 public: |
|
1986 IMPORT_C TMobilePhoneBatteryInfoV1(); |
|
1987 public: |
|
1988 /** The power and battery status. |
|
1989 |
|
1990 @see TMobilePhoneBatteryStatus */ |
|
1991 TMobilePhoneBatteryStatus iStatus; |
|
1992 /** The percentage battery charge level. */ |
|
1993 TUint iChargeLevel; |
|
1994 }; |
|
1995 |
|
1996 IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const; |
|
1997 IMPORT_C void NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const; |
|
1998 |
|
1999 |
|
2000 /***********************************************************************************/ |
|
2001 // |
|
2002 // MobilePhoneSignal functional unit |
|
2003 // |
|
2004 /***********************************************************************************/ |
|
2005 |
|
2006 /** The mobile phone signal strength capabilities. |
|
2007 |
|
2008 Modes: Common */ |
|
2009 enum TMobilePhoneSignalCaps |
|
2010 { |
|
2011 /** Phone supports requests to get the current signal strength. */ |
|
2012 KCapsGetSignalStrength=0x00000001, |
|
2013 /** Phone supports requests for notification of change in signal strength. */ |
|
2014 KCapsNotifySignalStrengthChange=0x00000002 |
|
2015 }; |
|
2016 |
|
2017 IMPORT_C TInt GetSignalCaps(TUint32& aCaps) const; |
|
2018 IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const; |
|
2019 IMPORT_C void NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const; |
|
2020 |
|
2021 /***********************************************************************************/ |
|
2022 // |
|
2023 // MobilePhoneIndicator functional unit |
|
2024 // |
|
2025 /***********************************************************************************/ |
|
2026 |
|
2027 /** The mobile phone indicator capabilities supported. |
|
2028 |
|
2029 Modes: Common */ |
|
2030 enum TMobilePhoneIndicatorCaps |
|
2031 { |
|
2032 /** Phone supports requests to get the current value of all supported indicators. */ |
|
2033 KCapsGetIndicator=0x00000001, |
|
2034 /** Phone supports requests for notification of change in the supported indicators. */ |
|
2035 KCapsNotifyIndicatorChange=0x00000002 |
|
2036 }; |
|
2037 |
|
2038 /** The mobile phone indicators. |
|
2039 |
|
2040 Modes Common */ |
|
2041 enum TMobilePhoneIndicators |
|
2042 { |
|
2043 /** If bit-flag is set to '1' indicates that the battery charger is connected to |
|
2044 the phone. If bit-flag is set to '0' indicates that the battery charger is |
|
2045 disconnected. */ |
|
2046 KIndChargerConnected=0x00000001, |
|
2047 /** If bit-flag is set to '1' indicates that network service is available. If bit-flag |
|
2048 is set to '0' indicates that network service is unavailable. */ |
|
2049 KIndNetworkAvailable=0x00000002, |
|
2050 /** If bit-flag is set to '1' indicates that a call is in progress. If set to '0' |
|
2051 indicates that a call is not in progress. */ |
|
2052 KIndCallInProgress=0x00000004 |
|
2053 }; |
|
2054 |
|
2055 IMPORT_C TInt GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const; |
|
2056 IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const; |
|
2057 IMPORT_C void NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const; |
|
2058 |
|
2059 |
|
2060 /***********************************************************************************/ |
|
2061 // |
|
2062 // MobilePhoneIdentity functional unit |
|
2063 // |
|
2064 /***********************************************************************************/ |
|
2065 |
|
2066 /** Defines Identity Capabilities. |
|
2067 |
|
2068 Modes: Common */ |
|
2069 enum TMobilePhoneIdentityCaps |
|
2070 { |
|
2071 /** Phone can return the identity of its manufacturer. */ |
|
2072 KCapsGetManufacturer=0x00000001, |
|
2073 /** Phone can return the identity of its model. */ |
|
2074 KCapsGetModel=0x00000002, |
|
2075 /** Phone can return the identity of its revision. */ |
|
2076 KCapsGetRevision=0x00000004, |
|
2077 /** Phone can return the identity of its serial number. */ |
|
2078 KCapsGetSerialNumber=0x00000008, |
|
2079 /** Phone can return the identity of its subscriber. */ |
|
2080 KCapsGetSubscriberId=0x00000010 |
|
2081 }; |
|
2082 |
|
2083 IMPORT_C TInt GetIdentityCaps(TUint32& aCaps) const; |
|
2084 |
|
2085 enum { KPhoneManufacturerIdSize=50 }; |
|
2086 enum { KPhoneModelIdSize=50 }; |
|
2087 enum { KPhoneRevisionIdSize=50 }; |
|
2088 enum { KPhoneSerialNumberSize=50 }; |
|
2089 |
|
2090 class TMobilePhoneIdentityV1 : public TMultimodeType |
|
2091 /** Defines the mobile phone identity. |
|
2092 |
|
2093 @see GetPhoneId() */ |
|
2094 { |
|
2095 public: |
|
2096 IMPORT_C TMobilePhoneIdentityV1(); |
|
2097 public: |
|
2098 /** Phone manufacturer identification, in character string format. */ |
|
2099 TBuf<KPhoneManufacturerIdSize> iManufacturer; |
|
2100 /** Phone model identification, in character string format. */ |
|
2101 TBuf<KPhoneModelIdSize> iModel; |
|
2102 /** Phone revision identification, in character string format. */ |
|
2103 TBuf<KPhoneRevisionIdSize> iRevision; |
|
2104 /** Phone serial number (IMEI or ESN), in character string format. */ |
|
2105 TBuf<KPhoneSerialNumberSize> iSerialNumber; |
|
2106 }; |
|
2107 |
|
2108 IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const; |
|
2109 |
|
2110 enum { KIMSISize = 15 }; |
|
2111 |
|
2112 /** A typedef'd buffer to hold the mobile phone subscriber id. */ |
|
2113 typedef TBuf<KIMSISize> TMobilePhoneSubscriberId; |
|
2114 |
|
2115 IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const; |
|
2116 |
|
2117 /***********************************************************************************/ |
|
2118 // |
|
2119 // MobilePhoneDTMF functional unit |
|
2120 // |
|
2121 /***********************************************************************************/ |
|
2122 |
|
2123 /** DTMF Capabilities. |
|
2124 |
|
2125 Modes: Common */ |
|
2126 enum TMobilePhoneDTMFCaps |
|
2127 { |
|
2128 /** Capability to send a string of DTMF tones, containing one or more tone(s). */ |
|
2129 KCapsSendDTMFString=0x00000001, |
|
2130 /** Capability to send one DTMF tone, using start and stop DTMF tone function member. */ |
|
2131 KCapsSendDTMFSingleTone=0x00000002, |
|
2132 }; |
|
2133 |
|
2134 /** |
|
2135 DTMF tone operation event. |
|
2136 */ |
|
2137 enum TMobilePhoneDTMFEvent |
|
2138 { |
|
2139 /** |
|
2140 Start sending of a Dtmf tone operation has been acknowledged from the MSC. |
|
2141 */ |
|
2142 EStartDtmfTone, |
|
2143 /** |
|
2144 Stop sending of a Dtmf tone operation has been acknowledged from the MSC. |
|
2145 */ |
|
2146 EStopDtmfTone, |
|
2147 }; |
|
2148 |
|
2149 |
|
2150 IMPORT_C TInt GetDTMFCaps(TUint32& aCaps) const; |
|
2151 IMPORT_C void NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
2152 |
|
2153 IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const; |
|
2154 IMPORT_C void ReadDTMFTones(TRequestStatus& aReqStatus, TDes& aTones) const; |
|
2155 IMPORT_C TInt StartDTMFTone(TChar aTone) const; |
|
2156 IMPORT_C TInt StopDTMFTone() const; |
|
2157 |
|
2158 IMPORT_C void NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const; |
|
2159 IMPORT_C TInt ContinueDTMFStringSending(TBool aContinue) const; |
|
2160 IMPORT_C void NotifyDTMFEvent(TRequestStatus& aReqStatus, TMobilePhoneDTMFEvent& aEvent) const; |
|
2161 |
|
2162 /***********************************************************************************/ |
|
2163 // |
|
2164 // MobilePhoneNetwork functional unit |
|
2165 // |
|
2166 /***********************************************************************************/ |
|
2167 |
|
2168 /** Defines Network Capabilities. |
|
2169 |
|
2170 Modes: Common */ |
|
2171 enum TMobilePhoneNetworkCaps |
|
2172 { |
|
2173 /** The phone supports retrieval of current registration status. */ |
|
2174 KCapsGetRegistrationStatus=0x00000001, |
|
2175 /** The phone supports notifications of change in registration status. */ |
|
2176 KCapsNotifyRegistrationStatus=0x00000002, |
|
2177 /** The phone supports retrieval of current mode. */ |
|
2178 KCapsGetCurrentMode=0x00000004, |
|
2179 /** The phone supports notification of change in mode. */ |
|
2180 KCapsNotifyMode=0x00000008, |
|
2181 /** The phone supports retrieval of current network information. */ |
|
2182 KCapsGetCurrentNetwork=0x00000010, |
|
2183 /** The phone supports notification of change of current network. */ |
|
2184 KCapsNotifyCurrentNetwork=0x00000020, |
|
2185 /** The phone supports retrieval of home network information. */ |
|
2186 KCapsGetHomeNetwork=0x00000040, |
|
2187 /** The phone supports retrieval of a list of detected networks. */ |
|
2188 KCapsGetDetectedNetworks=0x00000080, |
|
2189 /** The phone supports manual network selection mode. */ |
|
2190 KCapsManualNetworkSelection=0x00000100, |
|
2191 /** The phone supports retrieval of time and date information (NITZ) received from |
|
2192 the network. */ |
|
2193 KCapsGetNITZInfo=0x00000200, |
|
2194 /** The phone supports notification of new updates of time & date information (NITZ) |
|
2195 received from the network. */ |
|
2196 KCapsNotifyNITZInfo=0x00000400 |
|
2197 }; |
|
2198 |
|
2199 IMPORT_C TInt GetNetworkCaps(TUint32& aCaps) const; |
|
2200 |
|
2201 /** Defines Current Network Modes. |
|
2202 |
|
2203 Modes: Common */ |
|
2204 enum TMobilePhoneNetworkMode |
|
2205 { |
|
2206 /** Network mode is unknown. |
|
2207 |
|
2208 Modes: Common */ |
|
2209 ENetworkModeUnknown, |
|
2210 /** ME is not registered. |
|
2211 |
|
2212 Modes: Common */ |
|
2213 ENetworkModeUnregistered, |
|
2214 /** GSM/GPRS or DCS1800 network. */ |
|
2215 ENetworkModeGsm, |
|
2216 /** AMPS network. |
|
2217 |
|
2218 Modes: CDMA |
|
2219 @deprecated 9.5 |
|
2220 */ |
|
2221 ENetworkModeAmps, |
|
2222 /** CDMA (IS-95) network. |
|
2223 |
|
2224 Modes: CDMA |
|
2225 @deprecated 9.5 |
|
2226 */ |
|
2227 ENetworkModeCdma95, |
|
2228 /** CDMA (cdma2000) network. |
|
2229 |
|
2230 Modes: CDMA |
|
2231 @deprecated 9.5 */ |
|
2232 ENetworkModeCdma2000, |
|
2233 /** WCDMA (UTRA Frequency Division Duplex (FDD)) network. |
|
2234 |
|
2235 Modes: WCDMA */ |
|
2236 ENetworkModeWcdma, |
|
2237 /** TD-CDMA (UTRA Time Division Duplex (TDD)) network. |
|
2238 |
|
2239 Modes: WCDMA */ |
|
2240 ENetworkModeTdcdma |
|
2241 }; |
|
2242 |
|
2243 IMPORT_C TInt GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const; |
|
2244 IMPORT_C void NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const; |
|
2245 |
|
2246 /** Phone network status. |
|
2247 |
|
2248 Modes: Common */ |
|
2249 enum TMobilePhoneNetworkStatus |
|
2250 { |
|
2251 /** Status is unknown. */ |
|
2252 ENetworkStatusUnknown, |
|
2253 /** A network that the ME is allowed to register to. */ |
|
2254 ENetworkStatusAvailable, |
|
2255 /** The currently registered network. */ |
|
2256 ENetworkStatusCurrent, |
|
2257 /** A network that the ME is not allowed to register to. */ |
|
2258 ENetworkStatusForbidden |
|
2259 }; |
|
2260 |
|
2261 /** Mobile phone network band information. |
|
2262 |
|
2263 Modes: CDMA |
|
2264 |
|
2265 @deprecated 9.5 |
|
2266 |
|
2267 */ |
|
2268 enum TMobilePhoneNetworkBandInfo |
|
2269 { |
|
2270 /** The current band and band class is unknown. */ |
|
2271 EBandUnknown, |
|
2272 /** The network operates at 800MHz on Band A. */ |
|
2273 E800BandA, |
|
2274 /** The network operates at 800MHz on Band B. */ |
|
2275 E800BandB, |
|
2276 /** The network operates at 800MHz on Band C. */ |
|
2277 E800BandC, |
|
2278 /** The network operates at 1900MHz on Band A. */ |
|
2279 E1900BandA, |
|
2280 /** The network operates at 1900MHz on Band B. */ |
|
2281 E1900BandB, |
|
2282 /** The network operates at 1900MHz on Band C. */ |
|
2283 E1900BandC, |
|
2284 /** The network operates at 1900MHz on Band D. */ |
|
2285 E1900BandD, |
|
2286 /** The network operates at 1900MHz on Band E. */ |
|
2287 E1900BandE, |
|
2288 /** The network operates at 1900MHz on Band F. */ |
|
2289 E1900BandF |
|
2290 }; |
|
2291 |
|
2292 /** A typedef'd buffer to hold the network display tag */ |
|
2293 typedef TBuf<30> TMobilePhoneNetworkDisplayTag; |
|
2294 /** A typedef'd buffer to hold the network long name. */ |
|
2295 typedef TBuf<20> TMobilePhoneNetworkLongName; |
|
2296 /** A typedef'd buffer to hold the network short name. */ |
|
2297 typedef TBuf<10> TMobilePhoneNetworkShortName; |
|
2298 |
|
2299 /** A typedef'd buffer to hold the network country code. */ |
|
2300 typedef TBuf<4> TMobilePhoneNetworkCountryCode; // MCC in GSM and CDMA |
|
2301 /** A typedef'd buffer to hold the network identity. */ |
|
2302 typedef TBuf<8> TMobilePhoneNetworkIdentity; // MNC in GSM and SID or NID in CDMA |
|
2303 |
|
2304 |
|
2305 |
|
2306 class TMobilePhoneNetworkInfoV1 : public TMultimodeType |
|
2307 /** Defines information related to a mobile phone network. |
|
2308 |
|
2309 @see GetCurrentNetwork() |
|
2310 @see NotifyCurrentNetworkChange() |
|
2311 @see GetHomeNetwork() |
|
2312 @publishedPartner |
|
2313 @released */ |
|
2314 { |
|
2315 public: |
|
2316 IMPORT_C TMobilePhoneNetworkInfoV1(); |
|
2317 public: |
|
2318 void InternalizeL(RReadStream& aStream); |
|
2319 void ExternalizeL(RWriteStream& aStream) const; |
|
2320 public: |
|
2321 /** Mode of the network. |
|
2322 |
|
2323 Modes: Common |
|
2324 |
|
2325 @see TMobilePhoneNetworkMode */ |
|
2326 TMobilePhoneNetworkMode iMode; |
|
2327 /** Status of the network |
|
2328 |
|
2329 Modes: Common |
|
2330 |
|
2331 @see TMobilePhoneNetworkStatus */ |
|
2332 TMobilePhoneNetworkStatus iStatus; |
|
2333 /** The band and band class of the CDMA network operator. |
|
2334 |
|
2335 Modes: CDMA |
|
2336 |
|
2337 @see TMobilePhoneNetworkBandInfo |
|
2338 |
|
2339 @deprecated 9.5 */ |
|
2340 TMobilePhoneNetworkBandInfo iBandInfo; |
|
2341 /** The MCC of the network. |
|
2342 |
|
2343 Modes: Common |
|
2344 |
|
2345 @see TMobilePhoneNetworkCountryCode */ |
|
2346 TMobilePhoneNetworkCountryCode iCountryCode; |
|
2347 |
|
2348 /** The system identity (SID) of the CDMA network. |
|
2349 |
|
2350 Modes: CDMA |
|
2351 |
|
2352 @see TMobilePhoneNetworkIdentity |
|
2353 @deprecated 9.5 |
|
2354 */ |
|
2355 TMobilePhoneNetworkIdentity iCdmaSID; |
|
2356 /** The system identity (SID) of the AMPS network. |
|
2357 |
|
2358 Modes: CDMA |
|
2359 |
|
2360 @see TMobilePhoneNetworkIdentity |
|
2361 TMobilePhoneNetworkIdentity |
|
2362 @deprecated 9.5 |
|
2363 */ |
|
2364 TMobilePhoneNetworkIdentity iAnalogSID; |
|
2365 /** The network identity (NID in CDMA and MNC in GSM). |
|
2366 |
|
2367 Modes: Common |
|
2368 |
|
2369 @see TMobilePhoneNetworkIdentity */ |
|
2370 TMobilePhoneNetworkIdentity iNetworkId; |
|
2371 /** The alpha-tag displayed when this is the serving network. |
|
2372 |
|
2373 Modes: Common |
|
2374 |
|
2375 @see TMobilePhoneNetworkDisplayTag */ |
|
2376 TMobilePhoneNetworkDisplayTag iDisplayTag; |
|
2377 /** The short name (up to 10 characters) of the network operator. |
|
2378 |
|
2379 Modes: GSM/WCDMA |
|
2380 |
|
2381 @see TMobilePhoneNetworkShortName */ |
|
2382 TMobilePhoneNetworkShortName iShortName; |
|
2383 /** The long name (up to 20 characters) of the network operator. |
|
2384 |
|
2385 Modes: GSM/WCDMA |
|
2386 |
|
2387 @see TMobilePhoneNetworkLongName */ |
|
2388 TMobilePhoneNetworkLongName iLongName; |
|
2389 }; |
|
2390 |
|
2391 /** A typedef'd packaged TMobilePhoneNetworkInfoV1 for passing through a generic |
|
2392 API function member. */ |
|
2393 typedef TPckg<TMobilePhoneNetworkInfoV1> TMobilePhoneNetworkInfoV1Pckg; |
|
2394 |
|
2395 /** The access technology that the network is based on. |
|
2396 |
|
2397 Modes: Common */ |
|
2398 enum TMobilePhoneNetworkAccess |
|
2399 { |
|
2400 /** This is used when there is no network activity and therefore no RAT active. |
|
2401 |
|
2402 Modes: Common */ |
|
2403 ENetworkAccessUnknown, |
|
2404 /** The access technology is GSM. |
|
2405 |
|
2406 Modes: GSM */ |
|
2407 ENetworkAccessGsm, |
|
2408 /** The access technology is GSM COMPACT. However GSM COMPACT systems which use |
|
2409 GSM frequency bands but with the CBPCCH broadcast channel are considered as |
|
2410 a separate access technology from GSM. |
|
2411 |
|
2412 Modes: GSM */ |
|
2413 ENetworkAccessGsmCompact, |
|
2414 /** The access technology is UTRAN (UMTS Network). |
|
2415 |
|
2416 Modes: WCDMA */ |
|
2417 ENetworkAccessUtran, |
|
2418 /** Analogue Cellular |
|
2419 |
|
2420 Modes: CDMA |
|
2421 @deprecated 9.5 |
|
2422 */ |
|
2423 ENetworkAccessAmpsCellular, |
|
2424 /** CDMA Cellular - Standard channels |
|
2425 |
|
2426 Modes: CDMA |
|
2427 @deprecated 9.5 |
|
2428 */ |
|
2429 ENetworkAccessCdmaCellularStdChannel, |
|
2430 /** CDMA Cellular - Custom channels |
|
2431 |
|
2432 Modes: CDMA |
|
2433 @deprecated 9.5 |
|
2434 */ |
|
2435 ENetworkAccessCdmaCellularCustomChannel, |
|
2436 /** CDMA/Analogue Cellular (cdma first then analogue) |
|
2437 |
|
2438 Modes: CDMA |
|
2439 @deprecated 9.5 |
|
2440 */ |
|
2441 ENetworkAccessCdmaAmpsCellular, |
|
2442 /** CDMA PCS - Using blocks |
|
2443 |
|
2444 Modes: CDMA |
|
2445 @deprecated 9.5 |
|
2446 */ |
|
2447 ENetworkAccessCdmaPcsUsingBlocks, |
|
2448 /** CDMA PCS - Using channels |
|
2449 |
|
2450 Modes: CDMA |
|
2451 @deprecated 9.5 |
|
2452 */ |
|
2453 ENetworkAccessCdmaPcsUsingNetworkAccessChannels, |
|
2454 /** CDMA JTACS - Standard channels |
|
2455 |
|
2456 Modes: CDMA |
|
2457 @deprecated 9.5 |
|
2458 */ |
|
2459 ENetworkAccessJTacsStdChannels, |
|
2460 /** CDMA JTACS - Custom channels |
|
2461 |
|
2462 Modes: CDMA |
|
2463 @deprecated 9.5 |
|
2464 */ |
|
2465 ENetworkAccessJTacsCustomChannels, |
|
2466 /** CDMA 2GHz band - Using channels |
|
2467 |
|
2468 Modes: CDMA |
|
2469 @deprecated 9.5 |
|
2470 */ |
|
2471 ENetworkAccess2GHzBandUsingChannels, |
|
2472 /** Generic Acquisition Record for IS-2000 and IS-95 |
|
2473 |
|
2474 Modes: CDMA |
|
2475 @deprecated 9.5 |
|
2476 */ |
|
2477 ENetworkAccessGenericAcqRecord2000and95, |
|
2478 /** Generic Acquisition Record for IS-856 |
|
2479 |
|
2480 Modes: CDMA |
|
2481 @deprecated 9.5 |
|
2482 */ |
|
2483 ENetworkAccessGenericAcqRecord856, |
|
2484 /** The access technology is GSM and UTRAN (UMTS Network). |
|
2485 |
|
2486 Modes: GSM and WCDMA */ |
|
2487 ENetworkAccessGsmAndUtran |
|
2488 }; |
|
2489 |
|
2490 |
|
2491 |
|
2492 class TMobilePhoneNetworkInfoV2 : public TMobilePhoneNetworkInfoV1 |
|
2493 /** The access technology that the network is based on in version v2.0 of the API. |
|
2494 @publishedPartner |
|
2495 @released*/ |
|
2496 { |
|
2497 public: |
|
2498 /** Default constructor. Network access is set to ENetworkAccessUnknown and iExtensionId |
|
2499 is set to KETelExtMultimodeV2. */ |
|
2500 IMPORT_C TMobilePhoneNetworkInfoV2(); |
|
2501 |
|
2502 public: |
|
2503 void InternalizeL(RReadStream& aStream); |
|
2504 void ExternalizeL(RWriteStream& aStream) const; |
|
2505 |
|
2506 public: |
|
2507 /** The type of network access. |
|
2508 |
|
2509 @see TMobilePhoneNetworkAccess */ |
|
2510 TMobilePhoneNetworkAccess iAccess; |
|
2511 }; |
|
2512 |
|
2513 /** A typedef'd packaged TMobilePhoneNetworkInfoV2 for passing through a generic |
|
2514 API function member. */ |
|
2515 typedef TPckg<TMobilePhoneNetworkInfoV2> TMobilePhoneNetworkInfoV2Pckg; |
|
2516 |
|
2517 |
|
2518 class TMobilePhoneNetworkInfoV5 : public TMobilePhoneNetworkInfoV2 |
|
2519 /** The access technology that the network is based on in version v2.0 of the API. |
|
2520 @publishedPartner |
|
2521 @released*/ |
|
2522 { |
|
2523 public: |
|
2524 IMPORT_C TMobilePhoneNetworkInfoV5(); |
|
2525 |
|
2526 public: |
|
2527 void InternalizeL(RReadStream& aStream); |
|
2528 void ExternalizeL(RWriteStream& aStream) const; |
|
2529 |
|
2530 public: |
|
2531 /** HSDPA availability indicator. This information is for display |
|
2532 indication only and shall not be used for any other purpose. |
|
2533 |
|
2534 Modes: WCDMA */ |
|
2535 TBool iHsdpaAvailableIndicator; |
|
2536 |
|
2537 /** EGPRS availability indicator. This information is for display |
|
2538 indication only and shall not be used for any other purpose. |
|
2539 |
|
2540 Modes: GPRS */ |
|
2541 TBool iEgprsAvailableIndicator; |
|
2542 }; |
|
2543 |
|
2544 /** A typedef'd packaged TMobilePhoneNetworkInfoV5 for passing through a generic |
|
2545 API function member. */ |
|
2546 typedef TPckg<TMobilePhoneNetworkInfoV5> TMobilePhoneNetworkInfoV5Pckg; |
|
2547 |
|
2548 |
|
2549 class TMobilePhoneNetworkInfoV8 : public TMobilePhoneNetworkInfoV5 |
|
2550 /** The access technology that the network is based on in version v8.0 of the API. |
|
2551 @publishedPartner |
|
2552 @released*/ |
|
2553 { |
|
2554 public: |
|
2555 IMPORT_C TMobilePhoneNetworkInfoV8(); |
|
2556 |
|
2557 public: |
|
2558 void InternalizeL(RReadStream& aStream); |
|
2559 void ExternalizeL(RWriteStream& aStream) const; |
|
2560 |
|
2561 public: |
|
2562 /** HSUPA availability indicator. This information is for display |
|
2563 indication only and shall not be used for any other purpose. |
|
2564 |
|
2565 Modes: WCDMA */ |
|
2566 TBool iHsupaAvailableIndicator; |
|
2567 |
|
2568 }; |
|
2569 |
|
2570 /** A typedef'd packaged TMobilePhoneNetworkInfoV8 for passing through a generic |
|
2571 API function member. */ |
|
2572 typedef TPckg<TMobilePhoneNetworkInfoV8> TMobilePhoneNetworkInfoV8Pckg; |
|
2573 |
|
2574 class TMobilePhoneLocationAreaV1 : public TMultimodeType |
|
2575 /** Defines the mobile phone location area. |
|
2576 |
|
2577 @see GetCurrentNetwork() |
|
2578 @see NotifyCurrentNetworkChange() */ |
|
2579 { |
|
2580 public: |
|
2581 /** Constructor. */ |
|
2582 IMPORT_C TMobilePhoneLocationAreaV1(); |
|
2583 public: |
|
2584 /** Boolean indicating whether the location area is known. |
|
2585 |
|
2586 Modes: Common */ |
|
2587 TBool iAreaKnown; |
|
2588 /** Location area code. |
|
2589 |
|
2590 Modes: GSM/WCDMA */ |
|
2591 TUint iLocationAreaCode; |
|
2592 /** Cell identity code. |
|
2593 |
|
2594 Modes: GSM/WCDMA */ |
|
2595 TUint iCellId; |
|
2596 }; |
|
2597 |
|
2598 IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const; |
|
2599 IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const; |
|
2600 IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const; |
|
2601 IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const; |
|
2602 |
|
2603 IMPORT_C void GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const; |
|
2604 IMPORT_C void GetHomeNetworkSearchPeriod(TRequestStatus& aReqStatus, TInt& aSearchIntv) const; |
|
2605 IMPORT_C void GetLastUsedAccessTechnology(TRequestStatus& aReqStatus, TMobilePhoneNetworkAccess& aAccessTech) const; |
|
2606 |
|
2607 /** Cell mode */ |
|
2608 enum TCellMode |
|
2609 { |
|
2610 /** Unknown mode */ |
|
2611 ECellModeUnknown, |
|
2612 /** GSM mode */ |
|
2613 ECellModeGsm, |
|
2614 /** WCDMA mode */ |
|
2615 ECellModeWcdma |
|
2616 }; |
|
2617 |
|
2618 /** Cell Information Status |
|
2619 @publishedPartner |
|
2620 @released */ |
|
2621 enum TCellInfoStatus |
|
2622 { |
|
2623 /** Unknown status: not known if Cell ID is current or not */ |
|
2624 ECellInfoStatusUnknown, |
|
2625 /** Not current status: the Cell ID value is the ID of the last known cell */ |
|
2626 ECellInfoStatusNotCurrent, |
|
2627 /** Current Status: the Cell ID value is the ID of the present cell */ |
|
2628 ECellInfoStatusCurrent |
|
2629 }; |
|
2630 |
|
2631 /** Defined type to represent the Timing Advance. See 3GPP TS 04.18, section 10.5.2.40. |
|
2632 * Valid values for the Timing Advance are 0-255. A negative value indicates that |
|
2633 * no Timing Advance information is available. */ |
|
2634 typedef TInt16 TGsmTimingAdvance; |
|
2635 |
|
2636 /** Encapsulates cell specific information. |
|
2637 @publishedPartner |
|
2638 @released */ |
|
2639 class TMobilePhoneCellInfoV9 : public TMultimodeType |
|
2640 { |
|
2641 public: |
|
2642 IMPORT_C TMobilePhoneCellInfoV9(); |
|
2643 |
|
2644 public: |
|
2645 /** The cell mode |
|
2646 @see TCellMode */ |
|
2647 TCellMode iMode; |
|
2648 /** The current cell ID */ |
|
2649 TUint iCellId; |
|
2650 /** The Timing Advance. Relevant only if iMode is ECellModeGsm. |
|
2651 @see TGsmTimingAdvance */ |
|
2652 TGsmTimingAdvance iTimingAdvance; |
|
2653 /** The status of the cell information. Indicates whether the Cell ID is |
|
2654 * up-to-date. |
|
2655 @see TCellInfoStatus */ |
|
2656 TCellInfoStatus iStatus; |
|
2657 }; |
|
2658 |
|
2659 /** Packaged TMobilePhoneCellInfoV9 data structure. |
|
2660 @see TMobilePhoneCellInfoV9 */ |
|
2661 typedef TPckg<TMobilePhoneCellInfoV9> TMobilePhoneCellInfoV9Pckg; |
|
2662 |
|
2663 IMPORT_C void GetCellInfo(TRequestStatus& aReqStatus, TDes8& aCellInfo) const; |
|
2664 IMPORT_C void NotifyCellInfoChange(TRequestStatus& aReqStatus, TDes8& aCellInfo) const; |
|
2665 |
|
2666 |
|
2667 /** The registration status of the mobile phone. |
|
2668 |
|
2669 Modes: WCDMA */ |
|
2670 enum TMobilePhoneRegistrationStatus |
|
2671 { |
|
2672 /** Registration status is unknown. */ |
|
2673 ERegistrationUnknown, |
|
2674 /** Not registered. The ME can not detect any other networks and is not currently |
|
2675 searching a new operator to register to. */ |
|
2676 ENotRegisteredNoService, |
|
2677 /** Not registered. The ME can detect other networks on which it is possible to |
|
2678 make emergency calls only. */ |
|
2679 ENotRegisteredEmergencyOnly, |
|
2680 /** Not registered, but the ME is currently searching a new operator to register to. */ |
|
2681 ENotRegisteredSearching, |
|
2682 /** Registered, network busy. |
|
2683 |
|
2684 Modes: WCDMA */ |
|
2685 ERegisteredBusy, |
|
2686 /** Registered on home network. */ |
|
2687 ERegisteredOnHomeNetwork, |
|
2688 /** Registration denied. */ |
|
2689 ERegistrationDenied, |
|
2690 /** Registered, roaming. */ |
|
2691 ERegisteredRoaming |
|
2692 }; |
|
2693 |
|
2694 IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const; |
|
2695 IMPORT_C void NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const; |
|
2696 |
|
2697 /** The network selection function member. |
|
2698 |
|
2699 Modes: Common */ |
|
2700 enum TMobilePhoneSelectionMethod |
|
2701 { |
|
2702 /** Network selection function member is unknown. |
|
2703 |
|
2704 Modes: Common */ |
|
2705 ENetworkSelectionUnknown, |
|
2706 /** Network is selected automatically by phone. |
|
2707 |
|
2708 Modes: Common */ |
|
2709 ENetworkSelectionAutomatic, |
|
2710 /** Network is selected manually by user. |
|
2711 |
|
2712 Modes: GSM/WCDMA */ |
|
2713 ENetworkSelectionManual, |
|
2714 /** Network selection is restricted to home network only |
|
2715 |
|
2716 Modes: CDMA |
|
2717 @deprecated 9.5 |
|
2718 */ |
|
2719 ENetworkSelectionHomeOnly |
|
2720 }; |
|
2721 |
|
2722 /** The mobile phone band class preferences. |
|
2723 |
|
2724 Modes: CDMA |
|
2725 @deprecated 9.5 |
|
2726 */ |
|
2727 enum TMobilePhoneBandClass |
|
2728 { |
|
2729 /** Band class selection is unknown. */ |
|
2730 ENetworkBandClassUnknown, |
|
2731 /** Phone will select band class A only. */ |
|
2732 ENetworkBandClassAOnly, |
|
2733 /** Phone will select band class B only. */ |
|
2734 ENetworkBandClassBOnly, |
|
2735 /** Phone will prefer to select band class A. */ |
|
2736 ENetworkBandClassAPreferred, |
|
2737 /** Phone will prefer to select band class B. */ |
|
2738 ENetworkBandClassBPreferred |
|
2739 }; |
|
2740 |
|
2741 /** The mobile phone network operation mode preferences. |
|
2742 |
|
2743 Modes: CDMA |
|
2744 @deprecated 9.5 */ |
|
2745 enum TMobilePhoneOperation |
|
2746 { |
|
2747 /** Network operation mode is unknown. */ |
|
2748 ENetworkOperationUnknown, |
|
2749 /** Phone will select analog operation only. */ |
|
2750 ENetworkOperationAnalogOnly, |
|
2751 /** Phone will select digital/CDMA operation only. */ |
|
2752 ENetworkOperationDigitalOnly, |
|
2753 /** Phone will prefer to select analog operation. */ |
|
2754 ENetworkOperationAnalogPreferred, |
|
2755 /** Phone will prefer to select digital/CDMA operation. */ |
|
2756 ENetworkOperationDigitalPreferred |
|
2757 }; |
|
2758 |
|
2759 class TMobilePhoneNetworkSelectionV1 : public TMultimodeType |
|
2760 /** The mobile phone network selection preferences. |
|
2761 |
|
2762 @see GetNetworkSelectionSetting() |
|
2763 @see SetNetworkSelectionSetting() |
|
2764 @see NotifyNetworkSelectionSettingChange() |
|
2765 @publishedPartner |
|
2766 @released */ |
|
2767 { |
|
2768 public: |
|
2769 IMPORT_C TMobilePhoneNetworkSelectionV1(); |
|
2770 public: |
|
2771 /** Phone's network selection function member. |
|
2772 |
|
2773 Modes: Common |
|
2774 |
|
2775 @see TMobilePhoneSelectionMethod */ |
|
2776 TMobilePhoneSelectionMethod iMethod; |
|
2777 /** Phone's band class setting. |
|
2778 |
|
2779 Modes: CDMA |
|
2780 |
|
2781 @see TMobilePhoneBandClass |
|
2782 @deprecated 9.5 |
|
2783 */ |
|
2784 TMobilePhoneBandClass iBandClass; |
|
2785 /** Phone's CDMA operation mode. |
|
2786 |
|
2787 Modes: CDMA |
|
2788 |
|
2789 @see TMobilePhoneOperation |
|
2790 @deprecated 9.5 |
|
2791 */ |
|
2792 TMobilePhoneOperation iOperationMode; |
|
2793 }; |
|
2794 |
|
2795 /** A typedef'd packaged TMobilePhoneNetworkSelectionV1 for passing through a generic |
|
2796 API function member. */ |
|
2797 typedef TPckg<TMobilePhoneNetworkSelectionV1> TMobilePhoneNetworkSelectionV1Pckg; |
|
2798 |
|
2799 IMPORT_C TInt GetNetworkSelectionSetting(TDes8& aSetting) const; |
|
2800 IMPORT_C void SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const; |
|
2801 IMPORT_C void NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const; |
|
2802 |
|
2803 struct TMobilePhoneNetworkManualSelection |
|
2804 /** The mobile phone manual network selection parameters. |
|
2805 |
|
2806 Modes: GSM/WCDMA |
|
2807 |
|
2808 @see TMobilePhoneNetworkCountryCode */ |
|
2809 { |
|
2810 /** The MCC of the network |
|
2811 |
|
2812 @see TMobilePhoneNetworkCountryCode */ |
|
2813 TMobilePhoneNetworkCountryCode iCountry; |
|
2814 /** The MNC of the network |
|
2815 |
|
2816 @see TMobilePhoneNetworkIdentity */ |
|
2817 TMobilePhoneNetworkIdentity iNetwork; |
|
2818 }; |
|
2819 |
|
2820 IMPORT_C void SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const; |
|
2821 |
|
2822 |
|
2823 |
|
2824 // Used to indicate which TMobilePhoneNITZ fields are currently available |
|
2825 /** The Phone Network Time Zone Capabilities. */ |
|
2826 enum TMobilePhoneNITZCaps |
|
2827 { |
|
2828 /** Universal Time is available in the current network mode. */ |
|
2829 KCapsTimeAvailable = 0x00000001, |
|
2830 /** Local time zone is available in the current network mode. */ |
|
2831 KCapsTimezoneAvailable = 0x00000002, |
|
2832 /** DST is available in the current network mode. */ |
|
2833 KCapsDSTAvailable = 0x00000004, |
|
2834 /** Short name is available in the current network mode. */ |
|
2835 KCapsShortNameAvailable = 0x00000008, |
|
2836 /** Long name is available in the current network mode. */ |
|
2837 KCapsLongNameAvailable = 0x00000010 |
|
2838 }; |
|
2839 |
|
2840 class TMobilePhoneNITZ : public TDateTime |
|
2841 /** Defines time and date information received from a mobile phone network. |
|
2842 |
|
2843 @see GetNITZInfo() |
|
2844 @see NotifyNITZInfoChange() |
|
2845 @publishedPartner |
|
2846 @released */ |
|
2847 { |
|
2848 public: |
|
2849 IMPORT_C TMobilePhoneNITZ(); |
|
2850 IMPORT_C TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond); |
|
2851 public: |
|
2852 /** Bitwise sum of TMobilePhoneNITZCaps constants used to indicate which NITZ fields |
|
2853 are available. |
|
2854 |
|
2855 Modes: Common */ |
|
2856 TInt32 iNitzFieldsUsed; |
|
2857 /** Time zone, expressed in +/- 15 minute offsets from GMT. |
|
2858 |
|
2859 Modes: Common */ |
|
2860 TInt iTimeZone; |
|
2861 /** Daylight Saving Time adjustment for summer time. The adjustment for DST |
|
2862 can be +1h or +2h. |
|
2863 |
|
2864 Modes: GSM/WCDMA */ |
|
2865 TInt iDST; |
|
2866 /** Network name in "short" representation. |
|
2867 |
|
2868 Modes: GSM/WCDMA |
|
2869 |
|
2870 @see TMobilePhoneNetworkShortName */ |
|
2871 TMobilePhoneNetworkShortName iShortNetworkId; |
|
2872 /** Network name in "long" representation. |
|
2873 |
|
2874 Modes: GSM/WCDMA |
|
2875 |
|
2876 @see TMobilePhoneNetworkLongName */ |
|
2877 TMobilePhoneNetworkLongName iLongNetworkId; |
|
2878 }; |
|
2879 |
|
2880 IMPORT_C TInt GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const; |
|
2881 IMPORT_C void NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const; |
|
2882 |
|
2883 enum { KMaxSPNameSize=16 }; |
|
2884 enum { KMaxPLMNFieldSize=251 }; |
|
2885 |
|
2886 enum TDisplayRequirements |
|
2887 { |
|
2888 KDisplayPLMNNotRequired = 0x00000001, |
|
2889 KDisplayPLMNRequired = 0x00000002, |
|
2890 KDisplaySPNRequired = 0x00000004, |
|
2891 KDisplaySPNNotRequired = 0x00000008 |
|
2892 }; |
|
2893 |
|
2894 typedef TUint32 TDisplayRequirementsFlags; |
|
2895 |
|
2896 class TMobilePhoneServiceProviderNameV2 : public TMultimodeType |
|
2897 /** Used to retrieve the Service Provider Name from the ICC. The |
|
2898 SP is actually the entity that provides the service. The SP could have contractual |
|
2899 agreements with several home PLMN that the ME can register to. The display |
|
2900 preference of the registered PLMN and/or the SPN on the ME can be defined |
|
2901 on the UICC. |
|
2902 @publishedPartner |
|
2903 @released */ |
|
2904 { |
|
2905 public: |
|
2906 IMPORT_C TMobilePhoneServiceProviderNameV2(); |
|
2907 public: |
|
2908 /** This parameter specifies if the display of the registered PLMN is required. |
|
2909 Can contain a number of flags from RMobilePhone::TDisplayRequirements. |
|
2910 */ |
|
2911 TDisplayRequirementsFlags iDisplayReq; |
|
2912 /** The name of the service provider. */ |
|
2913 TBuf<KMaxSPNameSize> iSPName; |
|
2914 TBuf<KMaxPLMNFieldSize> iPLMNField; |
|
2915 }; |
|
2916 |
|
2917 /** A typedef'd packaged TMobilePhoneServiceProviderNameV2 for passing through |
|
2918 a generic API function member. */ |
|
2919 typedef TPckg<TMobilePhoneServiceProviderNameV2> TMobilePhoneServiceProviderNameV2Pckg; |
|
2920 |
|
2921 IMPORT_C void GetServiceProviderName(TRequestStatus& aReqStatus, TDes8& aName) const; |
|
2922 |
|
2923 /** |
|
2924 Network investigation scan settings. |
|
2925 */ |
|
2926 enum TMobilePhoneInvestigationScan |
|
2927 { |
|
2928 /** |
|
2929 Network investigation setting in limited service mode. |
|
2930 */ |
|
2931 KNetworkInvLimited = 0x01, |
|
2932 /** |
|
2933 Network investigation setting after successful PLMN selection. |
|
2934 */ |
|
2935 KNetworkInvAfterPlmnSelection=0x02 |
|
2936 }; |
|
2937 |
|
2938 /** |
|
2939 Network investigation scan events. |
|
2940 */ |
|
2941 enum TMobilePhoneInvestigationScanEvent |
|
2942 { |
|
2943 /** |
|
2944 No investigation scan events available. |
|
2945 */ |
|
2946 ENetworkInvestigationNoEvent, |
|
2947 /** |
|
2948 A higher priority network has been detected, but it does not offer CS Voice. |
|
2949 */ |
|
2950 ENetworkInvestigationHighPriorityPlmn |
|
2951 }; |
|
2952 |
|
2953 IMPORT_C TInt GetNetworkInvScanSetting(TMobilePhoneInvestigationScan & aSetting) const; |
|
2954 IMPORT_C void NotifyNetworkInvScanChange(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScan& aSetting) const; |
|
2955 IMPORT_C void NotifyNetworkInvScanEvent(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScanEvent& aEvent) const; |
|
2956 |
|
2957 |
|
2958 /** 251 bytes is the maximum number of octets in an L3 message as defined in3GPP TS 44.006. */ |
|
2959 enum { KMaxNetworkNameFieldSize = 251 }; |
|
2960 |
|
2961 class TMobilePhoneNetworkNameV3 : public TMultimodeType |
|
2962 /** |
|
2963 Class containing short, long network names and location information for a PLMN. |
|
2964 */ |
|
2965 { |
|
2966 public: |
|
2967 IMPORT_C TMobilePhoneNetworkNameV3(); |
|
2968 public: |
|
2969 /** |
|
2970 The long name (up to 20 characters) of the network operator. |
|
2971 */ |
|
2972 TMobilePhoneNetworkLongName iLongName; |
|
2973 /** |
|
2974 The short name (up to 10 characters) of the network operator. |
|
2975 */ |
|
2976 TMobilePhoneNetworkShortName iShortName; |
|
2977 /** |
|
2978 This buffer contains other long and short names for the registered PLMN coded as TLV objects. |
|
2979 */ |
|
2980 TBuf<KMaxNetworkNameFieldSize> iOtherNames; |
|
2981 }; |
|
2982 |
|
2983 /** |
|
2984 Packaging typedef for TMobilePhoneNetworkNameV3 class. |
|
2985 */ |
|
2986 typedef TPckg<TMobilePhoneNetworkNameV3> TMobilePhoneNetworkNameV3Pckg; |
|
2987 |
|
2988 |
|
2989 class TMobilePhoneOPlmnV3 : public TMultimodeType |
|
2990 /** |
|
2991 Class containing network name information. |
|
2992 */ |
|
2993 { |
|
2994 public: |
|
2995 IMPORT_C TMobilePhoneOPlmnV3(); |
|
2996 public: |
|
2997 /** |
|
2998 The MCC of the registered PLMN, with "wild" values specified for the particular digits of the code. |
|
2999 */ |
|
3000 TMobilePhoneNetworkCountryCode iCountryCode; |
|
3001 /** |
|
3002 The MNC of the registered PLMN, with "wild" values specified for the particular digits of the code. |
|
3003 */ |
|
3004 TMobilePhoneNetworkIdentity iNetworkId; |
|
3005 /** |
|
3006 The id of the Network Name to be displayed for the (following) location area codes. |
|
3007 */ |
|
3008 TUint32 iPNNid; |
|
3009 /** |
|
3010 First Location area code for defining the entire range of LACs for the registered PLMN. |
|
3011 */ |
|
3012 TUint iFirstLocationAreaCode; |
|
3013 /** |
|
3014 Last Location area code defining the entire range of LACs for the registered PLMN. |
|
3015 */ |
|
3016 TUint iLastLocationAreaCode; |
|
3017 |
|
3018 }; |
|
3019 |
|
3020 /** |
|
3021 Packaging typedef for TMobilePhoneOPlmnV3 class. |
|
3022 */ |
|
3023 typedef TPckg<TMobilePhoneOPlmnV3> TMobilePhoneOPlmnV3Pckg; |
|
3024 |
|
3025 IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName, TDes8& aLocInfo) const; |
|
3026 |
|
3027 /** |
|
3028 Identifiers for different access technologies. |
|
3029 */ |
|
3030 enum TMobilePhoneNetworkAccessCaps |
|
3031 { |
|
3032 /** |
|
3033 No network activity. |
|
3034 */ |
|
3035 KNetworkAccessUnknown=0x0000, |
|
3036 /** |
|
3037 Access technology is GSM. |
|
3038 */ |
|
3039 KNetworkAccessGsm=0x8000, |
|
3040 /** |
|
3041 Access technology is GSM COMPACT. |
|
3042 */ |
|
3043 KNetworkAccessGsmCompact=0x4000, |
|
3044 /** |
|
3045 Access technology is UTRAN (UMTS only). |
|
3046 */ |
|
3047 KNetworkAccessUtran=0x0080, |
|
3048 /** |
|
3049 Indicates that a particular PLMN entry is a WLAN entry used for WLAN PLMN selection. |
|
3050 */ |
|
3051 KNetworkAccessWLAN=0x0040 |
|
3052 }; |
|
3053 |
|
3054 typedef TUint32 TMobilePhoneNetworkAccessCapsFlags; |
|
3055 |
|
3056 class TMobilePreferredNetworkEntryV3 : public TMultimodeType |
|
3057 /** |
|
3058 Defines information for a preferred network. |
|
3059 */ |
|
3060 { |
|
3061 public: |
|
3062 IMPORT_C TMobilePreferredNetworkEntryV3(); |
|
3063 public: |
|
3064 void InternalizeL(RReadStream& aStream); |
|
3065 void ExternalizeL(RWriteStream& aStream) const; |
|
3066 public: |
|
3067 /** |
|
3068 Access Technology supported. |
|
3069 Can contain a number of flags from RMobilePhone::TMobilePhoneNetworkAccessCaps. |
|
3070 */ |
|
3071 TMobilePhoneNetworkAccessCapsFlags iAccess; |
|
3072 /** |
|
3073 Editable preferences in the User-controlled Networks List with Access Technology. |
|
3074 */ |
|
3075 TBool iUserDefined; |
|
3076 /** |
|
3077 The MCC of the network. |
|
3078 */ |
|
3079 TMobilePhoneNetworkCountryCode iCountryCode; |
|
3080 /** |
|
3081 The MNC of the network. |
|
3082 */ |
|
3083 TMobilePhoneNetworkIdentity iNetworkId; |
|
3084 }; |
|
3085 |
|
3086 IMPORT_C void StorePreferredNetworksListL(TRequestStatus& aReqStatus, CMobilePhoneStoredNetworkList* aList) const; |
|
3087 IMPORT_C void NotifyPreferredNetworksListChange(TRequestStatus& aReqStatus) const; |
|
3088 |
|
3089 /***********************************************************************************/ |
|
3090 // |
|
3091 // Mobile Multimedia Call Settings functional unit |
|
3092 // |
|
3093 /***********************************************************************************/ |
|
3094 |
|
3095 /** An enumerated list of settings for multimedia calls. */ |
|
3096 enum TMobilePhoneMultimediaSettings |
|
3097 { |
|
3098 /** Accept all incoming multimedia calls with the fallback option enabled. (default). */ |
|
3099 EAcceptMMCallsVoiceFallback, |
|
3100 /** Accept all incoming multimedia calls, but do not accept voice fallback. */ |
|
3101 EAcceptMMCallsNoFallback, |
|
3102 /** Reject all incoming multimedia calls. */ |
|
3103 ERejectMMCalls, |
|
3104 /** Reject all incoming multimedia calls, but drop to voice instead. */ |
|
3105 EAnswerMMCallsAsVoice |
|
3106 }; |
|
3107 |
|
3108 IMPORT_C void SetMultimediaCallPreference(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings aMmSettings) const; |
|
3109 IMPORT_C TInt GetMultimediaCallPreference(TMobilePhoneMultimediaSettings& aMmSettings) const; |
|
3110 IMPORT_C void NotifyMultimediaCallPreferenceChange(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings& aMmSettings); |
|
3111 |
|
3112 /***********************************************************************************/ |
|
3113 // |
|
3114 // MobilePrivacy functional unit |
|
3115 // |
|
3116 /***********************************************************************************/ |
|
3117 |
|
3118 /** The mobile phone privacy settings. |
|
3119 |
|
3120 Modes: CDMA |
|
3121 @deprecated 9.5 */ |
|
3122 enum TMobilePhonePrivacy |
|
3123 { |
|
3124 /** The privacy setting is unspecified. */ |
|
3125 EPrivacyUnspecified, |
|
3126 /** The privacy setting is set to ON. */ |
|
3127 EPrivacyOn, |
|
3128 /** The privacy setting is set to OFF. */ |
|
3129 EPrivacyOff |
|
3130 }; |
|
3131 |
|
3132 IMPORT_C TInt GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const; |
|
3133 IMPORT_C void SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const; |
|
3134 IMPORT_C void NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const; |
|
3135 |
|
3136 /***********************************************************************************/ |
|
3137 // |
|
3138 // TSY Capabilities for supplementary call services |
|
3139 // |
|
3140 /***********************************************************************************/ |
|
3141 |
|
3142 /** The call services. |
|
3143 |
|
3144 Modes: GSM/WCDMA */ |
|
3145 enum TMobilePhoneCallServiceCaps |
|
3146 { |
|
3147 /** Phone supports retrieval of call forwarding status from a cache on the phone. |
|
3148 |
|
3149 Modes: GSM/WCDMA */ |
|
3150 KCapsGetCFStatusCache =0x00000001, |
|
3151 /** Phone supports retrieval of call forwarding status from the network. |
|
3152 |
|
3153 Modes: GSM/WCDMA */ |
|
3154 KCapsGetCFStatusNetwork =0x00000002, |
|
3155 /** Phone supports setting of call forwarding status (and registered information) |
|
3156 in the network. */ |
|
3157 KCapsSetCFStatus =0x00000004, |
|
3158 /** Phone supports notification of change in status of any call forwarding service. |
|
3159 |
|
3160 Modes: GSM/WCDMA */ |
|
3161 KCapsNotifyCFStatus =0x00000008, |
|
3162 /** Phone supports retrieval of CLIP status from either a cache or the network. |
|
3163 |
|
3164 Modes: GSM/WCDMA */ |
|
3165 KCapsGetClipStatus =0x00000010, |
|
3166 /** Phone supports retrieval of CLIR status from either a cache or the network. |
|
3167 |
|
3168 Modes: GSM/WCDMA */ |
|
3169 KCapsGetClirStatus =0x00000020, |
|
3170 /** Phone supports retrieval of COLP status from either a cache or the network. |
|
3171 |
|
3172 Modes: GSM/WCDMA */ |
|
3173 KCapsGetColpStatus =0x00000040, |
|
3174 /** Phone supports retrieval of COLR status from either a cache or the network. |
|
3175 |
|
3176 Modes: GSM/WCDMA */ |
|
3177 KCapsGetColrStatus =0x00000080, |
|
3178 /** Phone supports retrieval of CNAP status from either a cache or the network. |
|
3179 |
|
3180 Modes: GSM/WCDMA */ |
|
3181 KCapsGetCnapStatus =0x00000100, |
|
3182 /** Phone supports retrieval of call barring status from a cache on the phone. |
|
3183 |
|
3184 Modes: Common */ |
|
3185 KCapsGetCBStatusCache =0x00000200, |
|
3186 /** Phone supports retrieval of call barring status from the network. |
|
3187 |
|
3188 Modes: GSM/WCDMA */ |
|
3189 KCapsGetCBStatusNetwork =0x00000400, |
|
3190 /** Phone supports setting of call barring status in the network. |
|
3191 |
|
3192 Modes: Common */ |
|
3193 KCapsSetCBStatus =0x00000800, |
|
3194 /** Phone supports notification of change in call barring status for any service. |
|
3195 |
|
3196 Modes: Common */ |
|
3197 KCapsNotifyCBStatus =0x00001000, |
|
3198 /** Phone supports setting of a password for call barring service. |
|
3199 |
|
3200 Modes: Common */ |
|
3201 KCapsChangeCBPassword =0x00002000, |
|
3202 /** Phone supports BAIC call barring service. |
|
3203 |
|
3204 Modes: Common */ |
|
3205 KCapsBarAllIncoming =0x00004000, |
|
3206 /** Phone supports BIC-Roam call barring service. |
|
3207 |
|
3208 Modes: Common */ |
|
3209 KCapsBarIncomingRoaming =0x00008000, |
|
3210 /** Phone supports BAOC call barring service. |
|
3211 |
|
3212 Modes: Common */ |
|
3213 KCapsBarAllOutgoing =0x00010000, |
|
3214 /** Phone supports BOIC call barring service. |
|
3215 |
|
3216 Modes: Common */ |
|
3217 KCapsBarOutgoingInternational =0x00020000, |
|
3218 /** Phone supports BOIC-ExHC call barring service. |
|
3219 |
|
3220 Modes: Common */ |
|
3221 KCapsBarOutgoingInternationalExHC =0x00040000, |
|
3222 /** Phone supports barring all cases at once. |
|
3223 |
|
3224 Modes: Common */ |
|
3225 KCapsBarAllCases =0x00080000, |
|
3226 /** Phone supports retrieval of call waiting status from a cache on the phone. |
|
3227 |
|
3228 Modes: GSM/WCDMA */ |
|
3229 KCapsGetCWStatusCache =0x00100000, |
|
3230 /** Phone supports retrieval of call waiting status from the network. |
|
3231 |
|
3232 Modes: GSM/WCDMA */ |
|
3233 KCapsGetCWStatusNetwork =0x00200000, |
|
3234 /** Phone supports setting of call waiting status in the network. |
|
3235 |
|
3236 Modes: Common */ |
|
3237 KCapsSetCWStatus =0x00400000, |
|
3238 /** Phone supports notification of change in call waiting status for any service. |
|
3239 |
|
3240 Modes: GSM/WCDMA */ |
|
3241 KCapsNotifyCWStatus =0x00800000, |
|
3242 /** Phone supports retrieval of call completion (CCBS) status from a cache on the |
|
3243 phone. |
|
3244 |
|
3245 Modes: GSM/WCDMA */ |
|
3246 KCapsGetCCBSStatusCache =0x01000000, |
|
3247 /** Phone supports retrieval of call completion (CCBS) status from the network. |
|
3248 |
|
3249 Modes: GSM/WCDMA */ |
|
3250 KCapsGetCCBSStatusNetwork =0x02000000, |
|
3251 /** Phone supports deactivation of all CCBS requests at once. |
|
3252 |
|
3253 Modes: GSM/WCDMA */ |
|
3254 KCapsDeactivateAllCCBS =0x04000000, |
|
3255 KCapsDeactivateCCBS =0x08000000, |
|
3256 /** Phone supports retrieval of a list of active CCBS requests. |
|
3257 |
|
3258 Modes: GSM/WCDMA */ |
|
3259 KCapsRetrieveActiveCCBS =0x10000000, |
|
3260 /** The phone supports programming and retrieval of feature code against a CDMA |
|
3261 network service. |
|
3262 |
|
3263 Modes: CDMA |
|
3264 @deprecated 9.5 |
|
3265 */ |
|
3266 KCapsFeatureCode =0x20000000, |
|
3267 /** The phone supports sending of generic network service request strings. |
|
3268 |
|
3269 Modes: Common */ |
|
3270 KCapsNetworkServiceRequest =0x40000000, |
|
3271 /** The phone supports retrieval of called line identification status. |
|
3272 |
|
3273 Modes: GSM/WCDMA */ |
|
3274 KCapsGetCdipStatus =0x80000000 |
|
3275 }; |
|
3276 |
|
3277 IMPORT_C TInt GetCallServiceCaps(TUint32& aCaps) const; |
|
3278 IMPORT_C void NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
3279 |
|
3280 /***********************************************************************************/ |
|
3281 // |
|
3282 // MobilePhoneUserNetworkAccess functional unit |
|
3283 // |
|
3284 /***********************************************************************************/ |
|
3285 |
|
3286 /** Mobile Phone network services. |
|
3287 |
|
3288 Modes: CDMA |
|
3289 @deprecated 9.5 |
|
3290 */ |
|
3291 enum TMobilePhoneNetworkService |
|
3292 { |
|
3293 /** Network service is unspecified. */ |
|
3294 ENetworkServiceUnspecified, |
|
3295 /** Feature code applies to call forwarding unconditional service. */ |
|
3296 ECFUService, |
|
3297 /** Feature code applies to call forwarding on busy service. */ |
|
3298 ECFBService, |
|
3299 /** Feature code applies to call forwarding on no reply service. */ |
|
3300 ECFNRyService, |
|
3301 /** Feature code applies to call forwarding on not reachable service. */ |
|
3302 ECFNRcService, |
|
3303 /** Feature code applies to user selective call forwarding service - when the |
|
3304 user wishes to forward incoming call to voicemail. */ |
|
3305 EDeflectToVoicemail, |
|
3306 /** Feature code applies to user selective call forwarding service - when the |
|
3307 user wishes to forward incoming call to a number supplied within the deflect |
|
3308 request. */ |
|
3309 EDeflectToNumber, |
|
3310 /** Feature code applies to user selective call forwarding service - when the |
|
3311 user wishes to forward incoming call to a number pre-registered within the |
|
3312 network. */ |
|
3313 EDeflectToRegisteredNumber, |
|
3314 /** Feature code applies to call waiting service. */ |
|
3315 ECWService, |
|
3316 ENextCallShowCLI, |
|
3317 /** Feature code applies to caller ID restriction service - when user wishes to |
|
3318 hide their ID for the next call they make. */ |
|
3319 ENextCallHideCLI |
|
3320 }; |
|
3321 |
|
3322 /** Mobile phone service actions. |
|
3323 |
|
3324 Modes: Common */ |
|
3325 enum TMobilePhoneServiceAction |
|
3326 { |
|
3327 /** The action is unspecified. */ |
|
3328 EServiceActionUnspecified, |
|
3329 /** The client is registering new service information. If the service was not active |
|
3330 then this action also activates the service. */ |
|
3331 EServiceActionRegister, |
|
3332 /** The client is activating the service. */ |
|
3333 EServiceActionActivate, |
|
3334 /** The client is invoking the service. */ |
|
3335 EServiceActionInvoke, |
|
3336 /** The client is deactivating the service. */ |
|
3337 EServiceActionDeactivate, |
|
3338 /** The client is erasing the currently registered service information. If the service |
|
3339 was active then this action also deactivates the service. */ |
|
3340 EServiceActionErase |
|
3341 }; |
|
3342 |
|
3343 /** |
|
3344 Defines the type of SS operation |
|
3345 */ |
|
3346 enum TMobilePhoneNotifySendSSOperation |
|
3347 { |
|
3348 /** |
|
3349 SS Invoke operation. |
|
3350 */ |
|
3351 ESendSSInvoke, |
|
3352 /** |
|
3353 SS ReturnResult operation. |
|
3354 */ |
|
3355 ESendSSReturnResult, |
|
3356 /** |
|
3357 SS ReturnError operation. |
|
3358 */ |
|
3359 ESendSSReturnError, |
|
3360 /** |
|
3361 SS Reject operation. |
|
3362 */ |
|
3363 ESendSSReject |
|
3364 }; |
|
3365 |
|
3366 /** Size of additional info buffer. */ |
|
3367 enum{ KAdditionalInfoSize = 244 }; |
|
3368 |
|
3369 class TMobilePhoneSendSSRequestV3 : public TMultimodeType |
|
3370 /** |
|
3371 Contains the operation code and buffer to hold any additional information when receiving a notification |
|
3372 about a network service request. |
|
3373 */ |
|
3374 { |
|
3375 public: |
|
3376 IMPORT_C TMobilePhoneSendSSRequestV3(); |
|
3377 public: |
|
3378 /** |
|
3379 This is the Operation Code for a Send SS Invoke or Return result events. |
|
3380 This is the Error or Problem Code for a Send SS Return Error or Reject events. |
|
3381 */ |
|
3382 TUint8 iOpCode; |
|
3383 /** |
|
3384 The additional information (parameters) for a Send SS Invoke or Return result or Return Error events. |
|
3385 This is not used for a Send SS Reject event |
|
3386 */ |
|
3387 TBuf<KAdditionalInfoSize> iAdditionalInfo; |
|
3388 }; |
|
3389 |
|
3390 /** |
|
3391 Packaging typedef for TMobilePhoneSendSSRequestV3 class. |
|
3392 */ |
|
3393 typedef TPckg<TMobilePhoneSendSSRequestV3> TMobilePhoneSendSSRequestV3Pckg; |
|
3394 |
|
3395 // API/TSY internal type |
|
3396 |
|
3397 struct TNetworkServiceAndAction |
|
3398 { |
|
3399 TMobilePhoneNetworkService iService; |
|
3400 TMobilePhoneServiceAction iAction; |
|
3401 }; |
|
3402 |
|
3403 IMPORT_C void ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const; |
|
3404 IMPORT_C void GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const; |
|
3405 |
|
3406 IMPORT_C void SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const; |
|
3407 IMPORT_C void SendNetworkServiceRequestNoFdnCheck(TRequestStatus& aReqStatus, const TDesC& aServiceString) const; |
|
3408 IMPORT_C void NotifySendNetworkServiceRequest(TRequestStatus& aReqStatus, const TMobilePhoneNotifySendSSOperation aOperation, TDes8& aRequestComplete) const; |
|
3409 IMPORT_C void NotifyAllSendNetworkServiceRequest(TRequestStatus& aReqStatus, TMobilePhoneNotifySendSSOperation& aOperation, TDes8& aRequestComplete) const; |
|
3410 |
|
3411 /***********************************************************************************/ |
|
3412 // |
|
3413 // MobilePhoneCallForwarding functional unit |
|
3414 // |
|
3415 /***********************************************************************************/ |
|
3416 |
|
3417 /** The Call Forwarding flavours. |
|
3418 |
|
3419 Modes: GSM/WCDMA */ |
|
3420 enum TMobilePhoneCFCondition |
|
3421 { |
|
3422 /** The call forwarding service is unspecified. */ |
|
3423 ECallForwardingUnspecified, |
|
3424 /** All calls to this subscriber are forwarded. */ |
|
3425 ECallForwardingUnconditional, |
|
3426 /** Calls are forwarded when this subscriber is busy. */ |
|
3427 ECallForwardingBusy, |
|
3428 /** Calls are forwarded when this subscriber does not reply within a time-out period. */ |
|
3429 ECallForwardingNoReply, |
|
3430 /** Calls are forwarded when this subscriber is unreachable. */ |
|
3431 ECallForwardingNotReachable, |
|
3432 /** All of above CF services. Can be used to check all 4 call forwarding Fs |
|
3433 at once. */ |
|
3434 ECallForwardingAllCases, // combination of all four above cases |
|
3435 /** All the conditional (busy, no reply, not reachable) CF services. Can be used |
|
3436 to check all 3 conditional call forwarding conditions at once. */ |
|
3437 ECallForwardingAllConditionalCases // combination of CFB, CFNRy and CFNRc |
|
3438 }; |
|
3439 |
|
3440 /** The Call Forwarding status |
|
3441 |
|
3442 Modes: GSM/WCDMA */ |
|
3443 enum TMobilePhoneCFStatus |
|
3444 { |
|
3445 /** The CF service is currently active and operative. */ |
|
3446 ECallForwardingStatusActive, |
|
3447 /** The CF service is currently deactivated. */ |
|
3448 ECallForwardingStatusNotActive, |
|
3449 /** The CF service is not registered. */ |
|
3450 ECallForwardingStatusNotRegistered, |
|
3451 /** The CF service is not provisioned. */ |
|
3452 ECallForwardingStatusNotProvisioned, |
|
3453 /** The CF service is not available in the serving network. */ |
|
3454 ECallForwardingStatusNotAvailable, |
|
3455 /** The phone can not determine CF service status. */ |
|
3456 ECallForwardingStatusUnknown, |
|
3457 /** The Call Forwarding service is active and the presentation indicator is set |
|
3458 to allowed */ |
|
3459 ECallForwardingStatusActivePIAllowed, |
|
3460 /** The Call Forwarding service is active and the presentation indicator is set |
|
3461 to not available */ |
|
3462 ECallForwardingStatusActivePINotAvailable, |
|
3463 /** The Call Forwarding service is active and the presentation indicator is set |
|
3464 to restricted |
|
3465 |
|
3466 The Call Forwarding service is active and the presentation indicator is set |
|
3467 to restricted and screening returns "User provided, verified and passed". */ |
|
3468 ECallForwardingStatusActivePIClir, |
|
3469 /** The Call Forwarding service is active and the presentation indicator is set |
|
3470 to restricted and screening returns "User provided, not screened". */ |
|
3471 ECallForwardingStatusActivePIClirSIVerified, |
|
3472 /** The Call Forwarding service is active and the presentation indicator is set |
|
3473 to "restricted" and screening returns "Network provided". */ |
|
3474 ECallForwardingStatusActivePIClirSINotScreened, |
|
3475 /** The Call Forwarding service is active and the presentation indicator is set |
|
3476 to "restricted" and screening returns "Network provided". */ |
|
3477 ECallForwardingStatusActivePIClirSINetwork, |
|
3478 /** The CF service is currently in the quiescent state. */ |
|
3479 ECallForwardingStatusQuiescent |
|
3480 }; |
|
3481 |
|
3482 |
|
3483 |
|
3484 class TMobilePhoneCFInfoEntryV1 : public TMultimodeType |
|
3485 /** Defines information about the call forwarding service. |
|
3486 |
|
3487 Modes: GSM/WCDMA |
|
3488 |
|
3489 @see CMobilePhoneCFList |
|
3490 @publishedPartner |
|
3491 @released |
|
3492 */ |
|
3493 { |
|
3494 public: |
|
3495 IMPORT_C TMobilePhoneCFInfoEntryV1(); |
|
3496 public: |
|
3497 void InternalizeL(RReadStream& aStream); |
|
3498 void ExternalizeL(RWriteStream& aStream) const; |
|
3499 public: |
|
3500 /** The CF service of this list entry. |
|
3501 |
|
3502 @see TMobilePhoneCFCondition */ |
|
3503 TMobilePhoneCFCondition iCondition; |
|
3504 /** The basic service group associated to this CF service list entry. |
|
3505 |
|
3506 @see TMobileService */ |
|
3507 TMobileService iServiceGroup; |
|
3508 /** The current status of the call forwarding condition. |
|
3509 |
|
3510 @see TMobilePhoneCFStatus */ |
|
3511 TMobilePhoneCFStatus iStatus; |
|
3512 /** The "forward-to" telephone number registered for the call forwarding condition. |
|
3513 An empty string if CF service is not registered, not provisioned or not available. |
|
3514 |
|
3515 @see TMobileAddress */ |
|
3516 TMobileAddress iNumber; |
|
3517 /** The "No Reply" time-out (in seconds) registered for the call forwarding no reply |
|
3518 condition. |
|
3519 |
|
3520 Equals to -1 if this value is not applicable. In GSM mode, will be between |
|
3521 5 and 30 and in steps of 5 if this value is applicable. */ |
|
3522 TInt iTimeout; // valid for CFRNy only |
|
3523 }; |
|
3524 |
|
3525 IMPORT_C void NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const; |
|
3526 |
|
3527 class TMobilePhoneCFChangeV1 : public TMultimodeType |
|
3528 /** Defines the call forward information. |
|
3529 |
|
3530 @see SetCallForwardingStatus() |
|
3531 @publishedPartner |
|
3532 @released |
|
3533 */ |
|
3534 { |
|
3535 public: |
|
3536 IMPORT_C TMobilePhoneCFChangeV1(); |
|
3537 public: |
|
3538 /** The basic service group(s) to apply the CF status change to. |
|
3539 |
|
3540 @see TMobileService */ |
|
3541 TMobileService iServiceGroup; |
|
3542 /** The service action for call forwarding. |
|
3543 |
|
3544 @see TMobilePhoneServiceAction */ |
|
3545 TMobilePhoneServiceAction iAction; |
|
3546 /** A new "forward-to" number to be registered against the CF condition. This is |
|
3547 applicable if iAction=EServiceActionRegister. In other cases, it is set to |
|
3548 an empty string. |
|
3549 |
|
3550 @see TMobileAddress */ |
|
3551 TMobileAddress iNumber; |
|
3552 /** The new "No Reply" time-out in seconds to be registered. This is applicable |
|
3553 if the CF condition is CFNRy and iAction=EServiceActionRegister. Equals -1 |
|
3554 if this value is not applicable. If applicable, in GSM mode will be between |
|
3555 5 and 30 and in steps of 5. */ |
|
3556 TInt iTimeout; |
|
3557 }; |
|
3558 |
|
3559 IMPORT_C void SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const; |
|
3560 |
|
3561 /** Call Forwarding Active Notification |
|
3562 |
|
3563 Modes: Common */ |
|
3564 enum TMobilePhoneCFActive |
|
3565 { |
|
3566 /** CF Unconditional is currently active. */ |
|
3567 ECFUnconditionalActive, |
|
3568 /** CF Busy, CF No Reply or CF Not Reachable is currently active. */ |
|
3569 ECFConditionalActive |
|
3570 }; |
|
3571 |
|
3572 IMPORT_C void NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const; |
|
3573 |
|
3574 /** |
|
3575 Current status indicators for unconditional call forwarding. |
|
3576 */ |
|
3577 enum TCFUIndicatorStatus |
|
3578 { |
|
3579 /** |
|
3580 CFU Indicator status unknown. |
|
3581 */ |
|
3582 KCFUIndicatorUnknown = 0x0, |
|
3583 /** |
|
3584 CFU Indicator status for Voice (TMobileServiceGroup EVoice). |
|
3585 */ |
|
3586 KCFUIndicatorVoice=0x01, |
|
3587 /** |
|
3588 CFU Indicator status for Fax (TMobileServiceGroup EFax). |
|
3589 */ |
|
3590 KCFUIndicatorFax=0x02, |
|
3591 /** |
|
3592 CFU Indicator status for Data Teleservices(TMobileServiceGroup EData). |
|
3593 */ |
|
3594 KCFUIndicatorData=0x04, |
|
3595 /** |
|
3596 CFU Indicator status for Sms (TMobileServiceGroup ESms). |
|
3597 */ |
|
3598 KCFUIndicatorSms=0x08, |
|
3599 /** |
|
3600 CFU Indicator status for Data Bearer Services(TMobileServiceGroup EDataBearer). |
|
3601 */ |
|
3602 KCFUIndicatorDataBearer=0x10, |
|
3603 /** |
|
3604 CFU Indicator status for Auxiliary Voice (TMobileServiceGroup EAuxVoiceService). |
|
3605 */ |
|
3606 KCFUIndicatorAuxVoice=0x20 |
|
3607 }; |
|
3608 |
|
3609 typedef TUint32 TCFUIndicatorStatusFlags; |
|
3610 |
|
3611 class TMobilePhoneCFUIndicatorV3 : public TMultimodeType |
|
3612 /** |
|
3613 Contains indicator parameters for unconditional call forwarding. |
|
3614 */ |
|
3615 { |
|
3616 public: |
|
3617 IMPORT_C TMobilePhoneCFUIndicatorV3(); |
|
3618 public: |
|
3619 /** |
|
3620 Current setting for indicator status. |
|
3621 Can contain a number of flags from RMobilePhone::TCFUIndicatorStatus. |
|
3622 */ |
|
3623 TCFUIndicatorStatusFlags iIndicator; |
|
3624 }; |
|
3625 |
|
3626 typedef TPckg<TMobilePhoneCFUIndicatorV3> TMobilePhoneCFUIndicatorV3Pckg; |
|
3627 |
|
3628 /** |
|
3629 The MSP number contains the Profile Identity of the subscriber profile. |
|
3630 The Profile Identity shall be any of the following enlisted. |
|
3631 @see 3GPP TS 31.102 v7.4.1 section 4.2.64 |
|
3632 @see 3GPP TS 23.097 [36] |
|
3633 */ |
|
3634 enum TMultipleSubscriberProfileID |
|
3635 { |
|
3636 /** |
|
3637 Profile Identity Unknown |
|
3638 */ |
|
3639 KProfileIdentityUnknown = 0x0, |
|
3640 /** |
|
3641 Profile Identity 1 |
|
3642 */ |
|
3643 KProfileIdentityOne = 0x01, |
|
3644 /** |
|
3645 Profile Identity 2 |
|
3646 */ |
|
3647 KProfileIdentityTwo = 0x02, |
|
3648 /** |
|
3649 Profile Identity 3 |
|
3650 */ |
|
3651 KProfileIdentityThree = 0x04, |
|
3652 /** |
|
3653 Profile Identity 4 |
|
3654 */ |
|
3655 KProfileIdentityFour = 0x08 |
|
3656 }; |
|
3657 |
|
3658 class TMobilePhoneCFUIndicatorV6 : public TMobilePhoneCFUIndicatorV3 |
|
3659 /** |
|
3660 Contains the indicator parameters for unconditional call forwarding. |
|
3661 The TMobilePhoneCFUIndicatorV6 supports MSP number(Multiple Subscriber Profile) and Call Forwarding Number. |
|
3662 Upto four different profiles can be provisioned against a subscriber using the MSP feature. |
|
3663 @see 3GPP TS 31.102 v7.4.1 section 4.2.64 |
|
3664 */ |
|
3665 { |
|
3666 public: |
|
3667 IMPORT_C TMobilePhoneCFUIndicatorV6(); |
|
3668 public: |
|
3669 /** |
|
3670 @see RMoblie::TMobileAddress |
|
3671 */ |
|
3672 TMobileAddress iCFNumber; |
|
3673 /** |
|
3674 The profile IDs allow unambiguous identification of each profile. |
|
3675 This will allow the subscriber to select the preferred profile for outgoing calls and for subscriber actions. |
|
3676 For terminating calls the profile ID shall be part of the notification of the profile. |
|
3677 */ |
|
3678 TMultipleSubscriberProfileID iMultipleSubscriberProfileID; |
|
3679 }; |
|
3680 |
|
3681 typedef TPckg<TMobilePhoneCFUIndicatorV6> TMobilePhoneCFUIndicatorV6Pckg; |
|
3682 |
|
3683 IMPORT_C void GetCallForwardingIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const; |
|
3684 |
|
3685 /***********************************************************************************/ |
|
3686 // |
|
3687 // Mobile Identity Service functional unit |
|
3688 // |
|
3689 /***********************************************************************************/ |
|
3690 |
|
3691 /** Phone ID services (CLIP/CNIP/CLIR). |
|
3692 |
|
3693 Modes: GSM/WCDMA */ |
|
3694 enum TMobilePhoneIdService |
|
3695 { |
|
3696 /** The identity service is unspecified */ |
|
3697 EIdServiceUnspecified, |
|
3698 /** The caller's ID is presented to the called party. */ |
|
3699 EIdServiceCallerPresentation, |
|
3700 /** The caller's ID is restricted to the called party. */ |
|
3701 EIdServiceCallerRestriction, |
|
3702 /** The connected party's ID is presented to the calling party. */ |
|
3703 EIdServiceConnectedPresentation, |
|
3704 /** The connected party's ID is restricted to the calling party. */ |
|
3705 EIdServiceConnectedRestriction, |
|
3706 /** The caller's name is presented to the called party. */ |
|
3707 EIdServiceCallerName, |
|
3708 /** The called party is presented with the caller's ID. This command enables a |
|
3709 called subscriber to get the called line identification of the called party |
|
3710 when receiving a mobile terminated call. - maps to +CDIP. */ |
|
3711 EIdServiceCalledPresentation |
|
3712 }; |
|
3713 |
|
3714 /** Service status of the Phone ID services (CLIP/CLIR/CNIP). |
|
3715 |
|
3716 Modes: GSM/WCDMA */ |
|
3717 enum TMobilePhoneIdServiceStatus |
|
3718 { |
|
3719 /** The interrogated Identity service is provisioned and active. This status is |
|
3720 used for all identity services and in the case of the CLIR service means that |
|
3721 it is permanently active with no subscription option set. */ |
|
3722 EIdServiceActivePermanent, |
|
3723 /** This status is used for the CLIR service only and means that the service is |
|
3724 provisioned and active. |
|
3725 |
|
3726 The CLIR subscription option is set to "Temporary, default restricted", therefore |
|
3727 identity is always restricted unless over-ridden by the user during a call |
|
3728 set-up. */ |
|
3729 EIdServiceActiveDefaultRestricted, |
|
3730 /** This status is used for the CLIR service only and means that the service is |
|
3731 provisioned and active. |
|
3732 |
|
3733 The CLIR subscription option is set to "Temporary, default allowed", therefore |
|
3734 identity is always allowed unless over-ridden by the user during a call set-up. */ |
|
3735 EIdServiceActiveDefaultAllowed, |
|
3736 /** The interrogated Identity service is not provisioned. */ |
|
3737 EIdServiceNotProvisioned, |
|
3738 /** The status of the interrogated Identity service is unknown. */ |
|
3739 EIdServiceUnknown |
|
3740 }; |
|
3741 |
|
3742 // for use by client-side API code and TSY only |
|
3743 |
|
3744 struct TIdServiceAndLocation |
|
3745 { |
|
3746 TMobilePhoneIdService iService; |
|
3747 TMobileInfoLocation iLocation; |
|
3748 }; |
|
3749 |
|
3750 /** This function member retrieves the current status of the identity service specified. |
|
3751 |
|
3752 The phone will retrieve this service status information from the location |
|
3753 specified by the client. |
|
3754 |
|
3755 If the client has requested EInfoLocationCache but there is no valid status |
|
3756 information in the cache then the request will return KErrNotFound. |
|
3757 |
|
3758 If the client has requested EInfoLocationCachePreferred, the network will |
|
3759 be interrogated if the cache is empty. Whenever the network is interrogated, |
|
3760 the cache will be refreshed with the information from the network. |
|
3761 |
|
3762 Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneGetIdentityServiceStatus) |
|
3763 to cancel a previously placed asynchronous GetIdentityServiceStatus() request. |
|
3764 |
|
3765 @param aReqStatus On return, KErrNone if successful. |
|
3766 @param aService The identity service to be queried. |
|
3767 @param aStatus On return, the service status. |
|
3768 @param aLocation The location to use. */ |
|
3769 IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const; |
|
3770 |
|
3771 /** |
|
3772 Identifies default service status for provisioned identity services. |
|
3773 */ |
|
3774 enum TMobilePhoneIdServiceSetting |
|
3775 { |
|
3776 /** Sets the default setting to network default (unknown). */ |
|
3777 EIdServiceNetworkDefault, |
|
3778 /** Sets the default setting to presentation restricted. */ |
|
3779 EIdServicePresentationRestricted, |
|
3780 /** Sets the default setting to presentation allowed. */ |
|
3781 EIdServicePresentationAllowed |
|
3782 }; |
|
3783 |
|
3784 IMPORT_C void SetIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, const TMobilePhoneIdServiceSetting aSetting) const; |
|
3785 IMPORT_C void NotifyIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus) const; |
|
3786 IMPORT_C void NotifyIdentitySuppressionRejected(TRequestStatus& aReqStatus) const; |
|
3787 |
|
3788 /***********************************************************************************/ |
|
3789 // |
|
3790 // Mobile Call Barring Functional Unit |
|
3791 // |
|
3792 /***********************************************************************************/ |
|
3793 |
|
3794 /** Mobile Phone Call Baring Conditions. |
|
3795 |
|
3796 Modes: Common */ |
|
3797 enum TMobilePhoneCBCondition |
|
3798 { |
|
3799 /** The barring program is unspecified */ |
|
3800 EBarUnspecified, |
|
3801 /** All incoming calls to this subscriber are barred (BAIC). */ |
|
3802 EBarAllIncoming, |
|
3803 /** All incoming calls to this subscriber are barred when roaming outside the home |
|
3804 PLMN country (BIC-roam). */ |
|
3805 EBarIncomingRoaming, |
|
3806 /** All outgoing calls by this subscriber are barred (BAOC). */ |
|
3807 EBarAllOutgoing, |
|
3808 /** All outgoing international calls by this subscriber are barred (BOIC). */ |
|
3809 EBarOutgoingInternational, |
|
3810 /** All outgoing international calls except those directed to the home PLMN country |
|
3811 by this subscriber are barred (BOIC-ExHC). */ |
|
3812 EBarOutgoingInternationalExHC, |
|
3813 /** All of above CB services. */ |
|
3814 EBarAllCases, |
|
3815 EBarAllOutgoingServices, |
|
3816 EBarAllIncomingServices |
|
3817 }; |
|
3818 |
|
3819 /** Mobile Phone Call Barring Status and Information. |
|
3820 |
|
3821 Modes: Common */ |
|
3822 enum TMobilePhoneCBStatus |
|
3823 { |
|
3824 /** The CB service is currently active and operative. */ |
|
3825 ECallBarringStatusActive, |
|
3826 /** The CB service is currently deactivated or quiescent. */ |
|
3827 ECallBarringStatusNotActive, |
|
3828 /** In GSM/WCDMA mode, the CB service is not provisioned. In CDMA mode, this value |
|
3829 has no meaning. */ |
|
3830 ECallBarringStatusNotProvisioned, |
|
3831 /** In GSM/WCDMA mode, the CB service is not available in serving network. In CDMA |
|
3832 mode, the CB service is not available in the phone. */ |
|
3833 ECallBarringStatusNotAvailable, |
|
3834 /** The phone can not determine CB service status. */ |
|
3835 ECallBarringStatusUnknown |
|
3836 }; |
|
3837 |
|
3838 |
|
3839 |
|
3840 class TMobilePhoneCBInfoEntryV1 : public TMultimodeType |
|
3841 /** Defines information about the call barring service. |
|
3842 |
|
3843 @see CMobilePhoneCBList |
|
3844 @publishedPartner |
|
3845 @released |
|
3846 */ |
|
3847 { |
|
3848 public: |
|
3849 void InternalizeL(RReadStream& aStream); |
|
3850 void ExternalizeL(RWriteStream& aStream) const; |
|
3851 public: |
|
3852 IMPORT_C TMobilePhoneCBInfoEntryV1(); |
|
3853 public: |
|
3854 /** The CB service of this list entry. |
|
3855 |
|
3856 Modes: Common |
|
3857 |
|
3858 @see TMobilePhoneCBCondition */ |
|
3859 TMobilePhoneCBCondition iCondition; |
|
3860 /** The service group associated to this list entry. |
|
3861 |
|
3862 Modes: Common |
|
3863 |
|
3864 @see TMobileService */ |
|
3865 TMobileService iServiceGroup; |
|
3866 /** The CB service status of this list entry. |
|
3867 |
|
3868 Modes: Common |
|
3869 |
|
3870 @see TMobilePhoneCBStatus */ |
|
3871 TMobilePhoneCBStatus iStatus; |
|
3872 }; |
|
3873 |
|
3874 class TMobilePhoneCBInfoEntryV3 : public TMobilePhoneCBInfoEntryV1 |
|
3875 /** |
|
3876 V3 class extending TMobilePhoneCBInfoEntryV1 to add a comparison method parameter. |
|
3877 */ |
|
3878 { |
|
3879 public: |
|
3880 void InternalizeL(RReadStream& aStream); |
|
3881 void ExternalizeL(RWriteStream& aStream) const; |
|
3882 public: |
|
3883 IMPORT_C TMobilePhoneCBInfoEntryV3(); |
|
3884 public: |
|
3885 /** |
|
3886 The comparison method associated with this CB entry. |
|
3887 */ |
|
3888 TUint8 iCompMethod; |
|
3889 }; |
|
3890 |
|
3891 class TMobilePhoneCBChangeV1 : public TMultimodeType |
|
3892 /** Mobile Phone Call Barring Change. |
|
3893 |
|
3894 @see SetCallBarringStatus() |
|
3895 */ |
|
3896 { |
|
3897 public: |
|
3898 IMPORT_C TMobilePhoneCBChangeV1(); |
|
3899 public: |
|
3900 /** The basic service group(s) to apply the CB status change to. |
|
3901 |
|
3902 @see TMobileService */ |
|
3903 TMobileService iServiceGroup; |
|
3904 /** The service action for call barring. |
|
3905 |
|
3906 @see TMobilePhoneServiceAction */ |
|
3907 TMobilePhoneServiceAction iAction; |
|
3908 /** Password required to perform the call barring service action. |
|
3909 |
|
3910 @see TMobilePassword */ |
|
3911 TMobilePassword iPassword; |
|
3912 }; |
|
3913 |
|
3914 IMPORT_C void SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const; |
|
3915 IMPORT_C void NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const; |
|
3916 |
|
3917 class TMobilePhonePasswordChangeV1 : public TMultimodeType |
|
3918 /** Mobile phone password change. |
|
3919 |
|
3920 @see SetCallBarringPassword() |
|
3921 @see ChangeSecurityCode() |
|
3922 @publishedPartner |
|
3923 @released |
|
3924 */ |
|
3925 { |
|
3926 public: |
|
3927 IMPORT_C TMobilePhonePasswordChangeV1(); |
|
3928 public: |
|
3929 /** Old password. |
|
3930 |
|
3931 Modes: Common |
|
3932 |
|
3933 @see TMobilePassword */ |
|
3934 TMobilePassword iOldPassword; |
|
3935 /** New password. |
|
3936 |
|
3937 Modes: Common |
|
3938 |
|
3939 @see TMobilePassword */ |
|
3940 TMobilePassword iNewPassword; |
|
3941 }; |
|
3942 |
|
3943 IMPORT_C void SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const; |
|
3944 |
|
3945 class TMobilePhonePasswordChangeV2 : public TMobilePhonePasswordChangeV1 |
|
3946 /** Mobile phone password change version 2. |
|
3947 */ |
|
3948 { |
|
3949 public: |
|
3950 IMPORT_C TMobilePhonePasswordChangeV2(); |
|
3951 public: |
|
3952 /** Verified password. |
|
3953 |
|
3954 Modes: Common |
|
3955 |
|
3956 @see TMobilePassword */ |
|
3957 TMobilePassword iVerifiedPassword; |
|
3958 }; |
|
3959 |
|
3960 /** A typedef'd packaged TMobilePhonePasswordChangeV2 passing through a generic |
|
3961 API function member. */ |
|
3962 typedef TPckg<TMobilePhonePasswordChangeV2> TMobilePhonePasswordChangeV2Pckg; |
|
3963 |
|
3964 IMPORT_C void SetSSPassword(TRequestStatus& aReqStatus, const TDesC8& aPassword, const TInt aService) const; |
|
3965 |
|
3966 IMPORT_C void GetCompMethodName(TRequestStatus& aReqStatus, TDes& aAlphaTag, const TUint8 aCmi) const; |
|
3967 |
|
3968 /***********************************************************************************/ |
|
3969 // |
|
3970 // Mobile Call Waiting Functional Unit |
|
3971 // |
|
3972 /***********************************************************************************/ |
|
3973 |
|
3974 /** The mobile phone call waiting status. |
|
3975 |
|
3976 Modes: GSM/WCDMA */ |
|
3977 enum TMobilePhoneCWStatus |
|
3978 { |
|
3979 /** The CW service is currently active and operative. */ |
|
3980 ECallWaitingStatusActive, |
|
3981 /** The CW service is currently deactivated or quiescent. */ |
|
3982 ECallWaitingStatusNotActive, |
|
3983 /** The CW service is not provisioned. */ |
|
3984 ECallWaitingStatusNotProvisioned, |
|
3985 /** The CW service is not available in the serving network. */ |
|
3986 ECallWaitingStatusNotAvailable, |
|
3987 /** The phone can not determine CW service status. */ |
|
3988 ECallWaitingStatusUnknown |
|
3989 }; |
|
3990 |
|
3991 |
|
3992 |
|
3993 class TMobilePhoneCWInfoEntryV1 : public TMultimodeType |
|
3994 /** Defines information about the call waiting service. |
|
3995 |
|
3996 @see CMobilePhoneCWList |
|
3997 */ |
|
3998 { |
|
3999 public: |
|
4000 void InternalizeL(RReadStream& aStream); |
|
4001 void ExternalizeL(RWriteStream& aStream) const; |
|
4002 public: |
|
4003 IMPORT_C TMobilePhoneCWInfoEntryV1(); |
|
4004 public: |
|
4005 /** The service group associated to this CW service list entry. |
|
4006 |
|
4007 Modes: GSM/WCDMA |
|
4008 |
|
4009 @see TMobileService */ |
|
4010 TMobileService iServiceGroup; |
|
4011 /** The CW service status of this list entry. |
|
4012 |
|
4013 Modes: GSM/WCDMA |
|
4014 |
|
4015 @see TMobilePhoneCWStatus */ |
|
4016 TMobilePhoneCWStatus iStatus; |
|
4017 }; |
|
4018 |
|
4019 /** A typedef'd packaged TMobilePhoneCWInfoEntryV1 for passing through a generic |
|
4020 API function member. */ |
|
4021 typedef TPckg<TMobilePhoneCWInfoEntryV1> TMobilePhoneCWInfoEntryV1Pckg; |
|
4022 |
|
4023 IMPORT_C void SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const; |
|
4024 IMPORT_C void NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const; |
|
4025 |
|
4026 /***********************************************************************************/ |
|
4027 // |
|
4028 // Mobile Call Completion Unit |
|
4029 // |
|
4030 /***********************************************************************************/ |
|
4031 |
|
4032 /** The Call Completion Busy Subscriber status of the phone. |
|
4033 |
|
4034 Modes: GSM/WCDMA */ |
|
4035 enum TMobilePhoneCCBSStatus |
|
4036 { |
|
4037 /** User has CCBS provisioned and there is at least 1 (and up to 5) active CCBS |
|
4038 requests. */ |
|
4039 ECcbsActive, |
|
4040 /** User has CCBS provisioned but there are currently no active CCBS requests. */ |
|
4041 ECcbsNotActive, |
|
4042 /** User has not subscribed to the CCBS service. */ |
|
4043 ECcbsNotProvisioned, |
|
4044 /** The CCBS service is not available in the serving network. */ |
|
4045 ECcbsNotAvailable, |
|
4046 /** MS is unable to determine status of the CCBS service. */ |
|
4047 ECcbsUnknown |
|
4048 }; |
|
4049 |
|
4050 /** CCBS recall events. |
|
4051 |
|
4052 @see RMobilePhone::TMobilePhoneCCBSEntryV2 */ |
|
4053 enum TCCBSRecallEvent |
|
4054 { |
|
4055 /** Recall received. */ |
|
4056 ECcbsRecallReceived, |
|
4057 /** Recall accepted. */ |
|
4058 ECcbsRecallAccepted, |
|
4059 /** Recall refused. */ |
|
4060 ECcbsRecallRefused, |
|
4061 /** Recall reason unspecified. */ |
|
4062 ECcbsRecallUnspecified |
|
4063 }; |
|
4064 |
|
4065 |
|
4066 |
|
4067 class TMobilePhoneCCBSEntryV1 : public TMultimodeType |
|
4068 /** Defines information about the call completion (CCBS) service. |
|
4069 |
|
4070 @see CMobilePhoneCcbsList |
|
4071 @publishedPartner |
|
4072 @released |
|
4073 */ |
|
4074 { |
|
4075 public: |
|
4076 void InternalizeL(RReadStream& aStream); |
|
4077 void ExternalizeL(RWriteStream& aStream) const; |
|
4078 public: |
|
4079 IMPORT_C TMobilePhoneCCBSEntryV1(); |
|
4080 public: |
|
4081 /** The CCBS index - a number allocated by the network. |
|
4082 |
|
4083 Modes: GSM/WCDMA */ |
|
4084 TInt iCcbsIndex; |
|
4085 /** The basic service group (voice/data/fax) this CCBS request is applicable to. |
|
4086 |
|
4087 Modes: GSM/WCDMA |
|
4088 |
|
4089 @see TMobileService */ |
|
4090 TMobileService iServiceGroup; |
|
4091 /** The phone number of the remote party to whom the CCBS request is aimed. |
|
4092 |
|
4093 Modes: GSM/WCDMA |
|
4094 |
|
4095 @see TMobileAddress */ |
|
4096 TMobileAddress iDestination; |
|
4097 |
|
4098 }; |
|
4099 |
|
4100 /** A typedef'd packaged TMobilePhoneCCBSEntryV1 for passing through a generic API |
|
4101 function member. */ |
|
4102 typedef TPckg<TMobilePhoneCCBSEntryV1> TMobilePhoneCCBSEntryV1Pckg; |
|
4103 |
|
4104 |
|
4105 class TMobilePhoneCCBSEntryV2 : public TMobilePhoneCCBSEntryV1 |
|
4106 /** Defines information about the call completion (CCBS) service version 2. |
|
4107 */ |
|
4108 { |
|
4109 public: |
|
4110 IMPORT_C TMobilePhoneCCBSEntryV2(); |
|
4111 public: |
|
4112 TCCBSRecallEvent iEvent; |
|
4113 }; |
|
4114 |
|
4115 /** A typedef'd packaged TMobilePhoneCCBSEntryV2 for passing through a generic API |
|
4116 function member. */ |
|
4117 typedef TPckg<TMobilePhoneCCBSEntryV2> TMobilePhoneCCBSEntryV2Pckg; |
|
4118 |
|
4119 IMPORT_C void GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const; |
|
4120 IMPORT_C void NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const; |
|
4121 IMPORT_C void DeactivateCCBS(TRequestStatus& aReqStatus, TInt aIndex) const; |
|
4122 IMPORT_C void NotifyCCBSRecall(TRequestStatus& aReqStatus, TDes8& aCCBSEntry) const; |
|
4123 IMPORT_C void AcceptCCBSRecall(TRequestStatus& aReqStatus, TInt aIndex, TName& aCallName) const; |
|
4124 IMPORT_C TInt RefuseCCBSRecall(TInt aIndex) const; |
|
4125 |
|
4126 /***********************************************************************************/ |
|
4127 // |
|
4128 // Mobile Alternating Call Function Unit |
|
4129 // |
|
4130 /***********************************************************************************/ |
|
4131 |
|
4132 /** Alternating Call Capabilities |
|
4133 |
|
4134 Modes: GSM */ |
|
4135 enum TMobilePhoneAlternatingCallCaps |
|
4136 { |
|
4137 /** Phone supports outgoing Voice/Data calls |
|
4138 |
|
4139 Modes: GSM */ |
|
4140 KCapsMOVoiceData = 0x00000001, |
|
4141 /** Phone supports outgoing Voice Then Data calls. |
|
4142 |
|
4143 Modes: GSM */ |
|
4144 KCapsMOVoiceThenData = 0x00000002, |
|
4145 /** Phone supports outgoing Voice/Fax calls. |
|
4146 |
|
4147 Modes: GSM/WCDMA */ |
|
4148 KCapsMOVoiceFax = 0x00000004, |
|
4149 /** Phone supports incoming Voice/Data calls. |
|
4150 |
|
4151 Modes: GSM */ |
|
4152 KCapsMTVoiceData = 0x00000008, |
|
4153 /** Phone supports incoming Voice Then Data calls. |
|
4154 |
|
4155 Modes: GSM */ |
|
4156 KCapsMTVoiceThenData = 0x00000010, |
|
4157 /** Phone supports incoming Voice/Fax calls |
|
4158 |
|
4159 Modes: GSM/WCDMA */ |
|
4160 KCapsMTVoiceFax = 0x00000020 |
|
4161 }; |
|
4162 |
|
4163 IMPORT_C TInt GetAlternatingCallCaps(TUint32& aCaps) const; |
|
4164 IMPORT_C void NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
4165 |
|
4166 /** Alternating Call Mode. |
|
4167 |
|
4168 Modes: Common */ |
|
4169 enum TMobilePhoneAlternatingCallMode |
|
4170 { |
|
4171 /** The alternating call mode is unspecified |
|
4172 |
|
4173 Modes: Common */ |
|
4174 EAlternatingModeUnspecified, |
|
4175 /** Next call will use a single bearer service - default setting |
|
4176 |
|
4177 Modes: Common */ |
|
4178 EAlternatingModeSingle, |
|
4179 /** Next call will use voice/data alternating bearer service. |
|
4180 |
|
4181 Modes: GSM */ |
|
4182 EAlternatingModeVoiceData, |
|
4183 /** Next call will use voice then data alternating bearer service. |
|
4184 |
|
4185 Modes: GSM */ |
|
4186 EAlternatingModeVoiceThenData, |
|
4187 /** Next call will use voice/fax alternating bearer service. |
|
4188 |
|
4189 Modes: GSM/WCDMA */ |
|
4190 EAlternatingModeVoiceFax |
|
4191 }; |
|
4192 |
|
4193 IMPORT_C TInt GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const; |
|
4194 IMPORT_C void SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const; |
|
4195 IMPORT_C void NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const; |
|
4196 |
|
4197 /***********************************************************************************/ |
|
4198 // |
|
4199 // Mobile Alternate Line Service Functional Unit |
|
4200 // |
|
4201 /***********************************************************************************/ |
|
4202 |
|
4203 /** Alternate Line Primary settings. |
|
4204 |
|
4205 Modes: GSM */ |
|
4206 enum TMobilePhoneALSLine |
|
4207 { |
|
4208 /** Current ALS line selection is the "Primary" voice line. */ |
|
4209 EAlternateLinePrimary, |
|
4210 /** Current ALS line selection is the "Auxiliary" voice line. */ |
|
4211 EAlternateLineAuxiliary, |
|
4212 /** ALS is supported by ME and SIM, but the TSY can not determine which line is |
|
4213 currently selected. */ |
|
4214 EAlternateLineUnknown, |
|
4215 /** The ME, SIM or serving network does not support ALS. */ |
|
4216 EAlternateLineNotAvailable |
|
4217 }; |
|
4218 |
|
4219 IMPORT_C TInt GetALSLine(TMobilePhoneALSLine& aALSLine) const; |
|
4220 IMPORT_C void SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const; |
|
4221 IMPORT_C void NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const; |
|
4222 |
|
4223 /***********************************************************************************/ |
|
4224 // |
|
4225 // Mobile Network Security Functional Unit |
|
4226 // |
|
4227 /***********************************************************************************/ |
|
4228 |
|
4229 /** Enumerated network security types. |
|
4230 |
|
4231 Mode: Common */ |
|
4232 enum TMobilePhoneNetworkSecurity |
|
4233 { |
|
4234 /** The encryption level is NONE. |
|
4235 |
|
4236 Mode: Common */ |
|
4237 ECipheringOff, |
|
4238 /** The encryption level is GSM.(standard encryption algorithms for 2nd Generation |
|
4239 Mobile networks). |
|
4240 |
|
4241 Mode: GSM */ |
|
4242 ECipheringGSM, |
|
4243 /** The encryption level is WCDMA.(standard encryption algorithms for 3rd Generation |
|
4244 Mobile networks). |
|
4245 |
|
4246 Mode: WCDMA */ |
|
4247 ECipheringWCDMA, |
|
4248 /** The encryption level is CDMA.(standard encryption algorithms for 3rd Generation |
|
4249 Mobile networks). |
|
4250 |
|
4251 Mode: CDMA |
|
4252 @deprecated 9.5 |
|
4253 */ |
|
4254 ECipheringCDMA |
|
4255 }; |
|
4256 |
|
4257 IMPORT_C void GetNetworkSecurityLevel(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const; |
|
4258 IMPORT_C void NotifyNetworkSecurityLevelChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const; |
|
4259 |
|
4260 /** |
|
4261 Indicators for whether encryption status of the current call should be displayed. |
|
4262 */ |
|
4263 enum TMobileCallCipheringIndicator |
|
4264 { |
|
4265 /** |
|
4266 The ME indication displaying the encryption status of the current call should be off. |
|
4267 */ |
|
4268 ECipheringDisplayOff, |
|
4269 /** |
|
4270 The ME indication displaying the encryption status of the current call should be on. |
|
4271 */ |
|
4272 ECipheringDisplayOn |
|
4273 }; |
|
4274 |
|
4275 IMPORT_C void GetCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const; |
|
4276 IMPORT_C void NotifyCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const; |
|
4277 |
|
4278 /***********************************************************************************/ |
|
4279 // |
|
4280 // Mobile Cost Functional Unit |
|
4281 // |
|
4282 /***********************************************************************************/ |
|
4283 |
|
4284 /** Call Cost Capabilities. |
|
4285 |
|
4286 Modes: GSM/WCDMA */ |
|
4287 enum TMobilePhoneCostCaps |
|
4288 { |
|
4289 /** Indicates that the phone supports calculation and display of current and accumulated |
|
4290 call cost on an information-only basis. (The AoCI service in GSM) |
|
4291 |
|
4292 Modes: GSM/WCDMA */ |
|
4293 KCapsCostInformation = 0x00000001, |
|
4294 /** Indicates that the phone supports calculation and display of current and accumulated |
|
4295 call cost in order to support the charging service. (The AoCC service in GSM). |
|
4296 |
|
4297 |
|
4298 Modes: Common */ |
|
4299 KCapsCostCharging = 0x00000002, |
|
4300 /** Indicates that the phone supports clearing of cost meters (ACM or CCM) to zero. |
|
4301 |
|
4302 Modes: Common */ |
|
4303 KCapsClearCost = 0x00000004, |
|
4304 /** Indicates that the phone supports setting the maximum allowed cost (ACMmax) |
|
4305 to a non-zero value. |
|
4306 |
|
4307 Modes: Common */ |
|
4308 KCapsSetMaxCost = 0x00000008, |
|
4309 /** Indicates that the phone supports setting the currency and price per unit. |
|
4310 |
|
4311 Modes: GSM/WCDMA */ |
|
4312 KCapsSetPuct = 0x00000010, |
|
4313 /** Indicates that the phone currently has call cost information available that |
|
4314 the client can retrieve. |
|
4315 |
|
4316 Modes: Common */ |
|
4317 KCapsGetCost = 0x00000020, |
|
4318 /** Indicates that the phone can notify the client when the call cost information |
|
4319 changes. |
|
4320 |
|
4321 Modes: Common */ |
|
4322 KCapsNotifyCostChange = 0x00000040 |
|
4323 }; |
|
4324 |
|
4325 IMPORT_C TInt GetCostCaps(TUint32& aCaps) const; |
|
4326 IMPORT_C void NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
4327 |
|
4328 /** Clear Cost Meter. |
|
4329 |
|
4330 Modes: Common */ |
|
4331 enum TMobilePhoneCostMeters |
|
4332 { |
|
4333 /** Clear the Current Call Meter. */ |
|
4334 EClearCCM, |
|
4335 /** Clear the Accumulated Charge Meter. */ |
|
4336 EClearACM, |
|
4337 /** Clear all cost meters */ |
|
4338 EClearAll |
|
4339 }; |
|
4340 |
|
4341 IMPORT_C void ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const; |
|
4342 IMPORT_C void SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const; |
|
4343 |
|
4344 |
|
4345 |
|
4346 class TMobilePhonePuctV1 : public TMultimodeType |
|
4347 /** Defines the contents of the price/unit and currency table (PUCT) on the SIM. |
|
4348 |
|
4349 @see TMobilePhoneCostInfoV1 |
|
4350 @see SetPuct() |
|
4351 */ |
|
4352 { |
|
4353 public: |
|
4354 IMPORT_C TMobilePhonePuctV1(); |
|
4355 public: |
|
4356 /** The Price per Unit. This floating point value is used to adjust the pricing |
|
4357 units supplied by the network into real currency values. |
|
4358 |
|
4359 Modes: GSM/WCDMA */ |
|
4360 TReal iPricePerUnit; |
|
4361 /** The three character currency indicator. |
|
4362 |
|
4363 Modes: GSM/WCDMA */ |
|
4364 TBuf<4> iCurrencyName; |
|
4365 }; |
|
4366 |
|
4367 /** A typedef'd packaged TMobilePhonePuctV1 for passing through a generic API function |
|
4368 member. */ |
|
4369 typedef TPckg<TMobilePhonePuctV1> TMobilePhonePuctV1Pckg; |
|
4370 |
|
4371 IMPORT_C void SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const; |
|
4372 |
|
4373 /** Cost Information |
|
4374 |
|
4375 Modes: GSM/WCDMA */ |
|
4376 enum TMobilePhoneCostService |
|
4377 { |
|
4378 /** Phone supports call cost service but no calls are currently in progress so the |
|
4379 network support and user subscription is unknown. */ |
|
4380 ECostServiceUnknown, |
|
4381 /** The network or the phone does not support any of the call cost services. The |
|
4382 call can be either in progress or not. If the user is subscribed to AoCI they |
|
4383 will be able to continue to make calls but will not see any charging information. |
|
4384 If the user is subscribed to AoCC then they will be prevented from making |
|
4385 chargeable calls. */ |
|
4386 ECostServiceNotAvailable, |
|
4387 /** Call is in progress and a call cost service is active but the phone is unable |
|
4388 to determine whether it is an AoCI or AoCC service. */ |
|
4389 ECostServiceAvailable, |
|
4390 /** Call is in progress and the call cost information (AoCI) service is currently |
|
4391 operating. |
|
4392 |
|
4393 Modes: GSM/WCDMA */ |
|
4394 ECostServiceInformation, |
|
4395 /** Call is in progress and the call cost charging (AoCC) service is currently operating. |
|
4396 |
|
4397 Modes: GSM/WCDMA */ |
|
4398 ECostServiceCharging |
|
4399 }; |
|
4400 |
|
4401 |
|
4402 |
|
4403 class TMobilePhoneCostInfoV1 : public TMultimodeType |
|
4404 /** Defines the information related to current billing costs. |
|
4405 |
|
4406 @see GetCostInfo() |
|
4407 @see NotifyCostInfoChange() |
|
4408 */ |
|
4409 { |
|
4410 public: |
|
4411 IMPORT_C TMobilePhoneCostInfoV1(); |
|
4412 public: |
|
4413 /** The current status and type of call cost service. |
|
4414 |
|
4415 @see TMobilePhoneCostService */ |
|
4416 TMobilePhoneCostService iService; |
|
4417 /** The current number of charging units in the Current Call Meter. This is set |
|
4418 to zero if reset by the user or at the start of call set-up attempt. */ |
|
4419 TUint iCCM; |
|
4420 /** The current number of charging units in the Accumulated Call Meter. This equals |
|
4421 the accumulation of previous and current calls. */ |
|
4422 TUint iACM; |
|
4423 /** The maximum number of charging units that the ACM can rise to before chargeable |
|
4424 calls are stopped. Equals zero if Service != ECostServiceCharging. */ |
|
4425 TUint iACMmax; |
|
4426 /** The Price per Unit and Currency Table. |
|
4427 |
|
4428 @see TMobilePhonePuctV1 */ |
|
4429 TMobilePhonePuctV1 iPuct; |
|
4430 }; |
|
4431 |
|
4432 /** A typedef'd packaged TMobilePhoneCostInfoV1 for passing through a generic API |
|
4433 function member. */ |
|
4434 typedef TPckg<TMobilePhoneCostInfoV1> TMobilePhoneCostInfoV1Pckg; |
|
4435 |
|
4436 IMPORT_C void GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const; |
|
4437 IMPORT_C void NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const; |
|
4438 |
|
4439 /***********************************************************************************/ |
|
4440 // |
|
4441 // Mobile Security Functional Unit |
|
4442 // |
|
4443 /***********************************************************************************/ |
|
4444 |
|
4445 /** Security Capabilities. |
|
4446 |
|
4447 Modes: Common */ |
|
4448 enum TMobilePhoneSecurityCaps |
|
4449 { |
|
4450 /** The phone supports an overall "phone device lock" which can be enabled or disabled. |
|
4451 If enabled, user must enter phone password before the phone can be used. When |
|
4452 this capability is set the phone will support get lock info, notify lock info |
|
4453 change and set lock setting for phone device lock. |
|
4454 |
|
4455 Modes: Common */ |
|
4456 KCapsLockPhone = 0x0000001, |
|
4457 /** The phone supports locking the ICC (using the PIN1 security code), which can |
|
4458 be enabled or disabled. If enabled, the user must enter PIN1 code before the |
|
4459 ICC can be used. When this capability is set the phone will support get lock |
|
4460 info, notify lock info change and set lock setting for ICC lock. |
|
4461 |
|
4462 Modes: Common */ |
|
4463 KCapsLockICC = 0x00000002, |
|
4464 /** The phone supports the "phone to ICC lock" which can be enabled or disabled. |
|
4465 If enabled, at power-up the phone will check whether current ICC is the one |
|
4466 the phone is locked to or not. If not, then the user must enter the phone |
|
4467 password before phone can be used with this ICC. When this capability is set |
|
4468 the phone will support get lock info, notify lock info change and set lock |
|
4469 setting for Phone-ICC lock. |
|
4470 |
|
4471 Modes: Common */ |
|
4472 KCapsLockPhoneToICC = 0x00000004, |
|
4473 /** The phone supports the "phone to first ICC lock" which can be enabled or disabled. |
|
4474 If enabled, at power-up the phone will check whether current ICC is the one |
|
4475 the phone is first locked to or not. If not, then user must enter the phone |
|
4476 password before the phone can be used with this ICC. When this capability |
|
4477 is set the phone will support get lock info, notify lock info change and set |
|
4478 lock setting for Phone-First ICC lock. |
|
4479 |
|
4480 Modes: Common */ |
|
4481 KCapsLockPhoneToFirstICC = 0x00000008, |
|
4482 /** The phone supports the "Over The Air" programming lock which can be enabled |
|
4483 or disabled. If enabled, the phone will prevent OTA programming by the network. |
|
4484 If disabled, the phone will allow OTA programming by the network. When this |
|
4485 capability is set the phone will support get lock info, notify lock info change |
|
4486 and set lock setting for OTA lock. |
|
4487 |
|
4488 Modes: CDMA |
|
4489 @deprecated 9.5 |
|
4490 */ |
|
4491 KCapsLockOTA = 0x00000010, |
|
4492 /** The phone supports access to the PIN 1 security code. When this capability is |
|
4493 set the phone will support verification of PIN1, unblocking PIN1, changing |
|
4494 PIN1 and notification of PIN1 required. |
|
4495 |
|
4496 Modes: Common */ |
|
4497 KCapsAccessPin1 = 0x00000020, |
|
4498 /** The phone supports access to the PIN 2 security code. When this capability is |
|
4499 set the phone will support verification of PIN2, unblocking PIN2, changing |
|
4500 PIN2 and notification of PIN2 required. |
|
4501 |
|
4502 Modes: GSM/WCDMA */ |
|
4503 KCapsAccessPin2 = 0x00000040, |
|
4504 /** The phone supports access to the phone password security code. When this capability |
|
4505 is set the phone will support verification of the phone password, changing |
|
4506 the phone password and notification if the phone password is required. |
|
4507 |
|
4508 Modes: Common */ |
|
4509 KCapsAccessPhonePassword = 0x00000080, |
|
4510 /** The phone supports access to the SPC (Service Programming Code) security code. |
|
4511 This code may need to be verified before OTA can commence. |
|
4512 |
|
4513 Modes: CDMA |
|
4514 @deprecated 9.5 |
|
4515 */ |
|
4516 KCapsAccessSPC = 0x00000100, |
|
4517 /** The phone supports access to the hidden key. When this capability is set the |
|
4518 phone will support verification of HiddenKey. |
|
4519 |
|
4520 Modes: WCDMA */ |
|
4521 KCapsAccessHiddenKey=0x00000200, |
|
4522 /** The phone supports access to the USIM Application PIN. An Application PIN allows |
|
4523 access to any file on the UICC where it is referenced in the access rules. |
|
4524 |
|
4525 Modes: WCDMA */ |
|
4526 KCapsAccessUSIMAppPin=0x00000400, |
|
4527 /** The phone supports access to the second USIM Application PIN. The second Application |
|
4528 PIN allows access to files (where it is referenced in the access rules) within |
|
4529 one USIM Application on the UICC. This is a local PIN. |
|
4530 |
|
4531 Modes: WCDMA */ |
|
4532 KCapsAccessUSIMAppSecondPin =0x00000800, |
|
4533 /** The phone supports access to the Universal PIN. A Universal PIN is a PIN that |
|
4534 is used in a multi-application UICC environment to allow several USIM applications |
|
4535 to share one common PIN. |
|
4536 |
|
4537 Modes: WCDMA */ |
|
4538 KCapsAccessUniversalPin =0x00001000 |
|
4539 }; |
|
4540 |
|
4541 IMPORT_C TInt GetSecurityCaps(TUint32& aCaps) const; |
|
4542 IMPORT_C void NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
4543 |
|
4544 /** Lock Information. |
|
4545 |
|
4546 Modes: Common */ |
|
4547 enum TMobilePhoneLock |
|
4548 { |
|
4549 /** Lock the whole device. Phone lock password is required to unlock when this lock |
|
4550 is enabled. |
|
4551 |
|
4552 Modes: Common */ |
|
4553 ELockPhoneDevice, |
|
4554 /** Lock PIN1 on the ICC. PIN1 security code is required to unlock when this lock |
|
4555 is enabled. |
|
4556 |
|
4557 Modes: Common */ |
|
4558 ELockICC, |
|
4559 /** Lock the phone to the current ICC inserted in the phone Phone lock password |
|
4560 is required to unlock when this lock is enabled. |
|
4561 |
|
4562 Modes: Common */ |
|
4563 ELockPhoneToICC, |
|
4564 /** Lock the phone to the first ICC inserted in the phone. Phone lock password is |
|
4565 required to unlock when this lock is enabled. |
|
4566 |
|
4567 Modes: Common */ |
|
4568 ELockPhoneToFirstICC, |
|
4569 /** Lock the OTA facility on the phone. SPC security code may be required to unlock |
|
4570 when this lock is enabled. |
|
4571 |
|
4572 Modes: CDMA |
|
4573 @deprecated 9.5 |
|
4574 */ |
|
4575 ELockOTA, |
|
4576 /** Lock PIN2 on the ICC. PIN2 security code is required to unlock when this lock |
|
4577 is enabled. |
|
4578 |
|
4579 Modes: Common */ |
|
4580 ELockPin2, |
|
4581 /** Lock the phonebook hidden entries on the phone. Hidden key security code may |
|
4582 be required to unlock when this lock is enabled. |
|
4583 |
|
4584 Modes: WCDMA */ |
|
4585 ELockHiddenKey, |
|
4586 /** Lock the associated USIM Application. USIM Application PIN is required to unlock |
|
4587 when this lock is enabled. |
|
4588 |
|
4589 Modes: WCDMA */ |
|
4590 ELockUSimApp, |
|
4591 /** Lock the associated USIM Application. The second USIM Application PIN is required |
|
4592 to unlock when this lock is enabled. |
|
4593 |
|
4594 Modes: WCDMA */ |
|
4595 ELockSecondUSimApp, |
|
4596 /** Lock the associated USIM Application(s) that share this common lock. Universal |
|
4597 Pin is required to unlock when this lock is enabled. |
|
4598 |
|
4599 Modes: WCDMA */ |
|
4600 ELockUniversalPin, |
|
4601 /** Lock for the NAM. The SPC is required to unlock. |
|
4602 |
|
4603 Modes: CDMA |
|
4604 @deprecated 9.5 |
|
4605 */ |
|
4606 ELockNam |
|
4607 }; |
|
4608 |
|
4609 /** Phone lock status. |
|
4610 |
|
4611 Modes: Common */ |
|
4612 enum TMobilePhoneLockStatus |
|
4613 { |
|
4614 /** The status of the lock is unknown. */ |
|
4615 EStatusLockUnknown, |
|
4616 /** Lock is closed - user can not access functionality governed by this lock until |
|
4617 user correctly enters associated security code. */ |
|
4618 EStatusLocked, |
|
4619 /** Lock is open - user can access functionality governed by this lock */ |
|
4620 EStatusUnlocked, |
|
4621 EStatusBlocked |
|
4622 }; |
|
4623 |
|
4624 /** The phone lock setting. |
|
4625 |
|
4626 Modes: Common */ |
|
4627 enum TMobilePhoneLockSetting |
|
4628 { |
|
4629 /** The setting of the lock is unknown |
|
4630 |
|
4631 Modes: Common */ |
|
4632 ELockSetUnknown, |
|
4633 /** Lock is enabled - associated security code will be required to unlock the |
|
4634 lock, the next time the lock's status is EStatusLocked. |
|
4635 |
|
4636 Modes: Common */ |
|
4637 ELockSetEnabled, |
|
4638 /** Lock is disabled - so its status is always EStatusUnlocked. |
|
4639 |
|
4640 Modes: Common */ |
|
4641 ELockSetDisabled, |
|
4642 /** Lock of the current Application is replaced by the Universal PIN. Only the |
|
4643 Universal PIN is allowed as a replacement. |
|
4644 |
|
4645 Modes: WCDMA */ |
|
4646 ELockReplaced |
|
4647 }; |
|
4648 |
|
4649 |
|
4650 |
|
4651 class TMobilePhoneLockInfoV1 : public TMultimodeType |
|
4652 /** Defines the status of a phone lock. |
|
4653 |
|
4654 @see GetLockInfo() |
|
4655 @see NotifyLockInfoChange() |
|
4656 @publishedPartner |
|
4657 @released |
|
4658 */ |
|
4659 { |
|
4660 public: |
|
4661 IMPORT_C TMobilePhoneLockInfoV1(); |
|
4662 public: |
|
4663 /** The current status of the lock. |
|
4664 |
|
4665 Modes: Common |
|
4666 |
|
4667 @see TMobilePhoneLockStatus */ |
|
4668 TMobilePhoneLockStatus iStatus; |
|
4669 /** The current setting of the lock. |
|
4670 |
|
4671 Modes: Common |
|
4672 |
|
4673 @see TMobilePhoneLockSetting */ |
|
4674 TMobilePhoneLockSetting iSetting; |
|
4675 }; |
|
4676 |
|
4677 /** A typedef'd packaged TMobilePhoneLockInfoV1 for passing through a generic API |
|
4678 function member. */ |
|
4679 typedef TPckg<TMobilePhoneLockInfoV1> TMobilePhoneLockInfoV1Pckg; |
|
4680 |
|
4681 IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const; |
|
4682 IMPORT_C void NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const; |
|
4683 IMPORT_C void SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const; |
|
4684 |
|
4685 /** Change Security Code. |
|
4686 |
|
4687 Modes: Common */ |
|
4688 enum TMobilePhoneSecurityCode |
|
4689 { |
|
4690 /** PIN 1 code (between 4-8 digits). |
|
4691 |
|
4692 Modes: Common */ |
|
4693 ESecurityCodePin1, |
|
4694 /** PIN 2 code (between 4-8 digits) |
|
4695 |
|
4696 Modes: GSM/WCDMA */ |
|
4697 ESecurityCodePin2, |
|
4698 /** PIN 1 unblocking code (always 8 digits). |
|
4699 |
|
4700 Modes: Common */ |
|
4701 ESecurityCodePuk1, |
|
4702 /** PIN 2 unblocking code (always 8 digits) |
|
4703 |
|
4704 Modes: GSM/WCDMA */ |
|
4705 ESecurityCodePuk2, |
|
4706 /** Password used for Phone-SIM Lock and Phone Device Lock (up to 8 digits) |
|
4707 |
|
4708 Modes: Common */ |
|
4709 ESecurityCodePhonePassword, |
|
4710 /** Service Programming Code (SPC) |
|
4711 |
|
4712 Modes: CDMA |
|
4713 @deprecated 9.5 |
|
4714 */ |
|
4715 ESecurityCodeSPC, |
|
4716 /** Phonebook key to display the hidden entries. |
|
4717 |
|
4718 Modes: WCDMA */ |
|
4719 ESecurityHiddenKey, |
|
4720 /** USIM Application PIN. |
|
4721 |
|
4722 Modes: WCDMA */ |
|
4723 ESecurityUSIMAppPin, |
|
4724 /** Second USIM Application PIN. |
|
4725 |
|
4726 Modes: WCDMA */ |
|
4727 ESecuritySecondUSIMAppPin, |
|
4728 /** Universal PIN. |
|
4729 |
|
4730 Modes: WCDMA */ |
|
4731 ESecurityUniversalPin, |
|
4732 /** Universal PIN unblocking code (always 8 digits). |
|
4733 |
|
4734 Modes: Common */ |
|
4735 ESecurityUniversalPuk |
|
4736 }; |
|
4737 |
|
4738 IMPORT_C void ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const; |
|
4739 |
|
4740 /** Defines the status of a security code. |
|
4741 |
|
4742 @see GetSecurityCodeInfo() |
|
4743 @see NotifySecurityCodeInfoChange() |
|
4744 @publishedPartner |
|
4745 @released |
|
4746 */ |
|
4747 class TMobilePhoneSecurityCodeInfoV5 : public TMultimodeType |
|
4748 { |
|
4749 public: |
|
4750 IMPORT_C TMobilePhoneSecurityCodeInfoV5(); |
|
4751 public: |
|
4752 /** Number of remaining security code entry attempts before the corresponding lock gets blocked |
|
4753 |
|
4754 Modes: Common |
|
4755 */ |
|
4756 TInt iRemainingEntryAttempts; |
|
4757 }; |
|
4758 |
|
4759 /** A typedef'd packaged TMobilePhoneSecurityCodeInfoV5 for passing through a generic API |
|
4760 function member. */ |
|
4761 typedef TPckg<TMobilePhoneSecurityCodeInfoV5> TMobilePhoneSecurityCodeInfoV5Pckg; |
|
4762 |
|
4763 IMPORT_C void GetSecurityCodeInfo(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aSecurityCode, TDes8& aSecurityCodeInfo) const; |
|
4764 IMPORT_C void NotifySecurityCodeInfoChange(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode& aSecurityCode, TDes8& aSecurityCodeInfo) const; |
|
4765 |
|
4766 /** Notify Security Events. |
|
4767 |
|
4768 Modes: Common */ |
|
4769 enum TMobilePhoneSecurityEvent |
|
4770 { |
|
4771 /** The phone has detected that there is no ICC present. |
|
4772 |
|
4773 Modes: Common */ |
|
4774 ENoICCFound, |
|
4775 /** The phone has detected that the ICC is unusable. |
|
4776 |
|
4777 Modes: Common */ |
|
4778 EICCTerminated, |
|
4779 /** The phone requires PIN1 to be entered. |
|
4780 |
|
4781 Modes: Common */ |
|
4782 EPin1Required, |
|
4783 /** The phone requires PUK1 to be entered. |
|
4784 |
|
4785 Modes: Common */ |
|
4786 EPuk1Required, |
|
4787 /** The phone requires PIN2 to be entered. |
|
4788 |
|
4789 Modes: GSM/WCDMA */ |
|
4790 EPin2Required, |
|
4791 /** The phone requires PUK2 to be entered. |
|
4792 |
|
4793 Modes: GSM/WCDMA */ |
|
4794 EPuk2Required, |
|
4795 /** The phone requires the Phone Password to be entered. |
|
4796 |
|
4797 Modes: Common */ |
|
4798 EPhonePasswordRequired, |
|
4799 /** The phone requires the SPC to be entered. |
|
4800 |
|
4801 Modes: CDMA |
|
4802 @deprecated 9.5 |
|
4803 */ |
|
4804 ESPCRequired, |
|
4805 /** The PIN1 verification procedure has passed. |
|
4806 |
|
4807 Modes: Common */ |
|
4808 EPin1Verified, |
|
4809 /** The PIN2 verification procedure has passed. |
|
4810 |
|
4811 Modes: GSM/WCDMA */ |
|
4812 EPin2Verified, |
|
4813 /** The PUK1 unblocking procedure has passed. |
|
4814 |
|
4815 Modes: Common */ |
|
4816 EPuk1Verified, |
|
4817 /** The PUK2 unblocking procedure has passed. |
|
4818 |
|
4819 Modes: GSM/WCDMA */ |
|
4820 EPuk2Verified, |
|
4821 /** The Phone Password has been verified. |
|
4822 |
|
4823 Modes: Common */ |
|
4824 EPhonePasswordVerified, |
|
4825 /** The SPC verification procedure has passed. |
|
4826 |
|
4827 Modes: CDMA |
|
4828 @deprecated 9.5 |
|
4829 */ |
|
4830 ESPCVerified, |
|
4831 /** The phone requires the phonebook hidden key to be entered. |
|
4832 |
|
4833 Modes: WCDMA */ |
|
4834 EHiddenKeyRequired, |
|
4835 /** The phonebook hidden key procedure has passed. |
|
4836 |
|
4837 Modes: WCDMA */ |
|
4838 EHiddenKeyVerified, |
|
4839 /** The phone requires the currently active USIM Application PIN to be entered. |
|
4840 |
|
4841 Modes: WCDMA */ |
|
4842 EUSIMAppPinRequired, |
|
4843 /** The currently active USIM Application PIN procedure has passed. |
|
4844 |
|
4845 Modes: WCDMA */ |
|
4846 EUSIMAppPinVerified, |
|
4847 /** The phone requires the currently active USIM Application second PIN to be entered. |
|
4848 |
|
4849 Modes: WCDMA */ |
|
4850 ESecondUSIMAppPinRequired, |
|
4851 /** The currently active USIM Application second PIN procedure has passed. |
|
4852 |
|
4853 Modes: WCDMA */ |
|
4854 ESecondUSIMAppPinVerified, |
|
4855 /** The phone requires the Universal PIN to be entered. |
|
4856 |
|
4857 Modes: WCDMA */ |
|
4858 EUniversalPinRequired, |
|
4859 /** The currently active Universal PIN procedure has passed. |
|
4860 |
|
4861 Modes: WCDMA */ |
|
4862 EUniversalPinVerified, |
|
4863 /** The Service Programming Code has been changed. |
|
4864 |
|
4865 Modes: CDMA |
|
4866 @deprecated 9.5 |
|
4867 */ |
|
4868 ESPCChanged, |
|
4869 /** The phone requires Universal PUK to be entered. |
|
4870 |
|
4871 Modes: WCDMA */ |
|
4872 EUniversalPukRequired, |
|
4873 /** The Universal PUK unblocking procedure has passed. |
|
4874 |
|
4875 Modes: WCDMA */ |
|
4876 EUniversalPukVerified |
|
4877 }; |
|
4878 |
|
4879 IMPORT_C void NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const; |
|
4880 |
|
4881 // for use by client-side API code and TSY only |
|
4882 |
|
4883 struct TCodeAndUnblockCode |
|
4884 { |
|
4885 TMobilePassword iCode; |
|
4886 TMobilePassword iUnblockCode; |
|
4887 }; |
|
4888 |
|
4889 IMPORT_C void VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, |
|
4890 const TMobilePassword& aCode, const TMobilePassword& aUnblockCode) const; |
|
4891 IMPORT_C TInt AbortSecurityCode(TMobilePhoneSecurityCode aType) const; |
|
4892 |
|
4893 /***********************************************************************************/ |
|
4894 // |
|
4895 // MobileMessageWaiting |
|
4896 // |
|
4897 /***********************************************************************************/ |
|
4898 |
|
4899 /** Display indicators. */ |
|
4900 enum TMobilePhoneIndicatorDisplay |
|
4901 { |
|
4902 /** Display voicemail active. */ |
|
4903 KDisplayVoicemailActive = 0x01, |
|
4904 /** Display fax active. */ |
|
4905 KDisplayFaxActive = 0x02, |
|
4906 /** Display E-mail active. */ |
|
4907 KDisplayEmailActive = 0x04, |
|
4908 /** Display other active. */ |
|
4909 KDisplayOtherActive = 0x08, |
|
4910 /** Display Aux voicemail active. */ |
|
4911 KDisplayAuxVoicemailActive = 0x10, |
|
4912 /** Display data active. */ |
|
4913 KDisplayDataActive = 0x20, |
|
4914 /** Display Videomail active. */ |
|
4915 KDisplayVideomailActive = 0x40 |
|
4916 }; |
|
4917 |
|
4918 class TMobilePhoneMessageWaitingV1 : public TMultimodeType |
|
4919 /** Message Waiting Indicators. See 3GPP TS 31 102. |
|
4920 |
|
4921 @see GetIccMessageWaitingIndicators() |
|
4922 @see SetIccMessageWaitingIndicators() |
|
4923 @see NotifyIccMessageWaitingIndicatorsChange() |
|
4924 */ |
|
4925 { |
|
4926 public: |
|
4927 IMPORT_C TMobilePhoneMessageWaitingV1(); |
|
4928 public: |
|
4929 /** The flags for each indicator from TMobilePhoneIndicatorDisplay to specify whether |
|
4930 the indicator should be displayed or not. E.g. Messages of the specified type are waiting. |
|
4931 |
|
4932 Modes: Common */ |
|
4933 TUint8 iDisplayStatus; |
|
4934 /** The number of voicemail messages waiting for the "main" voice line. |
|
4935 |
|
4936 Modes: Common */ |
|
4937 TUint8 iVoiceMsgs; |
|
4938 /** The number of voicemail messages waiting for the "auxiliary" voice line. |
|
4939 |
|
4940 Modes: GSM */ |
|
4941 TUint8 iAuxVoiceMsgs; |
|
4942 /** The number of messages waiting for the data line. |
|
4943 |
|
4944 Modes: Common */ |
|
4945 TUint8 iDataMsgs; |
|
4946 /** The number of messages waiting for the fax line. |
|
4947 |
|
4948 Modes: Common */ |
|
4949 TUint8 iFaxMsgs; |
|
4950 /** The number of email messages waiting. |
|
4951 |
|
4952 Modes: WCDMA */ |
|
4953 TUint8 iEmailMsgs; |
|
4954 /** Contains the number of "unspecified" messages waiting. |
|
4955 |
|
4956 Modes: WCDMA */ |
|
4957 TUint8 iOtherMsgs; |
|
4958 }; |
|
4959 |
|
4960 /** A typedef'd packaged TMobilePhoneMessageWaitingV1 for passing through a generic |
|
4961 API function member. */ |
|
4962 typedef TPckg<TMobilePhoneMessageWaitingV1> TMobilePhoneMessageWaitingV1Pckg; |
|
4963 |
|
4964 class TMobilePhoneMessageWaitingV8 : public TMobilePhoneMessageWaitingV1 |
|
4965 /** Message Waiting Indicators. See Section 4.2.63 of 3GPP TS 31 102 V6.18.0 . |
|
4966 @see GetIccMessageWaitingIndicators() |
|
4967 @see SetIccMessageWaitingIndicators() |
|
4968 @see NotifyIccMessageWaitingIndicatorsChange() |
|
4969 */ |
|
4970 { |
|
4971 public: |
|
4972 IMPORT_C TMobilePhoneMessageWaitingV8(); |
|
4973 public: |
|
4974 /** |
|
4975 Contains the number of video messages waiting. |
|
4976 |
|
4977 Modes: Common */ |
|
4978 TUint8 iVideoMsgs; |
|
4979 }; |
|
4980 |
|
4981 /** A typedef'd packaged TMobilePhoneMessageWaitingV8 for passing through a generic |
|
4982 API function member. */ |
|
4983 typedef TPckg<TMobilePhoneMessageWaitingV8> TMobilePhoneMessageWaitingV8Pckg; |
|
4984 |
|
4985 IMPORT_C void GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const; |
|
4986 IMPORT_C void SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const; |
|
4987 IMPORT_C void NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const; |
|
4988 |
|
4989 IMPORT_C void NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const; |
|
4990 |
|
4991 /***********************************************************************************/ |
|
4992 // |
|
4993 // Mobile Fixed Dialling Numbers Functional Unit |
|
4994 // |
|
4995 /***********************************************************************************/ |
|
4996 |
|
4997 /** Fixed Dialling Numbers Status. |
|
4998 |
|
4999 Modes: Common */ |
|
5000 enum TMobilePhoneFdnStatus |
|
5001 { |
|
5002 /** Fixed Dialling Number mode is supported but is not currently active. */ |
|
5003 EFdnNotActive, |
|
5004 /** Fixed Dialling Number mode is supported and is currently active. Deactivating |
|
5005 FDN mode is supported. */ |
|
5006 EFdnActive, |
|
5007 /** Fixed Dialling Number mode is supported and is permanently active. Deactivating |
|
5008 FDN mode is NOT supported with this SIM. */ |
|
5009 EFdnPermanentlyActive, |
|
5010 /** Fixed Dialling Number mode is not supported by ME and/or SIM. */ |
|
5011 EFdnNotSupported, |
|
5012 /** ME is currently unable to determine the status of FDN mode. */ |
|
5013 EFdnUnknown |
|
5014 }; |
|
5015 |
|
5016 IMPORT_C TInt GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const; |
|
5017 IMPORT_C void GetFdnStatus(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const; |
|
5018 |
|
5019 /** Fixed Dialling Numbers Setting |
|
5020 |
|
5021 Modes: Common */ |
|
5022 enum TMobilePhoneFdnSetting |
|
5023 { |
|
5024 /** Activate the FDN service. */ |
|
5025 EFdnSetOn, |
|
5026 /** Deactivate the FDN service. */ |
|
5027 EFdnSetOff |
|
5028 }; |
|
5029 |
|
5030 IMPORT_C void SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const; |
|
5031 IMPORT_C void NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const; |
|
5032 |
|
5033 /***********************************************************************************/ |
|
5034 // |
|
5035 // Multicall bearer settings |
|
5036 // |
|
5037 /***********************************************************************************/ |
|
5038 |
|
5039 class TMobilePhoneMulticallSettingsV1 : public TMultimodeType |
|
5040 /** Multi call settings for version v1.0. |
|
5041 |
|
5042 @see GetMulticallParams() |
|
5043 @see NotifyMulticallParamsChange() |
|
5044 @publishedPartner |
|
5045 @released*/ |
|
5046 { |
|
5047 public: |
|
5048 IMPORT_C TMobilePhoneMulticallSettingsV1(); |
|
5049 public: |
|
5050 /** Maximum number of simultaneous CS bearers allowed - defined by the user. |
|
5051 |
|
5052 Modes: WCDMA */ |
|
5053 TInt iUserMaxBearers; |
|
5054 /** Maximum number of simultaneous bearers allowed - defined by the service provider. |
|
5055 |
|
5056 Modes: WCDMA */ |
|
5057 TInt iServiceProviderMaxBearers; |
|
5058 /** Maximum number of simultaneous CS bearers supported by the network. |
|
5059 |
|
5060 Modes: WCDMA */ |
|
5061 TInt iNetworkSupportedMaxBearers; |
|
5062 /** Maximum number of simultaneous CS bearers supported by the UE. |
|
5063 |
|
5064 Modes: WCDMA */ |
|
5065 TInt iUESupportedMaxBearers; |
|
5066 }; |
|
5067 |
|
5068 /** A typedef'd packaged TMobilePhoneMulticallSettingsV1 for passing through a generic |
|
5069 API function member. */ |
|
5070 typedef TPckg<TMobilePhoneMulticallSettingsV1> TMobilePhoneMulticallSettingsV1Pckg; |
|
5071 |
|
5072 IMPORT_C void GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const; |
|
5073 IMPORT_C void SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const; |
|
5074 IMPORT_C void NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const; |
|
5075 |
|
5076 enum TMobilePhoneMulticallIndicator |
|
5077 /** |
|
5078 Indicators for exceeding allowed multiple active bearers. |
|
5079 */ |
|
5080 { |
|
5081 /** The maximum number of multiple active bearers allowed by the service provider has been exceeded. */ |
|
5082 EBearerNetworProviderExceeded, |
|
5083 /** The maximum number of multiple active bearers allowed by the mobile user has been exceeded. */ |
|
5084 EBearerUserExceeded |
|
5085 }; |
|
5086 |
|
5087 IMPORT_C void NotifyMulticallIndicatorChange(TRequestStatus& aReqStatus, TMobilePhoneMulticallIndicator& aMulticallIndicator) const; |
|
5088 |
|
5089 /***********************************************************************************/ |
|
5090 // |
|
5091 // MobileNextIncomingCall Functional Unit |
|
5092 // |
|
5093 /***********************************************************************************/ |
|
5094 |
|
5095 /** Incoming Call Types. |
|
5096 |
|
5097 Modes: Common */ |
|
5098 enum TMobilePhoneIncomingCallType |
|
5099 { |
|
5100 /** MS will receive any type of incoming call. |
|
5101 |
|
5102 Modes: Common */ |
|
5103 EIncomingTypeNotSpecified, |
|
5104 /** MS will request voice bearer for incoming calls. |
|
5105 |
|
5106 Modes: Common */ |
|
5107 EIncomingVoice, |
|
5108 /** MS will request fax bearer for incoming calls |
|
5109 |
|
5110 Modes: Common */ |
|
5111 EIncomingFax, |
|
5112 /** MS will request data bearer for incoming calls |
|
5113 |
|
5114 Modes: Common */ |
|
5115 EIncomingData, |
|
5116 /** MS will request a data bearer for use by a Multimedia CS call (voice fall back |
|
5117 is acceptable) for incoming calls. |
|
5118 |
|
5119 Modes: GSM/WCDMA */ |
|
5120 EIncomingMultimediaVoiceFallback, |
|
5121 /** MS will request a data bearer for use by a Multimedia CS call (voice fall back |
|
5122 NOT acceptable) for incoming calls |
|
5123 |
|
5124 Modes: GSM/WCDMA */ |
|
5125 EIncomingMultimediaNoFallback, |
|
5126 /** The single numbering scheme call mode is alternating voice to fax. |
|
5127 |
|
5128 Modes: GSM/WCDMA */ |
|
5129 EIncomingAlternatingVoiceFax, |
|
5130 /** The single numbering scheme call mode is alternating voice to data. |
|
5131 |
|
5132 Modes: GSM */ |
|
5133 EIncomingAlternatingVoiceData, |
|
5134 /** The single numbering scheme call mode is alternating fax to voice. |
|
5135 |
|
5136 Modes: GSM */ |
|
5137 EIncomingAlternatingFaxVoice, |
|
5138 /** The single numbering scheme call mode is alternating data to voice. |
|
5139 |
|
5140 Modes: GSM */ |
|
5141 EIncomingAlternatingDataVoice, |
|
5142 /** The single numbering scheme call mode is alternating voice then data. |
|
5143 |
|
5144 Modes: GSM */ |
|
5145 EIncomingAlternatingVoiceThenData |
|
5146 }; |
|
5147 |
|
5148 IMPORT_C void GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const; |
|
5149 IMPORT_C void SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const; |
|
5150 IMPORT_C void NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const; |
|
5151 |
|
5152 /***********************************************************************************/ |
|
5153 // |
|
5154 // User-To-User Signalling Functional Unit |
|
5155 // |
|
5156 /***********************************************************************************/ |
|
5157 |
|
5158 /** UUS Settings Requests. |
|
5159 |
|
5160 Modes: GSM/WCDMA */ |
|
5161 enum TMobilePhoneUUSSetting // UUS settings of the phone |
|
5162 { |
|
5163 /** UUS is not specified. */ |
|
5164 EIncomingUUSNotSpecified, |
|
5165 /** MS will accept incoming UUS activation request. */ |
|
5166 EIncomingUUSAccepted, |
|
5167 /** MS will reject incoming UUS activation request. */ |
|
5168 EIncomingUUSRejected |
|
5169 }; |
|
5170 |
|
5171 IMPORT_C void GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const; |
|
5172 IMPORT_C void SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const; |
|
5173 IMPORT_C void NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const; |
|
5174 |
|
5175 /***********************************************************************************/ |
|
5176 // |
|
5177 // Mobile Smart Card Applications Functional Unit |
|
5178 // |
|
5179 /***********************************************************************************/ |
|
5180 |
|
5181 |
|
5182 enum { KSmartCardApplicationLabelMaxSize=32 }; |
|
5183 |
|
5184 /** Smart card application info version v5.0. |
|
5185 Modes: Common |
|
5186 |
|
5187 @see GetSmartCardApplicationInfo() |
|
5188 @publishedPartner |
|
5189 @released |
|
5190 */ |
|
5191 class TSmartCardApplicationInfoV5 : public TMultimodeType |
|
5192 { |
|
5193 public: |
|
5194 IMPORT_C TSmartCardApplicationInfoV5(); |
|
5195 public: |
|
5196 /** |
|
5197 Smart card application identifier. |
|
5198 */ |
|
5199 TAID iAID; |
|
5200 /** |
|
5201 Smart card application label. 16 bit USC2 characters string provided by the application |
|
5202 provider to be shown to the user for information, e.g. operator name. It is |
|
5203 recommended by ETSI/3GPP spec that the application label does not exceed 32 |
|
5204 bytes. |
|
5205 |
|
5206 The application label is optional. If no label is provided, the buffer should |
|
5207 be NULL. |
|
5208 */ |
|
5209 TBuf8<KSmartCardApplicationLabelMaxSize> iLabel; |
|
5210 }; |
|
5211 |
|
5212 /** |
|
5213 A typedef'd packaged TSmartCardApplicationInfoV5 for passing through a generic API |
|
5214 function member. |
|
5215 */ |
|
5216 typedef TPckg<TSmartCardApplicationInfoV5> TSmartCardApplicationInfoV5Pckg; |
|
5217 |
|
5218 /** |
|
5219 Specifies the max length of the buffer used to retrieve the smart |
|
5220 card application's supported EAP method list. Value 255 since EAP |
|
5221 type list length fits into one byte (see table 5.1 of ETSI TS |
|
5222 102.310 v6.2.0). |
|
5223 |
|
5224 @see RMobilePhone::GetSmartCardApplicationInfo() |
|
5225 @see RMobilePhone::TUiccApplicationEapInfoV6::iEapTypeList |
|
5226 */ |
|
5227 enum { KEapSupportedTypeListSize = 255 }; |
|
5228 |
|
5229 /** |
|
5230 UICC application info version v6.0. Is a |
|
5231 TSmartCardApplicationInfoV5 object, but has an additional buffer |
|
5232 (iEapTypeList) for retrieving a list supported EAP methods on the |
|
5233 application. |
|
5234 |
|
5235 Modes: GSM/WCDMA |
|
5236 |
|
5237 @see RMobilePhone::GetSmartCardApplicationInfo() |
|
5238 @publishedPartner |
|
5239 @released |
|
5240 */ |
|
5241 class TUiccApplicationEapInfoV6 : public TSmartCardApplicationInfoV5 |
|
5242 { |
|
5243 public: |
|
5244 IMPORT_C TUiccApplicationEapInfoV6(); |
|
5245 |
|
5246 public: |
|
5247 /** |
|
5248 Application EAP support type list, defining the EAP methods |
|
5249 supported by the UICC application (see RFC 3748 and |
|
5250 http://www.iana.org/assignments/eap-numbers). |
|
5251 |
|
5252 As reference, also worth seeing section 5.2 of ETSI TS 102.310 |
|
5253 v6.2.0 and section 6.2 of RFC3748. |
|
5254 |
|
5255 @see KETelSmartCardEapTypeMD5 |
|
5256 @see KETelSmartCardEapTypeTLS |
|
5257 @see KETelSmartCardEapTypeSIM |
|
5258 @see KETelSmartCardEapTypeAKA |
|
5259 @see KETelSmartCardEapTypeTTLS |
|
5260 */ |
|
5261 TBuf8<KEapSupportedTypeListSize> iEapTypeList; |
|
5262 }; |
|
5263 |
|
5264 /** |
|
5265 A typedef'd packaged TEapUiccApplicationInfoV6 for passing through |
|
5266 a generic API function member. |
|
5267 |
|
5268 @see RMobilePhone::GetSmartCardApplicationInfo() |
|
5269 */ |
|
5270 typedef TPckg<TUiccApplicationEapInfoV6> TUiccApplicationEapInfoV6Pckg; |
|
5271 |
|
5272 /** |
|
5273 Smart card application notification events |
|
5274 |
|
5275 Modes: Common |
|
5276 */ |
|
5277 enum TSmartCardApplicationEvent |
|
5278 { |
|
5279 /** |
|
5280 Smart card application has been installed. |
|
5281 */ |
|
5282 EScApplicationInstalled, |
|
5283 /** |
|
5284 Smart card application has been removed. |
|
5285 */ |
|
5286 EScApplicationRemoved, |
|
5287 /** |
|
5288 Smart card application has been activated. |
|
5289 */ |
|
5290 EScApplicationActivated, |
|
5291 /** |
|
5292 Smart card application has been terminated. |
|
5293 */ |
|
5294 EScApplicationTerminated |
|
5295 }; |
|
5296 |
|
5297 /** |
|
5298 Smart card application status. |
|
5299 |
|
5300 Modes: Common |
|
5301 */ |
|
5302 enum TSmartCardApplicationAction |
|
5303 { |
|
5304 /** |
|
5305 Smart card application will be activated. |
|
5306 */ |
|
5307 EScApplicationActivate, |
|
5308 /** |
|
5309 Smart card application will be terminated. |
|
5310 */ |
|
5311 EScTerminate |
|
5312 }; |
|
5313 |
|
5314 /** |
|
5315 Smart card application file types. For definitions see TS 102.221. |
|
5316 |
|
5317 Modes: Common |
|
5318 */ |
|
5319 enum TScFileType |
|
5320 { |
|
5321 /** |
|
5322 Smart card file type is unknown. |
|
5323 */ |
|
5324 EUnknown, |
|
5325 /** |
|
5326 Smart card file type is linear fixed. |
|
5327 |
|
5328 This is a record-based file. |
|
5329 */ |
|
5330 ELinearFixed, |
|
5331 /** |
|
5332 Smart card file type is cyclic. |
|
5333 |
|
5334 This is a record-based file. |
|
5335 */ |
|
5336 ECyclic, |
|
5337 /** |
|
5338 Smart card file type is transparent. |
|
5339 |
|
5340 This is a binary file. |
|
5341 */ |
|
5342 ETransparent |
|
5343 }; |
|
5344 |
|
5345 /** |
|
5346 Typedef to hold a 2-byte file identifier. |
|
5347 */ |
|
5348 typedef TUint16 TScFileID; |
|
5349 |
|
5350 /** Smart card application file info version v5.0. |
|
5351 Modes: Common |
|
5352 |
|
5353 @see GetScFileInfo() |
|
5354 @publishedPartner |
|
5355 @released |
|
5356 */ |
|
5357 class TScFileInfoV5 : public TMultimodeType |
|
5358 { |
|
5359 public: |
|
5360 IMPORT_C TScFileInfoV5(); |
|
5361 public: |
|
5362 /** |
|
5363 Smart card file identifier. |
|
5364 */ |
|
5365 TScFileID iFileID; |
|
5366 /** |
|
5367 The type of the smart card file. Options are |
|
5368 Linear Fixed, Cyclic or Transparent. |
|
5369 */ |
|
5370 TScFileType iType; |
|
5371 /** |
|
5372 Total length of the file. As specified in TS 102.221 the maximum length of an EF is 0xFFF bytes. |
|
5373 */ |
|
5374 TInt iTotalLength; |
|
5375 /** |
|
5376 If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the fixed length of a record in the file. |
|
5377 If file type is ETransparent then this value is unused and will be set to 0. |
|
5378 |
|
5379 From TS 102.221 the maximum length of a record in an EF is 255 bytes. |
|
5380 */ |
|
5381 TInt iRecordLength; |
|
5382 /** |
|
5383 If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the number of records in the file. |
|
5384 If file type is ETransparent then this value is unused and will be set to 0. |
|
5385 |
|
5386 From TS 102.221 the maximum number of records in an EF is 254. |
|
5387 */ |
|
5388 TInt iNumberRecords; |
|
5389 }; |
|
5390 |
|
5391 |
|
5392 /** A typedef'd packaged TScFileInfoV5 for passing through a generic API |
|
5393 function member. |
|
5394 */ |
|
5395 typedef TPckg<TScFileInfoV5> TScFileInfoV5Pckg; |
|
5396 |
|
5397 /** |
|
5398 This based on the maximum number of bytes in a command PDU |
|
5399 as defined in TS 102.221 however the actual path string is very unlikely to ever be this big. |
|
5400 |
|
5401 Modes: Common |
|
5402 */ |
|
5403 enum{ KMaxScFilePathLength = 256}; |
|
5404 |
|
5405 /** |
|
5406 A typedef'd buffer to hold the path to an EF file. |
|
5407 */ |
|
5408 typedef TBuf8<KMaxScFilePathLength> TScFilePathReference; |
|
5409 |
|
5410 |
|
5411 /** |
|
5412 Class that holds a smart card applications AID and associated file path string. |
|
5413 |
|
5414 Modes: Common |
|
5415 |
|
5416 @see GetScFileInfo() |
|
5417 @publishedPartner |
|
5418 @released |
|
5419 */ |
|
5420 class TScFilePath |
|
5421 { |
|
5422 public: |
|
5423 IMPORT_C TScFilePath(); |
|
5424 public: |
|
5425 /** |
|
5426 AID of application. This may be empty implying the iPath is a path reference starting at the master file (MF). |
|
5427 */ |
|
5428 TAID iAID; |
|
5429 /** |
|
5430 Full path reference to file. |
|
5431 |
|
5432 The iPath must define the file path using full path referencing. This is because the client does not know |
|
5433 what is the currently selected EF or DF and it is therefore necessary to select the file by full |
|
5434 path referencing from the master file. |
|
5435 |
|
5436 If iAID value is empty then the iPath reference starts from the MF file but should not include the file ID of the MF (3F00) itself. |
|
5437 E.g. To reference the EF_DIR - iAID would be empty and iPath would be set to "2F00". |
|
5438 E.g. To refefence the EF_SMS under DF_TELECOM on a 2G SIM ICC - iAID would be empty and iPath would be set to "7F106F3C". |
|
5439 |
|
5440 If iAID is non-empty then it refers to the AID of the application and iPath is a path reference to a file in that application, |
|
5441 In this situation the path reference may start with the implicit FID of the application DF (7FFF). |
|
5442 E.g. The path to reference to the EF_SMS file in a USIM application using implicit ADF FID would |
|
5443 be "7FFF6F3C". |
|
5444 |
|
5445 See TS102.221 section 8.4.2 for more information. |
|
5446 */ |
|
5447 TScFilePathReference iPath; |
|
5448 }; |
|
5449 |
|
5450 /** Smart card application file identifier and access offsets. This class is used to identify a file and the |
|
5451 location in a file to either read or write. Inherits attributes from TScFilePath which provide the |
|
5452 parent AID and full path reference. |
|
5453 |
|
5454 Modes: Common |
|
5455 |
|
5456 @see TScFilePath |
|
5457 @see ReadScFile() |
|
5458 @see UpdateScFile() |
|
5459 @publishedPartner |
|
5460 @released |
|
5461 */ |
|
5462 class TScFilePathWithAccessOffsets : public TScFilePath |
|
5463 { |
|
5464 public: |
|
5465 IMPORT_C TScFilePathWithAccessOffsets(); |
|
5466 public: |
|
5467 /** |
|
5468 The type of the smart card file. Options are |
|
5469 Linear Fixed, Cyclic or Transparent. |
|
5470 */ |
|
5471 TScFileType iType; |
|
5472 /** |
|
5473 If file type is ELinearFixed or ECyclic then this is the starting record index to read or update. |
|
5474 This must be less than the number of records in the file. |
|
5475 |
|
5476 If file type is ETransparent then this is the offset (in bytes) from the start of the transparent file to read or update. |
|
5477 This must be less than the total file size. |
|
5478 */ |
|
5479 TUint iStartOffset; |
|
5480 /** |
|
5481 If the file type is ELinearFixed or ECyclic then this is unused. |
|
5482 NOTE: A call to ReadScFile or UpdateScFile for a record based file type will only read or update |
|
5483 one record as described in TS 102.221 READ RECORD and UPDATE RECORD. |
|
5484 |
|
5485 If file type is ETransparent then this is the number of bytes to read or update. |
|
5486 */ |
|
5487 TUint iCount; |
|
5488 }; |
|
5489 |
|
5490 IMPORT_C void EnumerateSmartCardApplications(TRequestStatus& aReqStatus, TUint& aCount) const; |
|
5491 IMPORT_C void GetSmartCardApplicationInfo(TRequestStatus& aReqStatus, TUint aAppIndex, TDes8& aInfo) const; |
|
5492 IMPORT_C void NotifySmartCardApplicationInfoChange(TRequestStatus& aReqStatus, TAID& aAID, TSmartCardApplicationEvent& aEvent) const; |
|
5493 IMPORT_C void SetSmartCardApplicationStatus(TRequestStatus& aReqStatus, const TAID& aAID, TSmartCardApplicationAction aAppAction) const; |
|
5494 IMPORT_C void GetScFileInfo(TRequestStatus& aReqStatus, const TScFilePath& aFilePathId, TDes8& aInfo) const; |
|
5495 IMPORT_C void ReadScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aReadBuffer) const; |
|
5496 IMPORT_C void UpdateScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aUpdateBuffer) const; |
|
5497 |
|
5498 /***********************************************************************************/ |
|
5499 // |
|
5500 // Mobile USIM Applications Functional Unit |
|
5501 // |
|
5502 /***********************************************************************************/ |
|
5503 |
|
5504 enum { KUSimApplicationLabelMaxSize=32 }; |
|
5505 |
|
5506 IMPORT_C void EnumerateUSimApplications(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1 |
|
5507 |
|
5508 class TUSimApplicationInfoV2 : public TMultimodeType |
|
5509 /** USIM application information for version v2.0. |
|
5510 |
|
5511 @deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead. |
|
5512 */ |
|
5513 { |
|
5514 public: |
|
5515 IMPORT_C TUSimApplicationInfoV2(); |
|
5516 public: |
|
5517 /** USIM Application identifier. |
|
5518 |
|
5519 Modes: WCDMA */ |
|
5520 TAID iAID; |
|
5521 /** USIM Application label. 16 bit USC2 characters string provided by the application |
|
5522 provider to be shown to the user for information, e.g. operator name. It is |
|
5523 recommended by ETSI/3GPP spec that the application label does not exceed 32 |
|
5524 bytes. |
|
5525 |
|
5526 The application label is optional. If no label is provided, the buffer should |
|
5527 be NULL. |
|
5528 |
|
5529 Modes: WCDMA */ |
|
5530 TBuf8<KUSimApplicationLabelMaxSize> iLabel; |
|
5531 }; |
|
5532 |
|
5533 /** A typedef'd packaged TUSimApplicationInfoV2 for passing through a generic API |
|
5534 function member. |
|
5535 |
|
5536 @deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead. |
|
5537 */ |
|
5538 typedef TPckg<TUSimApplicationInfoV2> TUSimApplicationInfoV2Pckg; |
|
5539 |
|
5540 IMPORT_C void GetUSimApplicationInfo(TRequestStatus& aReqStatus, TInt aUSimAppIndex, TDes8& aInfo) const; //deprecated 9.1 |
|
5541 IMPORT_C void NotifyUSimApplicationsInfoChange(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1 |
|
5542 |
|
5543 /** USIM Application Status. |
|
5544 |
|
5545 Modes: WCDMA |
|
5546 |
|
5547 @deprecated 9.1 Use @see TSmartCardApplicationAction instead. |
|
5548 */ |
|
5549 enum TUSimAppAction |
|
5550 { |
|
5551 /** USIM application will be activated. |
|
5552 |
|
5553 Modes: WCDMA */ |
|
5554 EUSimActivate, |
|
5555 /** USIM application will be terminated. |
|
5556 |
|
5557 Modes: WCDMA */ |
|
5558 EUSimTerminate |
|
5559 }; |
|
5560 |
|
5561 IMPORT_C void SetUSimApplicationStatus(TRequestStatus& aReqStatus, const TAID aAID, TUSimAppAction aUsimAppAction) const; //deprecated 9.1 |
|
5562 |
|
5563 /** USIM Application selection mode. |
|
5564 |
|
5565 Mode: WCDMA */ |
|
5566 enum TUSimSelectionMode |
|
5567 { |
|
5568 /** USIM application is selected automatically by phone. |
|
5569 |
|
5570 Mode: WCDMA */ |
|
5571 EUSimSelectionAutomatic, |
|
5572 /** USIM application is selected manually by user. |
|
5573 |
|
5574 Mode: WCDMA */ |
|
5575 EUSimSelectionManual |
|
5576 }; |
|
5577 |
|
5578 IMPORT_C TInt SetUSimAppsSelectionMode(TUSimSelectionMode aUSimSelectionMode) const; |
|
5579 IMPORT_C TInt GetUSimAppsSelectionMode(TUSimSelectionMode& aUSimSelectionMode) const; |
|
5580 IMPORT_C void NotifyUSimAppsSelectionModeChange(TRequestStatus& aReqStatus, TUSimSelectionMode& aUSimSelectionMode) const; |
|
5581 IMPORT_C void GetCurrentActiveUSimApplication(TRequestStatus& aReqStatus, TAID& aAID) const; |
|
5582 |
|
5583 /***********************************************************************************/ |
|
5584 // |
|
5585 // Mobile MMS Functional Unit |
|
5586 // |
|
5587 /***********************************************************************************/ |
|
5588 |
|
5589 /** max size of MMS notification buffer. */ |
|
5590 |
|
5591 enum{KMaxMmsNotification = 253}; |
|
5592 |
|
5593 /** |
|
5594 Identifies current status of MMS. |
|
5595 */ |
|
5596 enum TMmsStatus |
|
5597 { |
|
5598 /** |
|
5599 The MMS has not been retrieved. |
|
5600 */ |
|
5601 EMmsNotRetrieved, |
|
5602 /** |
|
5603 The MMS has been retrieved. |
|
5604 */ |
|
5605 EMmsRetrieved, |
|
5606 /** |
|
5607 The MMS has been rejected. |
|
5608 */ |
|
5609 EMmsRejected, |
|
5610 /** |
|
5611 The MMS has been forwarded. |
|
5612 */ |
|
5613 EMmsforwarded |
|
5614 }; |
|
5615 |
|
5616 /** |
|
5617 MMS Implementation. |
|
5618 */ |
|
5619 enum TMmsImplementation |
|
5620 { |
|
5621 /** |
|
5622 Unknown implementation for MMS. |
|
5623 */ |
|
5624 KMmsImplUnknwown=0x00, |
|
5625 /** |
|
5626 Wap implementation for MMS. |
|
5627 */ |
|
5628 KWapImplementation=0x01 |
|
5629 }; |
|
5630 |
|
5631 /** |
|
5632 MMS Connectivity settings. |
|
5633 */ |
|
5634 enum TMmsConnParams |
|
5635 { |
|
5636 /** |
|
5637 MMS User Preferences. |
|
5638 */ |
|
5639 EUserPreferences, |
|
5640 /** |
|
5641 MMS Issuer Connectivity Parameters. |
|
5642 */ |
|
5643 EIssuerConnParams, |
|
5644 /** |
|
5645 MMS User Connectivity Parameters. |
|
5646 */ |
|
5647 EUserConnParams |
|
5648 }; |
|
5649 |
|
5650 /** |
|
5651 MMS field Id tags. |
|
5652 */ |
|
5653 enum TMobileMMSFieldTags |
|
5654 { |
|
5655 /** |
|
5656 Tag id for MMS connectivity parameters. |
|
5657 */ |
|
5658 ETagMmsConnParams=0xAB, |
|
5659 /** |
|
5660 Tag id for MMS Implementation. |
|
5661 */ |
|
5662 ETagMmsImpl=0x80, |
|
5663 /** |
|
5664 Tag id for MMS Relay/Server. |
|
5665 */ |
|
5666 ETagMmsServer=0x81, |
|
5667 /** |
|
5668 Tag id for Interface to Core Network and Bearer. |
|
5669 */ |
|
5670 ETagMmsBearerIE=0x82, |
|
5671 /** |
|
5672 Tag id for Gateway. |
|
5673 */ |
|
5674 ETagMmsGateway=0x83 |
|
5675 }; |
|
5676 |
|
5677 class TMmsNotificationV3 : public TMultimodeType |
|
5678 /** |
|
5679 Class containing MMS notification paramters. |
|
5680 */ |
|
5681 { |
|
5682 public : |
|
5683 IMPORT_C TMmsNotificationV3(); |
|
5684 public : |
|
5685 /** |
|
5686 Free/Used space. |
|
5687 */ |
|
5688 TBool iSpace; |
|
5689 /** |
|
5690 Notification read/not read. |
|
5691 */ |
|
5692 TBool iNotification; |
|
5693 /** |
|
5694 MMS status. |
|
5695 */ |
|
5696 TMmsStatus iMmsStatus; |
|
5697 /** |
|
5698 MMS implementation. |
|
5699 */ |
|
5700 TMmsImplementation iImplementation; |
|
5701 /** |
|
5702 MMS notification buffer. |
|
5703 */ |
|
5704 TBuf8<KMaxMmsNotification> iNotify; |
|
5705 }; |
|
5706 |
|
5707 typedef TPckg<TMmsNotificationV3> TMmsNotificationV3Pckg; |
|
5708 |
|
5709 // MMS notification |
|
5710 IMPORT_C void NotifyMmsUpdate(TRequestStatus& aReqStatus, TDes8& aNotification) const; |
|
5711 IMPORT_C void SetMmsUserConnParams(TRequestStatus& aReqStatus, TDes8& aConnectivity) const; |
|
5712 IMPORT_C void SetMmsUserPreferences(TRequestStatus& aReqStatus, TDes8& aPreferences) const; |
|
5713 IMPORT_C void GetMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const; |
|
5714 IMPORT_C void NotifyMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const; |
|
5715 |
|
5716 /***********************************************************************************/ |
|
5717 // |
|
5718 // Mobile MailBox Numbers Functional Unit |
|
5719 // |
|
5720 /***********************************************************************************/ |
|
5721 |
|
5722 class TMobilePhoneVoicemailIdsV3 : public TMultimodeType |
|
5723 /** |
|
5724 Contains mailbox numbers. |
|
5725 */ |
|
5726 { |
|
5727 public : |
|
5728 IMPORT_C TMobilePhoneVoicemailIdsV3(); |
|
5729 public : |
|
5730 /** |
|
5731 Phonebook entry for "voicemail" mailbox number. |
|
5732 */ |
|
5733 TUint8 iVoice; |
|
5734 /** |
|
5735 Phonebook entry for "data" mailbox number. |
|
5736 */ |
|
5737 TUint8 iData; |
|
5738 /** |
|
5739 Phonebook entry for "fax" mailbox number. |
|
5740 */ |
|
5741 TUint8 iFax; |
|
5742 /** |
|
5743 Phonebook entry for "other" mailbox number. |
|
5744 */ |
|
5745 TUint8 iOther; |
|
5746 }; |
|
5747 |
|
5748 /** A typedef'd packaged TMobilePhoneVoicemailIdsV3 for passing through a generic |
|
5749 API function member. */ |
|
5750 typedef TPckg<TMobilePhoneVoicemailIdsV3> TMobilePhoneVoicemailIdsV3Pckg; |
|
5751 |
|
5752 class TMobilePhoneVoicemailIdsV8 : public TMobilePhoneVoicemailIdsV3 |
|
5753 /** |
|
5754 Contains mailbox numbers see section 4.2.62 of 3GPP TS 31.102 V6.18.0. |
|
5755 */ |
|
5756 { |
|
5757 public : |
|
5758 IMPORT_C TMobilePhoneVoicemailIdsV8(); |
|
5759 public : |
|
5760 /** |
|
5761 Phonebook entry for "videomail" mailbox number. |
|
5762 */ |
|
5763 TUint8 iVideo; |
|
5764 }; |
|
5765 |
|
5766 /** A typedef'd packaged TMobilePhoneVoicemailIdsV8 for passing through a generic |
|
5767 API function member. */ |
|
5768 typedef TPckg<TMobilePhoneVoicemailIdsV8> TMobilePhoneVoicemailIdsV8Pckg; |
|
5769 |
|
5770 IMPORT_C void GetMailboxNumbers(TRequestStatus& aReqStatus, TDes8& aMailBox) const; |
|
5771 IMPORT_C void NotifyMailboxNumbersChange(TRequestStatus& aReqStatus, TDes8& aMailBox) const; |
|
5772 |
|
5773 /***********************************************************************************/ |
|
5774 // |
|
5775 // Mobile APN Control List Functional Unit |
|
5776 // |
|
5777 /***********************************************************************************/ |
|
5778 |
|
5779 enum { KMaxApnName = 100 }; |
|
5780 |
|
5781 class TAPNEntryV3 : public TMultimodeType |
|
5782 /** |
|
5783 Contains parameters for an Access Point Name (APN) entry contained |
|
5784 within the Access Control List EFacl file in the UICC. |
|
5785 */ |
|
5786 { |
|
5787 public: |
|
5788 IMPORT_C TAPNEntryV3(); |
|
5789 public: |
|
5790 /** |
|
5791 GGSN DNS name. |
|
5792 */ |
|
5793 TBuf8<KMaxApnName> iApn; |
|
5794 }; |
|
5795 |
|
5796 typedef TPckg<TAPNEntryV3> TAPNEntryV3Pckg; |
|
5797 |
|
5798 IMPORT_C void EnumerateAPNEntries(TRequestStatus& aReqStatus, TUint32 &aIndex) const; |
|
5799 IMPORT_C void GetAPNname(TRequestStatus& aReqStatus, const TUint32 aIndex, TDes8& aAPN) const; |
|
5800 IMPORT_C void AppendAPNName(TRequestStatus& aReqStatus, const TDes8& aAPN) const; |
|
5801 IMPORT_C void DeleteAPNName(TRequestStatus& aReqStatus, TUint32 aIndex) const; |
|
5802 IMPORT_C void NotifyAPNListChanged(TRequestStatus& aReqStatus) const; |
|
5803 |
|
5804 enum TAPNControlListServiceStatus { |
|
5805 /** |
|
5806 The APN control list service is disabled. |
|
5807 */ |
|
5808 EAPNControlListServiceDisabled, |
|
5809 /** |
|
5810 The APN control list service is enabled. |
|
5811 */ |
|
5812 EAPNControlListServiceEnabled |
|
5813 }; |
|
5814 |
|
5815 IMPORT_C void SetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus aAPNControlListServiceStatus) const; |
|
5816 IMPORT_C void GetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const; |
|
5817 IMPORT_C void NotifyAPNControlListServiceStatusChange(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const; |
|
5818 |
|
5819 /***********************************************************************************/ |
|
5820 // |
|
5821 // Retrieve Total Air Time Duration Functional Unit |
|
5822 // |
|
5823 /***********************************************************************************/ |
|
5824 IMPORT_C TInt GetAirTimeDuration(TTimeIntervalSeconds& aTime) const; |
|
5825 IMPORT_C void NotifyAirTimeDurationChange(TRequestStatus& aReqStatus,TTimeIntervalSeconds& aTime) const; |
|
5826 /***********************************************************************************/ |
|
5827 // |
|
5828 // Terminate All Calls |
|
5829 // |
|
5830 /***********************************************************************************/ |
|
5831 IMPORT_C void TerminateAllCalls(TRequestStatus& aReqStatus) const; |
|
5832 |
|
5833 /***********************************************************************************/ |
|
5834 // |
|
5835 // Auto Redial Functional Unit |
|
5836 // |
|
5837 /***********************************************************************************/ |
|
5838 IMPORT_C void ClearBlacklist(TRequestStatus& aReqStatus) const; |
|
5839 |
|
5840 /***********************************************************************************/ |
|
5841 // |
|
5842 // Mobile Personalisation Functional Unit |
|
5843 // |
|
5844 /***********************************************************************************/ |
|
5845 |
|
5846 /** |
|
5847 Indentifies the personalisation scheme capabilities of the UICC/ME. |
|
5848 */ |
|
5849 enum TMobilePhonePersonalisationCaps |
|
5850 { |
|
5851 /** |
|
5852 UICC/ME personalisation based on network (MCC, MNC) information is possible. |
|
5853 */ |
|
5854 KCapsPersonalisedNetwork=0x01, |
|
5855 /** |
|
5856 UICC/ME personalisation based on network (MCC, MNC, IMSI network code group) information is possible. |
|
5857 */ |
|
5858 KCapsPersonalisedNetworkSub=0x02, |
|
5859 /** |
|
5860 UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFCNL) information is possible. |
|
5861 */ |
|
5862 KCapsPersonalisedServiceProvider=0x04, |
|
5863 /** |
|
5864 UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFGID2, EFCNL) information is possible. |
|
5865 */ |
|
5866 KCapsPersonalisedCorporate=0x08, |
|
5867 /** |
|
5868 UICC/ME personalisation based on (IMSI SIM/USIM code group) information is possible. |
|
5869 */ |
|
5870 KCapsPersonalisedUSim=0x10 |
|
5871 }; |
|
5872 |
|
5873 /** |
|
5874 Identifies the current personalisation schemes that are active. |
|
5875 */ |
|
5876 enum TMobilePhonePersonalisationScheme |
|
5877 { |
|
5878 /** |
|
5879 The ME is personalised under the network scheme. |
|
5880 */ |
|
5881 KPersonalisedNetwork=0x01, |
|
5882 /** |
|
5883 The ME is personalised under the network sub scheme. |
|
5884 */ |
|
5885 KPersonalisedNetworkSub=0x02, |
|
5886 /** |
|
5887 The ME is personalised under the service provider scheme. |
|
5888 */ |
|
5889 KPersonalisedServiceProvider=0x04, |
|
5890 /** |
|
5891 The ME is personalised under the corprorate scheme. |
|
5892 */ |
|
5893 KPersonalisedCorporate=0x08, |
|
5894 /** |
|
5895 The ME is personalised under the SIM/USIM scheme. |
|
5896 */ |
|
5897 KPersonalisedUSim=0x10 |
|
5898 }; |
|
5899 |
|
5900 /** |
|
5901 Identifies the personalisation scheme to be set. |
|
5902 */ |
|
5903 enum TMobilePhonePersonalisation |
|
5904 { |
|
5905 /** |
|
5906 Personalise the ME using the network scheme. |
|
5907 */ |
|
5908 EPersonaliseNetwork, |
|
5909 /** |
|
5910 Personalise the ME using the network sub scheme. |
|
5911 */ |
|
5912 EPersonaliseNetworkSub, |
|
5913 /** |
|
5914 Personalise the ME using the service provider scheme. |
|
5915 */ |
|
5916 EPersonaliseServiceProvider, |
|
5917 /** |
|
5918 Personalise the ME using the corporate scheme. |
|
5919 */ |
|
5920 EPersonaliseCorporate, |
|
5921 /** |
|
5922 Personalise the ME using the SIM/USIM scheme. |
|
5923 */ |
|
5924 EPersonaliseUsim |
|
5925 }; |
|
5926 |
|
5927 IMPORT_C TInt GetPersonalisationCaps(TUint32& aCaps) const; |
|
5928 IMPORT_C void GetPersonalisationStatus(TRequestStatus& aReqStatus, TUint32& aPersSchemes) const; |
|
5929 IMPORT_C void SetPersonalisationStatus(TRequestStatus& aReqStatus, const TMobilePhonePersonalisation aPersSchemes, const TDes& aPersCode) const; |
|
5930 |
|
5931 /***********************************************************************************/ |
|
5932 // |
|
5933 // Etel 3rd Party v1.0 Parameter classes |
|
5934 // |
|
5935 /***********************************************************************************/ |
|
5936 |
|
5937 class TEtel3rdPartyMobileNetworkInfoV1 : public TMultimodeType |
|
5938 /** |
|
5939 Defines the parameters used to set-up of a call originated from an ETel 3rd Party client. |
|
5940 |
|
5941 TEtel3rdPartyMobileNetworkInfoV1 was used to give an indication to the TSY of where the |
|
5942 request was originating from; i.e. if the request is from an application using the ISV |
|
5943 API or ETel API, which allowed the TSY to make a decision based on the origin. This |
|
5944 data type also provided further protection by not including any location information |
|
5945 parameters. With PlatSec being introduced in v9.0, there was no need to use this data |
|
5946 structure, as each API is policed with the adequate PlatSec capabilities. Therefore, |
|
5947 in v9.0 TEtel3rdPartyMobileNetworkInfoV1 was deprecated and removed from the ETel ISV |
|
5948 (ETel3rdParty) implementation. |
|
5949 |
|
5950 TEtel3rdPartyMobileNetworkInfoV1 was only used internally by the ETel ISV API when calls |
|
5951 are made to RMobilePhone::GetCurrentNetwork or RMobilePhone::NotifyCurrentNetworkChange. |
|
5952 The TSY no longer needs to support this as ETel ISV now uses the TMobilePhoneNetworkInfoV2 |
|
5953 data structure and no distinction is required for ISV Apps. |
|
5954 |
|
5955 @publishedPartner |
|
5956 @deprecated 9.0 This class has been deprecated from 9.0 and should no longer be used. |
|
5957 */ |
|
5958 { |
|
5959 public: |
|
5960 IMPORT_C TEtel3rdPartyMobileNetworkInfoV1(); |
|
5961 public: |
|
5962 /** Mode of the network. |
|
5963 Modes: Common |
|
5964 |
|
5965 @see TMobilePhoneNetworkMode */ |
|
5966 TMobilePhoneNetworkMode iMode; |
|
5967 /** Status of the network |
|
5968 |
|
5969 Modes: Common |
|
5970 |
|
5971 @see TMobilePhoneNetworkStatus */ |
|
5972 TMobilePhoneNetworkStatus iStatus; |
|
5973 /** The band and band class of the CDMA network operator. |
|
5974 |
|
5975 Modes: CDMA |
|
5976 |
|
5977 @see TMobilePhoneNetworkBandInfo |
|
5978 @deprecated 9.5 */ |
|
5979 TMobilePhoneNetworkBandInfo iBandInfo; |
|
5980 /** The MCC of the network. |
|
5981 |
|
5982 Modes: Common |
|
5983 |
|
5984 @see TMobilePhoneNetworkCountryCode */ |
|
5985 TMobilePhoneNetworkCountryCode iCountryCode; |
|
5986 /** The system identity (SID) of the CDMA network or the system identity (SID) of the AMPS network. |
|
5987 |
|
5988 Modes: CDMA |
|
5989 |
|
5990 @see TMobilePhoneNetworkIdentity |
|
5991 @deprecated 9.5 |
|
5992 */ |
|
5993 TMobilePhoneNetworkIdentity iCdmaSID; |
|
5994 /** The network identity (NID in CDMA and MNC in GSM). |
|
5995 |
|
5996 Modes: Common |
|
5997 |
|
5998 @see TMobilePhoneNetworkIdentity */ |
|
5999 TMobilePhoneNetworkIdentity iNetworkId; |
|
6000 /** The alpha-tag displayed when this is the serving network. |
|
6001 |
|
6002 Modes: Common |
|
6003 |
|
6004 @see TMobilePhoneNetworkDisplayTag */ |
|
6005 TMobilePhoneNetworkDisplayTag iDisplayTag; |
|
6006 /** The short name (up to 10 characters) of the network operator. |
|
6007 |
|
6008 Modes: GSM/WCDMA |
|
6009 |
|
6010 @see TMobilePhoneNetworkShortName */ |
|
6011 TMobilePhoneNetworkShortName iShortName; |
|
6012 /** The long name (up to 20 characters) of the network operator. |
|
6013 |
|
6014 Modes: GSM/WCDMA |
|
6015 |
|
6016 @see TMobilePhoneNetworkLongName */ |
|
6017 TMobilePhoneNetworkLongName iLongName; |
|
6018 /** The type of network access. |
|
6019 |
|
6020 @see TMobilePhoneNetworkAccess */ |
|
6021 TMobilePhoneNetworkAccess iAccess; |
|
6022 }; |
|
6023 |
|
6024 /** A typedef'd packaged TEtel3rdPartyMobileNetworkInfoV1 for passing through a generic |
|
6025 API function member. |
|
6026 |
|
6027 @deprecated 9.0 |
|
6028 */ |
|
6029 typedef TPckg<TEtel3rdPartyMobileNetworkInfoV1> TEtel3rdPartyMobileNetworkInfoV1Pckg; |
|
6030 |
|
6031 /** IMS Authenticate constants,in accordance to 3GPP TS 33.102, |
|
6032 section 6.3.7, and RFC 3310*/ |
|
6033 enum TMobilePhoneAuthenticate |
|
6034 { |
|
6035 /** length of autn is 128bits - 16octets*/ |
|
6036 KAutnLength=16, |
|
6037 /** length of RAND is 16 octets */ |
|
6038 KRandLength=16, |
|
6039 /** length of RES is 16 octets*/ |
|
6040 KResLength=16, |
|
6041 /** length of IK is 16 octets*/ |
|
6042 KIkLength=16, |
|
6043 /** length of CK is 16 octets*/ |
|
6044 KCkLength=16, |
|
6045 /** length of Kc (GSM cipher key) is 8 octets*/ |
|
6046 KKcLength=8, |
|
6047 /** length of is 112 bits - 14 octets */ |
|
6048 KAutsLength=14, |
|
6049 }; |
|
6050 |
|
6051 /** Maximum size of the record in an EF is 0xff( 255 bytes) according to TS 102.221, section 8.2.2.2 |
|
6052 */ |
|
6053 enum TMobilePhoneRelease5EFMaxSize |
|
6054 { |
|
6055 KRelease5EFMaxSize=255, |
|
6056 }; |
|
6057 |
|
6058 /** typedefs for encapsulation of the buffers that hold authorization data stored on the ISIM/USIM*/ |
|
6059 /** typedef for Internet Multimedia Public Identity*/ |
|
6060 typedef TBuf8<KRelease5EFMaxSize> TIMPU; |
|
6061 /** typedef for Internet Multimedia Private Identity*/ |
|
6062 typedef TBuf8<KRelease5EFMaxSize> TIMPI; |
|
6063 /** typedef for Home Network Domain Name*/ |
|
6064 typedef TBuf8<KRelease5EFMaxSize> THNDN; |
|
6065 |
|
6066 |
|
6067 /** IMS Authenticate API*/ |
|
6068 /** Class encapsulates data needed as an input/output for |
|
6069 ISIM/USIM AUTHENTICATE command |
|
6070 |
|
6071 @publishedPartner |
|
6072 @released |
|
6073 */ |
|
6074 class TImsAuthenticateDataV5: public TMultimodeType |
|
6075 { |
|
6076 public: |
|
6077 IMPORT_C TImsAuthenticateDataV5(); |
|
6078 /** holds value of network challenge AUTN */ |
|
6079 TBuf8<KAutnLength> iAUTN; |
|
6080 /** holds value of network challenge RAND */ |
|
6081 TBuf8<KRandLength> iRAND; |
|
6082 /** holds result RES of AUTHENTICATE command when it's successfull*/ |
|
6083 TBuf8<KResLength> iRES; |
|
6084 /** holds value of session key Integrity Key */ |
|
6085 TBuf8<KIkLength> iIK; |
|
6086 /** holds value of session key Cipher Key */ |
|
6087 TBuf8<KCkLength> iCK; |
|
6088 /** holds value of Authentication Token when AUTHENTICATE fails*/ |
|
6089 TBuf8<KAutsLength> iAUTS; |
|
6090 }; |
|
6091 |
|
6092 /** packaged version of TImsAuthenticateDataV5, used when this structure has to be passeed via IPC*/ |
|
6093 typedef TPckg<TImsAuthenticateDataV5> TImsAuthenticateDataV5Pckg; |
|
6094 friend class CAsyncRetrieveAuthorizationInfo; |
|
6095 |
|
6096 /** API that execute ISIM/USIM AUTHENTICATE command*/ |
|
6097 IMPORT_C void ImsAuthenticate (TRequestStatus& aReqStatus,TDes8& aAuthenticateDataPckgd) const; |
|
6098 |
|
6099 IMPORT_C void NotifyImsAuthorizationInfoChange(TRequestStatus& aReqStatus) const; |
|
6100 |
|
6101 /** |
|
6102 Source location of IMS Authorization data. |
|
6103 */ |
|
6104 enum TAuthorizationDataSource |
|
6105 { |
|
6106 /** Authorization data source is USIM. */ |
|
6107 EFromUSIM, |
|
6108 /** Authorization data source is ISIM. */ |
|
6109 EFromISIM |
|
6110 }; |
|
6111 |
|
6112 /** |
|
6113 Class encapsulates IMS authorization data stored in the ISIM or USIM |
|
6114 |
|
6115 @publishedPartner |
|
6116 @released |
|
6117 */ |
|
6118 class CImsAuthorizationInfoV5 : public CBase |
|
6119 { |
|
6120 public: |
|
6121 IMPORT_C ~CImsAuthorizationInfoV5(); |
|
6122 IMPORT_C static CImsAuthorizationInfoV5* NewL(); |
|
6123 IMPORT_C virtual void ExternalizeL(HBufC8*& aBuffer); |
|
6124 IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer); |
|
6125 IMPORT_C TUint ExtensionId() const; |
|
6126 public: |
|
6127 /**Internet Multimedia Private Identity stored on the ISIM/USIM*/ |
|
6128 RMobilePhone::TIMPI iIMPI; |
|
6129 /**Internet Multimedia Public Identity(ies) stored on the ISIM/USIM*/ |
|
6130 RArray<RMobilePhone::TIMPU> iIMPUArray; |
|
6131 /**Home Network Domain Name stored on the ISIM/USIM*/ |
|
6132 RMobilePhone::THNDN iHomeNetworkDomainName; |
|
6133 /**indicates whether authorization data has been retrieved from the ISIM*/ |
|
6134 TAuthorizationDataSource iAuthenticationDataSource; |
|
6135 protected: |
|
6136 CImsAuthorizationInfoV5(); |
|
6137 /** version of the data supported*/ |
|
6138 TUint iExtensionId; |
|
6139 }; |
|
6140 |
|
6141 /******************************************************************************************************/ |
|
6142 // |
|
6143 // UICC Authentication |
|
6144 // |
|
6145 /******************************************************************************************************/ |
|
6146 |
|
6147 /** |
|
6148 Defines the input as well as the ouput parameters used when performing the |
|
6149 (U)ICC AUTHENTICATE command. |
|
6150 |
|
6151 @publishedPartner |
|
6152 @released |
|
6153 */ |
|
6154 class TSmartCardAuthenticateDataV6 : public TImsAuthenticateDataV5 |
|
6155 { |
|
6156 public: |
|
6157 IMPORT_C TSmartCardAuthenticateDataV6(); |
|
6158 |
|
6159 public: |
|
6160 TBuf8<KKcLength> iKc; |
|
6161 }; |
|
6162 |
|
6163 /** |
|
6164 Packaged version of TSmartCardAuthenticateDataV6, used when this |
|
6165 structure has to be passeed via IPC. |
|
6166 */ |
|
6167 typedef TPckg<TSmartCardAuthenticateDataV6> TSmartCardAuthenticateDataV6Pckg; |
|
6168 |
|
6169 IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, TDes8& aAuthDataPckgd) const; |
|
6170 IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, const TAID& aAID, TDes8& aAuthDataPckgd) const; |
|
6171 |
|
6172 /******************************************************************************************************/ |
|
6173 // |
|
6174 // Generic Bootstrapping Architecture (GBA_U) Authentication |
|
6175 // |
|
6176 /******************************************************************************************************/ |
|
6177 // used to set iExtensionId |
|
6178 /** The mobile phone GBA and MBMS authentication extension IDs. |
|
6179 |
|
6180 Modes: Common */ |
|
6181 enum TMobilePhoneAuthDataExtId |
|
6182 { |
|
6183 /** The iExtensionId contents indicate that the packaged class is a TGbaBootstrapAuthDataV8. */ |
|
6184 KETelMobileGbaBootstrapAuthDataV8 = KEtelExtMultimodeV8, |
|
6185 /** The iExtensionId contents indicate that the packaged class is a TGbaNafAuthDataV8. */ |
|
6186 KETelMobileGbaNafAuthDataV8, |
|
6187 /** The iExtensionId contents indicate that the packaged class is a TMbmsMskUpdateDataV8. */ |
|
6188 KETelMobileMbmsMskUpdateDataV8, |
|
6189 /** The iExtensionId contents indicate that the packaged class is a TMbmsMtkGenerateDataV8. */ |
|
6190 KETelMobileMbmsMtkGenerateDataV8, |
|
6191 /** The iExtensionId contents indicate that the packaged class is a TMbmsMskDeleteDataV8. */ |
|
6192 KETelMobileMbmsMskDeleteDataV8, |
|
6193 /** The iExtensionId contents indicate that the packaged class is a TMbmsMukDeleteDataV8. */ |
|
6194 KETelMobileMbmsMukDeleteDataV8, |
|
6195 /** The iExtensionId contents indicate that the packaged class is a TMbmsUserKeyV8. */ |
|
6196 KETelMobileMbmsUserKeyV8, |
|
6197 /** The iExtensionId contents indicate that the packaged class is a TGbaBootstrapParamsV8. */ |
|
6198 KETelMobileGbaBootstrapParamsV8 |
|
6199 }; |
|
6200 |
|
6201 class TGbaBootstrapAuthDataV8 : public TImsAuthenticateDataV5 |
|
6202 /** |
|
6203 The class is identical to its base class except for its GBA Bootstrapping specific V8 extension id. |
|
6204 Contains parameters to hold the input as well as the output parameters for the GBA authentication |
|
6205 in the Bootstrapping mode. The parameters are used as follows: |
|
6206 |
|
6207 Input: RAND,AUTN |
|
6208 Output: |
|
6209 RES (if the authentication procedure is successful) |
|
6210 or |
|
6211 AUTS (contains the failure response in case of unsuccessful authentication procedure) |
|
6212 See section 7.1.1.4 and 7.1.2.3 of 3GPP TS 31.102 v6.18.0 |
|
6213 |
|
6214 @see TImsAuthenticateDataV5 |
|
6215 |
|
6216 @see RMobilePhone::SmartCardAuthenticate request |
|
6217 |
|
6218 @publishedPartner |
|
6219 @released |
|
6220 */ |
|
6221 { |
|
6222 public: |
|
6223 IMPORT_C TGbaBootstrapAuthDataV8(); |
|
6224 }; |
|
6225 |
|
6226 /** |
|
6227 Packaged version of TGbaBootstrapAuthDataV8, used when this structure has to be passed via IPC. |
|
6228 |
|
6229 @publishedPartner |
|
6230 @released |
|
6231 */ |
|
6232 typedef TPckg<TGbaBootstrapAuthDataV8> TGbaBootstrapAuthDataV8Pckg; |
|
6233 |
|
6234 |
|
6235 enum |
|
6236 { |
|
6237 /** The Maximum permitted size of Bootstrapping Transaction Identifier(B-TID) of |
|
6238 the GBA_U bootstapped key |
|
6239 see section 4.2.79 of 3GPP TS 31.102 v6.18.0 |
|
6240 */ |
|
6241 KBtidLength = 255, |
|
6242 /** The Maximum permitted size of lifetime of the GBA_U bootstrapped keys |
|
6243 see section 4.2.79 of 3GPP TS 31.102 v6.18.0 |
|
6244 */ |
|
6245 KKeyLifetimeLength = 255 |
|
6246 }; |
|
6247 |
|
6248 class TBsfDataV8 : public TMultimodeType |
|
6249 /** |
|
6250 Contains parameters to store B-TID and the Key lifetime that are supplied by the the BSF(EF_GBABP). |
|
6251 See section 4.2.79 of 3GPP TS 31.102 v6.18.0 |
|
6252 |
|
6253 @see RMobilePhone::SetGbaBootstrapParams request |
|
6254 |
|
6255 @publishedPartner |
|
6256 @released |
|
6257 */ |
|
6258 { |
|
6259 public: |
|
6260 IMPORT_C TBsfDataV8(); |
|
6261 public: |
|
6262 /** The Bootstrapping Transaction Identifier (B-TID) of the GBA_U bootstrapped key. */ |
|
6263 TBuf8<KBtidLength> iBtid; |
|
6264 /** The lifetime of the GBA_U bootstrapped keys. */ |
|
6265 TBuf8<KKeyLifetimeLength> iKeyLifetime; |
|
6266 }; |
|
6267 |
|
6268 /** |
|
6269 Packaged version of TBsfDataV8, used when this structure has to be passeed via IPC. |
|
6270 |
|
6271 @publishedPartner |
|
6272 @released |
|
6273 */ |
|
6274 typedef TPckg<TBsfDataV8> TBsfDataV8Pckg; |
|
6275 |
|
6276 IMPORT_C void SetGbaBootstrapParams(TRequestStatus& aReqStatus, const TAID& aAID, const TDesC8& aParams) const; |
|
6277 |
|
6278 enum |
|
6279 { |
|
6280 /** The Maximum permitted size of NAF_ID of the Network Application Function(NAF) |
|
6281 used in the GBA_U NAF derivation procedure |
|
6282 see section 7.1.2.4 of 3GPP TS 31.102 v6.18.0 |
|
6283 */ |
|
6284 KNafIdLength = 255, |
|
6285 /** The Maximum permitted size of the private user identity of the GBA_U NAF |
|
6286 see section 7.1.2.4 of 3GPP TS 31.102 v6.18.0 |
|
6287 */ |
|
6288 KImpiLength = 255, |
|
6289 /** The The Maximum permitted size of the Ks_ext_Naf key returned by the UICC application |
|
6290 see section 7.1.2.4 of 3GPP TS 31.102 v6.18.0 |
|
6291 */ |
|
6292 KKsExtNafLength = 255 |
|
6293 }; |
|
6294 |
|
6295 class TGbaNafAuthDataV8 : public TMultimodeType |
|
6296 /** |
|
6297 Contains parameters to hold the input as well as the output parameters for the GBA authentication |
|
6298 in the NAF(Network Apllication Function) Derivation mode. |
|
6299 See section 7.1.1.5 and 7.1.2.4 of 3GPP TS 31.102 v6.18.0 |
|
6300 |
|
6301 @see RMobilePhone::SmartCardAuthenticate request |
|
6302 |
|
6303 @publishedPartner |
|
6304 @released |
|
6305 */ |
|
6306 { |
|
6307 public: |
|
6308 IMPORT_C TGbaNafAuthDataV8(); |
|
6309 public: |
|
6310 /** Input Parameter: The NAF_ID of the Network Application Function (NAF) used in the |
|
6311 GBA_U NAF Derivation procedure. */ |
|
6312 TBuf8<KNafIdLength> iNafId; |
|
6313 /** Input Parameter: The Private user identity. */ |
|
6314 TBuf8<KImpiLength> iImpi; |
|
6315 /** Output Parameter: The Ks_ext_NAF key returned by the UICC app. */ |
|
6316 TBuf8<KKsExtNafLength> iKsExtNaf; |
|
6317 }; |
|
6318 |
|
6319 /** |
|
6320 Packaged version of TGbaNafAuthDataV8, used when this structure has to be passeed via IPC. |
|
6321 |
|
6322 @publishedPartner |
|
6323 @released |
|
6324 */ |
|
6325 typedef TPckg <TGbaNafAuthDataV8> TGbaNafAuthDataV8Pckg; |
|
6326 |
|
6327 class TGbaBootstrapParamsV8 : public TMultimodeType |
|
6328 /** |
|
6329 Contains parameters for the GBA Bootstrapping Parametres (EF_GBABP). |
|
6330 See section 4.2.79 of 3GPP TS 31.102 v6.18.0 |
|
6331 |
|
6332 @see RMobilePhone::GetAuthenticationParams request |
|
6333 |
|
6334 @publishedPartner |
|
6335 @released |
|
6336 */ |
|
6337 { |
|
6338 public: |
|
6339 IMPORT_C TGbaBootstrapParamsV8(); |
|
6340 public: |
|
6341 /** The RAND (AKA Random challenge) value used in the GBA_U bootstrapping procedure. */ |
|
6342 TBuf8<KRandLength> iRand; |
|
6343 /** The Bootstrapping Transaction Identifier (B-TID) associated with the GBA_U bootstrapped |
|
6344 keys. The client requesting the GBA Bootstrapping procedure receives this value from the network |
|
6345 (i.e. BSF) and it then stores it on the UICC. */ |
|
6346 TBuf8<KBtidLength> iBtid; |
|
6347 /** The lifetime of the GBA_U bootstrapped keys. The client requesting the GBA Bootstrapping |
|
6348 procedure receives this value from the network (i.e. BSF) and it then stores it on the UICC. */ |
|
6349 TBuf8<KKeyLifetimeLength> iKeyLifetime; |
|
6350 }; |
|
6351 |
|
6352 /** |
|
6353 Packaged version of TGbaBootstrapParamsV8, used when this structure has to be passeed via IPC. |
|
6354 |
|
6355 @publishedPartner |
|
6356 @released |
|
6357 */ |
|
6358 typedef TPckg<TGbaBootstrapParamsV8> TGbaBootstrapParamsV8Pckg; |
|
6359 |
|
6360 enum TAuthData |
|
6361 /** |
|
6362 The type of the authentication related data that has been modified as a result of the |
|
6363 UICC authentication command. |
|
6364 |
|
6365 @see RMobilePhone::GetAuthenticationParams |
|
6366 |
|
6367 @publishedPartner |
|
6368 @released |
|
6369 */ |
|
6370 { |
|
6371 /** The GBA Bootstrapping parameters. |
|
6372 The GBA Bootstrapping parameters are stored under EF_GBABP of the UICC app. */ |
|
6373 EGbaBootstrapParams, |
|
6374 /** The list of the GBA Network Application Function (NAF) IDs and the Bootstrapping |
|
6375 Transaction Identifiers (B-TIDs), associated with the previous GBA NAF derivation procedure. |
|
6376 The list is stored under EF_GBANL of the UICC app. */ |
|
6377 EGbaNafIdList, |
|
6378 /** The list of MBMS Service Keys (MSKs) and corresponding time stamp counters, which are |
|
6379 related to an MBMS Key Domain. |
|
6380 This list is stored in the EF_MSK file of the UICC app. */ |
|
6381 EMbmsMskIdList, |
|
6382 /** The identifier of the MBMS User Key (MUK) that is used to protect the transfer of MBMS |
|
6383 Service Keys (MSK). |
|
6384 The MUK ID is stored in the EF_MUK file of the UICC app.*/ |
|
6385 EMbmsMuk |
|
6386 }; |
|
6387 |
|
6388 class TAuthInfoV8 : public TMultimodeType |
|
6389 /** |
|
6390 Contains parameters for Authentication related information |
|
6391 */ |
|
6392 { |
|
6393 public: |
|
6394 IMPORT_C TAuthInfoV8(); |
|
6395 public: |
|
6396 /** Application identifier (AID) of the UICC application performing the authentication. */ |
|
6397 TAID iAID; |
|
6398 /** The type of the authentication related data that has been modified as a result of the |
|
6399 UICC authentication command*/ |
|
6400 TAuthData iData; |
|
6401 }; |
|
6402 |
|
6403 /** |
|
6404 Packaged version of TAuthInfoV8 |
|
6405 */ |
|
6406 typedef TPckg<TAuthInfoV8> TAuthInfoV8Pckg; |
|
6407 |
|
6408 IMPORT_C void NotifyAuthenticateDataChange(TRequestStatus& aReqstatus, TDes8& aAuthInfo) const; |
|
6409 IMPORT_C void GetAuthenticationParams(TRequestStatus& aReqstatus, const TDesC8& aAuthInfo, TDes8& aParams) const; |
|
6410 |
|
6411 |
|
6412 class TGbaNafEntryV8 : public TMultimodeType |
|
6413 /** |
|
6414 Contains parameters for the GBA NAF entry(EF_GBANL) |
|
6415 See section 4.2.83 of 3GPP TS 31.102 v6.18.0 |
|
6416 |
|
6417 @publishedPartner |
|
6418 @released |
|
6419 */ |
|
6420 { |
|
6421 public: |
|
6422 void InternalizeL(RReadStream& aStream); |
|
6423 void ExternalizeL(RWriteStream& aStream) const; |
|
6424 public: |
|
6425 IMPORT_C TGbaNafEntryV8(); |
|
6426 public: |
|
6427 /** The identifier of the Network Application Function (NAF) used in the GBA_U NAF |
|
6428 Derivation procedure. */ |
|
6429 TBuf8<KNafIdLength> iNafId; |
|
6430 /** The Bootstrapping Transaction Identifier (B-TID) associated with the GBA_U |
|
6431 bootstrapped keys. The client requesting the GBA Bootstrapping procedure receives |
|
6432 this value from the network (i.e. BSF) and it then stores it on the UICC. */ |
|
6433 TBuf8<KBtidLength> iBtid; |
|
6434 }; |
|
6435 |
|
6436 /** |
|
6437 Packaged version of TGbaNafEntryV8, used when this structure has to be passeed via IPC. |
|
6438 |
|
6439 @publishedPartner |
|
6440 @released |
|
6441 */ |
|
6442 typedef TPckg<TGbaNafEntryV8> TGbaNafEntryV8Pckg; |
|
6443 |
|
6444 /************************************************************************************************/ |
|
6445 // |
|
6446 // Multimedia Broadcast Multicast Service (MBMS) Authentication |
|
6447 // |
|
6448 /************************************************************************************************/ |
|
6449 |
|
6450 /** The Maximum permitted size of multimedia internet Keying message |
|
6451 see section 7.1.2.5 of 3GPP TS 31.102 v6.18.0 |
|
6452 */ |
|
6453 enum { KMikeyLength = 255 }; |
|
6454 typedef TBuf8<KMikeyLength> TMikey; |
|
6455 |
|
6456 class TMbmsMskUpdateDataV8 : public TMultimodeType |
|
6457 /** |
|
6458 Contains parameters to hold the input as well as the output parameters for the MBMS |
|
6459 authentication in the MSK Update mode. |
|
6460 See section 7.1.1.6 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0 |
|
6461 |
|
6462 @see RMobilePhone::SmartCardAuthenticate request |
|
6463 |
|
6464 @publishedPartner |
|
6465 @released |
|
6466 */ |
|
6467 { |
|
6468 public: |
|
6469 IMPORT_C TMbmsMskUpdateDataV8(); |
|
6470 public: |
|
6471 /** Input Parameter:MIKEY (Multimedia Internet Keying) message containing the MSK update |
|
6472 message from the network. */ |
|
6473 TMikey iInputMikey; |
|
6474 /** Output Parameter: The output MIKEY (Multimedia Internet Keying) message containing |
|
6475 the MSK Verification message from the UICC as the command response. |
|
6476 This is an optional parameter and it is only returned if the V-bit in the HDR field of |
|
6477 the received MIKEY message is set. */ |
|
6478 TMikey iOutputMikey; |
|
6479 }; |
|
6480 |
|
6481 /** |
|
6482 Packaged version of TMbmsMskUpdateDataV8, used when this structure has to be passeed via IPC. |
|
6483 |
|
6484 @publishedPartner |
|
6485 @released |
|
6486 */ |
|
6487 typedef TPckg<TMbmsMskUpdateDataV8> TMbmsMskUpdateDataV8Pckg; |
|
6488 |
|
6489 /** |
|
6490 The Maximum permitted size of MTK length. |
|
6491 see section 7.1.2.5 of 3GPP TS 31.102 v6.18.0. |
|
6492 */ |
|
6493 enum {KMtkLength = 255}; |
|
6494 |
|
6495 /** |
|
6496 The Salt key length. |
|
6497 see section 6.4.5.3 of 3GPP TS 33.246 v6.11.0. |
|
6498 */ |
|
6499 enum {KSaltLength = 14}; |
|
6500 |
|
6501 class TMbmsMtkGenerateDataV8 : public TMultimodeType |
|
6502 /** |
|
6503 Contains parameters to hold the input as well as the output parameters for the MBMS |
|
6504 authentication in MTK Generation mode. |
|
6505 See section 7.1.1.7 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0 |
|
6506 |
|
6507 @see RMobilePhone::SmartCardAuthenticate request |
|
6508 |
|
6509 @publishedPartner |
|
6510 @released |
|
6511 */ |
|
6512 { |
|
6513 public: |
|
6514 IMPORT_C TMbmsMtkGenerateDataV8(); |
|
6515 public: |
|
6516 /** Input Parameter: The input MIKEY message containing an MTK and a Salt key (if Salt key is available). */ |
|
6517 TMikey iMikey; |
|
6518 /** Output Parameter: The MBMS Traffic Key. */ |
|
6519 TBuf8<KMtkLength> iMtk; |
|
6520 /** Output Parameter: A random or pseudo-random string used to protect against some off-line |
|
6521 pre computation attacks on the underlying security protocol. |
|
6522 This is an optional parameter. */ |
|
6523 TBuf8<KSaltLength> iSaltKey; |
|
6524 }; |
|
6525 |
|
6526 /** |
|
6527 Packaged version of TMbmsMtkGenerateDataV8, used when this structure has to be passeed via IPC. |
|
6528 |
|
6529 @publishedPartner |
|
6530 @released |
|
6531 */ |
|
6532 typedef TPckg<TMbmsMtkGenerateDataV8> TMbmsMtkGenerateDataV8Pckg; |
|
6533 |
|
6534 /** |
|
6535 The Key domain id length. |
|
6536 see section 6.3.2.1. 3GPP TS 33.246 v6.11.0 |
|
6537 */ |
|
6538 enum {KKeyDomainIdLength = 3}; |
|
6539 |
|
6540 /** |
|
6541 The Key group length. |
|
6542 see section 6.3.2.1. 3GPP TS 33.246 v6.11.0 |
|
6543 */ |
|
6544 enum {KKeyGroupLength = 2}; |
|
6545 |
|
6546 class TMbmsMskDeleteDataV8 : public TMultimodeType |
|
6547 /** |
|
6548 Contains parameters to hold the input as well as the output parameters for the MBMS authentication |
|
6549 in the MSK Deletion mode. |
|
6550 See section 7.1.1.8 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0 |
|
6551 |
|
6552 @see RMobilePhone::SmartCardAuthenticate request |
|
6553 |
|
6554 @publishedPartner |
|
6555 @released |
|
6556 */ |
|
6557 { |
|
6558 public: |
|
6559 IMPORT_C TMbmsMskDeleteDataV8(); |
|
6560 public: |
|
6561 /** Input parameter : Every MSK is uniquely identifiable by its Key Domain ID and MSK ID. |
|
6562 Key Domain ID = MCC || MNC and is 3 bytes long. */ |
|
6563 TBuf8<KKeyDomainIdLength> iKeyDomainId; |
|
6564 /** Input Parameter: The Key Group part is used to group keys together in order to allow |
|
6565 redundant MSKs to be deleted. |
|
6566 The Key group part is contained within bytes 0 and 1 of the MSK ID. */ |
|
6567 TBuf8<KKeyGroupLength> iMskIdKeyGroup; |
|
6568 }; |
|
6569 |
|
6570 /** |
|
6571 Packaged version of TMbmsMskDeleteDataV8, used when this structure has to be passeed via IPC. |
|
6572 |
|
6573 @publishedPartner |
|
6574 @released |
|
6575 */ |
|
6576 typedef TPckg<TMbmsMskDeleteDataV8> TMbmsMskDeleteDataV8Pckg; |
|
6577 |
|
6578 /** |
|
6579 The Maximum permitted size of MUK ID TLV length. |
|
6580 see section 6.4.5 of 3GPP TS 33.246 v6.11.0 |
|
6581 */ |
|
6582 enum {KMukIdTlvLength = 255}; |
|
6583 |
|
6584 class TMbmsMukDeleteDataV8 : public TMultimodeType |
|
6585 /** |
|
6586 Contains parameters to hold the input as well as the output parameters for the MBMS |
|
6587 authentication in the MUK Deletion mode. |
|
6588 See section 7.1.1.9 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0 |
|
6589 |
|
6590 @see RMobilePhone::SmartCardAuthenticate request |
|
6591 |
|
6592 @publishedPartner |
|
6593 @released |
|
6594 */ |
|
6595 { |
|
6596 public: |
|
6597 IMPORT_C TMbmsMukDeleteDataV8(); |
|
6598 public: |
|
6599 /** Input parameter : The MUK ID TLV containing the MUK IDr and MUK IDi. |
|
6600 This field will contain the MUK ID as a TLV object containing the MUK IDr and MUK IDi.*/ |
|
6601 TBuf8<KMukIdTlvLength> iMukIdTlv; |
|
6602 }; |
|
6603 |
|
6604 /** |
|
6605 Packaged version of TMbmsMukDeleteDataV8, used when this structure has to be passeed via IPC. |
|
6606 |
|
6607 @publishedPartner |
|
6608 @released |
|
6609 */ |
|
6610 typedef TPckg<TMbmsMukDeleteDataV8> TMbmsMukDeleteDataV8Pckg; |
|
6611 |
|
6612 /** |
|
6613 The Maximum permitted size of MUK IDi length. |
|
6614 see section 6.4.5 of 3GPP TS 33.246 v6.11.0 |
|
6615 */ |
|
6616 enum { KMukIdiLength = 255 }; |
|
6617 |
|
6618 /** |
|
6619 The Maximum permitted size of MUK IDr length. |
|
6620 see section 6.4.5 of 3GPP TS 33.246 v6.11.0 |
|
6621 */ |
|
6622 enum { KMukIdrLength = 255 }; |
|
6623 |
|
6624 /** |
|
6625 The time stamp counter length. |
|
6626 see section 6.4.3 of 3GPP TS 33.246 v6.11.0. |
|
6627 */ |
|
6628 enum { KTimeStampCounterLength = 4 }; |
|
6629 |
|
6630 class TMbmsUserKeyV8 : public TMultimodeType |
|
6631 /** |
|
6632 Contains parameters for MBMS User Key(MUK)(EF_MUK). |
|
6633 See section 4.2.81 of 3GPP TS 31.102 v6.18.0. |
|
6634 |
|
6635 @see RMobilePhone::GetAuthenticationParams |
|
6636 |
|
6637 @publishedPartner |
|
6638 @released |
|
6639 */ |
|
6640 { |
|
6641 public: |
|
6642 IMPORT_C TMbmsUserKeyV8(); |
|
6643 public: |
|
6644 /** The IDi part of MBMS User Key (MUK). */ |
|
6645 TBuf8<KMukIdiLength> iMukIdi; |
|
6646 /** The IDr part of MBMS User Key (MUK). */ |
|
6647 TBuf8<KMukIdrLength> iMukIdr; |
|
6648 /** The counter for MIKEY replay protection in MSK delivery. The counter is associated |
|
6649 with the particular MUK. */ |
|
6650 TBuf8<KTimeStampCounterLength> iTimeStampCounter; |
|
6651 }; |
|
6652 |
|
6653 /** |
|
6654 Packaged version of TMbmsUserKeyV8, used when this structure has to be passeed via IPC. |
|
6655 |
|
6656 @publishedPartner |
|
6657 @released |
|
6658 */ |
|
6659 typedef TPckg<TMbmsUserKeyV8> TMbmsUserKeyV8Pckg; |
|
6660 |
|
6661 /** |
|
6662 The MSK id length. |
|
6663 see section 6.3.2.1. TS 33.246 v6.11.0 |
|
6664 */ |
|
6665 enum { KMskIdLength =4 }; |
|
6666 |
|
6667 class TMskEntryV8 : public TMultimodeType |
|
6668 /** |
|
6669 contains Parameters for MBMS MSK ID Entry (EF_MSK). |
|
6670 See section 4.2.80 of 3GPP TS 31.102 v6.18.0. |
|
6671 |
|
6672 @publishedPartner |
|
6673 @released |
|
6674 */ |
|
6675 { |
|
6676 public: |
|
6677 void InternalizeL(RReadStream& aStream); |
|
6678 void ExternalizeL(RWriteStream& aStream) const; |
|
6679 public: |
|
6680 IMPORT_C TMskEntryV8(); |
|
6681 public: |
|
6682 /** Identifier of the Domain of the BM-SC providing MBMS service */ |
|
6683 TBuf8<KKeyDomainIdLength> iKeyDomainId; |
|
6684 /** Identifier of MBMS Service Key(MSK) with in a paricular Key Domain */ |
|
6685 TBuf8<KMskIdLength> iMskId; |
|
6686 /** Counter for MIKEY replay protection in MTK delivery.Each counter is |
|
6687 associated with a particular MSK */ |
|
6688 TBuf8<KTimeStampCounterLength> iTimeStampCounter; |
|
6689 }; |
|
6690 |
|
6691 /*************************************************************************************/ |
|
6692 // |
|
6693 // WLAN Parameters |
|
6694 // |
|
6695 /*************************************************************************************/ |
|
6696 |
|
6697 /** |
|
6698 This type indicates which of the following fields, within the WLAN data structure, |
|
6699 contain valid data. |
|
6700 */ |
|
6701 enum TUsimWlanDataFlags |
|
6702 { |
|
6703 /** The iPseudonym field is valid in the Wlan data class */ |
|
6704 KWlanPseudonym =0x00000001, |
|
6705 /** The iReauthenticationId field is valid in the Wlan data class */ |
|
6706 KWlanReauthenticationId = 0x00000002, |
|
6707 /** The iMasterKey field is valid in the Wlan data class */ |
|
6708 KWlanMasterKey = 0x00000004, |
|
6709 /** The iCounter field is valid in the Wlan data class */ |
|
6710 KWlanCounter = 0x00000008 |
|
6711 }; |
|
6712 |
|
6713 /** |
|
6714 Holds a Maximum permitted size of the temporary user Identity or |
|
6715 pseudonym stored in EF_Pseudo of the currently active USIM. |
|
6716 see section 4.4.5.6 of 3GPP TS 31.102 v6.18.0 |
|
6717 */ |
|
6718 enum { KWlanUserIdentity = 255 }; |
|
6719 typedef TBuf8 <KWlanUserIdentity> TWlanUserIdentity; |
|
6720 |
|
6721 /** |
|
6722 Holds a Maximum permitted size of re-authentication identity stored |
|
6723 in EF_WRI of the currently active USIM. |
|
6724 see section 4.4.5.6 of 3GPP TS 31.102 v6.18.0. |
|
6725 */ |
|
6726 enum { KWlanMasterKeyLength = 255 }; |
|
6727 |
|
6728 /** |
|
6729 Holds a Maximum permitted size of master key used in the process of re-authentication. |
|
6730 see section 4.4.5.6 of 3GPP TS 31.102 v6.18.0. |
|
6731 */ |
|
6732 enum { KCounterLength = 255 }; |
|
6733 |
|
6734 /** |
|
6735 Contains Parameters for Wlan Pseudonym(EF_Pseudo) and Reauthentication Id(EF_WRI). |
|
6736 See section 4.4.5.1 and 4.4.5.6 of 3GPP TS 31.102 v6.18.0. |
|
6737 @see RMobilePhone::SetWlanData |
|
6738 @see RMobilePhone::GetWlanData |
|
6739 @see RMobilePhone::NotifyWlanDataChange |
|
6740 |
|
6741 @publishedPartner |
|
6742 @released |
|
6743 */ |
|
6744 class TUsimWlanDataV8 : public TMultimodeType |
|
6745 { |
|
6746 public: |
|
6747 IMPORT_C TUsimWlanDataV8(); |
|
6748 public: |
|
6749 /** A bit-wise sum of TUsimWlanDataCaps constants indicating which of the following |
|
6750 fields, within the WLAN data structure, contain valid data. */ |
|
6751 TUint32 iFieldsUsed; |
|
6752 /** Holds a buffer containing the temporary user Identity or pseudonym stored in EF_Pseudo |
|
6753 of the currently active USIM. */ |
|
6754 TWlanUserIdentity iPseudonym; |
|
6755 /** Holds a buffer containing the re-authentication identity stored in EF_WRI of the |
|
6756 currently active USIM. */ |
|
6757 TWlanUserIdentity iReauthenticationId; |
|
6758 /** Holds the master key used in the process of re-authentication. */ |
|
6759 TBuf8<KWlanMasterKeyLength> iMasterKey; |
|
6760 /** A counter value to be used in the fast re-authentication. This value is provided as a |
|
6761 part of a previous authentication sequence. */ |
|
6762 TBuf8<KCounterLength> iCounter; |
|
6763 }; |
|
6764 |
|
6765 /** Packaged version of TUsimWlanDataV8, used when this structure has to be passeed via IPC. |
|
6766 |
|
6767 @publishedPartner |
|
6768 @released |
|
6769 */ |
|
6770 typedef TPckg<TUsimWlanDataV8> TUsimWlanDataV8Pckg; |
|
6771 |
|
6772 IMPORT_C void SetWlanData(TRequestStatus& aReqStatus, const TDesC8& aData) const; |
|
6773 IMPORT_C void GetWlanData(TRequestStatus& aReqStatus, TDes8& aData) const; |
|
6774 IMPORT_C void NotifyWlanDataChange(TRequestStatus& aReqStatus, TDes8& aData) const; |
|
6775 |
|
6776 /** |
|
6777 Holds a Maximum permitted size of Wlan Specific Identifier. |
|
6778 see section 4.4.5.4 of 31.102 v6.18.0. |
|
6779 */ |
|
6780 enum { KWlanSIDLength = 255 }; |
|
6781 |
|
6782 /** |
|
6783 Contains Parameters for User controlled WLAN Specific IDentifier List (EF_UWSIDL) and Operator |
|
6784 controlled WLAN Specific IDentifier List(EF_OWSIDL). |
|
6785 See section 4.4.5.4 and 4.4.5.5 of 3GPP TS 31.102 v6.18.0. |
|
6786 |
|
6787 @see RMobilePhone::StorePreferredWlanSIDListL |
|
6788 @see RMobilePhone::NotifyPreferredWlanSIDListChange |
|
6789 |
|
6790 @publishedPartner |
|
6791 @released |
|
6792 */ |
|
6793 class TWlanSIDV8 : public TMultimodeType |
|
6794 { |
|
6795 public: |
|
6796 IMPORT_C TWlanSIDV8(); |
|
6797 public: |
|
6798 void InternalizeL(RReadStream& aStream); |
|
6799 void ExternalizeL(RWriteStream& aStream) const; |
|
6800 public: |
|
6801 /** Holds a buffer containing WLAN Specific Identifier (SID)*/ |
|
6802 TBuf8<KWlanSIDLength> iWSID; |
|
6803 /** Editable preferences in the User-controlled WLAN Specific IDentifier List */ |
|
6804 TBool iUserDefined; |
|
6805 }; |
|
6806 |
|
6807 /** Packaged version of TWlanSIDV8, used when this structure has to be passeed via IPC. |
|
6808 |
|
6809 @publishedPartner |
|
6810 @released |
|
6811 */ |
|
6812 typedef TPckg<TWlanSIDV8> TWlanSIDV8Pckg; |
|
6813 |
|
6814 IMPORT_C void StorePreferredWlanSIDListL(TRequestStatus& aReqStatus, CMobilePhoneStoredWlanSIDList* aList) const; |
|
6815 IMPORT_C void NotifyPreferredWlanSIDListChange(TRequestStatus& aReqStatus) const; |
|
6816 |
|
6817 |
|
6818 private: |
|
6819 CMobilePhonePtrHolder* iMmPtrHolder; |
|
6820 RMobilePhone(const RMobilePhone& aPhone); |
|
6821 |
|
6822 protected: |
|
6823 IMPORT_C void ConstructL(); |
|
6824 IMPORT_C void Destruct(); |
|
6825 }; |
|
6826 |
|
6827 /*********************************************************/ |
|
6828 // |
|
6829 // Phone Storage functionality (RMobilePhoneStore) |
|
6830 // |
|
6831 /*********************************************************/ |
|
6832 |
|
6833 |
|
6834 |
|
6835 class CMobilePhoneStorePtrHolder; |
|
6836 class RMobilePhoneStore : public RTelSubSessionBase |
|
6837 /** |
|
6838 Abstract class used to define common phone storage actions and types |
|
6839 |
|
6840 Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore |
|
6841 */ |
|
6842 { |
|
6843 public: |
|
6844 friend class CAsyncRetrieveStoreList; |
|
6845 |
|
6846 /** Types of store. |
|
6847 |
|
6848 Modes: Common */ |
|
6849 enum TMobilePhoneStoreType |
|
6850 { |
|
6851 /** Store type is unknown. |
|
6852 |
|
6853 Modes: Common */ |
|
6854 EPhoneStoreTypeUnknown, |
|
6855 /** Store contains SMS messages. |
|
6856 |
|
6857 Modes: Common */ |
|
6858 EShortMessageStore, |
|
6859 /** Store contains NAM entries. |
|
6860 |
|
6861 Modes: CDMA |
|
6862 @deprecated 9.5 */ |
|
6863 ENamStore, |
|
6864 /** Store contains PhoneBook entries. |
|
6865 |
|
6866 Modes: Common */ |
|
6867 EPhoneBookStore, |
|
6868 /** Store contains emergency number entries. |
|
6869 |
|
6870 Modes: Common */ |
|
6871 EEmergencyNumberStore, |
|
6872 /** Store contains own number entries. |
|
6873 |
|
6874 Modes: Common */ |
|
6875 EOwnNumberStore |
|
6876 }; |
|
6877 |
|
6878 /** Store capabilities. */ |
|
6879 enum TMobilePhoneStoreCaps |
|
6880 { |
|
6881 /** The store can be accessed as a whole using the ReadAll() and StoreAll() member |
|
6882 functions. */ |
|
6883 KCapsWholeStore = 0x80000000, |
|
6884 /** The store can be accessed one entry at a time using the RMobilePhoneStore::Read(), |
|
6885 RMobilePhoneStore::Write() and RMobilePhoneStore::Delete() member functions. */ |
|
6886 KCapsIndividualEntry = 0x40000000, |
|
6887 /** The store can be accessed in order to read entries. */ |
|
6888 KCapsReadAccess = 0x20000000, |
|
6889 /** The store can be accessed in order to write or delete entries. */ |
|
6890 KCapsWriteAccess = 0x10000000, |
|
6891 /** The TSY supports deleting all the store entries at once. */ |
|
6892 KCapsDeleteAll = 0x08000000, |
|
6893 /** The TSY supports notification of store events such as entries added, deleted |
|
6894 or store becoming full. */ |
|
6895 KCapsNotifyEvent = 0x04000000 |
|
6896 }; |
|
6897 |
|
6898 /** The type of store information. As defined in TMobilePhoneStoreInfoV1::iExtensionId |
|
6899 |
|
6900 Modes: Common |
|
6901 |
|
6902 @see TMobilePhoneStoreInfoV1 |
|
6903 @see RMobilePhone::TMultimodeType */ |
|
6904 enum TMobilePhoneStoreInfoExtId |
|
6905 { |
|
6906 /** The iExtensionId contents indicate that the packaged class is a RMobilePhoneStore::TMobilePhoneStoreInfoV1. |
|
6907 Modes: Common */ |
|
6908 KETelMobilePhoneStoreV1=KETelExtMultimodeV1, |
|
6909 /** The iExtensionId contents indicate that the packaged class is a RMobilePhoneBookStore::TMobilePhoneBookInfoV1. |
|
6910 Modes: Common */ |
|
6911 KETelMobilePhonebookStoreV1, |
|
6912 /** Reserved for SMS store specific information class. |
|
6913 Modes: Common */ |
|
6914 KETelMobileSmsStoreV1, |
|
6915 /** The iExtensionId contents indicate that the packaged class is a RMobileNamStore::TMobileNamStoreInfoV1. |
|
6916 Modes: CDMA |
|
6917 @deprecated 9.5 |
|
6918 */ |
|
6919 KETelMobileNamStoreV1, |
|
6920 /** The iExtensionId contents indicate that the packaged class is a RMobileONStore::TMobileONStoreInfoV1. |
|
6921 Modes: Common */ |
|
6922 KETelMobileONStoreV1, |
|
6923 /** Reserved for Emergency Number store specific infoprmation class. |
|
6924 Modes: Common */ |
|
6925 KETelMobileENStoreV1, |
|
6926 /** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2. |
|
6927 Modes: Common */ |
|
6928 KETelMobilePhonebookStoreV2=KETelExtMultimodeV2, |
|
6929 |
|
6930 /** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2. |
|
6931 Modes: Common */ |
|
6932 KETelMobilePhonebookStoreV5=KEtelExtMultimodeV5 |
|
6933 }; |
|
6934 |
|
6935 |
|
6936 |
|
6937 class TMobilePhoneStoreInfoV1 : public RMobilePhone::TMultimodeType |
|
6938 /** Defines information and capabilities of a phone-side store. |
|
6939 @publishedPartner |
|
6940 @released */ |
|
6941 { |
|
6942 public: |
|
6943 IMPORT_C TMobilePhoneStoreInfoV1(); |
|
6944 |
|
6945 /** The type of entry in the phone-side store. |
|
6946 |
|
6947 Modes: Common |
|
6948 |
|
6949 @see TMobilePhoneStoreType */ |
|
6950 TMobilePhoneStoreType iType; |
|
6951 /** Indicates the total number of entries that may be held in this store. */ |
|
6952 TInt iTotalEntries; |
|
6953 /** Indicates the current number of entries held in this store. |
|
6954 |
|
6955 Is equal to KIndexNotUsed if the TSY is unable to determine current number |
|
6956 of entries. |
|
6957 |
|
6958 Modes: Common */ |
|
6959 TInt iUsedEntries; |
|
6960 /** Indicates the capabilities of the store. It is the sum of caps constants defined |
|
6961 in TMobilePhoneStoreCaps and those defined for a specialised phone store. |
|
6962 |
|
6963 Modes: Common */ |
|
6964 TUint32 iCaps; |
|
6965 /** The name of the phone-side store. A valid list of names is given in the description |
|
6966 of each specialised store. |
|
6967 |
|
6968 Modes: Common |
|
6969 |
|
6970 @see RMobilePhone::TMobileName */ |
|
6971 RMobilePhone::TMobileName iName; |
|
6972 }; |
|
6973 |
|
6974 /** A typedef'd packaged TMobilePhoneStoreInfoV1 for passing through a generic |
|
6975 API member function. */ |
|
6976 typedef TPckg<TMobilePhoneStoreInfoV1> TMobilePhoneStoreInfoV1Pckg; |
|
6977 |
|
6978 |
|
6979 |
|
6980 class TMobilePhoneStoreEntryV1 : public RMobilePhone::TMultimodeType |
|
6981 /** Defines common contents of an entry in a phone-side store. |
|
6982 */ |
|
6983 { |
|
6984 public: |
|
6985 |
|
6986 enum |
|
6987 { |
|
6988 KIndexNotUsed = -1 |
|
6989 }; |
|
6990 |
|
6991 protected: |
|
6992 TMobilePhoneStoreEntryV1(); |
|
6993 public: |
|
6994 void InternalizeL(RReadStream& aStream); |
|
6995 void ExternalizeL(RWriteStream& aStream) const; |
|
6996 public: |
|
6997 /** The slot location of the entry within phone-side storage. |
|
6998 |
|
6999 Modes: Common */ |
|
7000 TInt iIndex; |
|
7001 }; |
|
7002 |
|
7003 IMPORT_C void GetInfo(TRequestStatus& aReqStatus, TDes8& aInfo) const; |
|
7004 |
|
7005 IMPORT_C void Read(TRequestStatus& aReqStatus, TDes8& aEntry) const; |
|
7006 IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aEntry) const; |
|
7007 |
|
7008 IMPORT_C void Delete(TRequestStatus& aReqStatus, TInt aIndex) const; |
|
7009 IMPORT_C void DeleteAll(TRequestStatus& aReqStatus) const; |
|
7010 |
|
7011 /** The store events. It is possible for more than one event to occur at the same |
|
7012 time, therefore the events are a bitmask and should be tested as a bitmask. |
|
7013 |
|
7014 Modes: Common |
|
7015 |
|
7016 @see NotifyStoreEvent() */ |
|
7017 enum TMobileStoreEvent |
|
7018 { |
|
7019 /** The store has become full. This event will trigger after the last possible |
|
7020 entry in a store has been written. */ |
|
7021 KStoreFull =0x00000001, |
|
7022 /** The store was full but now has some space. This event will trigger after one |
|
7023 or more entries have been deleted from a full store. */ |
|
7024 KStoreHasSpace =0x00000002, |
|
7025 /** The store is empty. This event will trigger after the last entry in a store |
|
7026 has been deleted or if all entries are deleted at once. */ |
|
7027 KStoreEmpty =0x00000004, |
|
7028 /** The store has a new entry, placed in the slot indicated by the aIndex parameter. */ |
|
7029 KStoreEntryAdded =0x00000008, |
|
7030 /** The store has deleted the entry that was in the slot indicated by the aIndex |
|
7031 parameter. */ |
|
7032 KStoreEntryDeleted =0x00000010, |
|
7033 /** The store has changed the entry that was in the slot indicated by the aIndex |
|
7034 parameter. */ |
|
7035 KStoreEntryChanged =0x00000020, |
|
7036 /** The store contents have substantially changed and the TSY is recommending that |
|
7037 the client performs a refresh by reading all the contents again. */ |
|
7038 KStoreDoRefresh =0x00000040 |
|
7039 }; |
|
7040 |
|
7041 IMPORT_C void NotifyStoreEvent(TRequestStatus& aReqStatus, TUint32& aEvent, TInt& aIndex) const; |
|
7042 |
|
7043 protected: |
|
7044 CMobilePhoneStorePtrHolder* iStorePtrHolder; |
|
7045 |
|
7046 protected: |
|
7047 RMobilePhoneStore(); |
|
7048 IMPORT_C void BaseConstruct(CMobilePhoneStorePtrHolder* aPtrHolder); |
|
7049 IMPORT_C void Destruct(); |
|
7050 }; |
|
7051 |
|
7052 |
|
7053 /*********************************************************/ |
|
7054 // |
|
7055 // Call based functionality (RMobileCall) |
|
7056 // |
|
7057 /*********************************************************/ |
|
7058 |
|
7059 |
|
7060 |
|
7061 class CMobileCallPtrHolder; |
|
7062 |
|
7063 class RMobileCall : public RCall |
|
7064 /** Provides access to the functionality associated with a specific mobile call. |
|
7065 |
|
7066 RMobileCall encapsulates access to a mobile phone. The functionality of RMobileCall |
|
7067 is divided into a number of functional units, for the purpose of easier documentation |
|
7068 and navigation and selectable support by TSY. |
|
7069 |
|
7070 Note: Some RMobileCall function members must be supported by the TSY while |
|
7071 others are part of optional "functional unit" and only need to be supported |
|
7072 if the TSY supports that functional unit. When a functional unit is mandatory |
|
7073 then the TSY should at least support the Get...Caps() member function to indicate |
|
7074 the member functions that are supported for this unit. |
|
7075 */ |
|
7076 { |
|
7077 public: |
|
7078 IMPORT_C RMobileCall(); |
|
7079 /***********************************************************************************/ |
|
7080 // |
|
7081 // Mobile call parameters - used within Dial/Answer API |
|
7082 // |
|
7083 /***********************************************************************************/ |
|
7084 |
|
7085 // used to set iExtensionId in RCall::TCallParams |
|
7086 /** The mobile call parameter extension IDs. |
|
7087 |
|
7088 Modes: Common */ |
|
7089 enum TMobileCallParamsExtensionId |
|
7090 { |
|
7091 /** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV1. */ |
|
7092 KETelMobileCallParamsV1=KETelExtMultimodeV1, |
|
7093 /** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV1. |
|
7094 |
|
7095 Modes: Common */ |
|
7096 KETelMobileDataCallParamsV1, |
|
7097 /** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV1. |
|
7098 |
|
7099 Modes: GSM/WCDMA */ |
|
7100 KETelMobileHscsdCallParamsV1, |
|
7101 /** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV2. |
|
7102 |
|
7103 Modes: Common */ |
|
7104 KETelMobileCallParamsV2=KETelExtMultimodeV2, |
|
7105 /** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV2. |
|
7106 |
|
7107 Modes: Common */ |
|
7108 KETelMobileDataCallParamsV2, |
|
7109 /** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV2. |
|
7110 |
|
7111 Modes: GSM/WCDMA */ |
|
7112 KETelMobileHscsdCallParamsV2, |
|
7113 /** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV7. |
|
7114 |
|
7115 Modes: GSM/WCDMA */ |
|
7116 KETelMobileCallParamsV7=KEtelExtMultimodeV7, |
|
7117 /** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV7. |
|
7118 |
|
7119 Modes: GSM/WCDMA */ |
|
7120 KETelMobileHscsdCallParamsV7, |
|
7121 |
|
7122 /** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV8. |
|
7123 |
|
7124 Modes: GSM/WCDMA */ |
|
7125 KETelMobileHscsdCallParamsV8 = KEtelExtMultimodeV8, |
|
7126 |
|
7127 /** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV8. |
|
7128 |
|
7129 Modes: GSM/WCDMA */ |
|
7130 KETelMobileDataCallParamsV8, |
|
7131 |
|
7132 /** The iExtensionId contents indicate that the packaged class is a TEtel3rdPartyMobileCallParamsV1. |
|
7133 |
|
7134 Modes: Common */ |
|
7135 KETel3rdPartyCallParamsV1=KETelExt3rdPartyV1 |
|
7136 |
|
7137 }; |
|
7138 |
|
7139 /** Caller Id restriction settings. |
|
7140 |
|
7141 Modes: Common |
|
7142 |
|
7143 @see TMobileCallParamsV1 */ |
|
7144 enum TMobileCallIdRestriction |
|
7145 { |
|
7146 /** The default setting should be used if the user has not explicitly requested |
|
7147 their identity to be restricted/allowed. */ |
|
7148 EIdRestrictDefault, |
|
7149 /** The user has explicitly requested their identity to be sent for this call. */ |
|
7150 ESendMyId, |
|
7151 /** The user has explicitly requested their identity not to be sent for this call. */ |
|
7152 EDontSendMyId |
|
7153 }; |
|
7154 |
|
7155 class TMobileCallCugV1 : public RMobilePhone::TMultimodeType |
|
7156 /** This class is used to set up a CUG (Closed User Group) call. |
|
7157 |
|
7158 TMobileCallCugV1() is valid in GSM/WCDMA mode only. The client application |
|
7159 should set the CUG settings for the call depending on the user's choice. If |
|
7160 the user has not explicitly requested a CUG call then this parameter should |
|
7161 indicate that explicit CUG invoke is false. The TSY ignores this parameter |
|
7162 if in CDMA mode. |
|
7163 */ |
|
7164 { |
|
7165 public: |
|
7166 IMPORT_C TMobileCallCugV1(); |
|
7167 public: |
|
7168 /** A boolean indicating whether Closed User Group is being explicitly invoked by |
|
7169 the client or not. If this parameter is false, the other entries in this structure |
|
7170 will be ignored. */ |
|
7171 TBool iExplicitInvoke; |
|
7172 /** The Closed User Group index that the user has specified for this call (if no |
|
7173 index has been specified then this element will equal -1). */ |
|
7174 TInt iCugIndex; |
|
7175 /** A boolean indicating whether the user has suppressed their Outgoing Access option |
|
7176 or not. */ |
|
7177 TBool iSuppressOA; |
|
7178 /** A boolean indicating whether the user has suppressed the use of their preferential |
|
7179 Closed User Group or not. */ |
|
7180 TBool iSuppressPrefCug; |
|
7181 }; |
|
7182 |
|
7183 /** Multicall Operation set-up. |
|
7184 |
|
7185 Mode: WCDMA */ |
|
7186 enum TMobileCallMulticallBearerMode |
|
7187 { |
|
7188 /** Multicall is not supported. */ |
|
7189 EMulticallNotSupported, |
|
7190 /** MS will accept incoming call and establish a connection using an existing bearer. */ |
|
7191 EMulticallShareBearer, |
|
7192 /** MS will accept incoming call and establish a connection by creating a new bearer. */ |
|
7193 EMulticallNewBearer |
|
7194 }; |
|
7195 |
|
7196 /** |
|
7197 The originator of a call. |
|
7198 |
|
7199 @see RSat::TCallParamOrigin |
|
7200 */ |
|
7201 enum TCallParamOrigin |
|
7202 { |
|
7203 /** The call originator is unknown. */ |
|
7204 EOriginatorUnknown, |
|
7205 /** The call originated/originates from the SIM. */ |
|
7206 EOriginatorSIM, |
|
7207 /** The call originated/originates from an Etel Client. */ |
|
7208 EOriginatorEtelClient, |
|
7209 /** The call originated/originates from an external device connected to the modem. */ |
|
7210 EOriginatorExternal |
|
7211 }; |
|
7212 |
|
7213 /** The maximum size of a sub-address. |
|
7214 |
|
7215 @see TSubAddress |
|
7216 |
|
7217 @see RSat::KSubAddressMaxSize*/ |
|
7218 enum {KSubAddressMaxSize=21}; |
|
7219 |
|
7220 /** A buffer to hold the sub-address of a telephone number. |
|
7221 |
|
7222 @see KSubAddressMaxSize |
|
7223 |
|
7224 @see RSat::TSubAddress |
|
7225 */ |
|
7226 typedef TBuf<KSubAddressMaxSize> TSubAddress; |
|
7227 |
|
7228 /** The maximum size of the 8-bit capability configuration parameter buffer. |
|
7229 @see TCcp |
|
7230 |
|
7231 @see RSat::KCcpMaxSize |
|
7232 */ |
|
7233 enum {KCcpMaxSize=15}; |
|
7234 |
|
7235 /** TCcp ( Capability configuration parameters ) is an 8-bit data buffer that |
|
7236 contains the bearer capabilities as coded in ETSI 24.008(Ver 04.11 2003-06) and |
|
7237 defined in ETSI 31.111. It is 15 bytes long as it does not include the IEI (Information |
|
7238 Element Identity). |
|
7239 |
|
7240 @see TMobileCallParamsV7 |
|
7241 |
|
7242 @see RSat::TCcp |
|
7243 */ |
|
7244 typedef TBuf8<KCcpMaxSize> TCcp; |
|
7245 |
|
7246 /** Bearer Capability Repeat Indicator. |
|
7247 |
|
7248 @see TMobileCallParamsV7 |
|
7249 |
|
7250 @see RSat::TBCRepeatIndicator |
|
7251 */ |
|
7252 enum TBCRepeatIndicator |
|
7253 { |
|
7254 /** The alternate mode of the Bearer Capability Repeat Indicator. */ |
|
7255 EBCAlternateMode, |
|
7256 /** Support of fallback - mode 1 preferred, mode 2 selected if setup of mode 1 fails. */ |
|
7257 EBCFallbackMode, |
|
7258 /** Service change and fallback - mode 1 alternate mode 2, mode 1 preferred. */ |
|
7259 EBCServiceChangeAndFallbackMode |
|
7260 }; |
|
7261 |
|
7262 /** Describes the state of the icon. |
|
7263 |
|
7264 @see TIconId |
|
7265 |
|
7266 @see RSat::TIconQualifier |
|
7267 */ |
|
7268 enum TIconQualifier |
|
7269 { |
|
7270 /** Icon qualifier is not set. */ |
|
7271 EIconQualifierNotSet, |
|
7272 /** Icon is not present. */ |
|
7273 ENoIconId, |
|
7274 /** Icon is present; It is self explanatory. |
|
7275 Display instead of the alpha ID or text string. */ |
|
7276 ESelfExplanatory, |
|
7277 /** Icon is present; It is not self explanatory. |
|
7278 Display both the icon and the alpha ID or text string. */ |
|
7279 ENotSelfExplanatory |
|
7280 }; |
|
7281 |
|
7282 /** Holds details about an icon. |
|
7283 |
|
7284 @see TMobileCallParamsV7 |
|
7285 @see TMobileCallInfoV7 |
|
7286 |
|
7287 @see RSat::TIconId |
|
7288 */ |
|
7289 struct TIconId |
|
7290 { |
|
7291 /** Describes the state of the icon. */ |
|
7292 TIconQualifier iQualifier; |
|
7293 /** Icon identifier */ |
|
7294 TUint8 iIdentifier; |
|
7295 }; |
|
7296 |
|
7297 /** The maximum size of the alpha ID buffer. |
|
7298 |
|
7299 @see TAlphaIdBuf |
|
7300 |
|
7301 @see RSat::KAlphaIdMaxSize |
|
7302 */ |
|
7303 enum {KAlphaIdMaxSize=254}; |
|
7304 |
|
7305 /** |
|
7306 A buffer to hold an alpha identifier. |
|
7307 |
|
7308 @see TMobileCallParamsV7 |
|
7309 @see TMobileCallInfoV7 |
|
7310 |
|
7311 @see RSat::TAlphaIdBuf |
|
7312 */ |
|
7313 typedef TBuf<KAlphaIdMaxSize> TAlphaIdBuf; |
|
7314 |
|
7315 |
|
7316 class TMobileCallParamsV1 : public RCall::TCallParams |
|
7317 /** Defines the parameters used for set-up of a call of any type. |
|
7318 */ |
|
7319 { |
|
7320 public: |
|
7321 IMPORT_C TMobileCallParamsV1(); |
|
7322 public: |
|
7323 /** Call Id restriction setting to be used for this call. |
|
7324 |
|
7325 @see TMobileCallIdRestriction */ |
|
7326 TMobileCallIdRestriction iIdRestrict; |
|
7327 /** Closed User Group setting to be used for this call. |
|
7328 |
|
7329 @see TMobileCallCugV1 */ |
|
7330 TMobileCallCugV1 iCug; |
|
7331 /** Specifies whether this call attempt is user initiated (EFalse) or a client initiated |
|
7332 redial (ETrue). */ |
|
7333 TBool iAutoRedial; |
|
7334 }; |
|
7335 |
|
7336 /** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API function |
|
7337 member. */ |
|
7338 typedef TPckg<TMobileCallParamsV1> TMobileCallParamsV1Pckg; |
|
7339 |
|
7340 |
|
7341 |
|
7342 class TMobileCallParamsV2 : public TMobileCallParamsV1 |
|
7343 /** Defines the parameters used for set-up of a call of any type |
|
7344 for version v2.0 of the API. |
|
7345 A new parameter (iBearerMode) is required to support Multicall. |
|
7346 |
|
7347 @publishedPartner |
|
7348 @released |
|
7349 */ |
|
7350 { |
|
7351 public: |
|
7352 IMPORT_C TMobileCallParamsV2(); |
|
7353 public: |
|
7354 /** The bearer mode. */ |
|
7355 TMobileCallMulticallBearerMode iBearerMode; |
|
7356 }; |
|
7357 |
|
7358 /** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API |
|
7359 function member. */ |
|
7360 typedef TPckg<TMobileCallParamsV2> TMobileCallParamsV2Pckg; |
|
7361 |
|
7362 |
|
7363 class TMobileCallParamsV7 : public TMobileCallParamsV2 |
|
7364 /** Defines the parameters used for set-up of a call of any type |
|
7365 for version v7.0 of the API. |
|
7366 |
|
7367 @publishedPartner |
|
7368 @released |
|
7369 */ |
|
7370 { |
|
7371 public: |
|
7372 IMPORT_C TMobileCallParamsV7(); |
|
7373 public: |
|
7374 /** |
|
7375 The origin of the call. |
|
7376 */ |
|
7377 TCallParamOrigin iCallParamOrigin; |
|
7378 /** |
|
7379 The sub-address of the remote party. |
|
7380 */ |
|
7381 TSubAddress iSubAddress; |
|
7382 /** |
|
7383 Capability configuration parameters for the first bearer. |
|
7384 */ |
|
7385 TCcp iBearerCap1; |
|
7386 /** |
|
7387 Capability configuration parameters for the second bearer. |
|
7388 */ |
|
7389 TCcp iBearerCap2; |
|
7390 /** |
|
7391 The bearer capability repeat indicator. |
|
7392 */ |
|
7393 TBCRepeatIndicator iBCRepeatIndicator; |
|
7394 /** |
|
7395 The icon identifier of the icon to display. |
|
7396 This can be used, for example, to provide |
|
7397 graphical notification that the call is taking place. |
|
7398 |
|
7399 @see TIconQualifier |
|
7400 */ |
|
7401 TIconId iIconId; |
|
7402 /** |
|
7403 Buffer to hold the alpha identifier. This is used to describe |
|
7404 the icon stored in iIconId if iIconId.iQualifier is set to |
|
7405 RMobileCall::ENotSelfExplanatory, |
|
7406 RMobileCall::EIconQualifierNotSet or |
|
7407 RMobileCall::ENoIconId. |
|
7408 */ |
|
7409 TAlphaIdBuf iAlphaId; |
|
7410 }; |
|
7411 |
|
7412 /** A typedef'd packaged TMobileCallParamsV7 for passing through a generic API |
|
7413 function member. */ |
|
7414 typedef TPckg<TMobileCallParamsV7> TMobileCallParamsV7Pckg; |
|
7415 |
|
7416 /***********************************************************************************/ |
|
7417 // |
|
7418 // Mobile Call Data Functional Unit |
|
7419 // |
|
7420 /***********************************************************************************/ |
|
7421 |
|
7422 /** In GSM mode, maps to list of supported speeds returned in response to AT+CBST=?. |
|
7423 In CDMA mode, maps to data rates supported by supported service options. |
|
7424 |
|
7425 @see TMobileCallDataCapsV1 */ |
|
7426 enum TMobileCallDataSpeedCaps |
|
7427 { |
|
7428 /** Call can support autobauding. */ |
|
7429 KCapsSpeedAutobauding = 0x00000001, |
|
7430 /** Call can support a speed of 2400bps. */ |
|
7431 KCapsSpeed2400 = 0x00000002, |
|
7432 /** Call can support a speed of 4800bps. */ |
|
7433 KCapsSpeed4800 = 0x00000004, |
|
7434 /** Call can support a speed of 9600bps. */ |
|
7435 KCapsSpeed9600 = 0x00000008, |
|
7436 /** Call can support a speed of 14400bps. */ |
|
7437 KCapsSpeed14400 = 0x00000010, |
|
7438 /** Call can support a speed of 19200bps. */ |
|
7439 KCapsSpeed19200 = 0x00000020, |
|
7440 /** Call can support a speed of 28800bps. */ |
|
7441 KCapsSpeed28800 = 0x00000040, |
|
7442 /** Call can support a speed of 32000bps. */ |
|
7443 KCapsSpeed32000 = 0x00000080, |
|
7444 /** Call can support a speed of 33600bps. */ |
|
7445 KCapsSpeed33600 = 0x00000100, |
|
7446 /** Call can support a speed of 38400bps. */ |
|
7447 KCapsSpeed38400 = 0x00000200, |
|
7448 /** Call can support a speed of 43200bps. */ |
|
7449 KCapsSpeed43200 = 0x00000400, |
|
7450 /** Call can support a speed of 48000bps. */ |
|
7451 KCapsSpeed48000 = 0x00000800, |
|
7452 /** Call can support a speed of 56000bps. */ |
|
7453 KCapsSpeed56000 = 0x00001000, |
|
7454 /** Call can support a speed of 57600bps. */ |
|
7455 KCapsSpeed57600 = 0x00002000, |
|
7456 /** Call can support a speed of 64000bps. */ |
|
7457 KCapsSpeed64000 = 0x00004000, |
|
7458 /** Call can support extended data speed capabilities. This flag is reserved for |
|
7459 future expansion of API and should always be set to zero. */ |
|
7460 KCapsSpeedExtended = 0x80000000 |
|
7461 }; |
|
7462 |
|
7463 /** List of supported values of the <speed> parameter returned in response to AT+CBST=? |
|
7464 |
|
7465 Not applicable to CDMA mode |
|
7466 |
|
7467 @see TMobileDataCallParamsV1 */ |
|
7468 enum TMobileCallDataProtocolCaps |
|
7469 { |
|
7470 /** Call can support V.22bis standard |
|
7471 |
|
7472 Modes: COMMON */ |
|
7473 KCapsProtocolV22bis = 0x00000001, |
|
7474 /** Call can support V.32 standard. |
|
7475 |
|
7476 Modes: COMMON */ |
|
7477 KCapsProtocolV32 = 0x00000002, |
|
7478 /** Call can support V.34 standard. |
|
7479 |
|
7480 Modes: COMMON */ |
|
7481 KCapsProtocolV34 = 0x00000004, |
|
7482 /** Call can support V.110 standard. |
|
7483 |
|
7484 Modes: GSM/WCDMA */ |
|
7485 KCapsProtocolV110 = 0x00000008, |
|
7486 /** Call can support V.120 standard. |
|
7487 |
|
7488 Modes: GSM/WCDMA */ |
|
7489 KCapsProtocolV120 = 0x00000010, |
|
7490 /** Call can support bit transparent service. |
|
7491 |
|
7492 Modes: GSM/WCDMA */ |
|
7493 KCapsProtocolBitTransparent = 0x00000020, |
|
7494 /** Call can support X31 flag stuffing standard. |
|
7495 |
|
7496 Modes: GSM/WCDMA */ |
|
7497 KCapsProtocolX31FlagStuffing = 0x00000040, |
|
7498 /** Call can support both PIAF standards (32000bps and 64000bps). |
|
7499 |
|
7500 Modes: GSM/WCDMA */ |
|
7501 KCapsProtocolPIAFS = 0x00000080, |
|
7502 /** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN |
|
7503 with voice fallback. |
|
7504 |
|
7505 Modes: WCDMA */ |
|
7506 KCapsPstnMultimediaVoiceFallback = 0x00000100, |
|
7507 /** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN |
|
7508 without voice fallback |
|
7509 |
|
7510 Modes: WCDMA */ |
|
7511 KCapsPstnMultimedia = 0x00000200, |
|
7512 /** Call can support request for Multimedia protocol (3G-324M) over a call to ISDN |
|
7513 (voice fallback not possible). |
|
7514 |
|
7515 Modes: WCDMA */ |
|
7516 KCapsIsdnMultimedia = 0x00000400, |
|
7517 /** Call can support extended data carrier capabilities. This flag is reserved for |
|
7518 future expansion and should always be set to zero for v1.0 of this API. |
|
7519 |
|
7520 Modes: COMMON */ |
|
7521 KCapsProtocolExtended = 0x80000000 |
|
7522 }; |
|
7523 |
|
7524 /** In GSM mode, maps to list of supported <name> returned in response to AT+CBST=? |
|
7525 In CDMA mode, maps to supported service options. |
|
7526 |
|
7527 Modes: COMMON |
|
7528 |
|
7529 @see TMobileCallDataCapsV1 */ |
|
7530 enum TMobileCallDataServiceCaps |
|
7531 { |
|
7532 KCapsDataCircuitAsynchronous = 0x00000001, |
|
7533 KCapsDataCircuitAsynchronousRDI = 0x00000002, |
|
7534 KCapsDataCircuitSynchronous = 0x00000004, |
|
7535 KCapsDataCircuitSynchronousRDI = 0x00000008, |
|
7536 /** Call can support "PAD Access (asynchronous) (UDI)". |
|
7537 |
|
7538 Modes: GSM/WCDMA */ |
|
7539 KCapsPADAsyncUDI = 0x00000010, |
|
7540 /** Call can support "PAD Access (asynchronous) (RDI)" |
|
7541 |
|
7542 Modes: GSM/WCDMA */ |
|
7543 KCapsPADAsyncRDI = 0x00000020, |
|
7544 /** Call can support "Packet Access (synchronous) (UDI)" |
|
7545 |
|
7546 Modes: GSM/WCDMA */ |
|
7547 KCapsPacketAccessSyncUDI = 0x00000040, |
|
7548 /** Call can support "Packet Access (synchronous) (RDI)". |
|
7549 |
|
7550 Modes: GSM/WCDMA */ |
|
7551 KCapsPacketAccessSyncRDI = 0x00000080, |
|
7552 /** Call can support extended data service capabilities. This flag is reserved for |
|
7553 future expansion of this API and should always be set to zero for v1.0 of |
|
7554 this API. |
|
7555 |
|
7556 Modes: COMMON */ |
|
7557 KCapsServiceExtended = 0x80000000 |
|
7558 }; |
|
7559 |
|
7560 /** Maps to list of supported <ce> returned in response to AT+CBST=? |
|
7561 |
|
7562 Not applicable to CDMA mode. |
|
7563 |
|
7564 @see TMobileCallDataCapsV1 */ |
|
7565 enum TMobileCallDataQoSCaps |
|
7566 { |
|
7567 /** Call can support a request for "transparent only" connection. */ |
|
7568 KCapsTransparent = 0x00000001, |
|
7569 /** Call can support a request for "non-transparent only" connection. */ |
|
7570 KCapsNonTransparent = 0x00000002, |
|
7571 /** Call can support a request for "transparent preferred" connection. */ |
|
7572 KCapsTransparentPreferred = 0x00000004, |
|
7573 /** Call can support a request for "non-transparent preferred" connection. */ |
|
7574 KCapsNonTransparentPreferred = 0x00000008 |
|
7575 }; |
|
7576 |
|
7577 /** Supported Air Interface User Rates. */ |
|
7578 enum TMobileCallAiurCodingCaps |
|
7579 { |
|
7580 /** Air interface user rate of 4.8k is supported. */ |
|
7581 KCapsAiurCoding48 = 0x01, |
|
7582 /** Air interface user rate of 9.6k is supported. */ |
|
7583 KCapsAiurCoding96 = 0x04, |
|
7584 /** Air interface user rate of 14.4k is supported. */ |
|
7585 KCapsAiurCoding144 = 0x08 |
|
7586 }; |
|
7587 |
|
7588 /** HSCSD coding capabilities. |
|
7589 |
|
7590 Modes: GSM/WCDMA */ |
|
7591 enum TMobileCallTchCodingsCaps |
|
7592 { |
|
7593 /** Call supports HSCSD coding on 4.8K full rate data traffic channel. */ |
|
7594 KCapsTchCoding48 = 0x00000001, |
|
7595 /** Call supports HSCSD coding on 9.6K full rate data traffic channel. */ |
|
7596 KCapsTchCoding96 = 0x00000004, |
|
7597 /** Call supports HSCSD coding on 14.4K full rate data traffic channel. */ |
|
7598 KCapsTchCoding144 = 0x00000008, |
|
7599 /** Call supports HSCSD coding on 28.8K full rate data traffic channel (only possible |
|
7600 when 14.4K is supported). */ |
|
7601 KCapsTchCoding288 = 0x00000010, |
|
7602 /** Call supports HSCSD coding on 32.0K full rate data traffic channel (only possible |
|
7603 in a two-timeslot configuration). */ |
|
7604 KCapsTchCoding320 = 0x00000020, |
|
7605 /** Call supports HSCSD coding on 43.2K full rate data traffic channel (only possible |
|
7606 when 14.4K is supported). */ |
|
7607 KCapsTchCoding432 = 0x00000040 |
|
7608 }; |
|
7609 |
|
7610 /** The call asymmetry capabilities. |
|
7611 |
|
7612 Modes: GSM/WCDMA |
|
7613 |
|
7614 @see TMobileCallDataCapsV1 */ |
|
7615 enum TMobileCallAsymmetryCaps |
|
7616 { |
|
7617 /** Call supports "No Preference" option for asymmetry bias of a Non-Transparent |
|
7618 ECSD call. */ |
|
7619 KCapsAsymmetryNoPreference= 0x00000001, |
|
7620 /** Call supports "Downlink bias" option for asymmetry bias of a Non-Transparent |
|
7621 ECSD call. |
|
7622 |
|
7623 This means 8-PSK modulation is preferred downlink and GMSK modulation uplink. */ |
|
7624 KCapsAsymmetryDownlink = 0x00000002, |
|
7625 /** Call supports "Uplink bias" option for asymmetry bias of a Non-Transparent ECSD |
|
7626 call. |
|
7627 |
|
7628 This means 8-PSK modulation is preferred uplink and GMSK modulation downlink. */ |
|
7629 KCapsAsymmetryUplink = 0x00000004 |
|
7630 }; |
|
7631 |
|
7632 /** The supported Call RLP versions. |
|
7633 |
|
7634 Modes: GSM/WCDMA |
|
7635 |
|
7636 @see TMobileCallDataCapsV1 */ |
|
7637 enum TMobileCallRLPVersionCaps |
|
7638 { |
|
7639 /** Call supports the single link, basic RLP version 0. */ |
|
7640 KCapsRLPSingleLinkVersion0 = 0x00000001, |
|
7641 /** Call supports the single link, extended RLP version 1. */ |
|
7642 KCapsRLPSingleLinkVersion1 = 0x00000002, |
|
7643 /** Call supports the multi link, RLP version 2. */ |
|
7644 KCapsRLPMultiLinkVersion2 = 0x00000004 |
|
7645 }; |
|
7646 |
|
7647 /** The supported V42bis options. |
|
7648 |
|
7649 Modes: GSM/WCDMA |
|
7650 |
|
7651 @see TMobileCallDataCapsV1 */ |
|
7652 enum TMobileCallV42bisCaps |
|
7653 { |
|
7654 /** Call supports V42bis compression in initiator-responder direction. */ |
|
7655 KCapsV42bisTxDirection = 0x00000001, |
|
7656 /** Call supports V42bis compression in responder-initiator direction. */ |
|
7657 KCapsV42bisRxDirection = 0x00000002, |
|
7658 /** Call supports V42bis compression in both directions. */ |
|
7659 KCapsV42bisBothDirections = 0x00000004 |
|
7660 }; |
|
7661 |
|
7662 |
|
7663 |
|
7664 class TMobileCallDataCapsV1 : public RMobilePhone::TMultimodeType |
|
7665 /** Defines the capabilities of a circuit switched data call. |
|
7666 @publishedPartner |
|
7667 @released |
|
7668 */ |
|
7669 { |
|
7670 public: |
|
7671 IMPORT_C TMobileCallDataCapsV1(); |
|
7672 public: |
|
7673 /** Data speed capabilities - a bit wise sum of the caps defined in TMobileCallDataSpeedCaps. */ |
|
7674 TUint32 iSpeedCaps; |
|
7675 /** Data protocol capabilities - a bit wise sum of the caps defined in TMobileCallDataProtocolCaps. */ |
|
7676 TUint32 iProtocolCaps; |
|
7677 /** Data service capabilities - a bit wise sum of the caps defined in TMobileCallDataServiceCaps. */ |
|
7678 TUint32 iServiceCaps; |
|
7679 /** Data QoS capabilities - a bit wise sum of the caps defined in TMobileCallDataQoSCaps. |
|
7680 |
|
7681 Note: Only available in GSM/WCDMA mode. */ |
|
7682 TUint32 iQoSCaps; |
|
7683 /** A boolean indicating whether or not the MS supports HSCSD for this call. If |
|
7684 this attribute equals EFalse all the following attributes are invalid. |
|
7685 |
|
7686 Note: Only available in GSM/WCDMA mode. */ |
|
7687 TBool iHscsdSupport; |
|
7688 /** For HSCSD: The multi-slot class supported. */ |
|
7689 TInt iMClass; |
|
7690 /** For HSCSD: The maximum supported number of time-slots in the receive (down-link) |
|
7691 direction. */ |
|
7692 TInt iMaxRxTimeSlots; |
|
7693 /** For HSCSD: The maximum supported number of time-slots in the transmit (up-link) |
|
7694 direction. */ |
|
7695 TInt iMaxTxTimeSlots; |
|
7696 /** For HSCSD: The maximum supported total number of receive and transmit time-slots |
|
7697 that can be used at same time. */ |
|
7698 TInt iTotalRxTxTimeSlots; |
|
7699 /** For HSCSD: A bit-wise sum of the supported air interface channel codings defined |
|
7700 in TMobileCallAiurCodingCaps. */ |
|
7701 TUint32 iCodingCaps; |
|
7702 /** For HSCSD: A bit-wise sum of the supported asymmetry bias defined in TMobileCallAsymmetryCaps. */ |
|
7703 TUint32 iAsymmetryCaps; |
|
7704 /** For HSCSD: A boolean indicating whether or not the MS supports automatic user |
|
7705 initiated service level upgrading. */ |
|
7706 TBool iUserInitUpgrade; |
|
7707 /** For HSCSD and CSD: A bit-wise sum of the supported Radio Link Protocol versions |
|
7708 defined in TMobileCallRLPVersionCaps. */ |
|
7709 TUint32 iRLPVersionCaps; |
|
7710 /** For HSCSD and CSD: A bit-wise sum of the supported V42bis compression capabilities |
|
7711 defined in TMobileCallV42bisCaps . */ |
|
7712 TUint32 iV42bisCaps; |
|
7713 }; |
|
7714 |
|
7715 /** A typedef'd packaged TMobileCallDataCapsV1 for passing through a generic API |
|
7716 function member. */ |
|
7717 typedef TPckg<TMobileCallDataCapsV1> TMobileCallDataCapsV1Pckg; |
|
7718 |
|
7719 IMPORT_C TInt GetMobileDataCallCaps(TDes8& aCaps) const; |
|
7720 IMPORT_C void NotifyMobileDataCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const; |
|
7721 |
|
7722 /** The call setup requested data speed. |
|
7723 |
|
7724 @see TMobileDataCallParamsV1 */ |
|
7725 enum TMobileCallDataSpeed |
|
7726 { |
|
7727 /** Call set-up will request speed depending on data carrier chosen. */ |
|
7728 ESpeedUnspecified, |
|
7729 /** Call set-up will request autobauding. */ |
|
7730 ESpeedAutobauding, |
|
7731 /** Call set-up will request 2400bps. */ |
|
7732 ESpeed2400, |
|
7733 /** Call set-up will request 4800bps. */ |
|
7734 ESpeed4800, |
|
7735 /** Call set-up will request 9600bps. */ |
|
7736 ESpeed9600, |
|
7737 /** Call set-up will request 14400bps. */ |
|
7738 ESpeed14400, |
|
7739 /** Call set-up will request 19200bps. */ |
|
7740 ESpeed19200, |
|
7741 /** Call set-up will request 28800bps. */ |
|
7742 ESpeed28800, |
|
7743 /** Call set-up will request 32000bps. */ |
|
7744 ESpeed32000, |
|
7745 /** Call set-up will request 33600bps. */ |
|
7746 ESpeed33600, |
|
7747 /** Call set-up will request 38400bps. */ |
|
7748 ESpeed38400, |
|
7749 /** Call set-up will request 43200bps. */ |
|
7750 ESpeed43200, |
|
7751 /** Call set-up will request 48000bps. */ |
|
7752 ESpeed48000, |
|
7753 /** Call set-up will request 56000bps. */ |
|
7754 ESpeed56000, |
|
7755 /** Call set-up will request 57600bps. */ |
|
7756 ESpeed57600, |
|
7757 /** Call set-up will request 64000bps. */ |
|
7758 ESpeed64000 |
|
7759 }; |
|
7760 |
|
7761 /** The call set-up requested data protocol. |
|
7762 |
|
7763 Modes: GSM/WCDMA */ |
|
7764 enum TMobileCallDataProtocol |
|
7765 { |
|
7766 /** Call set-up will request carrier depending on data speed chosen. */ |
|
7767 EProtocolUnspecified, |
|
7768 /** Call set-up will request the V.22bis standard. */ |
|
7769 EProtocolV22bis, |
|
7770 /** Call set-up will request the V.32 standard. */ |
|
7771 EProtocolV32, |
|
7772 /** Call set-up will request the V.34 standard. */ |
|
7773 EProtocolV34, |
|
7774 /** Call set-up will request the V.110 standard. */ |
|
7775 EProtocolV110, |
|
7776 /** Call set-up will request the V.120 standard. */ |
|
7777 EProtocolV120, |
|
7778 /** Call set-up will request the X31FlagStuffing standard. */ |
|
7779 EProtocolX31FlagStuffing, |
|
7780 /** Call set-up will request the PIAFS standard. */ |
|
7781 EProtocolPIAFS, |
|
7782 /** Call set-up will request the bit transparent service. */ |
|
7783 EProtocolBitTransparent, |
|
7784 /** Call set-up will request a PSTN multimedia call with voice fallback if multimedia |
|
7785 fails. |
|
7786 |
|
7787 WCDMA mode only. */ |
|
7788 EProtocolPstnMultimediaVoiceFallback, |
|
7789 /** Call set-up will request a PSTN multimedia call. |
|
7790 |
|
7791 WCDMA mode only. */ |
|
7792 EProtocolPstnMultimedia, |
|
7793 /** Call set-up will request a ISDN multimedia call. |
|
7794 |
|
7795 WCDMA mode only. */ |
|
7796 EProtocolIsdnMultimedia |
|
7797 }; |
|
7798 |
|
7799 /** The call setup requested data services. |
|
7800 |
|
7801 Modes: Common |
|
7802 |
|
7803 @see TMobileDataCallParamsV1 */ |
|
7804 enum TMobileCallDataService |
|
7805 { |
|
7806 /** Call set-up will request its default service type. |
|
7807 |
|
7808 Modes: Common */ |
|
7809 EServiceUnspecified, |
|
7810 /** Call set-up will request: |
|
7811 |
|
7812 GSM mode - Data circuit asynchronous (UDI or 3.1 KHz, ex PLMN) service |
|
7813 |
|
7814 In CDMA mode - Async Data service |
|
7815 |
|
7816 Modes: Common */ |
|
7817 EServiceDataCircuitAsync, |
|
7818 /** Call set-up will request Data circuit asynchronous (RDI) service. |
|
7819 |
|
7820 Modes: GSM/WCDMA */ |
|
7821 EServiceDataCircuitAsyncRdi, |
|
7822 /** Call set-up will request Data circuit synchronous (UDI or 3.1 KHz, ex PLMN) |
|
7823 service. |
|
7824 |
|
7825 Modes: GSM/WCDMA */ |
|
7826 EServiceDataCircuitSync, |
|
7827 /** Call set-up will request Data circuit synchronous (RDI) service. |
|
7828 |
|
7829 Modes: GSM/WCDMA */ |
|
7830 EServiceDataCircuitSyncRdi, |
|
7831 /** Call set-up will request PAD asynchronous (UDI) service. |
|
7832 |
|
7833 Modes: GSM/WCDMA */ |
|
7834 EServicePADAsyncUDI, |
|
7835 /** Call set-up will request PAD asynchronous (RDI) service. |
|
7836 |
|
7837 Modes: GSM/WCDMA */ |
|
7838 EServicePADAsyncRDI, |
|
7839 /** Call set-up will request Packet Access synchronous (UDI) service. |
|
7840 |
|
7841 Modes: GSM/WCDMA */ |
|
7842 EServicePacketAccessSyncUDI, |
|
7843 /** Call set-up will request Packet Access synchronous (RDI) service. |
|
7844 |
|
7845 Modes: GSM/WCDMA */ |
|
7846 EServicePacketAccessSyncRDI |
|
7847 }; |
|
7848 |
|
7849 /** The call set-up requested quality of service (QoS). |
|
7850 |
|
7851 Modes: GSM/WCDMA |
|
7852 |
|
7853 @see TMobileDataCallParamsV1 */ |
|
7854 enum TMobileCallDataQoS |
|
7855 { |
|
7856 /** Call set-up will request its default connection. */ |
|
7857 EQoSUnspecified, |
|
7858 /** Call set-up will request a transparent connection. */ |
|
7859 EQoSTransparent, |
|
7860 /** Call set-up will request a non-transparent connection. */ |
|
7861 EQoSNonTransparent, |
|
7862 /** Call set-up will prefer a transparent connection. */ |
|
7863 EQosTransparentPreferred, |
|
7864 /** Call set-up will prefer a non-transparent connection. */ |
|
7865 EQosNonTransparentPreferred |
|
7866 }; |
|
7867 |
|
7868 /** The call set-up requested RLP version. |
|
7869 |
|
7870 @see TMobileDataCallParamsV1 */ |
|
7871 enum TMobileCallDataRLPVersion |
|
7872 { |
|
7873 /** Call set-up will request no RLP version. */ |
|
7874 ERLPNotRequested, |
|
7875 /** Call set-up will request single link basic RLP (version 0). */ |
|
7876 ERLPSingleLinkVersion0, |
|
7877 /** Call set-up will request single link extended RLP (version 1). */ |
|
7878 ERLPSingleLinkVersion1, |
|
7879 /** Call set-up will prefer multi link RLP (version 2). */ |
|
7880 ERLPMultiLinkVersion2 |
|
7881 }; |
|
7882 |
|
7883 /** The V.42bis parameters used in the call set-up of a V.42bis data call. |
|
7884 |
|
7885 @see TMobileDataCallParamsV1 */ |
|
7886 enum TMobileCallDataV42bis |
|
7887 { |
|
7888 /** Call set-up will not request V.42bis compression. */ |
|
7889 EV42bisNeitherDirection, |
|
7890 /** Call set-up will request V.42bis compression in initiator-responder direction |
|
7891 only. */ |
|
7892 EV42bisTxDirection, |
|
7893 /** Call set-up will request V.42bis compression in responder-initiator direction |
|
7894 only. */ |
|
7895 EV42bisRxDirection, |
|
7896 /** Call set-up will request V.42bis compression in both directions. */ |
|
7897 EV42bisBothDirections |
|
7898 }; |
|
7899 |
|
7900 |
|
7901 |
|
7902 |
|
7903 class TMobileDataCallParamsV1 : public TMobileCallParamsV1 |
|
7904 /** Defines the parameters used for setup of a circuit switched data call. |
|
7905 */ |
|
7906 { |
|
7907 public: |
|
7908 IMPORT_C TMobileDataCallParamsV1(); |
|
7909 public: |
|
7910 /** The type of data service. |
|
7911 |
|
7912 @see TMobileCallDataService */ |
|
7913 TMobileCallDataService iService; |
|
7914 /** The data transfer rate. |
|
7915 |
|
7916 @see TMobileCallDataSpeed */ |
|
7917 TMobileCallDataSpeed iSpeed; |
|
7918 /** The ITU-T standard modulation protocol or higher application protocol. */ |
|
7919 TMobileCallDataProtocol iProtocol; |
|
7920 /** The quality of data service. |
|
7921 |
|
7922 @see TMobileCallDataQoS */ |
|
7923 TMobileCallDataQoS iQoS; |
|
7924 /** The version of Radio Link Protocol. |
|
7925 |
|
7926 Modes: GSM/WCDMA |
|
7927 |
|
7928 @see TMobileCallDataRLPVersion */ |
|
7929 TMobileCallDataRLPVersion iRLPVersion; |
|
7930 /** The IWF to MS windows size. |
|
7931 |
|
7932 Modes: GSM/WCDMA */ |
|
7933 TInt iModemToMSWindowSize; |
|
7934 /** The MS window to IWF size. |
|
7935 |
|
7936 Modes: GSM/WCDMA */ |
|
7937 TInt iMSToModemWindowSize; |
|
7938 /** The acknowledgement timer. |
|
7939 |
|
7940 Modes: GSM/WCDMA */ |
|
7941 TInt iAckTimer; |
|
7942 /** The number of retransmission attempts. |
|
7943 |
|
7944 Modes: GSM/WCDMA */ |
|
7945 TInt iRetransmissionAttempts; |
|
7946 /** The resequencing period in integer format. |
|
7947 |
|
7948 Modes: GSM/WCDMA */ |
|
7949 TInt iResequencingPeriod; |
|
7950 /** The V42bis compression request parameter. |
|
7951 |
|
7952 @see TMobileCallDataV42bis */ |
|
7953 TMobileCallDataV42bis iV42bisReq; |
|
7954 /** The number of codewords in the algorithm. */ |
|
7955 TInt iV42bisCodewordsNum; |
|
7956 /** The maximum encodable data string length. */ |
|
7957 TInt iV42bisMaxStringLength; |
|
7958 TBool iUseEdge; // True for ECSD |
|
7959 }; |
|
7960 |
|
7961 /** A typedef'd packaged TMobileDataCallParamsV1 for passing through a generic API |
|
7962 function member. */ |
|
7963 typedef TPckg<TMobileDataCallParamsV1> TMobileDataCallParamsV1Pckg; |
|
7964 |
|
7965 class TMobileDataCallParamsV2 : public TMobileDataCallParamsV1 |
|
7966 /** Defines the parameters used for setup of a circuit switched data call for version |
|
7967 v2.0 of the API. |
|
7968 */ |
|
7969 { |
|
7970 public: |
|
7971 IMPORT_C TMobileDataCallParamsV2(); |
|
7972 public: |
|
7973 /** The bearer mode. */ |
|
7974 TMobileCallMulticallBearerMode iBearerMode; |
|
7975 }; |
|
7976 |
|
7977 /** A typedef'd packaged TMobileDataCallParamsV2 for passing through a generic |
|
7978 API function member. */ |
|
7979 typedef TPckg<TMobileDataCallParamsV2> TMobileDataCallParamsV2Pckg; |
|
7980 |
|
7981 class TMobileDataCallParamsV8 : public TMobileDataCallParamsV2 |
|
7982 /** Defines the parameters used for setup of a circuit switched data call for version |
|
7983 v8.0 of the API. |
|
7984 */ |
|
7985 { |
|
7986 public: |
|
7987 IMPORT_C TMobileDataCallParamsV8(); |
|
7988 public: |
|
7989 /** The origin of the call. |
|
7990 |
|
7991 @see TCallParamOrigin */ |
|
7992 TCallParamOrigin iCallParamOrigin; |
|
7993 |
|
7994 /** The sub-address of the remote party. |
|
7995 |
|
7996 @see TSubAddress */ |
|
7997 TSubAddress iSubAddress; |
|
7998 |
|
7999 /** Capability configuration parameters for the first bearer. |
|
8000 |
|
8001 @see TCcp */ |
|
8002 TCcp iBearerCap1; |
|
8003 |
|
8004 /** Capability configuration parameters for the second bearer. |
|
8005 |
|
8006 @see TCcp */ |
|
8007 TCcp iBearerCap2; |
|
8008 |
|
8009 /** The bearer capability repeat indicator. |
|
8010 |
|
8011 @see TBCRepeatIndicator */ |
|
8012 TBCRepeatIndicator iBCRepeatIndicator; |
|
8013 |
|
8014 /** The icon identifier of the icon to display. |
|
8015 This can be used, for example, to provide |
|
8016 graphical notification that the call is taking place. |
|
8017 |
|
8018 @see TIconQualifier |
|
8019 */ |
|
8020 TIconId iIconId; |
|
8021 |
|
8022 /** Buffer to hold the alpha identifier. This is used to describe |
|
8023 the icon stored in iIconId if iIconId.iQualifier is set to |
|
8024 RMobileCall::ENotSelfExplanatory, |
|
8025 RMobileCall::EIconQualifierNotSet or |
|
8026 */ |
|
8027 TAlphaIdBuf iAlphaId; |
|
8028 }; |
|
8029 |
|
8030 /** A typedef'd packaged TMobileDataCallParamsV8 for passing through a generic |
|
8031 API function member. */ |
|
8032 typedef TPckg<TMobileDataCallParamsV8> TMobileDataCallParamsV8Pckg; |
|
8033 |
|
8034 /** The Air interface user rate. |
|
8035 |
|
8036 Modes: GSM/WCDMA. */ |
|
8037 enum TMobileCallAiur |
|
8038 { |
|
8039 /** Air interface user rate is not set. */ |
|
8040 EAiurBpsUnspecified, |
|
8041 /** Air interface user rate of 9.6Kbps. */ |
|
8042 EAiurBps9600, |
|
8043 /** Air interface user rate of 14.4Kbps. */ |
|
8044 EAiurBps14400, |
|
8045 /** Air interface user rate of 19.2Kbps. */ |
|
8046 EAiurBps19200, |
|
8047 /** Air interface user rate of 28.8Kbps. */ |
|
8048 EAiurBps28800, |
|
8049 /** Air interface user rate of 38.4Kbps. */ |
|
8050 EAiurBps38400, |
|
8051 /** Air interface user rate of 43.2Kbps. */ |
|
8052 EAiurBps43200, |
|
8053 /** Air interface user rate of 57.6Kbps. */ |
|
8054 EAiurBps57600 |
|
8055 }; |
|
8056 |
|
8057 /** Call Asymmetry preferences. |
|
8058 |
|
8059 Modes: GSM/WCDMA |
|
8060 |
|
8061 @see TMobileHscsdCallParamsV1 */ |
|
8062 enum TMobileCallAsymmetry |
|
8063 { |
|
8064 /** There is no preference for Asymmetry Bias. */ |
|
8065 EAsymmetryNoPreference, |
|
8066 /** Downlink Bias is preferred. */ |
|
8067 EAsymmetryDownlink, |
|
8068 /** Uplink Bias is preferred. */ |
|
8069 EAsymmetryUplink |
|
8070 }; |
|
8071 |
|
8072 /** The call channel coding used. |
|
8073 |
|
8074 Modes: GSM/WCDMA */ |
|
8075 enum TMobileCallTchCoding |
|
8076 { |
|
8077 /** Channel coding is unspecified. */ |
|
8078 ETchCodingUnspecified, |
|
8079 /** 4.8K full rate data traffic channel is used. */ |
|
8080 ETchCoding48, |
|
8081 /** 9.6K full rate data traffic channel is used. */ |
|
8082 ETchCoding96, |
|
8083 /** 14.4K full rate data traffic channel is used. */ |
|
8084 ETchCoding144, |
|
8085 /** 28.8K full rate data traffic channel is used. */ |
|
8086 ETchCoding288, |
|
8087 /** 32.0K full rate data traffic channel is used. */ |
|
8088 ETchCoding320, |
|
8089 /** 43.2K full rate data traffic channel is used. */ |
|
8090 ETchCoding432 |
|
8091 }; |
|
8092 |
|
8093 |
|
8094 |
|
8095 class TMobileDataRLPRangesV1 : public RMobilePhone::TMultimodeType |
|
8096 /** Defines the parameters for minimum and maximum RLP parameter ranges. |
|
8097 |
|
8098 Modes: GSM/WCDMA |
|
8099 |
|
8100 */ |
|
8101 { |
|
8102 public: |
|
8103 IMPORT_C TMobileDataRLPRangesV1(); |
|
8104 public: |
|
8105 /** Maximum modem to MS window size value. */ |
|
8106 TInt iIWSMax; |
|
8107 /** Minimum modem to MS window size value. */ |
|
8108 TInt iIWSMin; |
|
8109 /** Maximum MS to modem window size value. */ |
|
8110 TInt iMWSMax; |
|
8111 /** Minimum MS to modem window size value. */ |
|
8112 TInt iMWSMin; |
|
8113 /** Maximum acknowledgement timer value. */ |
|
8114 TInt iT1Max; |
|
8115 /** Minimum acknowledgement timer value. */ |
|
8116 TInt iT1Min; |
|
8117 /** Maximum retransmission attempts value. */ |
|
8118 TInt iN2Max; |
|
8119 /** Minimum retransmission attempts value. */ |
|
8120 TInt iN2Min; |
|
8121 /** Maximum resequencing period value. */ |
|
8122 TInt iT4Max; |
|
8123 /** Minimum resequencing period value. */ |
|
8124 TInt iT4Min; |
|
8125 }; |
|
8126 |
|
8127 /** A typedef'd packaged TMobileDataRLPRangesV1 for passing through a generic API |
|
8128 function member. */ |
|
8129 typedef TPckg<TMobileDataRLPRangesV1> TMobileDataRLPRangesV1Pckg; |
|
8130 |
|
8131 IMPORT_C void GetMobileDataCallRLPRange(TRequestStatus& aReqStatus, TInt aRLPVersion, TDes8& aRLPRange) const; |
|
8132 |
|
8133 class TMobileHscsdCallParamsV1 : public TMobileDataCallParamsV1 |
|
8134 /** The High Speed Circuit Switched Data parameters. |
|
8135 */ |
|
8136 { |
|
8137 public: |
|
8138 IMPORT_C TMobileHscsdCallParamsV1(); |
|
8139 public: |
|
8140 /** The wanted Air Interface Rate for the HSCSD call being set-up. |
|
8141 |
|
8142 Modes: GSM/WCDMA |
|
8143 |
|
8144 @see TMobileCallAiur */ |
|
8145 TMobileCallAiur iWantedAiur; |
|
8146 /** The wanted number of receive timeslots for the HSCSD call being set-up. |
|
8147 |
|
8148 Modes: GSM/WCDMA */ |
|
8149 TInt iWantedRxTimeSlots; |
|
8150 TInt iMaxTimeSlots; |
|
8151 /** Bit-wise sum of acceptable air interface channel codings TMobileCallAiurCodingCaps |
|
8152 for the HSCSD call being set-up. |
|
8153 |
|
8154 Modes: GSM/WCDMA */ |
|
8155 TUint iCodings; |
|
8156 /** The wanted asymmetry bias for the HSCSD call being set-up. |
|
8157 |
|
8158 Modes: GSM/WCDMA |
|
8159 |
|
8160 @see TMobileCallAsymmetry */ |
|
8161 TMobileCallAsymmetry iAsymmetry; |
|
8162 /** A boolean indicating whether or not automatic user initiated service level upgrading |
|
8163 is active for the HSCSD call being set-up. ETrue means enabled, EFalse means |
|
8164 disabled. |
|
8165 |
|
8166 Modes: GSM/WCDMA */ |
|
8167 TBool iUserInitUpgrade; |
|
8168 }; |
|
8169 |
|
8170 /** A typedef'd packaged TMobileHscsdCallParamsV1 for passing through a generic |
|
8171 API function member. */ |
|
8172 typedef TPckg<TMobileHscsdCallParamsV1> TMobileHscsdCallParamsV1Pckg; |
|
8173 |
|
8174 class TMobileHscsdCallParamsV2 : public TMobileHscsdCallParamsV1 |
|
8175 /** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v2.0 |
|
8176 of the API. |
|
8177 |
|
8178 */ |
|
8179 { |
|
8180 public: |
|
8181 IMPORT_C TMobileHscsdCallParamsV2(); |
|
8182 public: |
|
8183 /** The bearer mode. */ |
|
8184 TMobileCallMulticallBearerMode iBearerMode; |
|
8185 }; |
|
8186 |
|
8187 /** A typedef'd packaged TMobileHscsdCallParamsV2 for passing through a generic |
|
8188 API function member. */ |
|
8189 typedef TPckg<TMobileHscsdCallParamsV2> TMobileHscsdCallParamsV2Pckg; |
|
8190 |
|
8191 |
|
8192 class TMobileHscsdCallParamsV7 : public TMobileHscsdCallParamsV2 |
|
8193 /** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v7.0 |
|
8194 of the API. |
|
8195 */ |
|
8196 { |
|
8197 public: |
|
8198 IMPORT_C TMobileHscsdCallParamsV7(); |
|
8199 public: |
|
8200 /** The originator of the call. */ |
|
8201 TCallParamOrigin iCallParamOrigin; |
|
8202 /** |
|
8203 The icon identifier of the icon to display. |
|
8204 This can be used, for example, to provide |
|
8205 graphical notification that the call is taking place. |
|
8206 |
|
8207 @see TIconQualifier |
|
8208 */ |
|
8209 TIconId iIconId; |
|
8210 /** |
|
8211 Buffer to hold the alpha identifier. This is used to describe |
|
8212 the icon stored in iIconId if iIconId.iQualifier is set to |
|
8213 RMobileCall::ENotSelfExplanatory, |
|
8214 RMobileCall::EIconQualifierNotSet or |
|
8215 RMobileCall::ENoIconId. |
|
8216 */ |
|
8217 TAlphaIdBuf iAlphaId; |
|
8218 }; |
|
8219 |
|
8220 /** A typedef'd packaged TMobileHscsdCallParamsV7 for passing through a generic |
|
8221 API function member. */ |
|
8222 typedef TPckg<TMobileHscsdCallParamsV7> TMobileHscsdCallParamsV7Pckg; |
|
8223 |
|
8224 class TMobileHscsdCallParamsV8 : public TMobileHscsdCallParamsV7 |
|
8225 /** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v8.0 |
|
8226 of the API. |
|
8227 */ |
|
8228 { |
|
8229 public: |
|
8230 IMPORT_C TMobileHscsdCallParamsV8(); |
|
8231 public: |
|
8232 |
|
8233 /** The sub-address of the remote party. |
|
8234 |
|
8235 @see TSubAddress */ |
|
8236 TSubAddress iSubAddress; |
|
8237 |
|
8238 /** Capability configuration parameters for the first bearer. |
|
8239 |
|
8240 @see TCcp */ |
|
8241 TCcp iBearerCap1; |
|
8242 |
|
8243 /** Capability configuration parameters for the second bearer. |
|
8244 |
|
8245 @see TCcp */ |
|
8246 TCcp iBearerCap2; |
|
8247 |
|
8248 /** The bearer capability repeat indicator. |
|
8249 |
|
8250 @see TBCRepeatIndicator */ |
|
8251 TBCRepeatIndicator iBCRepeatIndicator; |
|
8252 }; |
|
8253 |
|
8254 /** A typedef'd packaged TMobileHscsdCallParamsV8 for passing through a generic |
|
8255 API function member. */ |
|
8256 typedef TPckg<TMobileHscsdCallParamsV8> TMobileHscsdCallParamsV8Pckg; |
|
8257 |
|
8258 IMPORT_C void SetDynamicHscsdParams(TRequestStatus& aReqStatus, TMobileCallAiur aAiur, TInt aRxTimeslots) const; |
|
8259 |
|
8260 class TMobileCallHscsdInfoV1 : public RMobilePhone::TMultimodeType |
|
8261 /** The HSCSD settings. |
|
8262 |
|
8263 Modes: GSM/WCDMA |
|
8264 |
|
8265 */ |
|
8266 { |
|
8267 public: |
|
8268 IMPORT_C TMobileCallHscsdInfoV1(); |
|
8269 public: |
|
8270 /** Current AIUR for the HSCSD call. |
|
8271 |
|
8272 @see TMobileCallAiur */ |
|
8273 TMobileCallAiur iAiur; |
|
8274 /** Current number of receive timeslots for the HSCSD call. */ |
|
8275 TInt iRxTimeSlots; |
|
8276 /** Current number of transmit time slots for the HSCSD call. */ |
|
8277 TInt iTxTimeSlots; |
|
8278 /** Current channel coding for the HSCSD call. */ |
|
8279 TMobileCallTchCoding iCodings; |
|
8280 }; |
|
8281 |
|
8282 /** A typedef'd packaged TMobileCallHscsdInfoV1 for passing through a generic API |
|
8283 function member. */ |
|
8284 typedef TPckg<TMobileCallHscsdInfoV1> TMobileCallHscsdInfoV1Pckg; |
|
8285 |
|
8286 class TMobileCallHscsdInfoV7 : public TMobileCallHscsdInfoV1 |
|
8287 /** Version 7 of the HSCSD settings. |
|
8288 |
|
8289 Modes: GSM/WCDMA |
|
8290 */ |
|
8291 { |
|
8292 public: |
|
8293 IMPORT_C TMobileCallHscsdInfoV7(); |
|
8294 public: |
|
8295 /** The originator of the call. */ |
|
8296 TCallParamOrigin iCallParamOrigin; |
|
8297 /** |
|
8298 The icon identifier which can be used for indication that the |
|
8299 call is being made. |
|
8300 */ |
|
8301 TIconId iIconId; |
|
8302 /** |
|
8303 The alpha identifier to describe the icon. |
|
8304 */ |
|
8305 TAlphaIdBuf iAlphaId; |
|
8306 /** |
|
8307 An indication of whether the call parameters have been modified. |
|
8308 Set to ETrue if they have been modified, EFalse otherwise. |
|
8309 */ |
|
8310 TBool iParamsCallControlModified; |
|
8311 }; |
|
8312 |
|
8313 /** A typedef'd packaged TMobileCallHscsdInfoV7 for passing through a generic API |
|
8314 function member. */ |
|
8315 typedef TPckg<TMobileCallHscsdInfoV7> TMobileCallHscsdInfoV7Pckg; |
|
8316 |
|
8317 class TMobileCallHscsdInfoV8 : public TMobileCallHscsdInfoV7 |
|
8318 /** Version 8 of the HSCSD settings. |
|
8319 |
|
8320 Modes: GSM/WCDMA |
|
8321 */ |
|
8322 { |
|
8323 public: |
|
8324 IMPORT_C TMobileCallHscsdInfoV8(); |
|
8325 public: |
|
8326 |
|
8327 /** The sub-address of the remote party. |
|
8328 |
|
8329 @see TSubAddress */ |
|
8330 TSubAddress iSubAddress; |
|
8331 |
|
8332 /** Capability configuration parameters for the first bearer. |
|
8333 |
|
8334 @see TCcp */ |
|
8335 TCcp iBearerCap1; |
|
8336 |
|
8337 /** Capability configuration parameters for the second bearer. |
|
8338 |
|
8339 @see TCcp */ |
|
8340 TCcp iBearerCap2; |
|
8341 |
|
8342 /** The bearer capability repeat indicator. |
|
8343 |
|
8344 @see TBCRepeatIndicator */ |
|
8345 TBCRepeatIndicator iBCRepeatIndicator; |
|
8346 }; |
|
8347 |
|
8348 /** A typedef'd packaged TMobileCallHscsdInfoV8 for passing through a generic |
|
8349 API function member. */ |
|
8350 typedef TPckg<TMobileCallHscsdInfoV8> TMobileCallHscsdInfoV8Pckg; |
|
8351 |
|
8352 |
|
8353 IMPORT_C TInt GetCurrentHscsdInfo(TDes8& aHSCSDInfo) const; |
|
8354 IMPORT_C void NotifyHscsdInfoChange(TRequestStatus& aReqStatus, TDes8& aHSCSDInfo) const; |
|
8355 |
|
8356 /***********************************************************************************/ |
|
8357 // |
|
8358 // Multimedia Calls |
|
8359 // |
|
8360 /***********************************************************************************/ |
|
8361 |
|
8362 IMPORT_C void AnswerMultimediaCallAsVoice(TRequestStatus& aReqStatus, const TDesC8& aCallParams, TName& aCallName) const; |
|
8363 IMPORT_C void NotifyVoiceFallback(TRequestStatus& aReqStatus, TName& aCallName) const; |
|
8364 |
|
8365 // |
|
8366 // Mobile Alternating Call Functional Unit |
|
8367 // |
|
8368 |
|
8369 IMPORT_C void SwitchAlternatingCall(TRequestStatus& aReqStatus) const; |
|
8370 IMPORT_C void NotifyAlternatingCallSwitch(TRequestStatus& aReqStatus) const; |
|
8371 |
|
8372 /***********************************************************************************/ |
|
8373 // |
|
8374 // MobileCallControl functional unit |
|
8375 // |
|
8376 /***********************************************************************************/ |
|
8377 |
|
8378 /** Mobile call control capabilites. |
|
8379 |
|
8380 Modes: Common */ |
|
8381 enum TMobileCallControlCaps |
|
8382 { |
|
8383 //KCapsData=0x00000001, // taken from etel.h |
|
8384 //KCapsFax=0x00000002, |
|
8385 //KCapsVoice=0x00000004, |
|
8386 //KCapsDial=0x00000008, |
|
8387 //KCapsConnect=0x00000010, |
|
8388 //KCapsHangUp=0x00000020, |
|
8389 //KCapsAnswer=0x00000040, |
|
8390 //KCapsLoanDataPort=0x00000080, |
|
8391 //KCapsRecoverDataPort=0x00000100 |
|
8392 /** Indicates that this call can be put on hold. This implies that the call is currently |
|
8393 active and that there is no other held call. */ |
|
8394 KCapsHold = 0x00000200, |
|
8395 /** Indicates that this call can be resumed. This implies that the call is currently |
|
8396 on hold and that there is no other active call. |
|
8397 |
|
8398 Modes: Common */ |
|
8399 KCapsResume = 0x00000400, |
|
8400 /** Indicates that this call's state can be swapped to the opposite state. This |
|
8401 implies that this call is either active or held. There may be another call |
|
8402 in the opposite state and if this is the case then both calls will be simultaneously |
|
8403 swapped to their opposite state. |
|
8404 |
|
8405 Modes: Common */ |
|
8406 KCapsSwap = 0x00000800, |
|
8407 /** Indicates that this incoming call can be deflected to another destination. |
|
8408 |
|
8409 Modes: GSM/WCDMA */ |
|
8410 KCapsDeflect = 0x00001000, |
|
8411 /** Indicates that this call can be transferred to the remote party of another call. |
|
8412 For this capability to be set there must be one active call and one held or |
|
8413 dialing call. |
|
8414 |
|
8415 Modes: GSM/WCDMA */ |
|
8416 KCapsTransfer = 0x00002000, |
|
8417 /** Indicates that this call can be joined either to another single call to form |
|
8418 a conference call or to an existing conference call. |
|
8419 |
|
8420 Modes: Common */ |
|
8421 KCapsJoin = 0x00004000, |
|
8422 /** Indicates that this call (within a conference call) can go into One to One mode. |
|
8423 This action would put the rest of the conference call on hold. |
|
8424 |
|
8425 Modes: GSM/WCDMA */ |
|
8426 KCapsOneToOne = 0x00008000, |
|
8427 /** Indicates that the user can activate a CCBS request on this failed call set-up. |
|
8428 |
|
8429 Modes: GSM/WCDMA */ |
|
8430 KCapsActivateCCBS = 0x00010000, |
|
8431 /** Indicates that this call is part of an alternating call and the client can call |
|
8432 SwitchAlternatingCall() on this call in order to switch it to its other mode. |
|
8433 |
|
8434 Modes: GSM/WCDMA */ |
|
8435 KCapsSwitchAlternatingCall = 0x00020000, |
|
8436 /** Indicates that this call can use/create a new bearer. This means that multiple |
|
8437 calls (multicall) can be active at the same time using no more that 7 bearers |
|
8438 simultaneously. The other option is to swap with an active call, therefore |
|
8439 it becomes held and shares the same bearer. |
|
8440 |
|
8441 Modes: WCDMA */ |
|
8442 KCapsMulticall = 0x00040000 |
|
8443 }; |
|
8444 |
|
8445 |
|
8446 /** Mobile call events capabilities. |
|
8447 |
|
8448 Modes: Common */ |
|
8449 enum TMobileCallEventCaps |
|
8450 { |
|
8451 /** Indicates that local hold notifications are supported. |
|
8452 |
|
8453 Modes: Common */ |
|
8454 KCapsLocalHold = 0x00000001, |
|
8455 /** Indicates that local resume notifications are supported. |
|
8456 |
|
8457 Modes: Common */ |
|
8458 KCapsLocalResume = 0x00000002, |
|
8459 /** Indicates that local deflect transfer notifications are supported. |
|
8460 |
|
8461 Modes: GSM/WCDMA */ |
|
8462 KCapsLocalDeflectCall = 0x00000004, |
|
8463 /** Indicates that local explicit transfer notifications are supported. |
|
8464 |
|
8465 Modes: GSM/WCDMA */ |
|
8466 KCapsLocalTransfer = 0x00000008, |
|
8467 /** Indicates that remote hold notifications are supported. |
|
8468 |
|
8469 Modes: GSM/WCDMA */ |
|
8470 KCapsRemoteHold = 0x00000010, |
|
8471 /** Indicates that remote resume notifications are supported. |
|
8472 |
|
8473 Modes: GSM/WCDMA */ |
|
8474 KCapsRemoteResume = 0x00000020, |
|
8475 /** Indicates that remote termination notifications are supported. |
|
8476 |
|
8477 Modes: Common */ |
|
8478 KCapsRemoteTerminate = 0x00000040, |
|
8479 /** Indicates that remote conference invocation notifications are supported. |
|
8480 |
|
8481 Modes: GSM/WCDMA */ |
|
8482 KCapsRemoteConferenceCreate = 0x00000080 |
|
8483 }; |
|
8484 |
|
8485 |
|
8486 |
|
8487 class TMobileCallCapsV1 : public RMobilePhone::TMultimodeType |
|
8488 /** Defines the dynamic capabilities of a mobile call. |
|
8489 */ |
|
8490 { |
|
8491 public: |
|
8492 IMPORT_C TMobileCallCapsV1(); |
|
8493 public: |
|
8494 /** Call control capability information - a bit wise sum of TMobileCallControlCaps |
|
8495 constants */ |
|
8496 TUint32 iCallControlCaps; |
|
8497 /** Call event capability information - a bit wise sum of TMobileCallEventCaps constants. */ |
|
8498 TUint32 iCallEventCaps; |
|
8499 }; |
|
8500 |
|
8501 /** A typedef'd packaged TMobileCallCapsV1 for passing through a generic API function |
|
8502 member. */ |
|
8503 typedef TPckg<TMobileCallCapsV1> TMobileCallCapsV1Pckg; |
|
8504 |
|
8505 IMPORT_C TInt GetMobileCallCaps(TDes8& aCaps) const; |
|
8506 IMPORT_C void NotifyMobileCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const; |
|
8507 |
|
8508 IMPORT_C void Hold(TRequestStatus& aReqStatus) const; |
|
8509 IMPORT_C void Resume(TRequestStatus& aReqStatus) const; |
|
8510 IMPORT_C void Swap(TRequestStatus& aReqStatus) const; |
|
8511 IMPORT_C void DialISV(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber); |
|
8512 IMPORT_C void AnswerIncomingCallISV(TRequestStatus& aStatus,const TDesC8& aCallParams); |
|
8513 |
|
8514 /** The type of call deflection requested. |
|
8515 |
|
8516 @see Deflect() */ |
|
8517 enum TMobileCallDeflect |
|
8518 { |
|
8519 /** Destination is not specified. */ |
|
8520 EDeflectUnspecified, |
|
8521 /** Call will be deflected to voicemail. */ |
|
8522 EDeflectVoicemail, |
|
8523 /** Call will be deflected to the pre-registered number for the call forwarding |
|
8524 service. */ |
|
8525 EDeflectRegisteredNumber, |
|
8526 /** Call will be deflected to the number supplied in the aDestination parameter. */ |
|
8527 EDeflectSuppliedNumber |
|
8528 }; |
|
8529 |
|
8530 IMPORT_C void Deflect(TRequestStatus& aReqStatus, TMobileCallDeflect aDeflectType, const RMobilePhone::TMobileAddress& aDestination) const; |
|
8531 IMPORT_C void Transfer(TRequestStatus& aReqStatus) const; |
|
8532 IMPORT_C void GoOneToOne(TRequestStatus& aReqStatus) const; |
|
8533 |
|
8534 /** The mobile call events. |
|
8535 |
|
8536 Modes: Common */ |
|
8537 enum TMobileCallEvent |
|
8538 { |
|
8539 /** The call has been placed on hold as a result of a local action. |
|
8540 |
|
8541 Modes: Common */ |
|
8542 ELocalHold, |
|
8543 /** The call has been resumed as a result of a local action. |
|
8544 |
|
8545 Modes: Common */ |
|
8546 ELocalResume, |
|
8547 /** The call has been deflected to another remote party as a result of a local action. |
|
8548 |
|
8549 |
|
8550 Modes: GSM/WCDMA */ |
|
8551 ELocalDeflectCall, |
|
8552 /** The call has been transferred to another remote party as a result of a local |
|
8553 action. |
|
8554 |
|
8555 Modes: Common */ |
|
8556 ELocalTransfer, |
|
8557 /** The call has been placed on hold by the remote connected party. |
|
8558 |
|
8559 Modes: GSM/WCDMA */ |
|
8560 ERemoteHold, |
|
8561 /** The call has been resumed by the remote connected party. |
|
8562 |
|
8563 Modes: GSM/WCDMA */ |
|
8564 ERemoteResume, |
|
8565 /** The call has been terminated by the remote party. |
|
8566 |
|
8567 Modes: Common */ |
|
8568 ERemoteTerminated, |
|
8569 /** The call has been joined by the remote connected party to other call(s) to create/add |
|
8570 to a conference call. |
|
8571 |
|
8572 Modes: GSM/WCDMA */ |
|
8573 ERemoteConferenceCreate, |
|
8574 ERemoteTransferring, |
|
8575 ERemoteTransferAlerting, |
|
8576 /** The outgoing call has been barred by the remote party. |
|
8577 |
|
8578 Modes: GSM/WCDMA */ |
|
8579 ERemoteBarred, |
|
8580 /** The call is being forwarded by the remote party. |
|
8581 |
|
8582 Modes: GSM/WCDMA */ |
|
8583 ERemoteForwarding, |
|
8584 /** The call is waiting at the remote end. |
|
8585 |
|
8586 Modes: GSM/WCDMA */ |
|
8587 ERemoteWaiting, |
|
8588 /** The outgoing call has been barred by the local party. |
|
8589 |
|
8590 Modes: GSM/WCDMA */ |
|
8591 ELocalBarred |
|
8592 }; |
|
8593 |
|
8594 IMPORT_C void NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) const; |
|
8595 |
|
8596 /** Describes the possible call states. */ |
|
8597 enum TMobileCallStatus |
|
8598 { |
|
8599 /** Indicates that the call status is unknown. */ |
|
8600 EStatusUnknown, // same as RCall::EStatusUnknown |
|
8601 /** Indicates that the call is idle. */ |
|
8602 EStatusIdle, // same as RCall::EStatusIdle |
|
8603 EStatusDialling, // same as RCall::EStatusDialling |
|
8604 /** Indicates that the MT call is ringing but not answered yet by the local user. */ |
|
8605 EStatusRinging, // same as RCall::EStatusRinging |
|
8606 /** Indicates that the local user has answered the MT call but the network has not |
|
8607 acknowledged the call connection yet. */ |
|
8608 EStatusAnswering, // same as RCall::EStatusAnswering |
|
8609 /** MO Call: the network notifies to the MS that the remote party is now ringing. */ |
|
8610 EStatusConnecting, // same as RCall::EStatusConnecting |
|
8611 /** Indicates that call is connected and active. */ |
|
8612 EStatusConnected, // same as RCall::EStatusConnected |
|
8613 /** Indicates that call is disconnecting. */ |
|
8614 EStatusDisconnecting, // same as RCall::EStatusHangingUp |
|
8615 /** Indicates that the call is disconnecting with inband data (to enable the network |
|
8616 to send an audio tone), signifying that the call is not to be released until |
|
8617 the user terminates the call. */ |
|
8618 EStatusDisconnectingWithInband, |
|
8619 /** Indicates that call is undergoing temporary channel loss and it may or may not |
|
8620 be reconnected. */ |
|
8621 EStatusReconnectPending, |
|
8622 /** Indicates that the call is connected but on hold. */ |
|
8623 EStatusHold, |
|
8624 /** Indicates that the call is the non-active half of an alternating call. This |
|
8625 call is waiting for its active half or the remote end to switch alternating |
|
8626 call mode. */ |
|
8627 EStatusWaitingAlternatingCallSwitch, |
|
8628 EStatusTransferring, |
|
8629 EStatusTransferAlerting |
|
8630 }; |
|
8631 |
|
8632 IMPORT_C TInt GetMobileCallStatus(TMobileCallStatus& aStatus) const; |
|
8633 IMPORT_C void NotifyMobileCallStatusChange(TRequestStatus& aReqStatus, TMobileCallStatus& aStatus) const; |
|
8634 |
|
8635 IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC& aTelNumber) const; |
|
8636 IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC8& aCallParams,const TDesC& aTelNumber) const; |
|
8637 |
|
8638 IMPORT_C void DialCallControl(TRequestStatus& aStatus, const TDesC8& aCallParams, const TTelNumberC& aTelNumber) const; |
|
8639 |
|
8640 /** |
|
8641 Contains audio tone events. |
|
8642 */ |
|
8643 enum TMobileCallAudioToneEvent |
|
8644 { |
|
8645 /** |
|
8646 Stop audio tone. |
|
8647 */ |
|
8648 EAudioStop, |
|
8649 /** |
|
8650 Start audio tone. |
|
8651 */ |
|
8652 EAudioStart |
|
8653 }; |
|
8654 |
|
8655 /** |
|
8656 List of 3GPP defined supervisory audio tones taken from technical specification 3GPP TS 22.001 v4.0.0 Annex F. |
|
8657 |
|
8658 This enumeration is based on the signal information element specified in Table 10.5.130/3GPP TS 24.008 v5.15.0 |
|
8659 */ |
|
8660 enum TMobileCallAudioTones |
|
8661 { |
|
8662 /** |
|
8663 No tone. Not defined in specification used for initialisation of |
|
8664 iTone class member variable during TAudioToneV3 construction. |
|
8665 */ |
|
8666 ENoTone, |
|
8667 /** |
|
8668 Dial tone. |
|
8669 */ |
|
8670 EDialTone, |
|
8671 /** |
|
8672 Subscriber busy tone. |
|
8673 */ |
|
8674 ESubscriberBusyTone, |
|
8675 /** |
|
8676 Congestion tone. |
|
8677 */ |
|
8678 ECongestionTone, |
|
8679 /** |
|
8680 Radio path acknowledgement tone. |
|
8681 */ |
|
8682 ERadioPathAcknowledgement, |
|
8683 /** |
|
8684 Radio path not available tone. |
|
8685 */ |
|
8686 ERadioPathNotAvailable, |
|
8687 /** |
|
8688 Call dropped (Mobile Originated only). |
|
8689 */ |
|
8690 EMOCallDropped, |
|
8691 /** |
|
8692 Error special information. |
|
8693 */ |
|
8694 EErrorSpecialInformation, |
|
8695 /** |
|
8696 Number unobtainable. |
|
8697 */ |
|
8698 ENumberUnobtainable, |
|
8699 /** |
|
8700 Authentication failure. |
|
8701 */ |
|
8702 EAuthenticationFailure, |
|
8703 /** |
|
8704 Call waiting. |
|
8705 */ |
|
8706 ECallWaiting, |
|
8707 /** |
|
8708 Ringback tone. |
|
8709 */ |
|
8710 ERingback |
|
8711 }; |
|
8712 |
|
8713 class TAudioToneV3 : public RMobilePhone::TMultimodeType |
|
8714 /** |
|
8715 Audio tone version 1 class. Contains information relating to the call control playing of audio tones. |
|
8716 Tones maybe generated by the network (in-band) or signalled to be played locally by the ME. |
|
8717 @publishedPartner |
|
8718 @released |
|
8719 */ |
|
8720 { |
|
8721 public: |
|
8722 IMPORT_C TAudioToneV3(); |
|
8723 |
|
8724 public: |
|
8725 /** |
|
8726 Indicates whether the tone is starting or stopping playing. |
|
8727 |
|
8728 @see TMobileCallAudioToneEvent |
|
8729 */ |
|
8730 TMobileCallAudioToneEvent iEvent; |
|
8731 /** |
|
8732 Indicates which tone is to be played. |
|
8733 |
|
8734 @see TMobileCallAudioTones |
|
8735 */ |
|
8736 TMobileCallAudioTones iTone; |
|
8737 /** |
|
8738 Indicates whether the tone is played by the network or is to be played locally by the ME. |
|
8739 */ |
|
8740 TBool iPlayedLocally; |
|
8741 }; |
|
8742 |
|
8743 /** |
|
8744 Packaging typedef for TAudioToneV3 class. |
|
8745 */ |
|
8746 typedef TPckg<TAudioToneV3> TAudioToneV3Pckg; |
|
8747 |
|
8748 IMPORT_C void NotifyAudioToneEvent(TRequestStatus& aReqStatus, TDes8& aToneInfo) const; |
|
8749 |
|
8750 /***********************************************************************************/ |
|
8751 // |
|
8752 // MobilePrivacy functional unit |
|
8753 // |
|
8754 /***********************************************************************************/ |
|
8755 |
|
8756 IMPORT_C TInt SetPrivacy(RMobilePhone::TMobilePhonePrivacy aPrivacySetting) const; |
|
8757 IMPORT_C void NotifyPrivacyConfirmation(TRequestStatus& aReqStatus, RMobilePhone::TMobilePhonePrivacy& aPrivacySetting) const; |
|
8758 |
|
8759 /***********************************************************************************/ |
|
8760 // |
|
8761 // MobileTrafficChannel function unit |
|
8762 // |
|
8763 /***********************************************************************************/ |
|
8764 |
|
8765 /** Call traffic channels. |
|
8766 |
|
8767 Modes: CDMA |
|
8768 @deprecated 9.5 |
|
8769 */ |
|
8770 enum TMobileCallTch |
|
8771 { |
|
8772 /** The traffic channel of the call is unknown. */ |
|
8773 ETchUnknown, |
|
8774 /** The call has a digital traffic channel */ |
|
8775 ETchDigital, |
|
8776 /** The call has an analog traffic channel */ |
|
8777 ETchAnalog |
|
8778 }; |
|
8779 |
|
8780 IMPORT_C TInt SetTrafficChannel(TMobileCallTch aTchRequest) const; |
|
8781 IMPORT_C void NotifyTrafficChannelConfirmation(TRequestStatus& aReqStatus, TMobileCallTch& aTchType) const; |
|
8782 |
|
8783 /***********************************************************************************/ |
|
8784 // |
|
8785 // MobileCallInformation functional unit |
|
8786 // |
|
8787 /***********************************************************************************/ |
|
8788 |
|
8789 /** |
|
8790 Remote party Identity status. |
|
8791 |
|
8792 Modes: Common |
|
8793 |
|
8794 @see TMobileCallRemotePartyInfoV1 |
|
8795 */ |
|
8796 enum TMobileCallRemoteIdentityStatus |
|
8797 { |
|
8798 /** |
|
8799 The remote party's identity can not be determined. Calling |
|
8800 party's Binary Coded Decimal (BCD) number is not available. |
|
8801 Cause of No CLI is "unavailable". |
|
8802 */ |
|
8803 ERemoteIdentityUnknown, |
|
8804 |
|
8805 /** |
|
8806 The remote party's identity, or BCD number, is available. |
|
8807 However, cause of No CLI has not been set. |
|
8808 */ |
|
8809 ERemoteIdentityAvailable, |
|
8810 |
|
8811 /** |
|
8812 The remote party has suppressed the transmission of its |
|
8813 identity; i.e. their BCD number is not available. Cause of No |
|
8814 CLI is "reject by user". |
|
8815 */ |
|
8816 ERemoteIdentitySuppressed, |
|
8817 /** |
|
8818 The remote party's identity, or BCD number, is available. The |
|
8819 cause of No CLI is "reject by user". |
|
8820 |
|
8821 To be used where the network has specified that displaying of |
|
8822 CLI information of the remote party has been rejected by the |
|
8823 caller but the TMobileCallRemotePartyInfoV1::iRemoteNumber |
|
8824 parameter has been populated with some other string which may |
|
8825 be of use to the client. |
|
8826 */ |
|
8827 ERemoteIdentityAvailableNoCliRejectedByUser, |
|
8828 |
|
8829 /** |
|
8830 The remote party's identity is available; a BCD number is |
|
8831 available. The cause of No CLI is "Interaction with other |
|
8832 service". |
|
8833 |
|
8834 To be used where the network has specified that CLI information |
|
8835 of the remote party is not available due to ineraction with |
|
8836 another service. However, the |
|
8837 TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been |
|
8838 populated with some other string which may be of use to the |
|
8839 client. |
|
8840 */ |
|
8841 ERemoteIdentityAvailableNoCliInteractionWithOtherService, |
|
8842 /** |
|
8843 The remote party's identity, or BCD number, is unavailable. |
|
8844 Cause of No CLI is "interaction with other service". |
|
8845 */ |
|
8846 ERemoteIdentityUnavailableNoCliInteractionWithOtherService, |
|
8847 |
|
8848 /** |
|
8849 The remote party's identity, or BCD number, is available. |
|
8850 Cause of No CLI is "Coin Line/ Payphone". |
|
8851 |
|
8852 To be used where the network has specified that CLI information |
|
8853 of the remote party is not available as the caller is calling |
|
8854 from a coin/ payphone. However, the |
|
8855 TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been |
|
8856 populated with some other string which may be of use to the |
|
8857 client. |
|
8858 */ |
|
8859 ERemoteIdentityAvailableNoCliCoinOrPayphone, |
|
8860 /** |
|
8861 The remote party's identity, or BCD number, is not available. |
|
8862 Cause of No CLI is "Coin Line/ Payphone". |
|
8863 */ |
|
8864 ERemoteIdentityUnavailableNoCliCoinOrPayphone, |
|
8865 |
|
8866 /** |
|
8867 The remote party's identity, or BCD number, is available. |
|
8868 Cause of No CLI is "unavailable". |
|
8869 |
|
8870 To be used where the network has specified that the CLI |
|
8871 information of the remote party is not available but the |
|
8872 TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been |
|
8873 populated with some other string which may be of use to the |
|
8874 client. |
|
8875 */ |
|
8876 ERemoteIdentityAvailableNoCliUnavailable |
|
8877 }; |
|
8878 |
|
8879 |
|
8880 /** |
|
8881 The direction of the mobile call. |
|
8882 |
|
8883 Modes: Common |
|
8884 |
|
8885 @see TMobileCallRemotePartyInfoV1 |
|
8886 */ |
|
8887 enum TMobileCallDirection |
|
8888 { |
|
8889 /** The direction of the call is unknown. */ |
|
8890 EDirectionUnknown, |
|
8891 /** The call was originated by this phone, i.e. it is an outgoing call. */ |
|
8892 EMobileOriginated, |
|
8893 /** The call was terminated by this phone, i.e. it is an incoming call. */ |
|
8894 EMobileTerminated |
|
8895 }; |
|
8896 |
|
8897 enum { KCallingNameSize=80 }; |
|
8898 |
|
8899 |
|
8900 |
|
8901 class TMobileCallRemotePartyInfoV1 : public RMobilePhone::TMultimodeType |
|
8902 /** Defines information about the remote party of a mobile call. |
|
8903 */ |
|
8904 { |
|
8905 public: |
|
8906 IMPORT_C TMobileCallRemotePartyInfoV1(); |
|
8907 public: |
|
8908 /** Indicates whether the remote party information in the rest of this structure |
|
8909 is valid or not. |
|
8910 |
|
8911 Modes: Common |
|
8912 |
|
8913 @see TMobileCallRemoteIdentityStatus */ |
|
8914 TMobileCallRemoteIdentityStatus iRemoteIdStatus; |
|
8915 /** The direction of the call and hence the role of the remote party, i.e. if the |
|
8916 call is mobile originated then the remote party is the called party whereas |
|
8917 if the call is mobile terminated then the remote party is the calling party. |
|
8918 |
|
8919 Modes: Common |
|
8920 |
|
8921 @see TMobileCallDirection */ |
|
8922 TMobileCallDirection iDirection; |
|
8923 /** The phone number of the remote party if available. |
|
8924 |
|
8925 Modes: Common |
|
8926 |
|
8927 @see RMobilePhone::TMobileAddress */ |
|
8928 RMobilePhone::TMobileAddress iRemoteNumber; |
|
8929 /** Calling party name available through the CNAP supplementary service (if provisioned). |
|
8930 |
|
8931 |
|
8932 Modes: Common */ |
|
8933 TBuf<KCallingNameSize> iCallingName; |
|
8934 }; |
|
8935 |
|
8936 /** A typedef'd packaged TMobileCallRemotePartyInfoV1 for passing through a generic |
|
8937 API function member. */ |
|
8938 typedef TPckg<TMobileCallRemotePartyInfoV1> TMobileCallRemotePartyInfoV1Pckg; |
|
8939 |
|
8940 IMPORT_C void NotifyRemotePartyInfoChange(TRequestStatus& aReqStatus, TDes8& aRemotePartyInfo) const; |
|
8941 |
|
8942 /** Determines which fields in the class are valid. |
|
8943 |
|
8944 @see TMobileCallInfoV1 */ |
|
8945 enum TMobileCallInfoFlags |
|
8946 { |
|
8947 /** The iStartTime field is valid in the call info class. |
|
8948 |
|
8949 Modes: COMMON */ |
|
8950 KCallStartTime = 0x00000001, |
|
8951 /** The iDuration field is valid in the call info class. |
|
8952 |
|
8953 Modes: COMMON */ |
|
8954 KCallDuration = 0x00000002, |
|
8955 /** The iCallId field is valid in the call info class. |
|
8956 |
|
8957 Modes: COMMON */ |
|
8958 KCallId = 0x00000004, |
|
8959 /** The iRemoteParty field is valid in the call info class. |
|
8960 |
|
8961 Modes: COMMON */ |
|
8962 KCallRemoteParty = 0x00000008, |
|
8963 /** The iDialledParty field is valid in the call info class. |
|
8964 |
|
8965 Modes: COMMON */ |
|
8966 KCallDialledParty = 0x00000010, |
|
8967 /** The iExitCode field is valid in the call info class. |
|
8968 |
|
8969 Modes: COMMON */ |
|
8970 KCallExitCode = 0x00000020, |
|
8971 /** The iEmergency field is valid in the call info class. |
|
8972 |
|
8973 Modes: COMMON */ |
|
8974 KCallEmergency = 0x00000040, |
|
8975 /** The iForwarded field is valid in the call info class. |
|
8976 |
|
8977 Modes: COMMON */ |
|
8978 KCallForwarded = 0x00000080, |
|
8979 /** The iPrivacy field is valid in the call info class. |
|
8980 |
|
8981 Modes: CDMA |
|
8982 @deprecated 9.5 |
|
8983 */ |
|
8984 KCallPrivacy = 0x00000100, |
|
8985 /** The iTch field is valid in the call info class. |
|
8986 |
|
8987 Modes: CDMA |
|
8988 @deprecated 9.5 |
|
8989 */ |
|
8990 KCallTch = 0x00000200, |
|
8991 /** The iAlternatingCall field is valid in the call info class. |
|
8992 |
|
8993 Modes: GSM/WCDMA */ |
|
8994 KCallAlternating = 0x00000400, |
|
8995 /** The iSecurity field is valid in the call info class. |
|
8996 |
|
8997 Modes: GSM/WCDMA */ |
|
8998 KCallSecurity = 0x00000800, |
|
8999 /** The iCallParamOrigin field is valid in the call info class. |
|
9000 |
|
9001 Modes: GSM/WCDMA */ |
|
9002 KCallParamOrigin = 0x00001000, |
|
9003 /** The iIconId field is valid in the call info class. |
|
9004 |
|
9005 Modes: GSM/WCDMA */ |
|
9006 KCallIconId = 0x00002000, |
|
9007 /** The iAlphaId field is valid in the call info class. |
|
9008 |
|
9009 Modes: GSM/WCDMA */ |
|
9010 KCallAlphaId = 0x00004000, |
|
9011 /** The iParamsCallControlModified field is valid in the call |
|
9012 info class. |
|
9013 |
|
9014 Modes: GSM/WCDMA */ |
|
9015 KCallParamsCallControlModified = 0x00008000, |
|
9016 |
|
9017 /** The iSubAddress field is valid in the call |
|
9018 info class. |
|
9019 |
|
9020 Modes: GSM/WCDMA */ |
|
9021 KCallSubAddress = 0x0010000, |
|
9022 |
|
9023 /** The iBearerCap1 field is valid in the call |
|
9024 info class. |
|
9025 |
|
9026 Modes: GSM/WCDMA */ |
|
9027 KCallBearerCap1 = 0x0020000, |
|
9028 |
|
9029 /** The iBearerCap2 field is valid in the call |
|
9030 info class. |
|
9031 |
|
9032 Modes: GSM/WCDMA */ |
|
9033 KCallBearerCap2 = 0x0040000, |
|
9034 |
|
9035 /** The iBCRepeatIndicator field is valid in the call |
|
9036 info class. |
|
9037 |
|
9038 Modes: GSM/WCDMA */ |
|
9039 KCallBCRepeatIndicator = 0x0080000, |
|
9040 |
|
9041 }; |
|
9042 |
|
9043 |
|
9044 class TMobileCallInfoV1 : public RMobilePhone::TMultimodeType |
|
9045 /** Defines general information about a mobile call. |
|
9046 */ |
|
9047 { |
|
9048 public: |
|
9049 IMPORT_C TMobileCallInfoV1(); |
|
9050 public: |
|
9051 /** A bit-wise sum of TMobileCallInfoFlags indicating which of the following optional |
|
9052 fields contain valid data. */ |
|
9053 TUint32 iValid; |
|
9054 /** The call service (voice, data, fax, aux. voice) that this call provides. |
|
9055 |
|
9056 @see RMobilePhone::TMobileService */ |
|
9057 RMobilePhone::TMobileService iService; |
|
9058 /** The mobile call status. |
|
9059 |
|
9060 @see TMobileCallStatus */ |
|
9061 TMobileCallStatus iStatus; |
|
9062 /** The call ID number assigned to an ongoing call. Will equal -1 if the call does |
|
9063 not have an allocated ID. */ |
|
9064 TInt iCallId; |
|
9065 /** The reason for termination of a finished call. Will equal KErrNone if the call |
|
9066 ended normally and KErrNotFound if the call has not ended. */ |
|
9067 TInt iExitCode; |
|
9068 /** ETrue if the call is an emergency call or EFalse if it is not. */ |
|
9069 TBool iEmergency; |
|
9070 /** For a MT call, this attribute equals ETrue if the call has been forwarded to |
|
9071 this phone or EFalse if it has not. For a MO call, this attribute equals ETrue |
|
9072 if the call has been forwarded to another destination or EFalse if it has |
|
9073 not. If the phone can not determine whether the call has been forwarded or |
|
9074 not then the attribute will return EFalse. */ |
|
9075 TBool iForwarded; |
|
9076 /** This attribute indicates whether privacy is on or off for this call. |
|
9077 |
|
9078 @see RMobilePhone::TMobilePhonePrivacy */ |
|
9079 RMobilePhone::TMobilePhonePrivacy iPrivacy; |
|
9080 /** This attribute indicates whether this call is an alternating call or not. |
|
9081 |
|
9082 @see RMobilePhone::TMobilePhoneAlternatingCallMode */ |
|
9083 RMobilePhone::TMobilePhoneAlternatingCallMode iAlternatingCall; |
|
9084 /** The current duration of the call. |
|
9085 |
|
9086 @see TTimeIntervalSeconds */ |
|
9087 TTimeIntervalSeconds iDuration; |
|
9088 /** This attribute indicates whether a digital or analog traffic channel is being |
|
9089 used for this call. |
|
9090 |
|
9091 @see TMobileCallTch */ |
|
9092 TMobileCallTch iTch; |
|
9093 /** Information about remote party of a connected call. |
|
9094 |
|
9095 @see TMobileCallRemotePartyInfoV1 */ |
|
9096 TMobileCallRemotePartyInfoV1 iRemoteParty; |
|
9097 /** The original number (including DTMF) dialled for an outgoing call. |
|
9098 |
|
9099 @see RMobilePhone::TMobileAddress */ |
|
9100 RMobilePhone::TMobileAddress iDialledParty; |
|
9101 /** The time and date the call started. |
|
9102 |
|
9103 @see TDateTime */ |
|
9104 TDateTime iStartTime; |
|
9105 /** The name of the call. |
|
9106 |
|
9107 @see TName */ |
|
9108 TName iCallName; |
|
9109 /** The name of the line on which the call is open. |
|
9110 |
|
9111 @see TName */ |
|
9112 TName iLineName; |
|
9113 }; |
|
9114 |
|
9115 /** A typedef'd packaged TMobileCallInfoV1 for passing through a generic API function |
|
9116 member. */ |
|
9117 typedef TPckg<TMobileCallInfoV1> TMobileCallInfoV1Pckg; |
|
9118 |
|
9119 class TMobileCallInfoV3 : public TMobileCallInfoV1 |
|
9120 /** |
|
9121 Extends the TMobileCallInfoV1 claass to include extra call info parameter relating to network security. |
|
9122 @publishedPartner |
|
9123 @released |
|
9124 */ |
|
9125 { |
|
9126 public: |
|
9127 IMPORT_C TMobileCallInfoV3(); |
|
9128 public: |
|
9129 /** |
|
9130 Indicates whether Ciphering Status of a call is enabled or disabled. |
|
9131 */ |
|
9132 RMobilePhone::TMobilePhoneNetworkSecurity iSecurity; |
|
9133 }; |
|
9134 |
|
9135 typedef TPckg<TMobileCallInfoV3> TMobileCallInfoV3Pckg; //< Package descriptor to hold a TMobileCallInfoV3. |
|
9136 |
|
9137 |
|
9138 class TMobileCallInfoV7 : public TMobileCallInfoV3 |
|
9139 /** |
|
9140 Extends the TMobileCallInfoV3 claass to include extra parameters |
|
9141 to indicate the origin of the call, an icon and identifier to |
|
9142 describe the call and an indication of whether the call parameters |
|
9143 have been modified. |
|
9144 |
|
9145 @publishedPartner |
|
9146 @released |
|
9147 */ |
|
9148 { |
|
9149 public: |
|
9150 IMPORT_C TMobileCallInfoV7(); |
|
9151 public: |
|
9152 /** |
|
9153 The origin of the call. |
|
9154 */ |
|
9155 TCallParamOrigin iCallParamOrigin; |
|
9156 /** |
|
9157 The icon identifier which can be used for indication that the |
|
9158 call is being made. |
|
9159 */ |
|
9160 TIconId iIconId; |
|
9161 /** |
|
9162 The alpha identifier to describe the icon. |
|
9163 */ |
|
9164 TAlphaIdBuf iAlphaId; |
|
9165 /** |
|
9166 An indication of whether the call parameters have been modified. |
|
9167 Set to ETrue if they have been modified, EFalse otherwise. |
|
9168 */ |
|
9169 TBool iParamsCallControlModified; |
|
9170 }; |
|
9171 |
|
9172 typedef TPckg<TMobileCallInfoV7> TMobileCallInfoV7Pckg; //< Package descriptor to hold a TMobileCallInfoV7. |
|
9173 |
|
9174 class TMobileCallInfoV8 : public TMobileCallInfoV7 |
|
9175 /** |
|
9176 Extends the TMobileCallInfoV7 claass to include extra parameters |
|
9177 to indicate the bearer capabilities, repeat indicator and sub address. |
|
9178 |
|
9179 @publishedPartner |
|
9180 @released |
|
9181 */ |
|
9182 { |
|
9183 public: |
|
9184 IMPORT_C TMobileCallInfoV8(); |
|
9185 public: |
|
9186 /** The sub-address of the remote party. |
|
9187 |
|
9188 @see TSubAddress */ |
|
9189 TSubAddress iSubAddress; |
|
9190 |
|
9191 /** Capability configuration parameters for the first bearer. |
|
9192 |
|
9193 @see TCcp */ |
|
9194 TCcp iBearerCap1; |
|
9195 |
|
9196 /** Capability configuration parameters for the second bearer. |
|
9197 |
|
9198 @see TCcp */ |
|
9199 TCcp iBearerCap2; |
|
9200 |
|
9201 /** The bearer capability repeat indicator. |
|
9202 |
|
9203 @see TBCRepeatIndicator */ |
|
9204 TBCRepeatIndicator iBCRepeatIndicator; |
|
9205 }; |
|
9206 |
|
9207 typedef TPckg<TMobileCallInfoV8> TMobileCallInfoV8Pckg; //< Package descriptor to hold a TMobileCallInfoV8. |
|
9208 |
|
9209 IMPORT_C TInt GetMobileCallInfo(TDes8& aCallInfo) const; |
|
9210 |
|
9211 /***********************************************************************************/ |
|
9212 // |
|
9213 // MobileCallEmergency functional unit |
|
9214 // |
|
9215 /***********************************************************************************/ |
|
9216 |
|
9217 IMPORT_C void DialEmergencyCall(TRequestStatus& aReqStatus, const TDesC& aNumber) const; |
|
9218 |
|
9219 /***********************************************************************************/ |
|
9220 // |
|
9221 // MobileCallCompletion |
|
9222 // |
|
9223 /***********************************************************************************/ |
|
9224 |
|
9225 IMPORT_C void ActivateCCBS(TRequestStatus& aReqStatus, TInt& aIndex) const; |
|
9226 IMPORT_C TInt RejectCCBS() const; |
|
9227 // |
|
9228 // User-To-User Signalling Functional Unit |
|
9229 // |
|
9230 /***********************************************************************************/ |
|
9231 |
|
9232 /** The UUS capabilities of the call. |
|
9233 |
|
9234 Modes: GSM/WCDMA. */ |
|
9235 enum TMobileCallUUSCaps // UUS capabilities of the call |
|
9236 { |
|
9237 /** Indicates that MS supports UUS1 implicit request. */ |
|
9238 KCapsSetupUUS1Implicit=0x00000001, |
|
9239 /** Indicates that MS supports UUS1 explicit request. */ |
|
9240 KCapsSetupUUS1Explicit=0x00000002, |
|
9241 /** Indicates that MS supports UUS2 request. */ |
|
9242 KCapsSetupUUS2=0x00000004, |
|
9243 /** Indicates that MS supports UUS3 request. */ |
|
9244 KCapsSetupUUS3=0x00000008, |
|
9245 /** Indicates that MS supports activating more than one UUS request at a time. */ |
|
9246 KCapsSetupMultipleUUS=0x00000010, |
|
9247 /** Indicates that UUS1 is active for this call. */ |
|
9248 KCapsActiveUUS1=0x00000020, |
|
9249 /** Indicates that UUS2 is active for this call. */ |
|
9250 KCapsActiveUUS2=0x00000040, |
|
9251 /** Indicates that UUS3 is active for this call. */ |
|
9252 KCapsActiveUUS3=0x00000080 |
|
9253 }; |
|
9254 |
|
9255 IMPORT_C TInt GetUUSCaps(TUint32& aCaps) const; |
|
9256 IMPORT_C void NotifyUUSCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
9257 |
|
9258 /** UUS Service requests. |
|
9259 |
|
9260 Modes: GSM/WCDMA */ |
|
9261 enum TMobileCallUUSReqs // UUS Service requests |
|
9262 { |
|
9263 /** UUS1 is implicitly requested. */ |
|
9264 KUUS1Implicit=0x00000001, |
|
9265 /** UUS1 is explicitly requested, but it is not mandatory for this call to proceed. */ |
|
9266 KUUS1ExplicitRequested=0x00000002, |
|
9267 /** UUS1 is explicitly requested and it is mandatory for this call to proceed. */ |
|
9268 KUUS1ExplicitRequired=0x00000004, |
|
9269 /** UUS2 is (explicitly) requested, but it is not mandatory for this call to proceed. */ |
|
9270 KUUS2Requested=0x00000008, |
|
9271 /** UUS2 is (explicitly) requested and it is mandatory for this call to proceed. */ |
|
9272 KUUS2Required=0x00000010, |
|
9273 /** UUS3 is (explicitly) requested, but it is not mandatory for this call to proceed. */ |
|
9274 KUUS3Requested=0x00000020, |
|
9275 /** UUS3 is (explicitly) requested and it is mandatory for this call to proceed. */ |
|
9276 KUUS3Required=0x00000040 |
|
9277 }; |
|
9278 |
|
9279 enum |
|
9280 { |
|
9281 KMaxUUISize = 129, |
|
9282 }; |
|
9283 |
|
9284 /** Buffer for the UUI element. */ |
|
9285 typedef TBuf<KMaxUUISize> TMobileCallUUI; |
|
9286 |
|
9287 class TMobileCallUUSRequestV1 : public RMobilePhone::TMultimodeType |
|
9288 /** The mobile Call User-to-User Signaling request. |
|
9289 */ |
|
9290 { |
|
9291 public: |
|
9292 IMPORT_C TMobileCallUUSRequestV1(); |
|
9293 public: |
|
9294 /** This field indicates whether the specified service is requested or required |
|
9295 for the call. */ |
|
9296 TUint iServiceReq; |
|
9297 /** The UUI element. This field only contains data if iServiceReq indicates UUS1. |
|
9298 |
|
9299 @see TMobileCallUUI */ |
|
9300 TMobileCallUUI iUUI; |
|
9301 }; |
|
9302 |
|
9303 /** A typedef'd packaged TMobileCallUUSRequestV1 for passing through a generic API |
|
9304 function member. */ |
|
9305 typedef TPckg<TMobileCallUUSRequestV1> TMobileCallUUSRequestV1Pckg; |
|
9306 |
|
9307 IMPORT_C void ActivateUUS(TRequestStatus& aReqStatus, const TDesC8& aUUSRequest) const; |
|
9308 IMPORT_C void SendUUI(TRequestStatus& aReqStatus, TBool aMore, const TMobileCallUUI& aUUI) const; |
|
9309 IMPORT_C void ReceiveUUI(TRequestStatus& aReqStatus, TMobileCallUUI& aUUI) const; |
|
9310 IMPORT_C void HangupWithUUI(TRequestStatus& aReqStatus, const TMobileCallUUI& aUUI) const; |
|
9311 IMPORT_C void AnswerIncomingCallWithUUI(TRequestStatus& aReqStatus, const TDesC8& aCallParams, const TMobileCallUUI& aUUI) const; |
|
9312 |
|
9313 /***********************************************************************************/ |
|
9314 // |
|
9315 // Etel 3rd Party v1.0 Parameter classes |
|
9316 // |
|
9317 /***********************************************************************************/ |
|
9318 |
|
9319 class TEtel3rdPartyMobileCallParamsV1 : public RCall::TCallParams |
|
9320 /** Defines the parameters used to set-up of a call originated from an ETel 3rd Party client. |
|
9321 @publishedPartner |
|
9322 @released |
|
9323 */ |
|
9324 { |
|
9325 public: |
|
9326 IMPORT_C TEtel3rdPartyMobileCallParamsV1(); |
|
9327 public: |
|
9328 /** Call Id restriction setting to be used for this call. |
|
9329 |
|
9330 @see TMobileCallIdRestriction */ |
|
9331 TMobileCallIdRestriction iIdRestrict; |
|
9332 /** Specifies whether this call attempt is user initiated (EFalse) or a client initiated |
|
9333 redial (ETrue). */ |
|
9334 TBool iAutoRedial; |
|
9335 }; |
|
9336 |
|
9337 /** A typedef'd packaged TEtel3rdPartyMobileCallParamsV1 for passing through a generic API |
|
9338 function member. */ |
|
9339 typedef TPckg<TEtel3rdPartyMobileCallParamsV1>TEtel3rdPartyMobileCallParamsV1Pckg; |
|
9340 |
|
9341 private: |
|
9342 RMobileCall(const RMobileCall& aCall); |
|
9343 CMobileCallPtrHolder* iMmPtrHolder; |
|
9344 protected: |
|
9345 IMPORT_C void ConstructL(); |
|
9346 IMPORT_C void Destruct(); |
|
9347 }; |
|
9348 |
|
9349 |
|
9350 /*********************************************************/ |
|
9351 // |
|
9352 // Line based functionality (RMobileLine) |
|
9353 // |
|
9354 /*********************************************************/ |
|
9355 |
|
9356 |
|
9357 |
|
9358 class CMobileLinePtrHolder; |
|
9359 |
|
9360 class RMobileLine : public RLine |
|
9361 /** Provides access to the functionality associated with a specific mobile line. |
|
9362 */ |
|
9363 { |
|
9364 public: |
|
9365 IMPORT_C RMobileLine(); |
|
9366 |
|
9367 /***********************************************************************************/ |
|
9368 // |
|
9369 // MobileLineStatus functional unit |
|
9370 // |
|
9371 /***********************************************************************************/ |
|
9372 |
|
9373 IMPORT_C TInt GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const; |
|
9374 IMPORT_C void NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const; |
|
9375 |
|
9376 // |
|
9377 // Additional Caps |
|
9378 // |
|
9379 /** Enumerated auxiliary capabilities. */ |
|
9380 enum TMobileLineAdditionalCaps |
|
9381 { |
|
9382 /** Indicates whether the line is a Primary or Auxiliary voice line offset added |
|
9383 so that core Etel and additional line caps can be returned in one TUint. */ |
|
9384 KCapsAuxVoice=0x00000008 |
|
9385 }; |
|
9386 |
|
9387 private: |
|
9388 RMobileLine(const RMobileLine& aLine); |
|
9389 CMobileLinePtrHolder* iMmPtrHolder; |
|
9390 protected: |
|
9391 IMPORT_C void ConstructL(); |
|
9392 IMPORT_C void Destruct(); |
|
9393 }; |
|
9394 |
|
9395 |
|
9396 /*********************************************************/ |
|
9397 // |
|
9398 // SMS Messaging (RMobileSmsMessaging) |
|
9399 // |
|
9400 /*********************************************************/ |
|
9401 |
|
9402 |
|
9403 |
|
9404 class CMobilePhoneSmspList; |
|
9405 class CSmsMessagingPtrHolder; |
|
9406 |
|
9407 class RMobileSmsMessaging : public RTelSubSessionBase |
|
9408 /** Provides client access to SMS messaging functionality provided by TSY. |
|
9409 @publishedPartner |
|
9410 @released |
|
9411 */ |
|
9412 { |
|
9413 public: |
|
9414 |
|
9415 friend class CRetrieveMobilePhoneSmspList; |
|
9416 |
|
9417 IMPORT_C RMobileSmsMessaging(); |
|
9418 |
|
9419 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
9420 IMPORT_C void Close(); |
|
9421 |
|
9422 /** Defines capabilities of SMS messaging. |
|
9423 |
|
9424 Modes: GSM/WCDMA */ |
|
9425 enum TMobileSmsModeCaps |
|
9426 { |
|
9427 /** SMS is supported in GSM and WCDMA modes. SMS are sent across MM ETel API in |
|
9428 a GSM 03.40 TPDU format. |
|
9429 |
|
9430 Modes: GSM/WCDMA */ |
|
9431 KCapsGsmSms=0x00000001, |
|
9432 /** SMS is supported in CDMA mode. SMS are sent across MM ETel API in a IS-637 |
|
9433 Teleservice message PDU format. |
|
9434 |
|
9435 Modes: CDMA |
|
9436 @deprecated 9.5 |
|
9437 */ |
|
9438 KCapsCdmaSms=0x00000002 |
|
9439 }; |
|
9440 |
|
9441 /** Defines SMS control capabilities. |
|
9442 |
|
9443 Modes: Common */ |
|
9444 enum TMobileSmsControlCaps |
|
9445 { |
|
9446 /** TSY supports receiving incoming SMS that have been stored and acknowledged |
|
9447 by the phone prior to forwarding to the TSY. If this flag is set then KCapsReceiveEither |
|
9448 will not be set and the client can receive stored messages only while the |
|
9449 TSY-phone link is in "receive stored" mode. |
|
9450 |
|
9451 Modes: Common */ |
|
9452 KCapsReceiveStored=0x00000001, |
|
9453 /** TSY supports receiving incoming SMS that have been acknowledged by the phone |
|
9454 but have NOT already been stored. It is the client's responsibility to do |
|
9455 the storage. If this flag is set then KCapsReceiveEither will not be set and |
|
9456 the client can receive unstored messages only while the TSY-phone link is |
|
9457 in "receive unstored with phone ack" mode. |
|
9458 |
|
9459 Modes: Common */ |
|
9460 KCapsReceiveUnstoredPhoneAck=0x00000002, |
|
9461 /** TSY supports receiving incoming SMS that have NOT already been stored and acknowledged |
|
9462 by the phone. It is the client's responsibility to do both the storage and |
|
9463 the acknowledgment or rejection. If this flag is set then KCapsReceiveEither |
|
9464 will not be set and the client can receive unstored messages only while the |
|
9465 TSY-phone link is in "receive unstored with client ack" mode. |
|
9466 |
|
9467 Modes: Common */ |
|
9468 KCapsReceiveUnstoredClientAck=0x00000004, |
|
9469 /** TSY supports receiving either stored or unstored incoming SMS at any time. |
|
9470 If this flag is set then any other KCapsReceive... flags will not be set and |
|
9471 the client can receive stored or unstored messages while the TSY-phone link |
|
9472 is in "receive either" mode. |
|
9473 |
|
9474 Modes: Common */ |
|
9475 KCapsReceiveEither=0x00000008, |
|
9476 /** TSY supports creating a default acknowledgment or rejection TPDU using only |
|
9477 a "cause code" supplied by the client. If this flag is not set then the client |
|
9478 must supply the full ack or nack TPDU if it calls RMobileSmsMessaging::AckSmsStored() |
|
9479 or RMobileSmsMessaging::NackSmsStored(). |
|
9480 |
|
9481 Modes: Common */ |
|
9482 KCapsCreateAck=0x00000010, |
|
9483 /** TSY supports sending SMS messages but does not support returning the service |
|
9484 centre's acknowledgment of the submitted message to the client. |
|
9485 |
|
9486 Modes: Common */ |
|
9487 KCapsSendNoAck=0x00000020, |
|
9488 /** TSY supports sending SMS messages and also supports returning the service centre's |
|
9489 acknowledgment of the submitted message to the client. |
|
9490 |
|
9491 Modes: GSM/WCDMA */ |
|
9492 KCapsSendWithAck=0x00000040, |
|
9493 /** TSY supports retrieval of the SMS parameter list. |
|
9494 |
|
9495 Modes: GSM/WCDMA */ |
|
9496 KCapsGetSmspList=0x00000080, |
|
9497 /** TSY supports storage of the SMS parameter list |
|
9498 |
|
9499 Modes: GSM/WCDMA */ |
|
9500 KCapsSetSmspList=0x00000100 |
|
9501 }; |
|
9502 |
|
9503 class TMobileSmsCapsV1 : public RMobilePhone::TMultimodeType |
|
9504 /** Defines capabilities of SMS messaging. |
|
9505 */ |
|
9506 { |
|
9507 public: |
|
9508 IMPORT_C TMobileSmsCapsV1(); |
|
9509 |
|
9510 /** Sum of TMobileSmsModeCaps constants. |
|
9511 |
|
9512 Modes: Common */ |
|
9513 TUint32 iSmsMode; |
|
9514 /** Sum of TMobileSmsControlCaps constants. |
|
9515 |
|
9516 Modes: Common */ |
|
9517 TUint32 iSmsControl; |
|
9518 }; |
|
9519 |
|
9520 /** A typedef'd packaged TMobileSmsCapsV1 for passing through a generic API member |
|
9521 function. */ |
|
9522 typedef TPckg<TMobileSmsCapsV1> TMobileSmsCapsV1Pckg; |
|
9523 |
|
9524 IMPORT_C TInt GetCaps(TDes8& aCaps) const; |
|
9525 |
|
9526 // Definitions for sizes of TPDU and User Data fields |
|
9527 enum |
|
9528 { |
|
9529 KGsmTpduSize = 165, // 140 bytes user data + 25 bytes TPDU header |
|
9530 /* |
|
9531 * @deprecated 9.5 |
|
9532 * */ |
|
9533 KCdmaTpduSize = 256 // Max size of Bearer Data in Transport Layer message |
|
9534 }; |
|
9535 |
|
9536 /** A typedef'd buffer for GSM or WCDMA message data. */ |
|
9537 typedef TBuf8<KGsmTpduSize> TMobileSmsGsmTpdu; |
|
9538 /** A typedef'd buffer for CDMA message data. |
|
9539 @deprecated 9.5 |
|
9540 */ |
|
9541 typedef TBuf8<KCdmaTpduSize> TMobileSmsCdmaTpdu; |
|
9542 |
|
9543 /***********************************************************************************/ |
|
9544 // |
|
9545 // Enum used by TSY to distinguish which SMS attribute class is used by client |
|
9546 // |
|
9547 /***********************************************************************************/ |
|
9548 |
|
9549 /** Used by TSY to distinguish which SMS attribute class is used by client. |
|
9550 |
|
9551 Modes: Common |
|
9552 |
|
9553 @see RMobileSmsMessaging::TMobileSmsSendAttributesV1 */ |
|
9554 enum TMobileSmsAttributeExtensionId |
|
9555 { |
|
9556 /** The iExtensionId contents indicate that the packaged class is a TMobileSmsAttributesV1. */ |
|
9557 KETelMobileSmsAttributesV1=KETelExtMultimodeV1, |
|
9558 /** The iExtensionId contents indicate that the packaged class is a TMobileSmsReceiveAttributesV1. */ |
|
9559 KETelMobileSmsReceiveAttributesV1, |
|
9560 /** The iExtensionId contents indicate that the packaged class is a TMobileSmsSendAttributesV1. */ |
|
9561 KETelMobileSmsSendAttributesV1, |
|
9562 /** The iExtensionId contents indicate that the packaged class is a TMobileSmsCdmaSendAttributesV4. |
|
9563 @deprecated 9.5 |
|
9564 */ |
|
9565 KETelMobileSmsCdmaSendAttributesV4=KETelExtMultimodeV4 |
|
9566 }; |
|
9567 |
|
9568 /** Defines common attributes of all SMS messages. |
|
9569 |
|
9570 Modes: CDMA |
|
9571 |
|
9572 @see TMobileSmsAttributesV1 |
|
9573 @deprecated 9.5 |
|
9574 */ |
|
9575 enum TMobileSmsAttributeFlags |
|
9576 { |
|
9577 /** The iCdmaTeleservice field is valid in the attribute class. |
|
9578 |
|
9579 Modes: CDMA |
|
9580 @deprecated 9.5 |
|
9581 */ |
|
9582 KCdmaTeleservice = 0x00000001, |
|
9583 /** The iCdmaServiceCategory field is valid in the attribute class. |
|
9584 |
|
9585 Modes: CDMA |
|
9586 @deprecated 9.5 |
|
9587 */ |
|
9588 KCdmaServiceCategory = 0x00000002, |
|
9589 /** The iGsmServiceCentre field is valid in the attribute class. |
|
9590 |
|
9591 Modes: GSM/WCDMA */ |
|
9592 KGsmServiceCentre = 0x00000004, |
|
9593 /** The iDataFormat field is valid in the attribute class. |
|
9594 |
|
9595 Modes: Common */ |
|
9596 KSmsDataFormat = 0x00000008, |
|
9597 /** The iOriginator or iDestination field is valid in the attribute class. |
|
9598 |
|
9599 Modes: Common */ |
|
9600 KRemotePartyInfo = 0x00000010, |
|
9601 /** The iStatus field is valid in the attribute class. |
|
9602 |
|
9603 Modes: Common */ |
|
9604 KIncomingStatus = 0x00000020, |
|
9605 /** The iStore and iStoreIndex fields are valid in the attribute class. |
|
9606 |
|
9607 Modes: Common */ |
|
9608 KStorageLocation = 0x00000040, |
|
9609 /** The iMsgRef field is valid in the attribute class. |
|
9610 |
|
9611 Modes: Common */ |
|
9612 KMessageReference = 0x00000080, |
|
9613 /** The iSubmitReport field is valid in the attribute class. |
|
9614 |
|
9615 Modes: GSM/WCDMA */ |
|
9616 KGsmSubmitReport = 0x00000100, |
|
9617 /** The iMore field is valid in the attribute class. |
|
9618 |
|
9619 Modes: Common */ |
|
9620 KMoreToSend = 0x00000200, |
|
9621 /** Indicates to the TSY that it should keep the traffic channel open since there is |
|
9622 another message ready to be sent immediately after this one (typically used when |
|
9623 sending messages to multiple recipients). TSY should then keep the channel open |
|
9624 until a message is sent with this bit cleared. |
|
9625 |
|
9626 Modes: CDMA |
|
9627 @deprecated 9.5 |
|
9628 */ |
|
9629 KCdmaKeepChannelOpen = 0x00000400, |
|
9630 /** Indicates to the TSY that it must wait for the Transport Layer Acknowledgement from the network |
|
9631 |
|
9632 Modes: CDMA |
|
9633 @deprecated 9.5 |
|
9634 */ |
|
9635 KCdmaTLAckRequired = 0x00000800, |
|
9636 /** The iAddressAuthentication field is valid in the attribute class. |
|
9637 |
|
9638 Modes: CDMA |
|
9639 @deprecated 9.5 |
|
9640 */ |
|
9641 KCdmaAddressAuthentication = 0x00001000 |
|
9642 }; |
|
9643 |
|
9644 /** Defines the SMS data format. |
|
9645 |
|
9646 Modes: Common */ |
|
9647 enum TMobileSmsDataFormat |
|
9648 { |
|
9649 /** The format is not specified. |
|
9650 |
|
9651 Modes: Common */ |
|
9652 EFormatUnspecified, |
|
9653 /** The message data format complies to a SMS TPDU coded as octets according to |
|
9654 GSM 03.40. |
|
9655 |
|
9656 Modes: GSM/WCDMA */ |
|
9657 EFormatGsmTpdu, |
|
9658 /** The message data format complies to a SMS Teleservice PDU coded as octets according |
|
9659 to IS-637. |
|
9660 |
|
9661 Modes: CDMA |
|
9662 @deprecated 9.5 |
|
9663 */ |
|
9664 EFormatCdmaTpdu |
|
9665 }; |
|
9666 |
|
9667 class TMobileSmsAttributesV1 : public RMobilePhone::TMultimodeType |
|
9668 /** Defines common attributes of all SMS messages. |
|
9669 @publishedPartner |
|
9670 @released |
|
9671 */ |
|
9672 { |
|
9673 protected: |
|
9674 TMobileSmsAttributesV1(); |
|
9675 public: |
|
9676 /** The bit-mask flags from TMobileSmsAttributeFlags indicating which attributes |
|
9677 are present in this instance. |
|
9678 |
|
9679 Modes: Common */ |
|
9680 TUint32 iFlags; |
|
9681 /** The format of the message data buffer . |
|
9682 |
|
9683 Modes: Common |
|
9684 |
|
9685 @see TMobileSmsDataFormat */ |
|
9686 TMobileSmsDataFormat iDataFormat; |
|
9687 /** The teleservice this message belongs to, coded according to SMS teleservice |
|
9688 identifier values table in TIA/EIA-41-D. |
|
9689 |
|
9690 Modes: CDMA |
|
9691 @deprecated 9.5 |
|
9692 */ |
|
9693 TInt iCdmaTeleservice; |
|
9694 /** The service category this message belongs to. |
|
9695 |
|
9696 Modes: CDMA |
|
9697 @deprecated 9.5 |
|
9698 */ |
|
9699 TInt iCdmaServiceCategory; |
|
9700 /** The GSM service centre used for this SMS. |
|
9701 |
|
9702 Modes: GSM/WCDMA |
|
9703 |
|
9704 @see RMobilePhone::TMobileAddress */ |
|
9705 RMobilePhone::TMobileAddress iGsmServiceCentre; |
|
9706 }; |
|
9707 |
|
9708 /** A typedef'd packaged TMobileSmsAttributesV1 for passing through a generic |
|
9709 API member function. */ |
|
9710 typedef TPckg<TMobileSmsAttributesV1> TMobileSmsAttributesV1Pckg; |
|
9711 |
|
9712 /** Defines attributes of incoming SMS messages. |
|
9713 |
|
9714 Modes: Common */ |
|
9715 enum TMobileSmsIncomingStatus |
|
9716 { |
|
9717 /** The status of the incoming SMS is unknown. */ |
|
9718 EMtMessageUnknownStatus, |
|
9719 /** The incoming SMS is not stored phone-side but has already been acknowledged |
|
9720 by the phone. */ |
|
9721 EMtMessageUnstoredPhoneAck, |
|
9722 /** The incoming SMS is not stored phone-side and needs to be acknowledged by the |
|
9723 client. */ |
|
9724 EMtMessageUnstoredClientAck, |
|
9725 /** The incoming SMS is stored phone-side. */ |
|
9726 EMtMessageStored |
|
9727 }; |
|
9728 |
|
9729 class TMobileSmsReceiveAttributesV1 : public TMobileSmsAttributesV1 |
|
9730 /** Defines attributes of incoming SMS messages. |
|
9731 @publishedPartner |
|
9732 @released |
|
9733 */ |
|
9734 { |
|
9735 public: |
|
9736 IMPORT_C TMobileSmsReceiveAttributesV1(); |
|
9737 public: |
|
9738 /** Indicates the status of the incoming message -whether it is stored phone-side |
|
9739 or has been acknowledged by the phone. |
|
9740 |
|
9741 Modes: Common |
|
9742 |
|
9743 @see TMobileSmsIncomingStatus */ |
|
9744 TMobileSmsIncomingStatus iStatus; // indicates if MT message is stored phone-side |
|
9745 /** If the message is stored phone-side, indicates the index (within the phone-side |
|
9746 store) where the message is stored. |
|
9747 |
|
9748 Modes: Common */ |
|
9749 TInt iStoreIndex;// used if MT message is stored phone-side |
|
9750 /** If the message is stored phone-side, indicates the name of the appropriate |
|
9751 phone-side store. |
|
9752 |
|
9753 Modes: Common |
|
9754 |
|
9755 @see RMobilePhone::TMobileName */ |
|
9756 RMobilePhone::TMobileName iStore; // used if MT message is stored phone-side |
|
9757 /** The address of the originator of the SMS. |
|
9758 |
|
9759 Modes: Common |
|
9760 |
|
9761 @see RMobilePhone::TMobileAddress */ |
|
9762 RMobilePhone::TMobileAddress iOriginator; |
|
9763 }; |
|
9764 |
|
9765 /** A typedef'd packaged TMobileSmsReceiveAttributesV1 for passing through a generic |
|
9766 API member function. */ |
|
9767 typedef TPckg<TMobileSmsReceiveAttributesV1> TMobileSmsReceiveAttributesV1Pckg; |
|
9768 |
|
9769 |
|
9770 |
|
9771 class TMobileSmsSendAttributesV1 : public TMobileSmsAttributesV1 |
|
9772 /** Defines attributes of sent SMS messages. |
|
9773 @publishedPartner |
|
9774 @released */ |
|
9775 { |
|
9776 public: |
|
9777 IMPORT_C TMobileSmsSendAttributesV1(); |
|
9778 public: |
|
9779 /** The message reference assigned to a sent message. |
|
9780 |
|
9781 Modes: Common */ |
|
9782 TUint16 iMsgRef; |
|
9783 /** A boolean indicating whether the client is going to send another SMS immediately |
|
9784 after this one. Equals ETrue if this is the case, EFalse if it is not. |
|
9785 |
|
9786 Modes: Common */ |
|
9787 TBool iMore; |
|
9788 /** The SMS-SUBMIT-REPORT TPDU received from network in response to a sent message. |
|
9789 |
|
9790 Modes: GSM/WCDMA |
|
9791 |
|
9792 @see TMobileSmsGsmTpdu */ |
|
9793 TMobileSmsGsmTpdu iSubmitReport; |
|
9794 /** The address of the destination of the SMS. |
|
9795 |
|
9796 Modes: Common |
|
9797 |
|
9798 @see RMobilePhone::TMobileAddress */ |
|
9799 RMobilePhone::TMobileAddress iDestination; |
|
9800 }; |
|
9801 |
|
9802 /** A typedef'd packaged TMobileSmsSendAttributesV1 for passing through a generic |
|
9803 API member function. */ |
|
9804 typedef TPckg<TMobileSmsSendAttributesV1> TMobileSmsSendAttributesV1Pckg; |
|
9805 |
|
9806 class TMobileSmsCdmaSendAttributesV4 : public TMobileSmsAttributesV1 |
|
9807 /** |
|
9808 Defines attributes of sent SMS messages (CDMA only). |
|
9809 |
|
9810 @publishedPartner |
|
9811 @released |
|
9812 @deprecated 9.5 |
|
9813 */ |
|
9814 { |
|
9815 public: |
|
9816 IMPORT_C TMobileSmsCdmaSendAttributesV4(); |
|
9817 public: |
|
9818 /** |
|
9819 The message id allocated by the SMS stack. The TSY should |
|
9820 retrieve the value from iCdmaTeleserviceId to determine |
|
9821 which teleservice this message id corresponds to. |
|
9822 */ |
|
9823 TUint16 iMsgRef; |
|
9824 /** Indicates whether the client is going to send another |
|
9825 PDU immediately after this one (typically used when sending |
|
9826 messages of more than one PDU). Equals ETrue if at least |
|
9827 one more PDU is needed to complete the message and EFalse |
|
9828 otherwise. |
|
9829 */ |
|
9830 TBool iMore; |
|
9831 /** TPDU received from network in response to a sent message */ |
|
9832 TMobileSmsCdmaTpdu iTLAck; |
|
9833 /** The address of the destination of the SMS. */ |
|
9834 RMobilePhone::TMobileAddress iDestination; |
|
9835 /** Transport layer authentication parameter */ |
|
9836 TUint32 iAddressAuthentication; |
|
9837 }; |
|
9838 |
|
9839 /** A typedef'd packaged TMobileSmsCdmaSendAttributesV4 for passing through a generic |
|
9840 API member function. */ |
|
9841 typedef TPckg<TMobileSmsCdmaSendAttributesV4> TMobileSmsCdmaSendAttributesV4Pckg; |
|
9842 |
|
9843 // |
|
9844 // Setting up the storage & acknowledgement mode |
|
9845 // |
|
9846 |
|
9847 /** Defines the SMS receive modes. |
|
9848 |
|
9849 Modes: Common */ |
|
9850 enum TMobileSmsReceiveMode |
|
9851 { |
|
9852 /** Receive mode is unspecified and phone will use its default. */ |
|
9853 EReceiveModeUnspecified, |
|
9854 /** Phone will acknowledge but NOT store all incoming messages before passing them |
|
9855 onto TSY. It is client's responsibility to store the message. */ |
|
9856 EReceiveUnstoredPhoneAck, // client stores but phone acknowledges message |
|
9857 /** Phone will NOT acknowledge or store any incoming messages before passing them |
|
9858 onto TSY. It is client's responsibility to attempt storage and then either |
|
9859 acknowledge or reject the message. */ |
|
9860 EReceiveUnstoredClientAck, // client acknowledges and stores message |
|
9861 /** Phone will store and acknowledge all incoming messages before passing them |
|
9862 onto TSY. */ |
|
9863 EReceiveStored, // phone acknowledges and store message |
|
9864 /** Phone may pass on either stored or unstored messages to TSY. It is client's |
|
9865 responsibility to check RMobileSmsMessaging::TMobileSmsReceiveAttributesV1::iStatus |
|
9866 to determine what action(s) the client needs to take for a message. */ |
|
9867 EReceiveEither // client deals with stored & unstored messages |
|
9868 }; |
|
9869 |
|
9870 IMPORT_C void SetReceiveMode(TRequestStatus& aReqStatus, TMobileSmsReceiveMode aReceiveMode) const; |
|
9871 IMPORT_C TInt GetReceiveMode(TMobileSmsReceiveMode& aReceiveMode) const; |
|
9872 IMPORT_C void NotifyReceiveModeChange(TRequestStatus& aStatus, TMobileSmsReceiveMode& aReceiveMode); |
|
9873 |
|
9874 /***********************************************************************************/ |
|
9875 // |
|
9876 // Incoming SMS |
|
9877 // |
|
9878 /***********************************************************************************/ |
|
9879 |
|
9880 IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
9881 |
|
9882 /***********************************************************************************/ |
|
9883 // |
|
9884 // Responding to incoming SMS |
|
9885 // |
|
9886 /***********************************************************************************/ |
|
9887 |
|
9888 IMPORT_C void AckSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TBool aFull=EFalse) const; |
|
9889 IMPORT_C void NackSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TInt aRpCause) const; |
|
9890 IMPORT_C void ResumeSmsReception(TRequestStatus& aReqStatus) const; |
|
9891 |
|
9892 /***********************************************************************************/ |
|
9893 // |
|
9894 // Outgoing SMS |
|
9895 // |
|
9896 /***********************************************************************************/ |
|
9897 |
|
9898 IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const; |
|
9899 IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const; |
|
9900 |
|
9901 /** Defines the SMS bearer. |
|
9902 |
|
9903 Modes: GSM */ |
|
9904 enum TMobileSmsBearer |
|
9905 { |
|
9906 /** SMS messages will only be sent over a packet-switched (GPRS) network. */ |
|
9907 ESmsBearerPacketOnly, |
|
9908 /** SMS messages will only be sent over a circuit-switched (GSM) network. */ |
|
9909 ESmsBearerCircuitOnly, |
|
9910 /** SMS messages will be sent over the packet-switched (GPRS) network if possible, |
|
9911 otherwise over circuit-switched (GSM) network. */ |
|
9912 ESmsBearerPacketPreferred, |
|
9913 /** SMS messages will be sent over the circuit-switched (GSM) network if possible, |
|
9914 otherwise over packet-switched (GPRS) network. */ |
|
9915 ESmsBearerCircuitPreferred |
|
9916 }; |
|
9917 |
|
9918 IMPORT_C void SetMoSmsBearer(TRequestStatus& aReqStatus, TMobileSmsBearer aBearer) const; |
|
9919 IMPORT_C TInt GetMoSmsBearer(TMobileSmsBearer& aBearer) const; |
|
9920 IMPORT_C void NotifyMoSmsBearerChange(TRequestStatus& aReqStatus, TMobileSmsBearer& aBearer); |
|
9921 |
|
9922 /***********************************************************************************/ |
|
9923 // |
|
9924 // Get information on phone-side SMS storage |
|
9925 // |
|
9926 /***********************************************************************************/ |
|
9927 |
|
9928 IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const; |
|
9929 IMPORT_C void GetMessageStoreInfo(TRequestStatus& aReqStatus, TInt aIndex, TDes8& aInfo) const; |
|
9930 |
|
9931 /***********************************************************************************/ |
|
9932 // |
|
9933 // Read/Write SMS parameters to phone-side storage |
|
9934 // |
|
9935 /***********************************************************************************/ |
|
9936 |
|
9937 enum { KMaxSmspTextSize=30 }; |
|
9938 |
|
9939 /** Defines the valid SMS parameters store. |
|
9940 |
|
9941 Modes: GSM/WCDMA |
|
9942 |
|
9943 @see TMobileSmspEntryV1 */ |
|
9944 enum TMobileSmspStoreValidParams |
|
9945 { |
|
9946 /** The entry includes a valid iDestination field. */ |
|
9947 KDestinationIncluded=0x00000001, |
|
9948 /** The entry includes a valid iServiceCentre field. */ |
|
9949 KSCAIncluded=0x00000002, |
|
9950 /** The entry includes a valid iProtocolId field. */ |
|
9951 KProtocolIdIncluded=0x00000004, |
|
9952 /** The entry includes a valid iDcs field. */ |
|
9953 KDcsIncluded=0x00000008, |
|
9954 /** The entry includes a valid iValidityPeriod field. */ |
|
9955 KValidityPeriodIncluded=0x00000010 |
|
9956 }; |
|
9957 |
|
9958 class TMobileSmspEntryV1 : public RMobilePhone::TMultimodeType |
|
9959 |
|
9960 /** Defines a set of SMS parameters. |
|
9961 @publishedPartner |
|
9962 @released |
|
9963 */ |
|
9964 { |
|
9965 public: |
|
9966 IMPORT_C TMobileSmspEntryV1(); |
|
9967 public: |
|
9968 void InternalizeL(RReadStream& aStream); |
|
9969 void ExternalizeL(RWriteStream& aStream) const; |
|
9970 public: |
|
9971 /** The slot index where this SMSP entry is stored in the SIM's SMSP file. */ |
|
9972 TInt iIndex; |
|
9973 /** A bit-wise sum of the constants defined in TMobileSmspStoreValidParams, that |
|
9974 specifies which parameters are valid within this entry. */ |
|
9975 TUint32 iValidParams; |
|
9976 /** Default protocol ID. Coded according to GSM 03.40. */ |
|
9977 TUint8 iProtocolId; |
|
9978 /** Default data coding scheme. Coded according to GSM 03.40. */ |
|
9979 TUint8 iDcs; |
|
9980 /** Default validity period, in relative format and coded on 8 bits as defined |
|
9981 by GSM 03.40. */ |
|
9982 TUint8 iValidityPeriod; |
|
9983 /** Reserved for future use. */ |
|
9984 TUint8 iReservedFiller; |
|
9985 /** Default destination for outgoing SMS. |
|
9986 |
|
9987 @see RMobilePhone::TMobileAddress */ |
|
9988 RMobilePhone::TMobileAddress iDestination; |
|
9989 /** Default service centre for outgoing SMS. |
|
9990 |
|
9991 @see RMobilePhone::TMobileAddress */ |
|
9992 RMobilePhone::TMobileAddress iServiceCentre; |
|
9993 /** The alpha-tag associated with this SMSP entry, expressed as Unicode characters. */ |
|
9994 TBuf<KMaxSmspTextSize> iText; |
|
9995 }; |
|
9996 |
|
9997 /** A typedef'd packaged TMobileSmspEntryV1 for passing through a generic API member |
|
9998 function. */ |
|
9999 typedef TPckg<TMobileSmspEntryV1> TMobileSmspEntryV1Pckg; |
|
10000 IMPORT_C void StoreSmspListL(TRequestStatus& aReqStatus, CMobilePhoneSmspList* aSmspList) const; |
|
10001 IMPORT_C void NotifySmspListChange(TRequestStatus& aReqStatus) const; |
|
10002 |
|
10003 private: |
|
10004 RMobileSmsMessaging(const RMobileSmsMessaging&); |
|
10005 CSmsMessagingPtrHolder* iSmsMessagingPtrHolder; |
|
10006 protected: |
|
10007 IMPORT_C void ConstructL(); |
|
10008 IMPORT_C void Destruct(); |
|
10009 }; |
|
10010 |
|
10011 |
|
10012 /*********************************************************/ |
|
10013 // |
|
10014 // Broadcast Messaging (RMobileBroadcastMessaging) |
|
10015 // |
|
10016 /*********************************************************/ |
|
10017 |
|
10018 |
|
10019 |
|
10020 class CMobilePhoneBroadcastIdList; |
|
10021 |
|
10022 class CCbsMessagingPtrHolder; |
|
10023 class RMobileBroadcastMessaging : public RTelSubSessionBase |
|
10024 /** This sub-session provides access to the broadcast message services provided |
|
10025 by GSM/WCDMA and CDMA networks. |
|
10026 |
|
10027 Clients will open a RMobileBroadcastMessaging sub-session and then wait for |
|
10028 incoming broadcast messages. The broadcast messages received can depend upon |
|
10029 a "message filter" which defines the languages and/or identifiers of acceptable |
|
10030 (or unacceptable) messages. This sub-session and the function members within |
|
10031 this section must be supported if the TSY indicates that it supports the MobileBroadcastMessaging |
|
10032 functional unit. |
|
10033 |
|
10034 @publishedPartner |
|
10035 @released*/ |
|
10036 { |
|
10037 public: |
|
10038 |
|
10039 friend class CRetrieveMobilePhoneBroadcastIdList; |
|
10040 |
|
10041 IMPORT_C RMobileBroadcastMessaging(); |
|
10042 |
|
10043 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
10044 IMPORT_C void Close(); |
|
10045 |
|
10046 /***********************************************************************************/ |
|
10047 // |
|
10048 // Broadcast messaging capabilities |
|
10049 // |
|
10050 /***********************************************************************************/ |
|
10051 |
|
10052 /** Broadcast capabilities. |
|
10053 |
|
10054 Modes:GSM/WCDMA */ |
|
10055 enum TMobileBroadcastModeCaps |
|
10056 { |
|
10057 /** GSM 03.41 cell broadcast messages are supported. |
|
10058 |
|
10059 Modes:GSM/WCDMA */ |
|
10060 KCapsGsmTpduFormat = 0x00000001, |
|
10061 /** IS-637-A broadcast messages are supported. |
|
10062 |
|
10063 Modes:CDMA |
|
10064 @deprecated 9.5 |
|
10065 */ |
|
10066 KCapsCdmaTpduFormat = 0x00000002, |
|
10067 /** 3GPP 25.324 Release 4 cell broadcast messages are supported. |
|
10068 |
|
10069 Modes: WCDMA */ |
|
10070 KCapsWcdmaTpduFormat = 0x00000004 |
|
10071 }; |
|
10072 |
|
10073 /** Broadcast message filter capabilities. |
|
10074 |
|
10075 Modes: Common |
|
10076 |
|
10077 @see RMobileBroadcastMessaging::GetLanguageFilter() */ |
|
10078 enum TBroadcastMessagingFilterCaps |
|
10079 { |
|
10080 /** Phone supports switching broadcast messages on or off. This means the EbroadcastAcceptNone |
|
10081 and EBroadcastAcceptAll settings of TMobilePhoneBroadcastFilter are supported. |
|
10082 |
|
10083 Modes: Common */ |
|
10084 KCapsSimpleFilter = 0x00000001, |
|
10085 /** Phone supports filtering of broadcast messages depending upon their language. |
|
10086 The language filter is a list of languages used only for broadcast filtering. |
|
10087 |
|
10088 Modes: Common |
|
10089 |
|
10090 @see RMobileBroadcastMessaging::GetLanguageFilter() */ |
|
10091 KCapsLangFilter = 0x00000002, |
|
10092 /** Phone supports filtering of broadcast messages depending upon their subject. |
|
10093 The subject of a message is identified in GSM/WCDMA mode by the Cell Broadcast |
|
10094 Message Identifier (CBMI) and in CDMA mode by the Service Category. |
|
10095 |
|
10096 Modes: Common */ |
|
10097 KCapsIdFilter = 0x00000004 |
|
10098 }; |
|
10099 |
|
10100 |
|
10101 |
|
10102 class TMobileBroadcastCapsV1 : public RMobilePhone::TMultimodeType |
|
10103 /** Defines capabilities of Broadcast messaging. |
|
10104 @publishedPartner |
|
10105 @released |
|
10106 */ |
|
10107 { |
|
10108 public: |
|
10109 IMPORT_C TMobileBroadcastCapsV1(); |
|
10110 public: |
|
10111 /** Sum of TMobileBroadcastModeCaps constants. |
|
10112 |
|
10113 Modes: GSM/WCDMA */ |
|
10114 TUint32 iModeCaps; |
|
10115 /** Sum of TBroadcastMessagingFilterCaps constants. |
|
10116 |
|
10117 Modes: GSM/WCDMA */ |
|
10118 TUint32 iFilterCaps; |
|
10119 }; |
|
10120 |
|
10121 /** A typedef'd packaged TMobileBroadcastCapsV1 for passing through a generic API |
|
10122 function member. */ |
|
10123 typedef TPckg<TMobileBroadcastCapsV1> TMobileBroadcastCapsV1Pckg; |
|
10124 |
|
10125 IMPORT_C TInt GetCaps(TDes8& aCaps) const; |
|
10126 |
|
10127 /** Defines the broadcast attributes. |
|
10128 |
|
10129 Modes: Common */ |
|
10130 enum TMobileBroadcastAttributeFlags |
|
10131 { |
|
10132 /** The iFormat field is valid in the attribute class. |
|
10133 |
|
10134 Modes: Common */ |
|
10135 KBroadcastDataFormat = 0x00000001, |
|
10136 /** The iServiceCategory field is valid in the attribute class. |
|
10137 |
|
10138 Modes: CDMA |
|
10139 @deprecated 9.5 |
|
10140 */ |
|
10141 KCdmaServiceCategory = 0x00000002 |
|
10142 }; |
|
10143 |
|
10144 /** The mobile broadcast data format, used byTMobileBroadcastAttributesV1. |
|
10145 |
|
10146 Modes: Common */ |
|
10147 enum TMobileBroadcastDataFormat |
|
10148 { |
|
10149 /** The message data format is not specified. |
|
10150 |
|
10151 Modes: Common */ |
|
10152 EFormatUnspecified, |
|
10153 /** The message data format complies to a Cell Broadcast TPDU coded as 88 octets |
|
10154 (6 for header and 82 for message data) according to GSM 03.41. |
|
10155 |
|
10156 Modes: GSM/WCDMA */ |
|
10157 EFormatGsmTpdu, |
|
10158 /** The message data format complies to IS-637-A encoding of the Bearer Data parameter |
|
10159 within the Transport Layer's SMS-Broadcast message. |
|
10160 |
|
10161 Modes: CDMA |
|
10162 @deprecated 9.5 |
|
10163 */ |
|
10164 EFormatCdmaTpdu, |
|
10165 /** The message data format complies to a Cell Broadcast TPDU coded as 1252 octets |
|
10166 (6 for header and a maximum of 1246 for message data) according to 3GPP 25.324. |
|
10167 |
|
10168 Modes: WCDMA */ |
|
10169 EFormatWcdmaTpdu |
|
10170 }; |
|
10171 |
|
10172 |
|
10173 |
|
10174 class TMobileBroadcastAttributesV1 : public RMobilePhone::TMultimodeType |
|
10175 /** Defines attributes of a Broadcast message. |
|
10176 @publishedPartner |
|
10177 @released |
|
10178 */ |
|
10179 { |
|
10180 public: |
|
10181 IMPORT_C TMobileBroadcastAttributesV1(); |
|
10182 public: |
|
10183 /** The bit-mask flags indicating which attributes are present in this instance. |
|
10184 |
|
10185 Modes: Common |
|
10186 |
|
10187 @see TMobileBroadcastAttributeFlags */ |
|
10188 TUint32 iFlags; |
|
10189 /** Format of the message data buffer. |
|
10190 |
|
10191 Modes: Common |
|
10192 |
|
10193 @see TMobileBroadcastDataFormat */ |
|
10194 TMobileBroadcastDataFormat iFormat; |
|
10195 /** Service category of the message. |
|
10196 |
|
10197 Modes: CDMA |
|
10198 @deprecated 9.5 |
|
10199 */ |
|
10200 TInt iServiceCategory; |
|
10201 }; |
|
10202 |
|
10203 /** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic |
|
10204 API function member. */ |
|
10205 typedef TPckg<TMobileBroadcastAttributesV1> TMobileBroadcastAttributesV1Pckg; |
|
10206 |
|
10207 |
|
10208 |
|
10209 |
|
10210 class TMobileBroadcastAttributesV2 : public TMobileBroadcastAttributesV1 |
|
10211 /** Defines attributes of a UMTS Broadcast message for version v2.0 of the API. |
|
10212 @publishedPartner |
|
10213 @released |
|
10214 */ |
|
10215 { |
|
10216 public: |
|
10217 IMPORT_C TMobileBroadcastAttributesV2(); |
|
10218 public: |
|
10219 /** The number of pages that the current broadcast message consists of. The maximum |
|
10220 number of pages for WCDMA Broadcast messages is 15. */ |
|
10221 TInt iNumberOfPages; |
|
10222 /** This parameter is used to store the message type for this broadcast message. */ |
|
10223 TUint8 iMessageType; |
|
10224 /** This parameter is used to store the message id for this broadcast message. |
|
10225 |
|
10226 This parameter is used to store the serial number for this broadcast message. |
|
10227 |
|
10228 This parameter is used to store the data coding scheme for this broadcast |
|
10229 message. */ |
|
10230 TUint16 iMessageId; |
|
10231 /** This parameter is used to store the serial number for this broadcast message. */ |
|
10232 TUint16 iSerialNum; |
|
10233 /** This parameter is used to store the data coding scheme for this broadcast message. */ |
|
10234 TUint8 iDCS; |
|
10235 }; |
|
10236 |
|
10237 /** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic |
|
10238 API function member. */ |
|
10239 typedef TPckg<TMobileBroadcastAttributesV2> TMobileBroadcastAttributesV2Pckg; |
|
10240 |
|
10241 /***********************************************************************************/ |
|
10242 // |
|
10243 // Receiving broadcast messages |
|
10244 // |
|
10245 /***********************************************************************************/ |
|
10246 |
|
10247 /** A constant which defines the length of the buffer to be passed to ReceiveMessage. |
|
10248 |
|
10249 This constant should be used for all message types: GSM, CDMA and WCDMA.*/ |
|
10250 enum |
|
10251 { |
|
10252 KBroadcastPageSize = 88 |
|
10253 }; |
|
10254 |
|
10255 /** Buffer for received messages. |
|
10256 |
|
10257 This buffer should be used for all message types: GSM, CDMA and WCDMA.*/ |
|
10258 typedef TBuf8<KBroadcastPageSize> TBroadcastPageData; |
|
10259 |
|
10260 /** Old buffer sizes. KBroadcastPageSize should be used instead. */ |
|
10261 enum |
|
10262 { |
|
10263 KGsmBroadcastDataSize = KBroadcastPageSize, |
|
10264 /* |
|
10265 @deprecated 9.5 |
|
10266 */ |
|
10267 KCdmaBroadcastDataSize = KBroadcastPageSize, |
|
10268 KWCdmaBroadcastPageSize = KBroadcastPageSize |
|
10269 }; |
|
10270 |
|
10271 /** Buffer for GSM messages. TBroadcastPageData should be used instead. */ |
|
10272 typedef TBuf8<KGsmBroadcastDataSize> TGsmBroadcastMessageData; |
|
10273 /** Buffer for CDMA messages. TBroadcastPageData should be used instead. |
|
10274 @deprecated 9.5 |
|
10275 */ |
|
10276 typedef TBuf8<KCdmaBroadcastDataSize> TCdmaBroadcastMessageData; |
|
10277 /** Buffer for WCDMA messages. TBroadcastPageData should be used instead. */ |
|
10278 typedef TBuf8<KWCdmaBroadcastPageSize> TWCdmaBroadcastPageData; |
|
10279 |
|
10280 IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
10281 |
|
10282 /***********************************************************************************/ |
|
10283 // |
|
10284 // Filters |
|
10285 // |
|
10286 /***********************************************************************************/ |
|
10287 |
|
10288 /** The filter settings of the mobile phone. |
|
10289 |
|
10290 Modes: Common */ |
|
10291 enum TMobilePhoneBroadcastFilter |
|
10292 { |
|
10293 /** The phone does not have a filter setting. */ |
|
10294 EBroadcastFilterUnspecified, |
|
10295 /** The phone is not accepting any broadcast messages. */ |
|
10296 EBroadcastAcceptNone, |
|
10297 /** The phone is accepting all broadcast messages. */ |
|
10298 EBroadcastAcceptAll, |
|
10299 /** The phone is accepting those broadcast messages included within the language |
|
10300 and identifier filters. */ |
|
10301 EBroadcastAcceptFilter, |
|
10302 /** The phone is rejecting those broadcast messages included within the language |
|
10303 or identifier filters. */ |
|
10304 EBroadcastRejectFilter |
|
10305 }; |
|
10306 |
|
10307 IMPORT_C TInt GetFilterSetting(TMobilePhoneBroadcastFilter& aSetting) const; |
|
10308 IMPORT_C void SetFilterSetting(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter aSetting) const; |
|
10309 IMPORT_C void NotifyFilterSettingChange(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter& aSetting) const; |
|
10310 |
|
10311 IMPORT_C void GetLanguageFilter(TRequestStatus& aReqStatus, TDes16& aLangFilter) const; |
|
10312 IMPORT_C void SetLanguageFilter(TRequestStatus& aReqStatus, const TDesC16& aLangFilter) const; |
|
10313 IMPORT_C void NotifyLanguageFilterChange(TRequestStatus& aReqStatus, TDes16& aLangFilter) const; |
|
10314 |
|
10315 class TMobileBroadcastIdEntryV1 : public RMobilePhone::TMultimodeType |
|
10316 /** In GSM - defines a Cell Broadcast Message Identifier (CBMI) list entry. In |
|
10317 CDMA - defines a Service Category list entry. |
|
10318 @publishedPartner |
|
10319 @released |
|
10320 */ |
|
10321 { |
|
10322 public: |
|
10323 void InternalizeL(RReadStream& aStream); |
|
10324 void ExternalizeL(RWriteStream& aStream) const; |
|
10325 IMPORT_C TMobileBroadcastIdEntryV1(); |
|
10326 public: |
|
10327 /** The value of the message identifier. */ |
|
10328 TUint16 iId; |
|
10329 }; |
|
10330 |
|
10331 /** Defines the broadcast types. */ |
|
10332 enum TMobileBroadcastIdType |
|
10333 { |
|
10334 /** GSM broadcast. */ |
|
10335 EGsmBroadcastId, |
|
10336 /** CDMA broadcast. |
|
10337 @deprecated 9.5 |
|
10338 */ |
|
10339 ECdmaBroadcastId |
|
10340 }; |
|
10341 |
|
10342 IMPORT_C void StoreBroadcastIdListL(TRequestStatus& aReqStatus, CMobilePhoneBroadcastIdList* aIdList, TMobileBroadcastIdType aIdType); |
|
10343 IMPORT_C void NotifyBroadcastIdListChange(TRequestStatus& aReqStatus) const; |
|
10344 |
|
10345 private: |
|
10346 RMobileBroadcastMessaging(const RMobileBroadcastMessaging&); |
|
10347 CCbsMessagingPtrHolder* iCbsMessagingPtrHolder; |
|
10348 protected: |
|
10349 IMPORT_C void ConstructL(); |
|
10350 IMPORT_C void Destruct(); |
|
10351 }; |
|
10352 |
|
10353 /*********************************************************/ |
|
10354 // |
|
10355 // USSD Messaging (RMobileUssdMessaging) |
|
10356 // |
|
10357 /*********************************************************/ |
|
10358 |
|
10359 |
|
10360 |
|
10361 class CUssdMessagingPtrHolder; |
|
10362 class RMobileUssdMessaging : public RTelSubSessionBase |
|
10363 /** Provides client access to USSD functionality provided by TSY. |
|
10364 */ |
|
10365 { |
|
10366 public: |
|
10367 IMPORT_C RMobileUssdMessaging(); |
|
10368 |
|
10369 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
10370 IMPORT_C void Close(); |
|
10371 |
|
10372 /** Defines the USSD Messaging Format Capabilities. |
|
10373 |
|
10374 Modes: GSM/WCDMA */ |
|
10375 enum TMobileUssdFormatCaps |
|
10376 { |
|
10377 /** USSD messages coded as a packed string within 160 octets, as defined for a |
|
10378 ussd-String within GSM 04.80 and GSM 03.38. |
|
10379 |
|
10380 Modes: GSM/WCDMA */ |
|
10381 KCapsPackedString=0x00000001 |
|
10382 }; |
|
10383 |
|
10384 /** Defines the USSD Messaging Type Capabilities. |
|
10385 |
|
10386 Modes: GSM/WCDMA */ |
|
10387 enum TMobileUssdTypeCaps |
|
10388 { |
|
10389 /** Outgoing USSD messages are supported. |
|
10390 |
|
10391 Modes: GSM/WCDMA */ |
|
10392 KCapsMOUssd=0x00000001, |
|
10393 /** Incoming USSD messages are supported. |
|
10394 |
|
10395 Modes: GSM/WCDMA */ |
|
10396 KCapsMTUssd=0x00000002 |
|
10397 }; |
|
10398 |
|
10399 |
|
10400 |
|
10401 class TMobileUssdCapsV1 : public RMobilePhone::TMultimodeType |
|
10402 /** Defines capabilities of USSD messaging. |
|
10403 @publishedPartner |
|
10404 @released |
|
10405 */ |
|
10406 { |
|
10407 public: |
|
10408 IMPORT_C TMobileUssdCapsV1(); |
|
10409 /** Sum of TMobileUssdFormatCaps constants. |
|
10410 |
|
10411 Modes: GSM/WCDMA |
|
10412 |
|
10413 @see TMobileUssdFormatCaps */ |
|
10414 TUint32 iUssdFormat; |
|
10415 /** Sum of TMobileUssdTypeCaps constants. |
|
10416 |
|
10417 Modes: GSM/WCDMA |
|
10418 |
|
10419 @see TMobileUssdTypeCaps */ |
|
10420 TUint32 iUssdTypes; |
|
10421 }; |
|
10422 |
|
10423 /** A typedef'd packaged TMobileUssdCapsV1 for passing through a generic API member |
|
10424 function. */ |
|
10425 typedef TPckg<TMobileUssdCapsV1> TMobileUssdCapsV1Pckg; |
|
10426 |
|
10427 IMPORT_C TInt GetCaps(TDes8& aCaps) const; |
|
10428 |
|
10429 /** Defines the USSD Messaging Attributes. |
|
10430 |
|
10431 Modes: GSM/WCDMA |
|
10432 |
|
10433 @see TMobileUssdAttributesV1 */ |
|
10434 enum TMobileUssdAttributeFlags |
|
10435 { |
|
10436 /** The iFormat field is valid in the attribute class. */ |
|
10437 KUssdDataFormat = 0x00000001, |
|
10438 /** The iType field is valid in the attribute class. */ |
|
10439 KUssdMessageType = 0x00000002, |
|
10440 /** The iDcs field is valid in the attribute class. */ |
|
10441 KUssdMessageDcs = 0x00000004 |
|
10442 }; |
|
10443 |
|
10444 /** Defines the USSD Data Formats. |
|
10445 |
|
10446 Modes: Common */ |
|
10447 enum TMobileUssdDataFormat |
|
10448 { |
|
10449 /** The message data format is unspecified. |
|
10450 |
|
10451 Modes: Common */ |
|
10452 EFormatUnspecified, |
|
10453 /** The message data format complies to a USSD coded as 160 octets as defined for |
|
10454 a ussd-String within GSM 04.80 and GSM 03.38. |
|
10455 |
|
10456 Modes: GSM/WCDMA */ |
|
10457 EFormatPackedString |
|
10458 }; |
|
10459 |
|
10460 /** Defines the USSD Message Types. |
|
10461 |
|
10462 Modes: GSM/WCDMA */ |
|
10463 enum TMobileUssdMessageType |
|
10464 { |
|
10465 /** Message is an unknown type. */ |
|
10466 EUssdUnknown, |
|
10467 /** Message is a mobile originated USSD request. The MS expects the network to |
|
10468 send a USSD MT reply. */ |
|
10469 EUssdMORequest, |
|
10470 /** Message is a reply to a previously received network initiated USSD request. |
|
10471 It is a USSD MO reply. */ |
|
10472 EUssdMOReply, |
|
10473 /** Message is a one-off network initiated USSD notification. The network expects the MS to |
|
10474 send a USSD MO acknowledgement with empty message content. */ |
|
10475 EUssdMTNotify, |
|
10476 /** Message is a network initiated USSD request. The network expects |
|
10477 the MS to send a USSD MO reply. */ |
|
10478 EUssdMTRequest, |
|
10479 /** Message is a network initiated reply to a previously sent MO USSD request. */ |
|
10480 EUssdMTReply, |
|
10481 /** For acknowledging MT USSD notifications (empty message content). */ |
|
10482 EUssdMOAcknowledgement |
|
10483 }; |
|
10484 |
|
10485 |
|
10486 |
|
10487 class TMobileUssdAttributesV1 : public RMobilePhone::TMultimodeType |
|
10488 /** Defines attributes of a USSD message. |
|
10489 @publishedPartner |
|
10490 @released |
|
10491 */ |
|
10492 { |
|
10493 public: |
|
10494 IMPORT_C TMobileUssdAttributesV1(); |
|
10495 public: |
|
10496 /** The TMobileUssdAttributeFlags bit-mask flags indicating which attributes are |
|
10497 present in this instance. |
|
10498 |
|
10499 Modes: GSM/WCDMA |
|
10500 |
|
10501 @see TMobileUssdAttributeFlags */ |
|
10502 TUint32 iFlags; |
|
10503 /** Format of the message data buffer. |
|
10504 |
|
10505 Modes: GSM/WCDMA |
|
10506 |
|
10507 @see TMobileUssdDataFormat */ |
|
10508 TMobileUssdDataFormat iFormat; |
|
10509 /** The type of USSD message. |
|
10510 |
|
10511 Modes: GSM/WCDMA |
|
10512 |
|
10513 @see TMobileUssdMessageType */ |
|
10514 TMobileUssdMessageType iType; |
|
10515 /** The Data Coding Scheme of the USSD message. |
|
10516 |
|
10517 Modes: GSM/WCDMA */ |
|
10518 TUint8 iDcs; |
|
10519 }; |
|
10520 |
|
10521 /** A typedef'd packaged TMobileUssdAttributesV1 for passing through a generic |
|
10522 API member function. */ |
|
10523 typedef TPckg<TMobileUssdAttributesV1> TMobileUssdAttributesV1Pckg; |
|
10524 |
|
10525 /***********************************************************************************/ |
|
10526 // |
|
10527 // Receiving USSD messages |
|
10528 // |
|
10529 /***********************************************************************************/ |
|
10530 |
|
10531 enum |
|
10532 { |
|
10533 KGsmUssdDataSize = 160 |
|
10534 }; |
|
10535 |
|
10536 /** A typedef'd buffer to hold the message data. */ |
|
10537 typedef TBuf8<KGsmUssdDataSize> TGsmUssdMessageData; |
|
10538 |
|
10539 IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
10540 |
|
10541 /***********************************************************************************/ |
|
10542 // |
|
10543 // Sending USSD messages |
|
10544 // |
|
10545 /***********************************************************************************/ |
|
10546 |
|
10547 IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const; |
|
10548 IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const; |
|
10549 |
|
10550 IMPORT_C void SendRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const; |
|
10551 IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const; |
|
10552 IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
10553 |
|
10554 private: |
|
10555 RMobileUssdMessaging(const RMobileUssdMessaging&); |
|
10556 CUssdMessagingPtrHolder* iUssdMessagingPtrHolder; |
|
10557 protected: |
|
10558 IMPORT_C void ConstructL(); |
|
10559 IMPORT_C void Destruct(); |
|
10560 }; |
|
10561 |
|
10562 |
|
10563 |
|
10564 /*********************************************************/ |
|
10565 // |
|
10566 // SMS Message Storage (RMobileSmsStore) |
|
10567 // |
|
10568 /*********************************************************/ |
|
10569 |
|
10570 |
|
10571 |
|
10572 class CSmsStorePtrHolder; |
|
10573 class CMobilePhoneSmsList; |
|
10574 class RMobileSmsStore : public RMobilePhoneStore |
|
10575 /** Provides client access to SMS storage functionality provided by TSY. |
|
10576 @publishedPartner |
|
10577 @released |
|
10578 */ |
|
10579 { |
|
10580 public: |
|
10581 |
|
10582 IMPORT_C RMobileSmsStore(); |
|
10583 IMPORT_C TInt Open(RMobileSmsMessaging& aMessaging, const TDesC& aStoreName); |
|
10584 IMPORT_C void Close(); |
|
10585 |
|
10586 /** Defines the SMS Store Capabilities. |
|
10587 |
|
10588 Modes: Common */ |
|
10589 enum TMobileSmsStoreCaps |
|
10590 { |
|
10591 /** The store contains unread, incoming SMS entries. |
|
10592 |
|
10593 Modes: Common */ |
|
10594 KCapsUnreadMessages = 0x00000001, |
|
10595 /** The store contains read, incoming SMS entries. |
|
10596 |
|
10597 Modes: Common */ |
|
10598 KCapsReadMessages = 0x00000002, |
|
10599 /** The store contains sent SMS entries. |
|
10600 |
|
10601 Modes: Common */ |
|
10602 KCapsSentMessages = 0x00000004, |
|
10603 /** The store contains un sent SMS entries. */ |
|
10604 KCapsUnsentMessages = 0x00000008, |
|
10605 /** The store contains GSM SMS message entries – so TMobileGsmSmsEntryV1 class |
|
10606 should be used. |
|
10607 |
|
10608 Modes: GSM/WCDMA */ |
|
10609 KCapsGsmMessages = 0x00000010, |
|
10610 /** The store contains CDMA SMS message entries – so TMobileCdmaSmsEntryV1 class |
|
10611 should be used. |
|
10612 |
|
10613 Modes: CDMA |
|
10614 @deprecated 9.5 |
|
10615 */ |
|
10616 KCapsCdmaMessages = 0x00000020 |
|
10617 }; |
|
10618 |
|
10619 /** Defines contents of a fixed-size, stored SMS entry. |
|
10620 |
|
10621 Modes: Common */ |
|
10622 enum TMobileSmsStoreStatus |
|
10623 { |
|
10624 /** The status of the SMS is unknown. */ |
|
10625 EStoredMessageUnknownStatus, |
|
10626 /** The SMS is stored phone-side. It is an incoming message that has not been read |
|
10627 yet. */ |
|
10628 EStoredMessageUnread, |
|
10629 /** The SMS is stored phone-side. It is an incoming message that has already been |
|
10630 read. */ |
|
10631 EStoredMessageRead, |
|
10632 /** The SMS is stored phone-side. It is an outgoing message that has not been sent |
|
10633 yet. */ |
|
10634 EStoredMessageUnsent, |
|
10635 /** The SMS is stored phone-side. It is an outgoing message that has already been |
|
10636 sent but a delivery/status report has either not been received yet or was |
|
10637 not requested in the first place. */ |
|
10638 EStoredMessageSent, |
|
10639 /** The SMS is stored phone-side. It is an outgoing message that has already been |
|
10640 sent and a delivery/status report has been received */ |
|
10641 EStoredMessageDelivered |
|
10642 }; |
|
10643 |
|
10644 // |
|
10645 // Enum used by TSY to distinguish which SMS entry class is used by client |
|
10646 // |
|
10647 |
|
10648 /** Used by TSY to distinguish which SMS entry class is used by client. */ |
|
10649 enum TMobileSmsEntryExtensionId |
|
10650 { |
|
10651 /** Type is unknown. */ |
|
10652 KETelMobileSmsEntryV1=KETelExtMultimodeV1, |
|
10653 /** The iExtensionId contents indicate that the packaged class is a TMobileGsmSmsEntryV1. |
|
10654 |
|
10655 Also used to indicate that GSM SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */ |
|
10656 KETelMobileGsmSmsEntryV1, |
|
10657 /** The iExtensionId contents indicate that the packaged class is a TMobileCdmaSmsEntryV1. |
|
10658 |
|
10659 Also used to indicate that CDMA SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. |
|
10660 @deprecated 9.5 |
|
10661 */ |
|
10662 KETelMobileCdmaSmsEntryV1 |
|
10663 }; |
|
10664 |
|
10665 class TMobileSmsEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
10666 /** Defines contents of a fixed-size, stored SMS entry. |
|
10667 @publishedPartner |
|
10668 @released |
|
10669 */ |
|
10670 { |
|
10671 public: |
|
10672 void InternalizeL(RReadStream& aStream); |
|
10673 void ExternalizeL(RWriteStream& aStream) const; |
|
10674 protected: |
|
10675 TMobileSmsEntryV1(); |
|
10676 public: |
|
10677 /** The status of the stored message. |
|
10678 |
|
10679 Modes: Common |
|
10680 |
|
10681 @see TMobileSmsStoreStatus */ |
|
10682 TMobileSmsStoreStatus iMsgStatus; |
|
10683 }; |
|
10684 |
|
10685 /** A typedef'd packaged TMobileSmsEntryV1 for passing through a generic API |
|
10686 member function. */ |
|
10687 typedef TPckg<TMobileSmsEntryV1> TMobileSmsEntryV1Pckg; |
|
10688 |
|
10689 class TMobileGsmSmsEntryV1 : public TMobileSmsEntryV1 |
|
10690 /** Defines contents of a fixed-size, stored GSM SMS entry. |
|
10691 @publishedPartner |
|
10692 @released */ |
|
10693 { |
|
10694 public: |
|
10695 void InternalizeL(RReadStream& aStream); |
|
10696 void ExternalizeL(RWriteStream& aStream) const; |
|
10697 public: |
|
10698 IMPORT_C TMobileGsmSmsEntryV1(); |
|
10699 public: |
|
10700 /** The service centre to use (or used) for the message. |
|
10701 |
|
10702 Modes: GSM/WCDMA |
|
10703 |
|
10704 @see RMobilePhone::TMobileAddress */ |
|
10705 RMobilePhone::TMobileAddress iServiceCentre; |
|
10706 /** The GSM 03.40 TPDU. |
|
10707 |
|
10708 Modes: GSM/WCDMA |
|
10709 |
|
10710 @see RMobileSmsMessaging::TMobileSmsGsmTpdu */ |
|
10711 RMobileSmsMessaging::TMobileSmsGsmTpdu iMsgData; |
|
10712 }; |
|
10713 |
|
10714 /** A typedef'd packaged TMobileGsmSmsEntryV1 for passing through a generic API |
|
10715 member function. */ |
|
10716 typedef TPckg<TMobileGsmSmsEntryV1> TMobileGsmSmsEntryV1Pckg; |
|
10717 |
|
10718 class TMobileCdmaSmsEntryV1 : public TMobileSmsEntryV1 |
|
10719 /** Defines contents of a fixed-size, stored CDMA SMS entry. |
|
10720 @publishedPartner |
|
10721 @released |
|
10722 |
|
10723 @deprecated 9.5 |
|
10724 */ |
|
10725 { |
|
10726 public: |
|
10727 void InternalizeL(RReadStream& aStream); |
|
10728 void ExternalizeL(RWriteStream& aStream) const; |
|
10729 public: |
|
10730 IMPORT_C TMobileCdmaSmsEntryV1(); |
|
10731 public: |
|
10732 /** The teleservice identifier of the stored message. |
|
10733 |
|
10734 Modes: CDMA |
|
10735 @deprecated 9.5 |
|
10736 */ |
|
10737 TInt iTeleservice; |
|
10738 /** The service category of the stored message. |
|
10739 |
|
10740 Modes: CDMA */ |
|
10741 TInt iServiceCategory; |
|
10742 /** The remote party (destination or originator) of the stored message. |
|
10743 |
|
10744 Modes: CDMA |
|
10745 |
|
10746 @see RMobilePhone::TMobileAddress */ |
|
10747 RMobilePhone::TMobileAddress iRemoteParty; |
|
10748 /** The teleservice layer bearer data of the stored message. |
|
10749 |
|
10750 Modes: CDMA |
|
10751 |
|
10752 @see RMobileSmsMessaging::TMobileSmsCdmaTpdu */ |
|
10753 RMobileSmsMessaging::TMobileSmsCdmaTpdu iMsgData; |
|
10754 }; |
|
10755 |
|
10756 /** A typedef'd packaged TMobileCdmaSmsEntryV1 for passing through a generic API |
|
10757 member function. |
|
10758 @deprecated 9.5 |
|
10759 */ |
|
10760 typedef TPckg<TMobileCdmaSmsEntryV1> TMobileCdmaSmsEntryV1Pckg; |
|
10761 |
|
10762 protected: |
|
10763 IMPORT_C void ConstructL(); |
|
10764 private: |
|
10765 RMobileSmsStore(const RMobileSmsStore&); |
|
10766 }; |
|
10767 |
|
10768 /*********************************************************/ |
|
10769 // |
|
10770 // NAM Storage (RMobileNamStore) |
|
10771 // |
|
10772 /*********************************************************/ |
|
10773 |
|
10774 |
|
10775 |
|
10776 class CNamStorePtrHolder; |
|
10777 class CMobilePhoneNamList; |
|
10778 class CMobilePhoneNamListV4; |
|
10779 |
|
10780 class RMobileNamStore : public RMobilePhoneStore |
|
10781 /** |
|
10782 Provides client access to NAM storage functionality provided by TSY |
|
10783 |
|
10784 @deprecated 9.5 |
|
10785 |
|
10786 */ |
|
10787 { |
|
10788 public: |
|
10789 IMPORT_C RMobileNamStore(); |
|
10790 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
10791 IMPORT_C void Close(); |
|
10792 |
|
10793 |
|
10794 |
|
10795 class TMobileNamStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1 |
|
10796 /** |
|
10797 Defines information about a NAM store |
|
10798 |
|
10799 @publishedPartner |
|
10800 @released |
|
10801 */ |
|
10802 { |
|
10803 public: |
|
10804 IMPORT_C TMobileNamStoreInfoV1(); |
|
10805 public: |
|
10806 /** The number of enabled NAMs within the NAM store. |
|
10807 |
|
10808 Modes: CDMA */ |
|
10809 TInt iNamCount; |
|
10810 /** The index of the NAM that is currently the active NAM, will be between 0 and |
|
10811 iNamCount-1. |
|
10812 |
|
10813 Modes: CDMA */ |
|
10814 TInt iActiveNam; |
|
10815 }; |
|
10816 |
|
10817 /** A typedef'd packaged TMobileNamStoreInfoV1 for passing through a generic API |
|
10818 member function. */ |
|
10819 typedef TPckg<TMobileNamStoreInfoV1> TMobileNamStoreInfoV1Pckg; |
|
10820 |
|
10821 IMPORT_C void SetActiveNam(TRequestStatus& aReqStatus, TInt aNamId) const; |
|
10822 |
|
10823 enum |
|
10824 { |
|
10825 /* The original maximum NAM parameter size for a TMobileNamEntryV1 */ |
|
10826 KMaxNamParamSize = 64, |
|
10827 /* Updated maximum NAM parameter size for TMobileNamEntryV4 */ |
|
10828 KMaxNamParamSizeV4 = 256 |
|
10829 }; |
|
10830 |
|
10831 class TMobileNamEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
10832 /** |
|
10833 Defines contents of a NAM store entry |
|
10834 |
|
10835 @publishedPartner |
|
10836 @released |
|
10837 */ |
|
10838 { |
|
10839 public: |
|
10840 IMPORT_C TMobileNamEntryV1(); |
|
10841 public: |
|
10842 void InternalizeL(RReadStream& aStream); |
|
10843 void ExternalizeL(RWriteStream& aStream) const; |
|
10844 public: |
|
10845 /** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfoV1::iNamCount-1. |
|
10846 |
|
10847 Modes: CDMA */ |
|
10848 TInt iNamId; |
|
10849 /** The identifier of the NAM parameter to be accessed. |
|
10850 |
|
10851 TSY must define values of parameter identifiers. |
|
10852 |
|
10853 Modes: CDMA */ |
|
10854 TInt iParamIdentifier; |
|
10855 /** The data contents of the selected parameter. |
|
10856 |
|
10857 Modes: CDMA |
|
10858 |
|
10859 @see KMaxNamParamSize */ |
|
10860 TBuf8<KMaxNamParamSize> iData; |
|
10861 }; |
|
10862 |
|
10863 /** A typedef'd packaged TMobileNamEntryV1 for passing through a generic API member |
|
10864 function. */ |
|
10865 typedef TPckg<TMobileNamEntryV1> TMobileNamEntryV1Pckg; |
|
10866 |
|
10867 /** Enumeration for the standard NAM parameters (see 3GPP2 C.S0005-A appendix F.3) |
|
10868 Modes: CDMA */ |
|
10869 enum TStandardNamParameters |
|
10870 { |
|
10871 /** The 64-bit pattern stored in the Mobile Station and |
|
10872 Home Location Register/Authentication Centre used to generate/update the |
|
10873 mobile station’s Shared Secret Data |
|
10874 Corresponds to NAM Indicator 'A_KEY' */ |
|
10875 EAKey, |
|
10876 /** 64-bit key used for authentication |
|
10877 Corresponds to NAM Indicator 'SSD_A(s-p)' */ |
|
10878 ESharedSecretDataA, |
|
10879 /** 64-bit key used as input to generate encryption mask and long code |
|
10880 Corresponds to NAM Indicator 'SSD_B(s-p)' */ |
|
10881 ESharedSecretDataB, |
|
10882 /** Modulo-64 event counter maintained by the mobile station and Authentication Center |
|
10883 used for clone detection |
|
10884 Corresponds to NAM Indicator 'COUNT(s-p)' */ |
|
10885 EParameterUpdateReceivedCount, |
|
10886 /** Class of the International Mobile Station Identity (IMSI) containing a MIN as |
|
10887 the lower 10 digits |
|
10888 Corresponds to NAM Indicator 'IMSI_M_CLASS(p)' */ |
|
10889 EMinBasedImsiClass, |
|
10890 /** The class of the International Mobile Station Identity (IMSI) not containing a MIN as |
|
10891 the lower 10 digits |
|
10892 Corresponds to NAM Indicator 'IMSI_T_CLASS(p)' */ |
|
10893 ETrueImsiClass, |
|
10894 /** 34-bit number derived from the IMSI M used as input for authentication |
|
10895 Corresponds to NAM Indicator 'IMSI_M_S(p)' */ |
|
10896 EMinBasedImsiS, |
|
10897 /** 34-bit number derived from the IMSI T used as input for authentication |
|
10898 Corresponds to NAM Indicator 'IMSI_T_S(p)' */ |
|
10899 ETrueImsiS, |
|
10900 /** Number of digits in the IMSI M minus 4 |
|
10901 Corresponds to NAM Indicator 'IMSI_M_ADDR_NUM(p)' */ |
|
10902 EMinBasedImsiAddressNum, |
|
10903 /** The number of digits in the IMSI T minus 4 |
|
10904 Corresponds to NAM Indicator 'IMSI_T_ADDR_NUM(p)' */ |
|
10905 ETrueImsiAddressNum, |
|
10906 /** The 11th and 12th digits in the IMSI M |
|
10907 Corresponds to NAM Indicator 'IMSI_M_11_12(p)' */ |
|
10908 EMinBasedImsiDigits11and12, |
|
10909 /** The 11th and 12th digits in the IMSI T |
|
10910 Corresponds to NAM Indicator 'IMSI_T_11_12(p)' */ |
|
10911 ETrueImsiDigits11and12, |
|
10912 /** The country code for the IMSI M |
|
10913 Corresponds to NAM Indicator 'MCC_M(p)' */ |
|
10914 EMinBasedMobileCountryCode, |
|
10915 /** The country code for the IMSI T |
|
10916 Corresponds to NAM Indicator 'MCC_T(p)' */ |
|
10917 ETrueMobileCountryCode, |
|
10918 /** Up to 15 digit dialable number associated with the mobile station through a service |
|
10919 subscription |
|
10920 Corresponds to NAM Indicator 'MDN(p)' */ |
|
10921 EMobileDirectoryNumber, |
|
10922 /** 4-bit number giving the length of the assigning Temporary Mobile Station Identity (TMSI) zone |
|
10923 (can range from 1 to 8 octets) |
|
10924 Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE_LEN(s-p)' */ |
|
10925 EAssigningTmsiZoneLen, |
|
10926 /** Temporary Mobile Station Identity (TMSI) zone is an arbitrary set of base stations |
|
10927 for the administrative assignment of TMSI |
|
10928 Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE(s-p)' */ |
|
10929 EAssigningTmsiZone, |
|
10930 /** The uniquely assigned number to a mobile station inside a TMSI zone |
|
10931 Corresponds to NAM Indicator 'TMSI_CODE(s-p)' */ |
|
10932 ETmsiCode, |
|
10933 /** The expiration time used to automatically delete the assigned TMSI |
|
10934 Corresponds to NAM Indicator 'TMSI_EXP_TIME(s-p)' */ |
|
10935 ETmsiExpTime, |
|
10936 /** Mobile station's home System Id for 800MHz analog operation |
|
10937 Corresponds to NAM Indicator 'HOME_SID(p)' */ |
|
10938 EHomeSystemIdAnalog, |
|
10939 /** Mobile station's home System Id |
|
10940 Corresponds to NAM Indicator 'SID(p)' */ |
|
10941 EHomeSystemId, |
|
10942 /** Mobile station's home Network Id |
|
10943 Corresponds to NAM Indicator 'NID(p)' */ |
|
10944 EHomeNetworkId, |
|
10945 /** Mobile station is configured to receive mobile station terminated calls when |
|
10946 using a home (SID, NID) pair |
|
10947 Corresponds to NAM Indicator 'MOB_TERM_HOME(p)' */ |
|
10948 EReceiveCallsHome, |
|
10949 /** The mobile station is configured to receive mobile station terminated calls when |
|
10950 it is a foreign SID roamer |
|
10951 Corresponds to NAM Indicator 'MOB_TERM_FOR_SID(p)' */ |
|
10952 EReceiveCallsForeignSystem, |
|
10953 /** The mobile station is configured to receive mobile station terminated calls when |
|
10954 it is a foreign NID roamer |
|
10955 Corresponds to NAM Indicator 'MOB_TERM_FOR_NID(p)' */ |
|
10956 EReceiveCallsForeignNetwork, |
|
10957 /** A TSY may use this as the first TSY-defined non-standard NAM parameter */ |
|
10958 ENumStandardNamParameters |
|
10959 }; |
|
10960 |
|
10961 class TMobileNamEntryV4 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
10962 /** |
|
10963 Defines contents of a NAM store entry |
|
10964 |
|
10965 The differences between the original TMobileNamEntryV1, and updated TMobileNamEntryV4 are: |
|
10966 - the maximum mobile NAM parameter size is KMaxNamParamSize(64) for TMobileNamEntryV1 |
|
10967 and KMaxNamParamSizeV4(256) for TMobileNamEntryV4 |
|
10968 - TMobileNamEntryV4 defines a set of standard NAM parameters for the iParamIdentifier as |
|
10969 described in 3GPP2 C.S0005-A appendix F.3 |
|
10970 |
|
10971 @publishedPartner |
|
10972 @released |
|
10973 */ |
|
10974 { |
|
10975 public: |
|
10976 IMPORT_C TMobileNamEntryV4(); |
|
10977 public: |
|
10978 void InternalizeL(RReadStream& aStream); |
|
10979 void ExternalizeL(RWriteStream& aStream) const; |
|
10980 public: |
|
10981 /** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfo::iNamCount-1. |
|
10982 |
|
10983 Modes: CDMA */ |
|
10984 TInt iNamId; |
|
10985 |
|
10986 /** The identifier of the NAM parameter to be accessed. |
|
10987 iParamIdentifier will be a TStandardNamParameters value if a standard NAM parameter is being accessed, |
|
10988 however a TSY may support and define NAM parameters in addition to those given by TStandardNamParameters |
|
10989 Modes: CDMA */ |
|
10990 TInt iParamIdentifier; |
|
10991 |
|
10992 /** The data contents of the selected parameter. |
|
10993 |
|
10994 Modes: CDMA |
|
10995 |
|
10996 @see KMaxNamParamSizeV4 */ |
|
10997 TBuf8<KMaxNamParamSizeV4> iData; |
|
10998 }; |
|
10999 |
|
11000 /** A typedef'd packaged TMobileNamEntryV4 for passing through a generic API member |
|
11001 function. */ |
|
11002 typedef TPckg<TMobileNamEntryV4> TMobileNamEntryV4Pckg; |
|
11003 |
|
11004 IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamList* aNamList) const; |
|
11005 IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamListV4* aNamList) const; |
|
11006 |
|
11007 protected: |
|
11008 IMPORT_C void ConstructL(); |
|
11009 private: |
|
11010 RMobileNamStore(const RMobileNamStore&); |
|
11011 }; |
|
11012 |
|
11013 |
|
11014 /*********************************************************/ |
|
11015 // |
|
11016 // Own Number Storage (RMobileONStore) |
|
11017 // |
|
11018 /*********************************************************/ |
|
11019 |
|
11020 |
|
11021 |
|
11022 class CONStorePtrHolder; |
|
11023 class CMobilePhoneONList; |
|
11024 |
|
11025 class RMobileONStore : public RMobilePhoneStore |
|
11026 /** |
|
11027 Provides client access to Own Number storage functionality provided by TSY |
|
11028 |
|
11029 */ |
|
11030 { |
|
11031 public: |
|
11032 IMPORT_C RMobileONStore(); |
|
11033 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
11034 IMPORT_C void Close(); |
|
11035 |
|
11036 |
|
11037 |
|
11038 class TMobileONStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1 |
|
11039 /** |
|
11040 Defines information about an Own Number store |
|
11041 |
|
11042 @publishedPartner |
|
11043 @released |
|
11044 */ |
|
11045 { |
|
11046 public: |
|
11047 IMPORT_C TMobileONStoreInfoV1(); |
|
11048 public: |
|
11049 /** The maximum length of the own phone number can be. */ |
|
11050 TInt iNumberLen; |
|
11051 /** The maximum length the text field can be. */ |
|
11052 TInt iTextLen; |
|
11053 }; |
|
11054 |
|
11055 /** A typedef'd packaged TMobileONStoreInfoV1 for passing through a generic API |
|
11056 member function. */ |
|
11057 typedef TPckg<TMobileONStoreInfoV1> TMobileONStoreInfoV1Pckg; |
|
11058 |
|
11059 enum |
|
11060 { |
|
11061 KOwnNumberTextSize = 20 |
|
11062 }; |
|
11063 |
|
11064 |
|
11065 |
|
11066 class TMobileONEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
11067 /** |
|
11068 Defines contents of a Own Number store entry |
|
11069 |
|
11070 @publishedPartner |
|
11071 @released |
|
11072 */ |
|
11073 { |
|
11074 public: |
|
11075 IMPORT_C TMobileONEntryV1(); |
|
11076 public: |
|
11077 void InternalizeL(RReadStream& aStream); |
|
11078 void ExternalizeL(RWriteStream& aStream) const; |
|
11079 public: |
|
11080 /** Network mode. */ |
|
11081 RMobilePhone::TMobilePhoneNetworkMode iMode; |
|
11082 /** Mobile call service type. |
|
11083 |
|
11084 @see RMobilePhone::TMobileService */ |
|
11085 RMobilePhone::TMobileService iService; |
|
11086 /** Own number. |
|
11087 |
|
11088 @see RMobilePhone::TMobileAddress */ |
|
11089 RMobilePhone::TMobileAddress iNumber; |
|
11090 /** The name-tag associated with own number (e.g. "Voice Number"). */ |
|
11091 TBuf<KOwnNumberTextSize> iText; |
|
11092 }; |
|
11093 |
|
11094 /** A typedef'd packaged TMobileONEntryV1 for passing through a generic API member |
|
11095 function. */ |
|
11096 typedef TPckg<TMobileONEntryV1> TMobileONEntryV1Pckg; |
|
11097 |
|
11098 IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, CMobilePhoneONList* aONList) const; |
|
11099 |
|
11100 protected: |
|
11101 IMPORT_C void ConstructL(); |
|
11102 private: |
|
11103 RMobileONStore(const RMobileONStore&); |
|
11104 }; |
|
11105 |
|
11106 /*********************************************************/ |
|
11107 // |
|
11108 // Emergency Number Storage (RMobileENStore) |
|
11109 // |
|
11110 /*********************************************************/ |
|
11111 |
|
11112 |
|
11113 |
|
11114 class CMobilePhoneENList; |
|
11115 |
|
11116 class RMobileENStore : public RMobilePhoneStore |
|
11117 /** |
|
11118 Provides client access to Emergency Number storage functionality provided by TSY |
|
11119 |
|
11120 */ |
|
11121 { |
|
11122 public: |
|
11123 IMPORT_C RMobileENStore(); |
|
11124 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
11125 IMPORT_C void Close(); |
|
11126 |
|
11127 enum |
|
11128 { |
|
11129 KEmergencyNumberSize = 6, |
|
11130 KEmergencyAlphaTagSize = 20 |
|
11131 }; |
|
11132 |
|
11133 /** Enumerated list of Emergency Number entries. |
|
11134 |
|
11135 Mode: WCDMA */ |
|
11136 enum TMobilePhoneENServiceCategory |
|
11137 { |
|
11138 /** This number provides emergency care by the police department. */ |
|
11139 KServiceCatPolice =0x0001, |
|
11140 /** This number provides emergency care by the ambulance department. */ |
|
11141 KServiceCatAmbulance =0x0002, |
|
11142 /** This number provides emergency care by the fire brigade department. */ |
|
11143 KServiceCatFireBrigade =0x0004, |
|
11144 /** This number provides emergency care by the marine guard department. */ |
|
11145 KServiceCatMarineGuard =0x0008, |
|
11146 /** This number provides emergency care by the mountain rescue department. */ |
|
11147 KServiceCatMountainRescue =0x0010 |
|
11148 // Reserved types: 0x0020,0x0040, |
|
11149 }; |
|
11150 |
|
11151 |
|
11152 |
|
11153 /** Buffer to hold the emergency number in. */ |
|
11154 typedef TBuf<KEmergencyNumberSize> TEmergencyNumber; |
|
11155 |
|
11156 class TMobileENEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
11157 /** |
|
11158 Defines contents of a Emergency Number store entry |
|
11159 @publishedPartner |
|
11160 @released |
|
11161 */ |
|
11162 { |
|
11163 public: |
|
11164 IMPORT_C TMobileENEntryV1(); |
|
11165 public: |
|
11166 void InternalizeL(RReadStream& aStream); |
|
11167 void ExternalizeL(RWriteStream& aStream) const; |
|
11168 public: |
|
11169 /** Indicates whether the emergency number is applicable in all situations (=EFalse) |
|
11170 or only when the MS is registered to a specific GSM or CDMA network (=ETrue). */ |
|
11171 TBool iNetworkSpecific; |
|
11172 /** The network mode. Only applicable if iNetworkSpecific equals ETrue. |
|
11173 |
|
11174 Modes: Common |
|
11175 |
|
11176 @see RMobilePhone::TMobilePhoneNetworkMode */ |
|
11177 RMobilePhone::TMobilePhoneNetworkMode iMode; |
|
11178 /** Country code. Only applicable if iNetworkSpecific equals ETrue. |
|
11179 |
|
11180 Modes: Common |
|
11181 |
|
11182 @see RMobilePhone::TMobilePhoneNetworkCountryCode */ |
|
11183 RMobilePhone::TMobilePhoneNetworkCountryCode iCountryCode; |
|
11184 /** Network identity. Only applicable if iNetworkSpecific equals ETrue. |
|
11185 |
|
11186 Modes: Common |
|
11187 |
|
11188 @see RMobilePhone::TMobilePhoneNetworkIdentity */ |
|
11189 RMobilePhone::TMobilePhoneNetworkIdentity iIdentity; |
|
11190 /** Emergency number. |
|
11191 |
|
11192 Modes: Common |
|
11193 |
|
11194 @see TEmergencyNumber */ |
|
11195 TEmergencyNumber iNumber; |
|
11196 /** Emergency call number type. It is used to display information about the dialed |
|
11197 emergency number (e.g. "Police", "Ambulance", "Fire brigade", etc.) |
|
11198 |
|
11199 Modes: WCDMA */ |
|
11200 TBuf<KEmergencyAlphaTagSize> iAlphaId; |
|
11201 //TInt should map to TMobilePhoneENServiceCategory. |
|
11202 //It was not changed to maintain source compatibility |
|
11203 |
|
11204 /** Emergency call type indicator, which contains information to be sent to the |
|
11205 network indicating the type of emergency call. |
|
11206 |
|
11207 The field is for future reference only and it is set to RFU (Reserved for |
|
11208 Future Use) as it is currently not being used, as specified in section 4.2.21 |
|
11209 TS 31.102 v3.3.0 Rel 99. |
|
11210 |
|
11211 Modes: WCDMA */ |
|
11212 TInt iCallType; |
|
11213 }; |
|
11214 |
|
11215 typedef TPckg<TMobileENEntryV1> TMobileENEntryV1Pckg; |
|
11216 |
|
11217 protected: |
|
11218 IMPORT_C void ConstructL(); |
|
11219 private: |
|
11220 RMobileENStore(const RMobileENStore&); |
|
11221 }; |
|
11222 |
|
11223 |
|
11224 /*********************************************************/ |
|
11225 // |
|
11226 // RMobilePhoneBookStore |
|
11227 // |
|
11228 /*********************************************************/ |
|
11229 |
|
11230 |
|
11231 |
|
11232 class CPhoneBookStorePtrHolder; |
|
11233 class CMobilePhoneBookList; |
|
11234 |
|
11235 class RMobilePhoneBookStore : public RMobilePhoneStore |
|
11236 /** Provides member functions for clients to access phone |
|
11237 books that are stored in ICC memory or in non-volatile memory on the phone |
|
11238 itself. This sub-session and the member functions within this section must |
|
11239 be supported if the TSY indicates that it supports the MobilePhonebookStore |
|
11240 functional unit. |
|
11241 @publishedPartner |
|
11242 @released |
|
11243 */ |
|
11244 { |
|
11245 public: |
|
11246 IMPORT_C RMobilePhoneBookStore(); |
|
11247 IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore); |
|
11248 IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore, const TDesC& aMode); |
|
11249 IMPORT_C void Close(); |
|
11250 |
|
11251 /** Describes the specialized phone book capabilities. |
|
11252 |
|
11253 Modes: Common */ |
|
11254 enum TMobilePhoneBookCaps |
|
11255 { |
|
11256 /** New entries can only be written to (or deleted from) the phone book with the |
|
11257 PIN2 password or equivalent. |
|
11258 |
|
11259 Modes: Common */ |
|
11260 KCapsRestrictedWriteAccess = 0x00000001, |
|
11261 /** The phonebook supports the second name field. |
|
11262 |
|
11263 Modes: WCDMA */ |
|
11264 KCapsSecondNameUsed = 0x00000002, |
|
11265 /** The phonebook supports the additional number (with optional Text, TON, NPI |
|
11266 and Bearer Capability) field. |
|
11267 |
|
11268 Modes: WCDMA */ |
|
11269 KCapsAdditionalNumUsed = 0x00000004, |
|
11270 /** The phonebook supports the group name field. |
|
11271 |
|
11272 Modes: WCDMA */ |
|
11273 KCapsGroupingUsed = 0x00000008, |
|
11274 /** The phonebook supports entry control and hidden flag fields. |
|
11275 |
|
11276 Modes: WCDMA */ |
|
11277 KCapsEntryControlUsed = 0x00000010, |
|
11278 /** The phonebook supports the email address field. |
|
11279 |
|
11280 Modes: WCDMA */ |
|
11281 KCapsEmailAddressUsed = 0x00000020, |
|
11282 /** The phonebook supports the bearer capability IE field. |
|
11283 |
|
11284 Modes: WCDMA */ |
|
11285 KCapsBearerCapUsed = 0x00000040, |
|
11286 /** The phonebook supports retrieval of the phonebook's PBID and Change Counter |
|
11287 - and for each entry its UID field. |
|
11288 |
|
11289 Modes: WCDMA */ |
|
11290 KCapsSynchronisationUsed = 0x00000080 |
|
11291 }; |
|
11292 |
|
11293 /** Described the location of the phone book. |
|
11294 |
|
11295 Modes: Common for all */ |
|
11296 enum TMobilePhoneBookLocation |
|
11297 { |
|
11298 /** The phonebook's location is unknown. */ |
|
11299 ELocationUnknown, |
|
11300 /** The phonebook is located in ICC (SIM/R-UIM) memory. */ |
|
11301 ELocationIccMemory, |
|
11302 /** The phonebook is located in Phone (ME) memory. */ |
|
11303 ELocationPhoneMemory, |
|
11304 /** The phonebook is located in an external memory. */ |
|
11305 ELocationExternalMemory, |
|
11306 /** The phonebook entries are dispersed over a combination of memory locations. */ |
|
11307 ELocationCombinedMemory |
|
11308 }; |
|
11309 |
|
11310 enum |
|
11311 { |
|
11312 KMaxPBIDSize=15 |
|
11313 }; |
|
11314 |
|
11315 /** Defines a modifiable buffer descriptor to contain the phone book identity. |
|
11316 Used in TMobilePhoneBookInfoV1. */ |
|
11317 typedef TBuf8<KMaxPBIDSize> TMobilePhoneBookIdentity; |
|
11318 |
|
11319 |
|
11320 |
|
11321 class TMobilePhoneBookInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1 |
|
11322 /** |
|
11323 Defines information about a Phonebook store. |
|
11324 @publishedPartner |
|
11325 @released |
|
11326 */ |
|
11327 { |
|
11328 public: |
|
11329 /** Trivial constructor. Initializes iMaxNumLength=-1; iMaxTextLength=-1; iLocation=ELocationUnknown; |
|
11330 iChangeCounter=0; iExtensionId=KETelMobilePhonebookStoreV1; */ |
|
11331 IMPORT_C TMobilePhoneBookInfoV1(); |
|
11332 public: |
|
11333 /** The maximum number of characters for the number in a phonebook entry. |
|
11334 |
|
11335 Modes: Common */ |
|
11336 TInt iMaxNumLength; |
|
11337 /** The maximum number of characters for the text tag in a phonebook entry. |
|
11338 |
|
11339 Modes: Common */ |
|
11340 TInt iMaxTextLength; |
|
11341 /** The memory location of this phonebook. |
|
11342 |
|
11343 Modes: Common |
|
11344 |
|
11345 @see TMobilePhoneBookLocation */ |
|
11346 TMobilePhoneBookLocation iLocation; |
|
11347 /** The contents of the Change Counter file in a USIM phonebook. |
|
11348 |
|
11349 Modes: WCDMA */ |
|
11350 TUint16 iChangeCounter; |
|
11351 /** A unique identity for this type of phonebook. |
|
11352 |
|
11353 If this is a SIM or R-UIM phonebook then it will equal the ICCID of the card. |
|
11354 |
|
11355 If this is a USIM phonebook then it will equal the PBID of the phonebook. |
|
11356 |
|
11357 Modes: Common |
|
11358 |
|
11359 @see TMobilePhoneBookIdentity */ |
|
11360 TMobilePhoneBookIdentity iIdentity; |
|
11361 }; |
|
11362 |
|
11363 /** Packages the TMobilePhoneBookInfoV1 into a TMobilePhoneBookInfoV1Pckg. */ |
|
11364 typedef TPckg<TMobilePhoneBookInfoV1> TMobilePhoneBookInfoV1Pckg; |
|
11365 |
|
11366 |
|
11367 class TMobilePhoneBookInfoV2 : public TMobilePhoneBookInfoV1 |
|
11368 /** Defines information about a Phonebook store for version v2.0 of the API. |
|
11369 @publishedPartner |
|
11370 @released */ |
|
11371 { |
|
11372 public: |
|
11373 IMPORT_C TMobilePhoneBookInfoV2(); |
|
11374 public: |
|
11375 /** The type of the phonebook which relates to its location (ICC/UICC/CDMA). |
|
11376 |
|
11377 Mode: Common */ |
|
11378 TName iPhBkMode; |
|
11379 }; |
|
11380 |
|
11381 /** Packages the TMobilePhoneBookInfoV2 into a TMobilePhoneBookInfoV1Pckg. */ |
|
11382 typedef TPckg<TMobilePhoneBookInfoV2> TMobilePhoneBookInfoV2Pckg; |
|
11383 |
|
11384 |
|
11385 /** Defines information about a Phonebook store for version v5.0 of the API. |
|
11386 |
|
11387 Extends the v2.0 API to allow additional information about the phonebook |
|
11388 (Maximum number of second name fields, Maximum number of additional number fields, |
|
11389 Maximum number of additional group name fields, Maximum number of email address fields) |
|
11390 to be retieved where available. |
|
11391 |
|
11392 @publishedPartner |
|
11393 @released*/ |
|
11394 class TMobilePhoneBookInfoV5 : public TMobilePhoneBookInfoV2 |
|
11395 { |
|
11396 public: |
|
11397 IMPORT_C TMobilePhoneBookInfoV5(); |
|
11398 public: |
|
11399 /** The maximum number of Second Name fields that can be used. */ |
|
11400 TInt iMaxSecondNames; |
|
11401 |
|
11402 /** The maximum text length for Second Name fields. */ |
|
11403 TInt iMaxTextLengthSecondName; |
|
11404 |
|
11405 /** The maximum number of additional number fields that can be used. */ |
|
11406 TInt iMaxAdditionalNumbers; |
|
11407 |
|
11408 /** The maximum number length for Additional Number fields. */ |
|
11409 TInt iMaxNumLengthAdditionalNumber; |
|
11410 |
|
11411 /** The maximum text length for Additonal Number fields. */ |
|
11412 TInt iMaxTextLengthAdditionalNumber; |
|
11413 |
|
11414 /** The maximum number of additional Group Name fields that can be used. */ |
|
11415 TInt iMaxGroupNames; |
|
11416 |
|
11417 /** The maximum text length for Group Name fields. */ |
|
11418 TInt iMaxTextLengthGroupName; |
|
11419 |
|
11420 /** The maximum number of additional E-Mail address fields that can be used. */ |
|
11421 TInt iMaxEmailAddr; |
|
11422 |
|
11423 /** The maximum text length for Email Address fields. */ |
|
11424 TInt iMaxTextLengthEmailAddr; |
|
11425 }; |
|
11426 |
|
11427 /** Packages the TMobilePhoneBookInfoV5 into a TMobilePhoneBookInfoV5Pckg. */ |
|
11428 typedef TPckg<TMobilePhoneBookInfoV5> TMobilePhoneBookInfoV5Pckg; |
|
11429 |
|
11430 |
|
11431 // check these fields - not sure all are correct |
|
11432 /** The following Tag IDs are used to encode/decode the phonebook entries to/from |
|
11433 the TLV format. Each field will have a unique identifier and will be followed |
|
11434 by the field length. The type of data associated with the field is also specified |
|
11435 below. |
|
11436 |
|
11437 Some fields do not have any data and just serve as separators within the buffer |
|
11438 - in these cases the Data Type column is set to not applicable (n/a). |
|
11439 |
|
11440 Modes: Common */ |
|
11441 enum TMobilePBFieldTags |
|
11442 { |
|
11443 /** Tag id for the beginning of a new phonebook entry. |
|
11444 |
|
11445 Data type: n/a. |
|
11446 |
|
11447 Modes: Common */ |
|
11448 ETagPBNewEntry =0xA0, |
|
11449 /** Tag id for the Unique ID field. |
|
11450 |
|
11451 Data type: TUint16 |
|
11452 |
|
11453 Modes: WCDMA */ |
|
11454 ETagPBUniqueId =0xB0, |
|
11455 /** Tag id for the Index within the ADN record. |
|
11456 |
|
11457 Data type: TUint16 |
|
11458 |
|
11459 Modes: Common */ |
|
11460 ETagPBAdnIndex =0xC0, |
|
11461 /** Tag id for a Text field within the ADN/ANR record. |
|
11462 |
|
11463 Data type: TDes16 |
|
11464 |
|
11465 Modes: Common */ |
|
11466 ETagPBText =0xC1, |
|
11467 /** Tag id for a Number field within the ADN/ANR record. |
|
11468 |
|
11469 Data type: TDes16 |
|
11470 |
|
11471 Modes: Common */ |
|
11472 ETagPBNumber =0xC2, |
|
11473 /** Tag id for a TON/NPI byte within the ADN/ANR record. |
|
11474 |
|
11475 Data type: TUint8 |
|
11476 |
|
11477 Modes: Common */ |
|
11478 ETagPBTonNpi =0xC3, |
|
11479 /** Tag id for a Bearer Capability IE associated to the ADN/ANR record. |
|
11480 |
|
11481 Data type: TDes8 |
|
11482 |
|
11483 Modes: GSM/WCDMA */ |
|
11484 ETagPBBearerCap =0xC4, |
|
11485 /** Tag id for the beginning of an Additional Number entry within the phonebook |
|
11486 entry. |
|
11487 |
|
11488 Data type: n/a |
|
11489 |
|
11490 Modes: WCDMA */ |
|
11491 ETagPBAnrStart =0xC5, |
|
11492 /** Tag id for the Second Name associated to the ADN record. |
|
11493 |
|
11494 Data type: TDes16 |
|
11495 |
|
11496 Modes: WCDMA */ |
|
11497 ETagPBSecondName =0xC6, |
|
11498 /** Tag id for a Group Name associated to the ADN record. |
|
11499 |
|
11500 Data type:TDes16 |
|
11501 |
|
11502 Modes: WCDMA */ |
|
11503 ETagPBGroupName =0xC7, |
|
11504 /** Tag id for an Email Address associated to the ADN record. |
|
11505 |
|
11506 Data type: TDes16 |
|
11507 |
|
11508 Modes: WCDMA */ |
|
11509 ETagPBEmailAddress =0xC8, |
|
11510 /** Tag id for the Entry Control byte associated to the ADN record. |
|
11511 |
|
11512 Data type: TUint8 |
|
11513 |
|
11514 Modes: WCDMA */ |
|
11515 ETagPBEntryControl =0xC9, |
|
11516 /** Tag id for the Hidden Information byte associated to the ADN record. |
|
11517 |
|
11518 Data type: TUint8 |
|
11519 |
|
11520 Modes: WCDMA */ |
|
11521 ETagPBHiddenInfo =0xCA, |
|
11522 ETagPBDateTime =0xCB, |
|
11523 ETagPBDuration =0xCC, |
|
11524 ETagPBCallStatus =0xCD, |
|
11525 ETagPBEntryStatus =0xCE |
|
11526 }; |
|
11527 |
|
11528 |
|
11529 // API/TSY internal type |
|
11530 struct TPBIndexAndNumEntries |
|
11531 /** A structure to hold the phone book index and number of entries. */ |
|
11532 { |
|
11533 /** Index for the phone book. */ |
|
11534 TInt iIndex; |
|
11535 TInt iNumSlots; |
|
11536 }; |
|
11537 |
|
11538 IMPORT_C void Read(TRequestStatus& aReqStatus, TInt aIndex, TInt aNumSlots, TDes8& aPBData) const; |
|
11539 IMPORT_C void Write(TRequestStatus& aReqStatus, const TDesC8& aPBData, TInt& aIndex) const; |
|
11540 |
|
11541 protected: |
|
11542 IMPORT_C void ConstructL(); |
|
11543 private: |
|
11544 RMobilePhoneBookStore(const RMobilePhoneBookStore&); |
|
11545 }; |
|
11546 |
|
11547 /*********************************************************/ |
|
11548 // |
|
11549 // RMobileConferenceCall |
|
11550 // |
|
11551 /*********************************************************/ |
|
11552 |
|
11553 |
|
11554 |
|
11555 class CMobileConferenceCallPtrHolder; |
|
11556 |
|
11557 class RMobileConferenceCall : public RTelSubSessionBase |
|
11558 /** Provides access to conference call functionality provided by TSY. |
|
11559 |
|
11560 Conference calls allow users to conduct multi-connection voice calls, for example |
|
11561 simultaneous communication to more than one remote party. All participants |
|
11562 within a conference call can hear and speak to each other. There is a controlling |
|
11563 party that initiates and manages the conference. |
|
11564 |
|
11565 Conference calling is possible in both GSM and CDMA mode and the actions to |
|
11566 initiate a 3-way conference are the same in either mode. However, GSM conference |
|
11567 calls offer more functionality and the number of remote parties is limited |
|
11568 in CDMA mode to 2 and in GSM mode to 5. |
|
11569 |
|
11570 The Multimode ETel API uses a new sub-session called RMobileConferenceCall |
|
11571 as a model for a conference call. The conference call object will be an aggregation |
|
11572 of all the RMobileCall objects that are part of the conference call. It will |
|
11573 be possible for clients to manipulate both the conference call as a whole |
|
11574 and individual calls within a conference call depending on the dynamic capabilities |
|
11575 of each of these objects. |
|
11576 |
|
11577 Please note that RMobileConferenceCall is replacing the RCallGroup abstraction |
|
11578 used in the GSM API. This was an optimisation decision. The call group abstraction |
|
11579 placed a large burden on a TSY to create call groups, monitor the calls in |
|
11580 each group and trigger notification when calls were added or moved, probably |
|
11581 even when a conference call was not ongoing. Clients will probably only open |
|
11582 a RMobileConferenceCall when the user has decided to make a conference call |
|
11583 and by having just one object replace three call groups it will also reduce |
|
11584 the number of notifications that would trigger in response to conference call |
|
11585 events. With a view to the future, without call groups there are also no longer |
|
11586 any restrictions to the allowed types of active calls (simultaneous, separate |
|
11587 voice and data calls are possible). |
|
11588 |
|
11589 The methods within this section must be supported if the TSY supports MobileConferenceCall |
|
11590 functional unit. |
|
11591 |
|
11592 */ |
|
11593 { |
|
11594 public: |
|
11595 IMPORT_C RMobileConferenceCall(); |
|
11596 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
11597 IMPORT_C void Close(); |
|
11598 |
|
11599 /** Conference call capabilities. */ |
|
11600 enum TMobileConferenceCallCaps |
|
11601 { |
|
11602 /** Indicates that a conference call can be created. */ |
|
11603 KCapsCreate = 0x00000001, |
|
11604 /** Indicates that a conference call can be terminated. */ |
|
11605 KCapsHangUp = 0x00000002, |
|
11606 /** Indicates that a conference call exists and can be swapped to the opposite |
|
11607 state (active or hold). */ |
|
11608 KCapsSwap = 0x00000004 |
|
11609 }; |
|
11610 |
|
11611 IMPORT_C TInt GetCaps(TUint32& aCaps) const; |
|
11612 IMPORT_C void NotifyCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
11613 |
|
11614 IMPORT_C void CreateConference(TRequestStatus& aReqStatus) const; |
|
11615 IMPORT_C void AddCall(TRequestStatus& aReqStatus, const TName& aCallName) const; |
|
11616 IMPORT_C void Swap(TRequestStatus& aReqStatus) const; |
|
11617 IMPORT_C void HangUp(TRequestStatus& aReqStatus) const; |
|
11618 IMPORT_C TInt EnumerateCalls(TInt& aCount) const; |
|
11619 IMPORT_C TInt GetMobileCallInfo(TInt aIndex, TDes8& aCallInfo) const; |
|
11620 |
|
11621 /** Conference call status. */ |
|
11622 enum TMobileConferenceStatus |
|
11623 { |
|
11624 /** The conference call is in the idle state. */ |
|
11625 EConferenceIdle, |
|
11626 /** The conference call is in the active, connected state. */ |
|
11627 EConferenceActive, |
|
11628 /** The conference call is in the held, connected state. */ |
|
11629 EConferenceHold |
|
11630 }; |
|
11631 |
|
11632 IMPORT_C TInt GetConferenceStatus(TMobileConferenceStatus& aStatus) const; |
|
11633 IMPORT_C void NotifyConferenceStatusChange(TRequestStatus& aReqStatus, TMobileConferenceStatus& aStatus) const; |
|
11634 |
|
11635 /** Conference events. */ |
|
11636 enum TMobileConferenceEvent |
|
11637 { |
|
11638 /** A call has been added to the conference. */ |
|
11639 EConferenceCallAdded, // Name of the call added returned in aCallName |
|
11640 /** A call has been removed from the conference. */ |
|
11641 EConferenceCallRemoved, // Name of the call terminated returned in aCallName |
|
11642 /** Names of the two calls used to build the conference call returned in aCallName. */ |
|
11643 EConferenceBuilt, // Names of the two calls used to build the conference call returned in aCallName |
|
11644 /** No name provided */ |
|
11645 EConferenceTerminated, // No name provided |
|
11646 /** No name provided. */ |
|
11647 EConferenceSwapped, // No name provided |
|
11648 /** Name of the call being seperated. */ |
|
11649 EConferenceSplit // Name of the call being seperated |
|
11650 }; |
|
11651 |
|
11652 IMPORT_C void NotifyConferenceEvent(TRequestStatus& aReqStatus, TMobileConferenceEvent& aEvent, TName& aCallName) const; |
|
11653 |
|
11654 private: |
|
11655 CMobileConferenceCallPtrHolder* iMmPtrHolder; |
|
11656 RMobileConferenceCall(const RMobileConferenceCall&); |
|
11657 protected: |
|
11658 IMPORT_C void ConstructL(); |
|
11659 IMPORT_C void Destruct(); |
|
11660 }; |
|
11661 |
|
11662 |
|
11663 // |
|
11664 // |
|
11665 // EAP-SIM Authentication functional unit |
|
11666 // |
|
11667 // |
|
11668 |
|
11669 class CMobileSmartCardEapPtrHolder; |
|
11670 |
|
11671 /** |
|
11672 This sub-session opens under RMobilePhone. |
|
11673 |
|
11674 RMobileSmartCardEap provides the client with access to a Smart Card |
|
11675 Application's EAP-capability (if one exists). |
|
11676 |
|
11677 (See ETSI TS 102.310 v6.2.0 and RFC3748) |
|
11678 |
|
11679 To submit authentication challenges or requests, a client must use |
|
11680 CAsyncSmartCardEapAuthentication in conjunction with this sub-session. |
|
11681 |
|
11682 @see CAsyncSmartCardEapAuthentication |
|
11683 @publishedPartner |
|
11684 @released |
|
11685 */ |
|
11686 class RMobileSmartCardEap : public RTelSubSessionBase |
|
11687 { |
|
11688 friend class CAsyncSmartCardEapAuthentication; |
|
11689 |
|
11690 public: |
|
11691 /** |
|
11692 Class encapsulates EAP request packet data for authentication. |
|
11693 |
|
11694 @see CAsyncSmartCardEapAuthentication |
|
11695 |
|
11696 @publishedPartner |
|
11697 @released |
|
11698 */ |
|
11699 class CEapAuthenticateRequestDataV6 : public CBase |
|
11700 { |
|
11701 public: |
|
11702 IMPORT_C static CEapAuthenticateRequestDataV6* NewL(); |
|
11703 IMPORT_C virtual void ExternalizeL(TPtr8& aBuffer); |
|
11704 IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer); |
|
11705 IMPORT_C TUint VersionId() const; |
|
11706 IMPORT_C TPtr8 GetEapReqPacket() const; |
|
11707 IMPORT_C void SetEapReqPacketL(const TDesC8& aData); |
|
11708 IMPORT_C ~CEapAuthenticateRequestDataV6(); |
|
11709 |
|
11710 private: |
|
11711 CEapAuthenticateRequestDataV6(); |
|
11712 void ConstructL(); |
|
11713 |
|
11714 protected: |
|
11715 /** |
|
11716 ETelMM's supported version. |
|
11717 */ |
|
11718 TUint iVersionId; |
|
11719 |
|
11720 public: |
|
11721 /** |
|
11722 EAP-request packet in a flat buffer. |
|
11723 */ |
|
11724 CBufFlat* iEapReqPacket; |
|
11725 }; |
|
11726 |
|
11727 IMPORT_C RMobileSmartCardEap(); |
|
11728 |
|
11729 /** |
|
11730 EAP types are represented by one byte for standard EAP methods, and |
|
11731 eight bytes for extended methods. Each byte specified in the |
|
11732 TEapType buffer should represent one semi-octet. Therefore, a |
|
11733 maximum of 16-chars are needed for representing any possible EAP |
|
11734 type. (See section 5.2 of ETSI TS 102.310 v6.2.0.) |
|
11735 |
|
11736 @see RMobileSmartCardEap::TEapType |
|
11737 |
|
11738 @publishedPartner |
|
11739 @released |
|
11740 */ |
|
11741 enum { KEapTypeSize = 16 }; |
|
11742 |
|
11743 /** |
|
11744 A typedef'd buffer to hold the EAP type for the subsequent |
|
11745 authentication that will be carried out on the Smart Card |
|
11746 Application. |
|
11747 |
|
11748 The value specified must correspond to the pre-allocated type |
|
11749 identifiers for various EAPs (see |
|
11750 http://www.iana.org/assignments/eap-numbers). Some known values |
|
11751 are given in etelmm.h. |
|
11752 |
|
11753 The type must be specified in hexadecimal format, where each |
|
11754 character represents one semi-octet. |
|
11755 |
|
11756 @see KETelSmartCardEapTypeMD5 |
|
11757 @see KETelSmartCardEapTypeTLS |
|
11758 @see KETelSmartCardEapTypeSIM |
|
11759 @see KETelSmartCardEapTypeAKA |
|
11760 @see KETelSmartCardEapTypeTTLS |
|
11761 @see RMobileSmartCardEap::Open() |
|
11762 |
|
11763 @publishedPartner |
|
11764 @released |
|
11765 */ |
|
11766 typedef TBuf8<KEapTypeSize> TEapType; |
|
11767 |
|
11768 IMPORT_C TInt Open(RMobilePhone& aPhone, const RMobilePhone::TAID& aAID, const TEapType& aEapType); |
|
11769 IMPORT_C void InitialiseEapMethod(TRequestStatus& aReqStatus); |
|
11770 IMPORT_C void Close(); |
|
11771 |
|
11772 /** |
|
11773 Authentication status of the EAP supporting UICC application (See |
|
11774 section 7.2 of ETSI TS 102.310 v6.2.0). One of these values is |
|
11775 returned on completion of an |
|
11776 RMobileSmartCardEap::GetAuthenticationStatus() request. |
|
11777 |
|
11778 @see RMobileSmartCardEap::GetAuthenticationStatus() |
|
11779 |
|
11780 @publishedPartner |
|
11781 @released |
|
11782 */ |
|
11783 enum TEapAuthStatus |
|
11784 { |
|
11785 /** |
|
11786 No authentication started |
|
11787 */ |
|
11788 ENoAuthStarted, // 0 |
|
11789 /** |
|
11790 Authenticating |
|
11791 */ |
|
11792 EAuthenticating, // 1 |
|
11793 /** |
|
11794 Authentication complete |
|
11795 */ |
|
11796 EAuthenticated, // 2 |
|
11797 /** |
|
11798 Held (authentication failure) |
|
11799 */ |
|
11800 EHeld // 3 |
|
11801 }; |
|
11802 |
|
11803 IMPORT_C void GetAuthenticationStatus(TRequestStatus& aReqStatus, TEapAuthStatus& aAuthStatus); |
|
11804 |
|
11805 /** |
|
11806 TEapUserIdType should be used to request an identity from EF_PUId |
|
11807 or EF_Ps, when making an RMobileSmartCardEap::GetUserIdentity() |
|
11808 request. |
|
11809 (See sections 7.3 and 7.4, respectively, of ETSI TS 102.310 v6.2.0, |
|
11810 and RFC2486 - The Network Access Identifier). |
|
11811 |
|
11812 @see RMobileSmartCardEap::GetUserIdentity() |
|
11813 @see RMobileSmartCardEap::TEapUserIdentityV6 |
|
11814 |
|
11815 @publishedPartner |
|
11816 @released |
|
11817 */ |
|
11818 enum TEapUserIdType |
|
11819 { |
|
11820 /** Identity is permanent type */ |
|
11821 EPermanentIdentity, // 0 |
|
11822 /** Identity is pseudonym type */ |
|
11823 EPseudonymIdentity // 1 |
|
11824 }; |
|
11825 |
|
11826 /** |
|
11827 Maximum permitted size of identity data. |
|
11828 */ |
|
11829 enum { KEapIdentityMaxSize = 255 }; |
|
11830 |
|
11831 /** |
|
11832 EAP User Identity data. Ids are stored in EF_PUId or EF_Ps |
|
11833 (specified in sections 7.3 and 7.4, respectively, of ETSI TS |
|
11834 102.310 v6.2.0). |
|
11835 |
|
11836 @see RMobileSmartCardEap::GetUserIdentity() |
|
11837 |
|
11838 @publishedPartner |
|
11839 @released |
|
11840 */ |
|
11841 class TEapUserIdentityV6 : public RMobilePhone::TMultimodeType |
|
11842 { |
|
11843 public: |
|
11844 IMPORT_C TEapUserIdentityV6(); |
|
11845 public: |
|
11846 /** |
|
11847 EAP-IDENTITY Data. |
|
11848 */ |
|
11849 TBuf8<KEapIdentityMaxSize> iEapId; |
|
11850 }; |
|
11851 |
|
11852 /** |
|
11853 A typedef'd packaged TEapUserIdentityV6 for passing through a |
|
11854 generic API method. |
|
11855 |
|
11856 @publishedPartner |
|
11857 @released |
|
11858 */ |
|
11859 typedef TPckg<TEapUserIdentityV6> TEapUserIdentityV6Pckg; |
|
11860 |
|
11861 IMPORT_C void GetUserIdentity(TRequestStatus& aReqStatus, |
|
11862 TEapUserIdType aRequestedIdType, |
|
11863 TDes8& aUserId); |
|
11864 |
|
11865 /** |
|
11866 TEapKeyV6 should be used to request one of (currently) two keys |
|
11867 available on the EF_EAPKEYS of the UICC application (see section |
|
11868 7.1 of ETSI TS 102.310 v6.2.0). This enumeration type should be |
|
11869 used in RMobileSmartCardEap::GetEapKey() to specify the key to be |
|
11870 retrieved. |
|
11871 |
|
11872 @see RMobileSmartCardEap::TEapKeyV6 |
|
11873 @see RMobileSmartCardEap::GetEapKey() |
|
11874 |
|
11875 @publishedPartner |
|
11876 @released |
|
11877 */ |
|
11878 enum TEapKeyTag |
|
11879 { |
|
11880 /** |
|
11881 Used to request Master Session Key. |
|
11882 */ |
|
11883 EEapKeyMSK = 0x80, |
|
11884 /** |
|
11885 Used to request Extended Master Session Key. |
|
11886 */ |
|
11887 EEapKeyEMSK = 0x81 |
|
11888 }; |
|
11889 |
|
11890 /** |
|
11891 Maximum size of an EAP Key stored on the DF_EAP's EF_EAPKEYS. |
|
11892 255 as each key has a length that can be specified by exactly one |
|
11893 byte (see section 7.1 of ETSI TS 102.310 v6.2.0). |
|
11894 |
|
11895 @publishedPartner |
|
11896 @released |
|
11897 */ |
|
11898 enum { KEapKeyMaxSize = 255 }; |
|
11899 |
|
11900 /** |
|
11901 EAP authentication key data. |
|
11902 |
|
11903 @see RMobileSmartCardEap::GetEapKey() |
|
11904 |
|
11905 @publishedPartner |
|
11906 @released |
|
11907 */ |
|
11908 class TEapKeyV6 : public RMobilePhone::TMultimodeType |
|
11909 { |
|
11910 public: |
|
11911 IMPORT_C TEapKeyV6(); |
|
11912 public: |
|
11913 /** |
|
11914 EAP-KEY Data. |
|
11915 */ |
|
11916 TBuf8<KEapKeyMaxSize> iEapKey; |
|
11917 }; |
|
11918 |
|
11919 /** |
|
11920 A typedef'd packaged TEapKeyV6 for passing through a generic API |
|
11921 method. |
|
11922 |
|
11923 @publishedPartner |
|
11924 @released |
|
11925 */ |
|
11926 typedef TPckg<TEapKeyV6> TEapKeyV6Pckg; |
|
11927 |
|
11928 IMPORT_C void GetEapKey(TRequestStatus& aReqStatus, const TEapKeyTag aRequestedKey, TDes8& aKey); |
|
11929 |
|
11930 /** |
|
11931 Status of the DF_EAP this subsession refers to. The status is |
|
11932 basically an indication of whether the DF is in use by another sub- |
|
11933 session client instance. |
|
11934 |
|
11935 NotifyEapMethodAccessStatusChange() will give a notification when |
|
11936 the status changes. |
|
11937 |
|
11938 Status will change when the first client calls |
|
11939 InitialiseEapMethod() on this sub-session. When the same client |
|
11940 calls ReleaseEapMethod() (or Close()), the status will change |
|
11941 again. This allows mutually exclusive access to the DF_EAP. All |
|
11942 other RMobileSmartCardEap hanles will get an error if they attempt |
|
11943 to make requests that access the same DF_EAP. |
|
11944 |
|
11945 @see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange() |
|
11946 @see RMobileSmartCardEap::ReleaseEapMethod() |
|
11947 @see RMobileSmartCardEap::InitialiseEapMethod() |
|
11948 |
|
11949 @publishedPartner |
|
11950 @released |
|
11951 */ |
|
11952 enum TEapMethodAccessStatus |
|
11953 { |
|
11954 /** |
|
11955 AID/DF_EAP has been reset, and the DF_EAP has not been |
|
11956 initialised by any other instance of RMobileSmartCardEap. |
|
11957 */ |
|
11958 EEapMethodAvailable, |
|
11959 /** |
|
11960 Another instance of RMobileSmartCardEap has initialised first |
|
11961 and taken ownership of the DF_EAP. The DF_EAP is currently |
|
11962 active and EAP requests can be made. |
|
11963 */ |
|
11964 EEapMethodInUseApplicationActive, |
|
11965 /** |
|
11966 This instance of RMobileSmartCardEap still owns the lock on the |
|
11967 DF_EAP, but the application has been deactivated elsewhere. |
|
11968 The client should re-initialise before making further EAP |
|
11969 requests. |
|
11970 |
|
11971 @see RMobileSmartCardEap::InitialiseEapMethod() |
|
11972 */ |
|
11973 EEapMethodInUseApplicationInactive, |
|
11974 /** |
|
11975 Lock on the DF_EAP has been released, but another DF_EAP method |
|
11976 is in use under the same AID, thus, cannot reset/initialise |
|
11977 this subsessions EAP method. Client can only post a |
|
11978 notification and wait till status changes to |
|
11979 EEapMethodAvailable. |
|
11980 |
|
11981 @see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange() |
|
11982 */ |
|
11983 EEapMethodUnableToInitialise |
|
11984 }; |
|
11985 |
|
11986 IMPORT_C TInt ReleaseEapMethod(); |
|
11987 IMPORT_C TInt GetEapMethodAccessStatus(TEapMethodAccessStatus& aEapMethodStatus); |
|
11988 IMPORT_C void NotifyEapMethodAccessStatusChange(TRequestStatus& aReqStatus, TEapMethodAccessStatus& aEapMethodStatus); |
|
11989 IMPORT_C TBool IsEapMethodOwner() const; |
|
11990 |
|
11991 protected: |
|
11992 IMPORT_C void ConstructL(); |
|
11993 IMPORT_C void Destruct(); |
|
11994 |
|
11995 private: |
|
11996 RMobileSmartCardEap(const RMobileSmartCardEap&); |
|
11997 |
|
11998 TChar SeptChar(TInt aDigit); |
|
11999 void ConvertBinToText(const TDesC8& aBinData, TDes& aText); |
|
12000 |
|
12001 private: |
|
12002 /** |
|
12003 Pointer Holder for the RMobileSmartCardEap sub-session requests. |
|
12004 */ |
|
12005 CMobileSmartCardEapPtrHolder* iMmPtrHolder; |
|
12006 /** |
|
12007 True if this object is the first to request InitialiseEapMethod() |
|
12008 on its <AID,EAPType> when the status is EEapMethodAvailable. |
|
12009 I.e. True only for the instance of RMobileSmartCardEap that |
|
12010 successfully passes the Wait() on iSemaphore. |
|
12011 */ |
|
12012 TBool iOwnsEapMethodLock; |
|
12013 /** |
|
12014 Semaphore is actually owned by TSY, and used by all instances of |
|
12015 RMobileSmartCardEap to stop multiple access to the same EAP method |
|
12016 on any one application. |
|
12017 */ |
|
12018 RSemaphore iSemaphore; |
|
12019 |
|
12020 }; // RMobileSmartCardEap |
|
12021 |
|
12022 // |
|
12023 // |
|
12024 // LCS-MO-LR AND LCS-MT-LR |
|
12025 // |
|
12026 // |
|
12027 class CMobileLocationServicesPtrHolder; |
|
12028 |
|
12029 /** |
|
12030 This sub-session opens under RMobilePhone. |
|
12031 |
|
12032 A new RMobileLocationServices class is used to add the ETelMM Support for Mobile Terminating Location Request, |
|
12033 Mobile Originating Location Requests, A-Gps assistance data for the LBS Framework. |
|
12034 |
|
12035 RMobileLocationServices is derived from RTelSubSessionBase.RMobileLocationServices lists the |
|
12036 APIs,which provided the support for Mtlr, Molr, A-Gps assistance data requests. |
|
12037 */ |
|
12038 class RMobileLocationServices : public RTelSubSessionBase |
|
12039 { |
|
12040 public: |
|
12041 |
|
12042 IMPORT_C RMobileLocationServices(); |
|
12043 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
12044 IMPORT_C void Close(); |
|
12045 /** |
|
12046 Maximum length of the array used for TLcsRequestorIdString. |
|
12047 */ |
|
12048 enum { KLcsMaxRequestorIdStringSize = 256 }; |
|
12049 /** |
|
12050 Maximum length of the array used for TLcsClientBufferName. |
|
12051 */ |
|
12052 enum { KLcsMaxClientNameBufferSize = 256 }; |
|
12053 /** |
|
12054 Maximum length of the array used for TLcsClientExternalID. |
|
12055 */ |
|
12056 enum { KLcsMaxClientExternalIdSize = 64 }; |
|
12057 /** |
|
12058 Maximum length of the array used for TLcsLocationEstimate. |
|
12059 */ |
|
12060 enum { KLcsMaxLocationEstimateSize = 64 }; |
|
12061 /** |
|
12062 Maximum length of the array used for TLcsVelocityEstimate. |
|
12063 */ |
|
12064 enum { KLcsMaxVelocityEstimateSize = 64 }; |
|
12065 /** |
|
12066 Maximum length of the array used for TLcsGpsAssistanceData. |
|
12067 */ |
|
12068 enum { KLcsMaxGpsAssistanceDataSize = 64 }; |
|
12069 /** |
|
12070 A typedef'd buffer which holds the External ClientName Buffer. |
|
12071 @see KLcsMaxClientNameBufferSize |
|
12072 */ |
|
12073 typedef TBuf8<KLcsMaxClientNameBufferSize> TLcsClientNameBuffer; |
|
12074 /** |
|
12075 A typedef'd buffer which holds the RequestorId String. |
|
12076 @see KLcsMaxRequestorIdStringSize |
|
12077 */ |
|
12078 typedef TBuf8<KLcsMaxRequestorIdStringSize> TLcsRequestorIdString; |
|
12079 /** |
|
12080 A typedef'd buffer which holds the Gps Assistance Data. |
|
12081 @see KLcsMaxGpsAssistanceDataSize |
|
12082 */ |
|
12083 typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData; |
|
12084 /** |
|
12085 A typedef'd buffer which holds the External ClientId. |
|
12086 @see KLcsMaxClientExternalIdSize |
|
12087 */ |
|
12088 typedef TBuf8<KLcsMaxClientExternalIdSize> TLcsClientExternalID; |
|
12089 /** |
|
12090 A typedef'd TUint8 which holds the Data Coding Scheme information. |
|
12091 */ |
|
12092 typedef TUint8 TLcsDataCodingScheme; |
|
12093 /** |
|
12094 A typedef'd buffer which holds the Location Estimate. |
|
12095 @see KLcsMaxLocationEstimateSize |
|
12096 */ |
|
12097 typedef TBuf8<KLcsMaxLocationEstimateSize> TLcsLocationEstimate; |
|
12098 /** |
|
12099 A typedef'd buffer which holds the Velocity Estimate. |
|
12100 @see KLcsMaxVelocityEstimateSize |
|
12101 */ |
|
12102 typedef TBuf8<KLcsMaxVelocityEstimateSize> TLcsVelocityEstimate; |
|
12103 |
|
12104 typedef TUint8 TTransactionIdentifier; |
|
12105 typedef TUint8 TGPSI; |
|
12106 /** |
|
12107 Note:Refer to 3GPP TS 23.271(Functional stage 2 description of Location Services (LCS)), |
|
12108 3GPP TS 24.030(Location Services (LCS); Supplementary service operations - Stage 3) and |
|
12109 3GPP TS 24.080(Mobile radio interface layer 3 supplementary services specification; Formats and coding) |
|
12110 for further details of MTLR and MOLR member data. |
|
12111 */ |
|
12112 /*********************************************************************/ |
|
12113 // MTLR // |
|
12114 /*********************************************************************/ |
|
12115 /** |
|
12116 TNotificationType lists the various types of Notification |
|
12117 that can be expected from any MTLR-Location Notification coming from the Network, |
|
12118 These types depend on the Subscription Profile of the UE. |
|
12119 |
|
12120 One of the TNotificationType is expected to be retrieved from the Network, |
|
12121 when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY. |
|
12122 @publishedPartner |
|
12123 */ |
|
12124 enum TNotificationType |
|
12125 { |
|
12126 /** |
|
12127 Notification Type Unknown |
|
12128 */ |
|
12129 ENotificationTypeUnknown, |
|
12130 /** |
|
12131 The Location Request is accepted by default |
|
12132 */ |
|
12133 ENotifyLocationAllowed, |
|
12134 /** |
|
12135 This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, |
|
12136 and that the user is expected to respond by granting/denying the request. By defualt, if the user |
|
12137 does not provide a response, the request is granted |
|
12138 */ |
|
12139 ENotifyAndVerify_LocationAllowedIfNoResponse, |
|
12140 /** |
|
12141 This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, |
|
12142 and that the user is expected to respond by granting/denying the request. By defualt, if the |
|
12143 user does not provide a response, the request is denied. |
|
12144 */ |
|
12145 ENotifyAndVerify_LocationNotAllowedIfNoResponse, |
|
12146 /** |
|
12147 The network sends the information to the UE that the external client has privacy overide capability, |
|
12148 This indicator is received when an authenticated or emergency client had sent the request. |
|
12149 */ |
|
12150 ELocationPrivacyOverride, |
|
12151 /** |
|
12152 This enum is used to notify the UE that an incoming MTLR request was denied by the network for any of various |
|
12153 reasons. |
|
12154 */ |
|
12155 ELocationNotAllowed |
|
12156 }; |
|
12157 |
|
12158 |
|
12159 /** |
|
12160 TLocationEstimateType lists the various types of LocationEstimate |
|
12161 that can be expected from any MTLR-Location Notification request coming from the Network, |
|
12162 These types depend on the Subscription Profile of the UE. |
|
12163 |
|
12164 One of the TLocationEstimateType is expected to be retrieved from the Network, |
|
12165 when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY. |
|
12166 @publishedPartner |
|
12167 */ |
|
12168 enum TLocationEstimateType |
|
12169 { |
|
12170 /** |
|
12171 Location Estimate Type Unknown. |
|
12172 */ |
|
12173 ELocationEstimateTypeUnknown, |
|
12174 /** |
|
12175 The External Client has requested for the Current Location of |
|
12176 the UE. |
|
12177 */ |
|
12178 ECurrentLocation, |
|
12179 /** |
|
12180 The External Client has requested for the Current Location of |
|
12181 the UE.Incase,if the request is accepted,But still it fails to |
|
12182 generate the Location report because of Measurement Control Failure. |
|
12183 The Client receives the Last Known Location. |
|
12184 */ |
|
12185 ECurrentOrLastKnownLocation, |
|
12186 /** |
|
12187 The External Client has requested for the initial location of the UE. The current |
|
12188 location of the UE may or may not be the initial location. |
|
12189 */ |
|
12190 EInitialLocation |
|
12191 }; |
|
12192 |
|
12193 /** |
|
12194 TLcsClientNameV1 holds the details of the name of the External client, |
|
12195 who is making the request via Network. |
|
12196 TLcsClientNameV1 is used by RMobileLocationServices::NotifyMtlr() request. |
|
12197 @see TLcsDataCodingScheme |
|
12198 @see TLcsClientNameBuffer |
|
12199 @publishedPartner |
|
12200 */ |
|
12201 class TLcsClientNameV1 |
|
12202 { |
|
12203 public: |
|
12204 /** |
|
12205 TLcsDataCodingScheme holds the Data Coding Scheme information which is used |
|
12206 to extract the ExternalClient name. |
|
12207 */ |
|
12208 TLcsDataCodingScheme iLcsDataCodingScheme; |
|
12209 /** |
|
12210 TLcsClientNameBuffer holds the Client name |
|
12211 */ |
|
12212 TLcsClientNameBuffer iLcsClientNameBuffer; |
|
12213 }; |
|
12214 |
|
12215 /** |
|
12216 TLcsRequestorIDV1 holds the details of the RequestorId i.e the details of the |
|
12217 Network,Which is carrying the request of External Client to UE |
|
12218 TLcsRequestorIDV1 is used by RMobileLocationServices::NotifyMtlr() request. |
|
12219 @see TLcsDataCodingScheme |
|
12220 @see TLcsRequestorIdString |
|
12221 @publishedPartner |
|
12222 */ |
|
12223 class TLcsRequestorIDV1 |
|
12224 { |
|
12225 public: |
|
12226 /** |
|
12227 TLcsDataCodingScheme holds the Data Coding Scheme information which is used |
|
12228 to extract the RequestorId String. |
|
12229 */ |
|
12230 TLcsDataCodingScheme iLcsDataCodingScheme; |
|
12231 /** |
|
12232 TLcsRequestorIdString holds the RequestorId String |
|
12233 */ |
|
12234 TLcsRequestorIdString iLcsRequestorIdString; |
|
12235 }; |
|
12236 |
|
12237 /** |
|
12238 TLocationExternalInfoV1 holds the details of the External client and the Requestor |
|
12239 TLocationExternalInfoV1 is used by RMobileLocationServices::NotifyMtlr() request |
|
12240 @see TLcsClientExternalID |
|
12241 @see TLcsClientNameV1 |
|
12242 @see TLcsRequestorIDV1 |
|
12243 @publishedPartner |
|
12244 */ |
|
12245 class TLocationExternalInfoV1 |
|
12246 { |
|
12247 public: |
|
12248 /** |
|
12249 TLcsClientExternalID gives the id of the External client. |
|
12250 */ |
|
12251 TLcsClientExternalID iLcsClientID; |
|
12252 /** |
|
12253 TLcsClientNameV1 holds the name of the External Client. |
|
12254 */ |
|
12255 TLcsClientNameV1 iLcsClientName; |
|
12256 /** |
|
12257 TLcsRequestorIDV1 gives the details of requestor id |
|
12258 */ |
|
12259 TLcsRequestorIDV1 iLcsRequestorID; |
|
12260 }; |
|
12261 |
|
12262 /** |
|
12263 TNotifyMtlrV7 holds the details of the MTLR request made by the External client. |
|
12264 TNotifyMtlrV7 is used by RMobileLocationServices::NotifyMtlr() request |
|
12265 @see TNotificationType |
|
12266 @see TLocationEstimateType |
|
12267 @see TLocationExternalInfoV1 |
|
12268 @publishedPartner |
|
12269 */ |
|
12270 class TNotifyMtlrV7: public RMobilePhone::TMultimodeType |
|
12271 { |
|
12272 public: |
|
12273 IMPORT_C TNotifyMtlrV7(); |
|
12274 public: |
|
12275 /** |
|
12276 TNotificationType holds the type of notification request being made |
|
12277 */ |
|
12278 TNotificationType iNotificationType; |
|
12279 /** |
|
12280 TLocationEstimateType holds the type of LocationEstimate is requested |
|
12281 */ |
|
12282 TLocationEstimateType iMtlrLocationEstimateType; |
|
12283 /** |
|
12284 TLocationExternalInfoV7 holds the details of the External client. |
|
12285 */ |
|
12286 TLocationExternalInfoV1 iLocationInfo; |
|
12287 }; |
|
12288 |
|
12289 /** |
|
12290 A typedef'd packaged TNotifyMtlrV7 for passing through a |
|
12291 generic API method. |
|
12292 |
|
12293 @publishedPartner |
|
12294 */ |
|
12295 typedef TPckg<TNotifyMtlrV7> TNotifyMtlrV7Pckg; |
|
12296 |
|
12297 //MTLR-RESPONSE |
|
12298 /** |
|
12299 TMtlrResponse is used by the OverLoaded RMobileLocationServices::SendMtlrResponse() API |
|
12300 It holds the type of response being sent back for the MTLR request made. |
|
12301 @publishedPartner |
|
12302 */ |
|
12303 |
|
12304 enum TMtlrResponse |
|
12305 { |
|
12306 /** |
|
12307 Mtlr Response Unknown. |
|
12308 */ |
|
12309 EMtlrResponseUnknown, |
|
12310 /** |
|
12311 The UE has denied the Location Request of the External client. |
|
12312 @see RMobileLocationServices::SendMtlrResponse() |
|
12313 */ |
|
12314 EPermissionDenied , |
|
12315 /** |
|
12316 The UE has granted the Location Request of the External client. |
|
12317 @see RMobileLocationServices::SendMtlrResponse() |
|
12318 */ |
|
12319 EPermissionGranted |
|
12320 }; |
|
12321 |
|
12322 /** |
|
12323 TMtlrError is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API |
|
12324 It holds the type of Error response being sent back for the MTLR request made. |
|
12325 @publishedPartner |
|
12326 */ |
|
12327 enum TMtlrError |
|
12328 { |
|
12329 /** |
|
12330 Mtlr Error Unknown. |
|
12331 */ |
|
12332 EMtlrErrorUnknown, |
|
12333 /** |
|
12334 This response is sent back to the network when System has failed to |
|
12335 do the privacy check due to some Miscellaneous reasons |
|
12336 */ |
|
12337 ESystemFailure , |
|
12338 /** |
|
12339 The response is sent when the privacy verification has failed because of Unexpected data |
|
12340 values retrieved from the Location Notification request generated by the Network. |
|
12341 This generates an Error-Prone response from UE |
|
12342 */ |
|
12343 EUnexpectedDataValue |
|
12344 }; |
|
12345 |
|
12346 /** |
|
12347 TMtlrReject is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API |
|
12348 It holds the details of the Response being rejected due to one of the problems reported to the UE |
|
12349 for the MTLR request being made. |
|
12350 @publishedPartner |
|
12351 */ |
|
12352 enum TMtlrReject |
|
12353 { |
|
12354 /** |
|
12355 Mtlr Reject Unknown. |
|
12356 */ |
|
12357 EMtlrRejectUnknown, |
|
12358 /** |
|
12359 This indication is given under a scenario where the UE wants to reject a request, |
|
12360 It is done by invoking Duplicate ID's. |
|
12361 */ |
|
12362 EDuplicateInvokeID, |
|
12363 /** |
|
12364 This indication is given under a scenario where the UE wants to reject a request, |
|
12365 It is done by saying the operation is not recognized |
|
12366 */ |
|
12367 EUnrecognizedOperation, |
|
12368 /** |
|
12369 This invokes a problem indicating Resource Limitation. |
|
12370 */ |
|
12371 EResourceLimitation, |
|
12372 /** |
|
12373 This Invokes a problem initiating release. |
|
12374 */ |
|
12375 EInitiatingRelease, |
|
12376 /** |
|
12377 This invokes a problem indicating that the ID linked with the Client information |
|
12378 is unrecognized |
|
12379 */ |
|
12380 EUnrecognizedLinkedID, |
|
12381 /** |
|
12382 This invokes a problem of Linked Response Unexpected |
|
12383 */ |
|
12384 ELinkedResponseUnexpected, |
|
12385 /** |
|
12386 This invokes a problem of Unexpected Linked Operation |
|
12387 */ |
|
12388 EUnexpectedLinkedOperation, |
|
12389 /** |
|
12390 This invokes a problem of Mistyped Parameter. |
|
12391 */ |
|
12392 EMistypedParameter |
|
12393 }; |
|
12394 |
|
12395 /**************************************************************/ |
|
12396 // MOLR // |
|
12397 /**************************************************************/ |
|
12398 |
|
12399 /** |
|
12400 TMolrType is used by the SendMolr() API. |
|
12401 This gives an indication of type of Molr request the UE wants to invoke |
|
12402 @publishedPartner |
|
12403 */ |
|
12404 enum TMolrType |
|
12405 { |
|
12406 /** |
|
12407 MolrType UnKnown |
|
12408 */ |
|
12409 EMolrTypeUnknown, |
|
12410 /** |
|
12411 UE is requesting the Network for its Location Estimate |
|
12412 */ |
|
12413 ELocationEstimate, |
|
12414 /** |
|
12415 UE is requesting the Network for GPS Assistance data |
|
12416 */ |
|
12417 EAssistanceData, |
|
12418 /** |
|
12419 UE is requesting the Network for DecipheringKeys |
|
12420 */ |
|
12421 EDecipheringKeys |
|
12422 }; |
|
12423 |
|
12424 /** |
|
12425 TResponseTime is used by SendMolr() API |
|
12426 This enum holds the various types of delay that an UE is expecting. |
|
12427 @publishedPartner |
|
12428 */ |
|
12429 enum TResponseTime |
|
12430 { |
|
12431 /** |
|
12432 Response Time Unknown. |
|
12433 */ |
|
12434 EResponseTimeunknown, |
|
12435 /** |
|
12436 This enum value indicates that the UE expects a Less Time Delay |
|
12437 from Network in responding to its request |
|
12438 */ |
|
12439 ELowDelay, |
|
12440 /** |
|
12441 This enum value indicates that the UE expects a Long Time Delay |
|
12442 from Network in responding to its request and is tolerant to it. |
|
12443 */ |
|
12444 EDelayTolerant |
|
12445 }; |
|
12446 |
|
12447 /** |
|
12448 TLocationMethod is used by SendMolr() API |
|
12449 This is an enum which lists out all different types of Location methods that an UE can request |
|
12450 @publishedPartner |
|
12451 */ |
|
12452 enum TLocationMethod |
|
12453 { |
|
12454 /** |
|
12455 Location Method Unknown |
|
12456 */ |
|
12457 ELocationMethodunknown, |
|
12458 /** |
|
12459 This indication is given under a scenario where the UE wants a MS (Mobile Station) Based Location Fix. |
|
12460 This can be termed as UE Assisted Location Fix(EOTD-Enhanced observed time difference). |
|
12461 */ |
|
12462 EMSBasedEOTD, |
|
12463 /** |
|
12464 This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted Location Fix. |
|
12465 This can be termed out as UE based location fix. |
|
12466 */ |
|
12467 EMSAssistedEOTD, |
|
12468 /** |
|
12469 This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted GPS data. |
|
12470 */ |
|
12471 EMSAssistedGPS, |
|
12472 /** |
|
12473 This indication is given under a scenario where the UE wants a MS (Mobile Station) based location fix |
|
12474 (OTDOA-Observed time difference of arrival). |
|
12475 */ |
|
12476 EMSBasedOTDOA |
|
12477 }; |
|
12478 |
|
12479 /** |
|
12480 TQosV1 is used by SendMolr() API |
|
12481 This is a class with details of accuracy of Position information, Response Time, |
|
12482 expected to be received from the network. |
|
12483 @see TResponseTime |
|
12484 @publishedPartner |
|
12485 */ |
|
12486 class TQosV1 |
|
12487 { |
|
12488 public: |
|
12489 /** |
|
12490 This gives an information of the amount of Horizontal accuracy that the UE is expecting. |
|
12491 */ |
|
12492 TUint8 iHorizontalAccuracy; |
|
12493 /** |
|
12494 This gives an information of the amount of Vertical accuracy that the UE is expecting. |
|
12495 */ |
|
12496 TUint8 iVerticalAccuracy; |
|
12497 /** |
|
12498 This enum indicates the Response Time expected by the UE to receive a response for its MOlr request. |
|
12499 */ |
|
12500 TResponseTime iResponseTime; |
|
12501 }; |
|
12502 |
|
12503 /** |
|
12504 TMolrErrors is used by SendMolr() API |
|
12505 This is an enum which lists out all the possible errors that can be |
|
12506 reported to UE by an External Client or the Network. |
|
12507 @publishedPartner |
|
12508 */ |
|
12509 enum TMolrErrors |
|
12510 { |
|
12511 /** |
|
12512 Molr Error Unknown |
|
12513 */ |
|
12514 EMolrErrorUnknown, |
|
12515 /** |
|
12516 This indication is given to the UE when the Location Report is unable to reach the |
|
12517 External Client due to some failure in the Network Connections. |
|
12518 */ |
|
12519 EMolrSystemFailure, |
|
12520 /** |
|
12521 This indication is given back to the UE by the Network to the UE or by the |
|
12522 External Client to the UE,where the UE generated MOLR has some unexpected values. |
|
12523 */ |
|
12524 EMolrUnexpectedDataValue, |
|
12525 /** |
|
12526 This indication is given back to the UE by the Network to the UE or by the |
|
12527 External Client to the UE,where the UE generated MOLR had a data discrepancy |
|
12528 */ |
|
12529 EMolrDataMissing, |
|
12530 /** |
|
12531 This indication is given by the Network to the UE, |
|
12532 when the UE is not given a facility to make a MOLR request |
|
12533 */ |
|
12534 EMolrFacilityNotSupported, |
|
12535 /** |
|
12536 This indication is given by the Network to the UE, |
|
12537 when the subscription profile of the UE doesn't match with the requests made by it. |
|
12538 */ |
|
12539 EMolrSS_SubscriptionViolation, |
|
12540 /** |
|
12541 This indication is given by the Network to the UE, |
|
12542 when the UE or the Network failed to generate the Location estimate |
|
12543 */ |
|
12544 EMolrPositionMethodFailure |
|
12545 }; |
|
12546 |
|
12547 /** |
|
12548 TStartMolrV7 is used by SendMolr() API |
|
12549 This class lists the details send by UE to Network when a Molr request is being made. |
|
12550 @see TMolrType |
|
12551 @see TQosV1 |
|
12552 @see TLocationEstimateType |
|
12553 @see TLcsClientExternalID |
|
12554 @see TGpsAssistanceData |
|
12555 @see TLocationMethod |
|
12556 @publishedPartner |
|
12557 */ |
|
12558 class TStartMolrV7: public RMobilePhone::TMultimodeType |
|
12559 { |
|
12560 public: |
|
12561 IMPORT_C TStartMolrV7(); |
|
12562 public: |
|
12563 /** |
|
12564 TMolrType holds the type of Molr request being made |
|
12565 */ |
|
12566 TMolrType iMolrType; |
|
12567 /** |
|
12568 TQosV1 lists out the Quality of Service expected by UE |
|
12569 */ |
|
12570 TQosV1 iQos; |
|
12571 /** |
|
12572 Type of Location Estimate requested |
|
12573 */ |
|
12574 TLocationEstimateType iMolrLocationEstimateType; |
|
12575 /** |
|
12576 Id of the External client |
|
12577 */ |
|
12578 TLcsClientExternalID iLcsClientExternalID; |
|
12579 /** |
|
12580 Type of GpsAssistanceData |
|
12581 */ |
|
12582 TGpsAssistanceData iGpsAssistanceData; |
|
12583 /** |
|
12584 Type of Location method requested |
|
12585 */ |
|
12586 TLocationMethod iLocationMethod ; |
|
12587 /** |
|
12588 Type of Service requested |
|
12589 */ |
|
12590 TUint8 iLcsServiceTypeID; |
|
12591 }; |
|
12592 /** |
|
12593 A typedef'd packaged TStartMolrV7 for passing through a |
|
12594 generic API method. |
|
12595 |
|
12596 @publishedPartner |
|
12597 */ |
|
12598 typedef TPckg<TStartMolrV7> TStartMolrV7Pckg; |
|
12599 |
|
12600 /** |
|
12601 TMolrReturnResultV7 is used by SendMolr() API |
|
12602 This class lists all the Molr return results that can be expected for the Molr request |
|
12603 being made. |
|
12604 @see TLcsLocationEstimate |
|
12605 @see TLcsVelocityEstimate |
|
12606 @see TMolrErrors |
|
12607 @publishedPartner |
|
12608 */ |
|
12609 class TMolrReturnResultV7: public RMobilePhone::TMultimodeType |
|
12610 { |
|
12611 public: |
|
12612 IMPORT_C TMolrReturnResultV7(); |
|
12613 public: |
|
12614 /** |
|
12615 This gives the Location Estimate of the UE |
|
12616 */ |
|
12617 TLcsLocationEstimate iLocationEstimate; |
|
12618 /** |
|
12619 This gives the Velocity Estimate of the UE |
|
12620 */ |
|
12621 TLcsVelocityEstimate iVelocityEstimate; |
|
12622 /** |
|
12623 This gives the indication of the type of error occured |
|
12624 */ |
|
12625 TMolrErrors iMolrErrors; |
|
12626 }; |
|
12627 |
|
12628 /** |
|
12629 A typedef'd packaged TMolrReturnResultV7 for passing through a |
|
12630 generic API method. |
|
12631 |
|
12632 @publishedPartner |
|
12633 */ |
|
12634 typedef TPckg<TMolrReturnResultV7> TMolrReturnResultV7Pckg; |
|
12635 |
|
12636 //**************************************// |
|
12637 // Measurement Control Data structures // |
|
12638 //**************************************// |
|
12639 |
|
12640 enum |
|
12641 { |
|
12642 /**Maximum number of monitored cells RACH*/ |
|
12643 KMaxMonitoredCells = 8, |
|
12644 /**Maximum number of satellites*/ |
|
12645 KMaxSat = 16, |
|
12646 /**GlobalHealth size. 364 bits =46 bytes (Rounded) */ |
|
12647 KGlobalHealthSize = 46 |
|
12648 }; |
|
12649 |
|
12650 /**This enum contains the possible types of measurement commands.*/ |
|
12651 enum TMeasurementCmd |
|
12652 { |
|
12653 /**Measurement Command Unknown*/ |
|
12654 EMeasCommandUnknown, |
|
12655 /**Setup a new measurement*/ |
|
12656 ESetup, |
|
12657 /**Modify a previously defined measurement, e.g. to change the reporting criteria*/ |
|
12658 EModify, |
|
12659 /**Indicates to stop a measurement and clear all information in the UE that are related to that measurement */ |
|
12660 ERelease, |
|
12661 }; |
|
12662 |
|
12663 /**This enum contains the possible positioning method types*/ |
|
12664 enum TUePosMethodType |
|
12665 { |
|
12666 /**Positioning Method Type unknown*/ |
|
12667 EPosMethodTypeUnknown, |
|
12668 /**UE Assisted : The network computes the location of the UE.*/ |
|
12669 EUeAssisted, |
|
12670 /**UE Based : The UE computes the location of itself*/ |
|
12671 EUeBased, |
|
12672 }; |
|
12673 |
|
12674 /**This enum contains the possible positioning methods*/ |
|
12675 enum TPosMethod |
|
12676 { |
|
12677 /**Positioning Method unknown*/ |
|
12678 EPosMethodUnknown, |
|
12679 /**OTDOA may be selected by the SRNC as the method to be used on receipt of an LCS positioning request from the CN */ |
|
12680 EOtdoa, |
|
12681 /**These methods make use of UEs, which are equipped with radio receivers capable of receiving GPS signals*/ |
|
12682 EGps, |
|
12683 /**Use either OTDOA or GPS positioning method.*/ |
|
12684 EOtdoaOrGps, |
|
12685 /** |
|
12686 In the cell ID based (i.e. cell coverage) method, the position of an UE is |
|
12687 estimated with the knowledge of its serving Node B. The information about the serving |
|
12688 Node B and cell may be obtained by paging,locating area update, cell update, URA update, or routing area update. |
|
12689 */ |
|
12690 ECellID |
|
12691 }; |
|
12692 |
|
12693 /** |
|
12694 This class contains the information which is part of the Navigation Model. |
|
12695 This can be requested by the UE as part of additional request. |
|
12696 */ |
|
12697 class TSatDataV1 |
|
12698 { |
|
12699 public: |
|
12700 /**Satellite identity*/ |
|
12701 TUint8 iSatID; |
|
12702 /**Issue of Data Ephemeris for SatID*/ |
|
12703 TUint8 iIode; |
|
12704 }; |
|
12705 |
|
12706 /** |
|
12707 This class contains the additional information that can be requested by the UE. |
|
12708 */ |
|
12709 class TNavModelAddlDataReqV1 |
|
12710 { |
|
12711 public: |
|
12712 /**GPS time in weeks*/ |
|
12713 TUint16 iGpsWeek; |
|
12714 /**GPS time of ephemeris in hours of the latest ephemeris set contained by the UE.*/ |
|
12715 TUint8 iGpsToe; |
|
12716 /**Ephemeris age tolerance of the UE to UTRAN in hours.*/ |
|
12717 TUint8 iTToeLimit; |
|
12718 /**Satellite Identities |
|
12719 @see TSatDataV1*/ |
|
12720 TSatDataV1 iSatData[KMaxSat]; |
|
12721 }; |
|
12722 |
|
12723 /**This class contains the indicators to request for additional assistance data from the network.*/ |
|
12724 class TGpsAddlAssistDataReqV1 |
|
12725 { |
|
12726 public: |
|
12727 /**ETrue indicates Almanac Data is requested |
|
12728 @see TAlmanacV1*/ |
|
12729 TBool iAlmanacRequest; |
|
12730 /**ETrue indicates UTC model Data is requested |
|
12731 @see TUtcModelV1*/ |
|
12732 TBool iUtcModelRequest; |
|
12733 /**ETrue indicates Ionospheric Model Data is requested |
|
12734 @see TUtcModelV1*/ |
|
12735 TBool iIonosphericModelRequest; |
|
12736 /**ETrue indicates Navigation model Data is requested |
|
12737 @see TIonosphericModelV1*/ |
|
12738 TBool iNavigationModelRequest; |
|
12739 /**ETrue indicates DGPS corrections Data is requested |
|
12740 @see TNavigationModelSatInfoV1*/ |
|
12741 TBool iDgpsCorrectionsRequest; |
|
12742 /**ETrue indicates Reference location Data is requested |
|
12743 @see TDgpsCorrectionsV1*/ |
|
12744 TBool iReferenceLocationRequest; |
|
12745 /**ETrue indicates Reference time Data is requested |
|
12746 @see TReferenceLocationV1*/ |
|
12747 TBool iReferenceTimeRequest; |
|
12748 /**ETrue indicates Acquisition assistance Data is requested |
|
12749 @see TReferenceTimeV1*/ |
|
12750 TBool iAcquisitionAssistanceReq; |
|
12751 /**ETrue indicates Realtime integrity Data is requested |
|
12752 @see TAcquisitionAssistanceV1*/ |
|
12753 TBool iRealTimeIntegrityRequest; |
|
12754 /**This member is included only if Navigagion Model Data is requested (iNavigationModelRequest is ETrue). |
|
12755 @see TNavModelAddlDataReqV1*/ |
|
12756 TNavModelAddlDataReqV1 iNavModelAddlDataReq; |
|
12757 }; |
|
12758 |
|
12759 /**This class contains the UE positioning reporting quantity*/ |
|
12760 class TUePosReportingQuantityV1 |
|
12761 { |
|
12762 public: |
|
12763 /**Holds the positioning method type*/ |
|
12764 TUePosMethodType iUePosMethodType; |
|
12765 /**Holds the positioning method*/ |
|
12766 TPosMethod iPosMethod; |
|
12767 /**Holds the horizontal accuracy*/ |
|
12768 TInt8 iHorzAccuracy; |
|
12769 /**Holds the vertical accuracy*/ |
|
12770 TInt8 iVertAccuracy; |
|
12771 /**If true the SRNC wants the UE to report the SFN-GPS timing of the reference cell.*/ |
|
12772 TBool iGpsTimingOfCellWanted; |
|
12773 /**ETrue indicates that the UE is requested to send the IE "Additional assistance Data Request" |
|
12774 when the IE "UE positioning Error" is present in the UE positioning measured results. |
|
12775 EFalse indicates that the UE shall use the assistance data available. |
|
12776 */ |
|
12777 TBool iAddlAssistanceDataReq; |
|
12778 }; |
|
12779 |
|
12780 /**This enum contains the states in which measurements are valid*/ |
|
12781 enum TMeasurementValidity |
|
12782 { |
|
12783 /**Measurement Validity Unknown*/ |
|
12784 EMeasValidityUnknown, |
|
12785 /**Indicates measurement is valid in CellDCH state*/ |
|
12786 ECellDCH, |
|
12787 /**Indicates measurement is valid except in CellDCH state*/ |
|
12788 EAllButCellDCH, |
|
12789 /**Indicates measurement is valid in all state*/ |
|
12790 EAllStates |
|
12791 }; |
|
12792 |
|
12793 /**This enum list the SfnTow uncertainity*/ |
|
12794 enum TSfnTowUncertainity |
|
12795 { |
|
12796 /**Sfn Tow Uncertainity unknown*/ |
|
12797 ESfnTowUncertainityUnknown, |
|
12798 /**SfnTowUncertainity < 10*/ |
|
12799 ELessThan10, |
|
12800 /**SfnTowUncertainity > 10*/ |
|
12801 EMoreThan10 |
|
12802 }; |
|
12803 |
|
12804 /**This enum lists the different GPS drift rates*/ |
|
12805 enum TUtranGpsDriftRate |
|
12806 { |
|
12807 /**GPS Drift rate unknown*/ |
|
12808 EDriftRateUnknown, |
|
12809 /**Drift = 0*/ |
|
12810 EUtranGpsDrift0, |
|
12811 /**Drift = 1*/ |
|
12812 EUtranGpsDrift1, |
|
12813 /**Drift = 2*/ |
|
12814 EUtranGpsDrift2, |
|
12815 /**Drift = 5*/ |
|
12816 EUtranGpsDrift5, |
|
12817 /**Drift = 10*/ |
|
12818 EUtranGpsDrift10, |
|
12819 /**Drift = 15*/ |
|
12820 EUtranGpsDrift15, |
|
12821 /**Drift = 25*/ |
|
12822 EUtranGpsDrift25, |
|
12823 /**Drift = 50*/ |
|
12824 EUtranGpsDrift50, |
|
12825 /**Drift = -1*/ |
|
12826 EUtranGpsDriftMinus1, |
|
12827 /**Drift = -2*/ |
|
12828 EUtranGpsDriftMinus2, |
|
12829 /**Drift = -5*/ |
|
12830 EUtranGpsDriftMinus5, |
|
12831 /**Drift = -10*/ |
|
12832 EUtranGpsDriftMinus10, |
|
12833 /**Drift = -15*/ |
|
12834 EUtranGpsDriftMinus15, |
|
12835 /**Drift = -25*/ |
|
12836 EUtranGpsDriftMinus25, |
|
12837 /**Drift = -50*/ |
|
12838 EUtranGpsDriftMinus50, |
|
12839 }; |
|
12840 |
|
12841 /**This enum lists the different Udre values*/ |
|
12842 enum TDiffCorrectionsStatus |
|
12843 { |
|
12844 /**Diff Corrections Status unknown*/ |
|
12845 ECorrectionStatusUnknown, |
|
12846 /**UDRE 1.0 */ |
|
12847 EUdre1Point0, |
|
12848 /**UDRE 0.75 */ |
|
12849 EUdre0Point75, |
|
12850 /**UDRE 0.5 */ |
|
12851 EUdre0Point5, |
|
12852 /**UDRE 0.3 */ |
|
12853 EUdre0Point3, |
|
12854 /**UDRE 0.2 */ |
|
12855 EUdre0Point2, |
|
12856 /**UDRE 0.1 */ |
|
12857 EUdre0Point1, |
|
12858 /**UDRE No Data */ |
|
12859 ENoData, |
|
12860 /**UDRE Invalid Data */ |
|
12861 EInvalidData |
|
12862 }; |
|
12863 |
|
12864 /**This class reserves members for future use*/ |
|
12865 class TSubFrame1ReservedV1 |
|
12866 { |
|
12867 public: |
|
12868 /**Reserve member 1*/ |
|
12869 TUint iReserved1; |
|
12870 /**Reserve member 2*/ |
|
12871 TUint iReserved2; |
|
12872 /**Reserve member 3*/ |
|
12873 TUint iReserved3; |
|
12874 /**Reserve member 4*/ |
|
12875 TUint iReserved4; |
|
12876 }; |
|
12877 |
|
12878 /**This class contains information for GPS ephemeris and clock correction.*/ |
|
12879 class TEphemerisParameterV1 |
|
12880 { |
|
12881 public: |
|
12882 /**Code(s) on L2 Channel */ |
|
12883 TUint8 iCodeOnL2; |
|
12884 /**User Range Accuracy */ |
|
12885 TUint8 iUraIndex; |
|
12886 /**Health of Satellite*/ |
|
12887 TUint8 iSatHealth; |
|
12888 /**Issue of Data, Clock */ |
|
12889 TUint16 iIodc; |
|
12890 /**L2 channel flag*/ |
|
12891 TUint8 iL2Flag; |
|
12892 TSubFrame1ReservedV1 iSubFrame1Reserved; |
|
12893 /**Estimated group delay differential */ |
|
12894 TUint8 iTGd; |
|
12895 /**Apparent clock correction*/ |
|
12896 TUint16 iTOc; |
|
12897 /**Apparent clock correction*/ |
|
12898 TUint8 iAf2; |
|
12899 /**Apparent clock correction*/ |
|
12900 TUint16 iAf1; |
|
12901 /**Apparent clock correction*/ |
|
12902 TUint iAf0; |
|
12903 /**Amplitude of the Sine Harmonic Correction Term to the Orbit Radius (meters)*/ |
|
12904 TUint16 iCRs; |
|
12905 /**Mean Motion Difference From Computed Value (semi-circles/sec)*/ |
|
12906 TUint16 iDeltaN; |
|
12907 /**Mean Anomaly at Reference Time (semi-circles)*/ |
|
12908 TUint iM0; |
|
12909 /**Amplitude of the Cosine Harmonic Correction Term To The Argument Of Latitude (radians)*/ |
|
12910 TUint16 iCUc; |
|
12911 /**Eccentricity*/ |
|
12912 TUint iE; |
|
12913 /**Amplitude of the Sine Harmonic Correction Term To The Argument Of Latitude (radians)*/ |
|
12914 TUint16 iCUs; |
|
12915 /**Semi-Major Axis in squareroot(meters) */ |
|
12916 TUint iASqrt; |
|
12917 /**Reference Time Ephemeris */ |
|
12918 TUint16 iTOe; |
|
12919 /** |
|
12920 Fit interval flag |
|
12921 @see ICD-GPS-200 |
|
12922 */ |
|
12923 TUint8 iFitInterval; |
|
12924 /**Age Of Data Offset */ |
|
12925 TUint8 iAodo; |
|
12926 /**Amplitude of the Cosine Harmonic Correction Term To The Angle Of Inclination (radians)*/ |
|
12927 TUint16 iCIc; |
|
12928 /**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */ |
|
12929 TUint iOmega0; |
|
12930 /**Amplitude of the Sine Harmonic Correction Term To The Angle Of Inclination (radians) */ |
|
12931 TUint16 iCIs; |
|
12932 /**Inclination Angle at Reference Time (semi-circles) */ |
|
12933 TUint i0; |
|
12934 /**Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius (meters) */ |
|
12935 TUint16 iCRc; |
|
12936 /**Argument of Perigee (semi-circles) */ |
|
12937 TUint iOmega; |
|
12938 /**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */ |
|
12939 TUint iOmegaDot; |
|
12940 /**Rate of Inclination Angle (semi-circles/sec) */ |
|
12941 TUint16 iDot; |
|
12942 }; |
|
12943 |
|
12944 /**This enum specifies the possible status of a satellite*/ |
|
12945 enum TSatelliteStatus |
|
12946 { |
|
12947 /**Satellite Status unknown*/ |
|
12948 ESatStatusUnknown, |
|
12949 /**New satellite, new Navigation Model*/ |
|
12950 ENsNnU, |
|
12951 /**Existing satellite, same Navigation Model*/ |
|
12952 EEsSn, |
|
12953 /**Existing satellite, new Navigation Model*/ |
|
12954 EEsNnU, |
|
12955 /**Reserved*/ |
|
12956 ERev2, |
|
12957 /**Reserved*/ |
|
12958 ERev |
|
12959 }; |
|
12960 |
|
12961 /**This class contains the navigation model satellite information*/ |
|
12962 class TNavigationModelSatInfoV1 |
|
12963 { |
|
12964 public: |
|
12965 /**Satellite identification*/ |
|
12966 TUint8 iSatID; |
|
12967 /**Status of the satellite*/ |
|
12968 TSatelliteStatus iSatelliteStatus; |
|
12969 /**Contains information for GPS ephemeris and clock correction.*/ |
|
12970 TEphemerisParameterV1 iEphemerisParameter; |
|
12971 }; |
|
12972 |
|
12973 /** |
|
12974 This class contains the ionospheric model information needed to model |
|
12975 the propagation delays of the GPS signals through the ionosphere |
|
12976 */ |
|
12977 class TIonosphericModelV1 |
|
12978 { |
|
12979 public: |
|
12980 /** |
|
12981 The parameters *n are the coefficients of a cubic equation |
|
12982 representing the amplitude of the vertical delay. |
|
12983 @see ICD-GPS-200 |
|
12984 */ |
|
12985 /**Alfa = 0*/ |
|
12986 TUint8 iAlfa0; |
|
12987 /**Alfa = 1*/ |
|
12988 TUint8 iAlfa1; |
|
12989 /**Alfa = 2*/ |
|
12990 TUint8 iAlfa2; |
|
12991 /**Alfa = 3*/ |
|
12992 TUint8 iAlfa3; |
|
12993 /** |
|
12994 The parameters *n are the coefficients of a cubic equation |
|
12995 representing the period of the ionospheric model |
|
12996 @see ICD-GPS-200 |
|
12997 */ |
|
12998 /**Beta = 0*/ |
|
12999 TUint8 iBeta0; |
|
13000 /**Beta = 1*/ |
|
13001 TUint8 iBeta1; |
|
13002 /**Beta = 2*/ |
|
13003 TUint8 iBeta2; |
|
13004 /**Beta = 3*/ |
|
13005 TUint8 iBeta3; |
|
13006 }; |
|
13007 |
|
13008 /** |
|
13009 This class contains the UTC model information needed to relate GPS time to Universal Time Coordinate (UTC) |
|
13010 @see ICD-GPS-200 |
|
13011 */ |
|
13012 class TUtcModelV1 |
|
13013 { |
|
13014 public: |
|
13015 /** |
|
13016 Time in seconds. |
|
13017 @see ICD-GPS-200. |
|
13018 */ |
|
13019 TUint iA1; |
|
13020 /** |
|
13021 Time in seconds. |
|
13022 @see ICD-GPS-200. |
|
13023 */ |
|
13024 TUint iA2; |
|
13025 /**Time in seconds |
|
13026 @see ICD-GPS-200 |
|
13027 */ |
|
13028 TUint8 iTOt; |
|
13029 /**weeks |
|
13030 @see ICD-GPS-200 |
|
13031 */ |
|
13032 TUint8 iWnT; |
|
13033 /**Time in seconds |
|
13034 @see ICD-GPS-200 |
|
13035 */ |
|
13036 TUint8 iDeltaTLs; |
|
13037 /**Weeks |
|
13038 @see ICD-GPS-200 |
|
13039 */ |
|
13040 TUint8 iWnLsf; |
|
13041 /**Days |
|
13042 @see ICD-GPS-200 |
|
13043 */ |
|
13044 TUint8 iDn; |
|
13045 /**Seconds |
|
13046 @see ICD-GPS-200 |
|
13047 */ |
|
13048 TUint8 iDeltaTLsf; |
|
13049 }; |
|
13050 |
|
13051 /**This class contains a reduced-precision subset of the ephemeris and clock correction parameters.*/ |
|
13052 class TAlmanacSatInfoV1 |
|
13053 { |
|
13054 public: |
|
13055 /**Data identification*/ |
|
13056 TUint8 iDataID; |
|
13057 /**Eccentricity*/ |
|
13058 TUint16 iE; |
|
13059 /**Reference Time of Almanac */ |
|
13060 TUint8 iTOa; |
|
13061 /**@see ICD-GPS-200*/ |
|
13062 TUint16 iDeltaI; |
|
13063 /**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */ |
|
13064 TUint16 iOmegaDot; |
|
13065 /**Satellite health*/ |
|
13066 TUint8 iSatHealth; |
|
13067 /**Semi-Major Axis in squareroot(meters)*/ |
|
13068 TUint iASqrt; |
|
13069 /**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */ |
|
13070 TUint iOmega0; |
|
13071 /**Mean Anomaly at Reference Time (semi-circles) */ |
|
13072 TUint iM0; |
|
13073 /**Argument of Perigee (semi-circles) */ |
|
13074 TUint iOmega; |
|
13075 /**Apparent clock correction */ |
|
13076 TUint16 iAf0; |
|
13077 /**Apparent clock correction */ |
|
13078 TUint16 iAf1; |
|
13079 }; |
|
13080 |
|
13081 /**This class holds the coarse, long-term model of the satellite positions and clocks.*/ |
|
13082 class TAlmanacV1 |
|
13083 { |
|
13084 public: |
|
13085 /**Almanac Reference Week */ |
|
13086 TUint8 iWnA; |
|
13087 TAlmanacSatInfoV1 iAlmanacSatInfoList[KMaxSat]; |
|
13088 /**This enables GPS time recovery and possibly extended GPS correlation intervals.*/ |
|
13089 TUint16 iSvGlobalHealth[KGlobalHealthSize]; |
|
13090 }; |
|
13091 |
|
13092 /**This union contains the information specific to mode - FDD/TDD*/ |
|
13093 union TModeSpecificInfoV1 |
|
13094 { |
|
13095 /**Used in FDD mode*/ |
|
13096 TUint16 iPrimaryScramblingCode; |
|
13097 /**Used in TDD mode*/ |
|
13098 TUint16 iCellParametersID; |
|
13099 }; |
|
13100 |
|
13101 /**This class contains parameters that enable fast acquisition of the GPS |
|
13102 signals in UE-assisted GPS positioning.*/ |
|
13103 class TAcquisitionAssistanceV1 |
|
13104 { |
|
13105 public: |
|
13106 /**Specifies GPS reference time*/ |
|
13107 TUint iGpsReferenceTime; |
|
13108 /**Specifies GPS reference time specific to mode - FDD/TDD*/ |
|
13109 TModeSpecificInfoV1 iUtranGpsReferenceTime; |
|
13110 /**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. |
|
13111 EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/ |
|
13112 TBool iUtranGpsRefTimeStatus; |
|
13113 }; |
|
13114 |
|
13115 /** |
|
13116 The UDRE provides an estimate of the uncertainty (1-*) in the corrections for |
|
13117 the particular satellite. The value in this field shall be multiplied by the |
|
13118 UDRE Scale Factor in the common Corrections Status/Health field to determine the |
|
13119 final UDRE estimate for the particular satellite. |
|
13120 @see 3GPP TS 25.305 |
|
13121 */ |
|
13122 enum TUdre |
|
13123 { |
|
13124 /**Udre unknown*/ |
|
13125 EUdreUnknown, |
|
13126 /** UDRE < 1*/ |
|
13127 ELessThan1, |
|
13128 /** 1> UDRE < 4*/ |
|
13129 EBtw1And4, |
|
13130 /** 1> UDRE < 8*/ |
|
13131 EBtw1And8, |
|
13132 /** UDRE > 8*/ |
|
13133 EOver8 |
|
13134 }; |
|
13135 |
|
13136 /**This class contains DGPS corrections to be used by the UE*/ |
|
13137 class TDgpsCorrectionSatInfoV1 |
|
13138 { |
|
13139 public: |
|
13140 /**Satellite identification*/ |
|
13141 TUint8 iSatID; |
|
13142 /**Issue of Data Ephemeris for SatID.*/ |
|
13143 TUint8 iIode; |
|
13144 /** |
|
13145 The UDRE provides an estimate of the uncertainty (1-*) in the corrections for |
|
13146 the particular satellite. The value in this field shall be multiplied by the |
|
13147 UDRE Scale Factor in the common Corrections Status/Health field to determine the |
|
13148 final UDRE estimate for the particular satellite. |
|
13149 @see 3GPP TS 25.305 |
|
13150 */ |
|
13151 TUdre iUdre; |
|
13152 /**The PRC indicates the correction to the pseudorange for the particular satellite at the GPS Reference Time*/ |
|
13153 TInt16 iPrc; |
|
13154 /** |
|
13155 This information indicates the rate-of-change of the pseudorange correction for the particular satellite, |
|
13156 using the satellite ephemeris identified by the IODE IE |
|
13157 */ |
|
13158 TInt8 iRrc; |
|
13159 /**For future use*/ |
|
13160 TInt8 iDummy1; |
|
13161 /**For future use*/ |
|
13162 TInt8 iDummy2; |
|
13163 }; |
|
13164 |
|
13165 /**This class contains the DGPS corrections information*/ |
|
13166 class TDgpsCorrectionsV1 |
|
13167 { |
|
13168 public: |
|
13169 /**GPS time of week*/ |
|
13170 TUint16 iGpsTow; |
|
13171 /**This information indicates the status of the differential corrections contained in the message.*/ |
|
13172 TDiffCorrectionsStatus iStatusHealth; |
|
13173 /**This member data contains DGPS corrections of the satellites to be used by the UE*/ |
|
13174 TDgpsCorrectionSatInfoV1 iDgpsCorrectionSatInfoList[KMaxSat]; |
|
13175 }; |
|
13176 |
|
13177 /**This enum containst the possible signs of latitude*/ |
|
13178 enum TLatitudeSign |
|
13179 { |
|
13180 /**Latitude Sign Unknown*/ |
|
13181 ELatitudeSignUnknown, |
|
13182 /**Latitude sign is north*/ |
|
13183 ENorth, |
|
13184 /**Latitude sign is south*/ |
|
13185 ESouth |
|
13186 }; |
|
13187 |
|
13188 /**This enum contains the possible directions of altitudes for reference location*/ |
|
13189 enum TAltDirection |
|
13190 { |
|
13191 /**Altitude Direction Unknown*/ |
|
13192 EAltDirectionUnknown, |
|
13193 /**Indicates Altitude direction is height-wise*/ |
|
13194 EHeight, |
|
13195 /**Indicates Altitude direction is depth-wise*/ |
|
13196 EDepth |
|
13197 }; |
|
13198 |
|
13199 /**This class contains a 3-D location (with uncertainty)*/ |
|
13200 class TReferenceLocationV1 |
|
13201 { |
|
13202 public: |
|
13203 /**Specifies the sign - North/South*/ |
|
13204 TLatitudeSign iLatitudeSign; |
|
13205 /**Degree of latitude*/ |
|
13206 TUint16 iLatitude; |
|
13207 /**Degree of longitude*/ |
|
13208 TInt16 iLongitude; |
|
13209 /**Direction of altitude*/ |
|
13210 TAltDirection iAltDirection; |
|
13211 /**Degree of altitude*/ |
|
13212 TUint16 iAltitude; |
|
13213 /**Uncertainty semi major axis*/ |
|
13214 TUint8 iUncertainitySemiMajor; |
|
13215 /**Uncertainty semi minor axis*/ |
|
13216 TUint8 iUncertainitySemiMinor; |
|
13217 /**Orientation of major axis*/ |
|
13218 TUint8 iOrientationMajorAxis; |
|
13219 /**The uncertainty in altitude, h, expressed in metres*/ |
|
13220 TUint8 iUncertainityAltitude; |
|
13221 /**The confidence by which the position of a target entity is known to be within the shape description*/ |
|
13222 TUint8 iConfidence; |
|
13223 }; |
|
13224 |
|
13225 /** |
|
13226 Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) |
|
13227 that are currently being broadcast by the respective GPS satellites. Combining this information |
|
13228 with GPS TOW helps the UE with time-recovery needed to predict satellite signal. |
|
13229 */ |
|
13230 class TGpsTowAssistV1 |
|
13231 { |
|
13232 public: |
|
13233 /**Satellite identification*/ |
|
13234 TUint8 iSatID; |
|
13235 /** |
|
13236 Contains a 14-bit value representing the Telemetry Message (TLM) |
|
13237 being broadcast by the GPS satellite identified by the particular SatID, |
|
13238 with the MSB occurring first in the satellite transmission. |
|
13239 */ |
|
13240 TUint16 iTlmMsg; |
|
13241 /** |
|
13242 Contains the two reserved bits in the TLM Word |
|
13243 being broadcast by the GPS satellite identified by SatID, |
|
13244 with the MSB occurring first in the satellite transmission. |
|
13245 */ |
|
13246 TUint8 iTlmReserved; |
|
13247 /**Contain the Alert flags that are being broadcast by the GPS satellite identified by SatID.*/ |
|
13248 TBool iAlert; |
|
13249 /**Contain the Anti-Spoof that are being broadcast by the GPS satellite identified by SatID.*/ |
|
13250 TBool iAntiSpoof; |
|
13251 }; |
|
13252 |
|
13253 /**This class contains information that may be used to provide a mapping between UTRAN and GPS time*/ |
|
13254 class TUtranGpsRefTimeV1 |
|
13255 { |
|
13256 public: |
|
13257 /**UE-GPS timing of cell ms-part*/ |
|
13258 TUint16 iMsPart; |
|
13259 /**UE-GPS timing of cell ls-part*/ |
|
13260 TUint16 iLsPart; |
|
13261 /**System frame number*/ |
|
13262 TUint16 iSfn; |
|
13263 /**Specifies GPS reference time specific to mode - FDD/TDD*/ |
|
13264 TModeSpecificInfoV1 iModeSpecificInfo; |
|
13265 /**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. |
|
13266 EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/ |
|
13267 TBool iModeSpecificInfoStatus; |
|
13268 }; |
|
13269 |
|
13270 /** |
|
13271 This class contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) |
|
13272 that are currently being broadcast by the respective GPS satellites. Combining this information |
|
13273 with GPS TOW helps the UE with time-recovery needed to predict satellite signal. |
|
13274 */ |
|
13275 class TReferenceTimeV1 |
|
13276 { |
|
13277 public: |
|
13278 /**GPS time in weeks*/ |
|
13279 TUint16 iGpsWeek; |
|
13280 /**GPS Time of Week in milliseconds */ |
|
13281 TUint16 iGpsTowOneMsec; |
|
13282 /**GPS reference time may be used to provide a mapping between UTRAN and GPS time*/ |
|
13283 TUtranGpsRefTimeV1 iUtranGpsRefTime; |
|
13284 /** |
|
13285 This field indicates the uncertainty of the relation GPS TOW/SFN. |
|
13286 ELessThan10 means the relation is accurate to at least 10 ms. |
|
13287 */ |
|
13288 TSfnTowUncertainity iSfnTowUncertainity; |
|
13289 /**Drift rate of the NODE B clock relative to GPS time.*/ |
|
13290 TUtranGpsDriftRate iUtranGpsDriftRate; |
|
13291 /** |
|
13292 Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) |
|
13293 that are currently being broadcast by the respective GPS satellites. Combining this information |
|
13294 with GPS TOW helps the UE with time-recovery needed to predict satellite signal. |
|
13295 */ |
|
13296 TGpsTowAssistV1 iGpsTowAssistList[KMaxSat]; |
|
13297 }; |
|
13298 |
|
13299 /**This class contains the GPS Assistance Data received from network*/ |
|
13300 class TUePosGpsAssistanceDataV1 |
|
13301 { |
|
13302 public: |
|
13303 /**GPS reference time may be used to provide a mapping between UTRAN and GPS time.*/ |
|
13304 TReferenceTimeV1 iReferencTime; |
|
13305 /**The Reference Location contains a 3-D location (with uncertainty)*/ |
|
13306 TReferenceLocationV1 iReferenceLocation; |
|
13307 /** |
|
13308 Holds information to allow a UE to estimate its position more accurate, |
|
13309 biases in the pseudorange measurements may be provided to the UE. |
|
13310 */ |
|
13311 TDgpsCorrectionsV1 iDgpsCorrections; |
|
13312 /**Holds navigation model satellite information*/ |
|
13313 TNavigationModelSatInfoV1 iNavigationModel; |
|
13314 /** |
|
13315 The Ionospheric Model contains information needed to model |
|
13316 the propagation delays of the GPS signals through the ionosphere. |
|
13317 */ |
|
13318 TIonosphericModelV1 iIonosphericModel; |
|
13319 /**UTC parameters may be used to provide Coordinated Universal Time to the UE.*/ |
|
13320 TUtcModelV1 iUtcModel; |
|
13321 /**Holds the coarse, long-term model of the satellite positions and clocks.*/ |
|
13322 TAlmanacV1 iAlmanac; |
|
13323 /**Holds the acquistions assistance information of the UE*/ |
|
13324 TAcquisitionAssistanceV1 iAcquisitionAssistance; |
|
13325 /**Holds the list of bad satellites*/ |
|
13326 TUint8 iBadSatList[KMaxSat]; |
|
13327 /** |
|
13328 This member specifies which of the above additional data structures are populated. |
|
13329 */ |
|
13330 TGpsAddlAssistDataReqV1 iGpsAddlDataStatus; |
|
13331 }; |
|
13332 |
|
13333 /**This class contains the GPS assistance data required to compute the UE Postioning information*/ |
|
13334 class TUePosMeasurementV1 |
|
13335 { |
|
13336 public: |
|
13337 /** |
|
13338 The purpose of the element is to express the allowed/required location method(s), |
|
13339 and to provide information desired QoS. |
|
13340 */ |
|
13341 TUePosReportingQuantityV1 iUePosReportingQuantity; |
|
13342 /**This member data defines in which UE states the measurement is valid.*/ |
|
13343 TMeasurementValidity iMeasurementValidity; |
|
13344 /**This member data holds the GPS Assistance Data sent by the network*/ |
|
13345 TUePosGpsAssistanceDataV1 iUePosGpsAssistanceData; |
|
13346 }; |
|
13347 |
|
13348 /**This holds the possible types of measurement commands that can be specified*/ |
|
13349 union TMeasurementCommandV1 |
|
13350 { |
|
13351 /**Setup a new measurement*/ |
|
13352 TUePosMeasurementV1 iSetup; |
|
13353 /**Modify a previously defined measurement*/ |
|
13354 TUePosMeasurementV1 iModify; |
|
13355 /**Stop the measurement and clear all information in the UE that are related to that measurement.*/ |
|
13356 TBool iRelease; |
|
13357 }; |
|
13358 |
|
13359 /**This enum specifies the mode the UE shall use to transmit the measurement report*/ |
|
13360 enum TMeasReportTransferMode |
|
13361 { |
|
13362 /**Transfer mode unknown*/ |
|
13363 ETransferModeUnknown, |
|
13364 /**The UE shall transmit the measurement report using Acknowledged RLC mode*/ |
|
13365 EAckModeRlc, |
|
13366 /**The UE shall transmit the measurement report using Unacknowledged RLC mode*/ |
|
13367 EUnAckModeRlc |
|
13368 }; |
|
13369 |
|
13370 /** |
|
13371 This class contains the GPS assistance data needed by the UE to compute the location |
|
13372 of the UE. The UE computes the location once it receives all required information. |
|
13373 */ |
|
13374 class TMeasurementControlV7 : public RMobilePhone::TMultimodeType |
|
13375 { |
|
13376 public: |
|
13377 IMPORT_C TMeasurementControlV7(); |
|
13378 public: |
|
13379 /** |
|
13380 A reference number that should be used by the UTRAN when setting up, |
|
13381 modifying or releasing the measurement and by the UE in the measurement report. |
|
13382 */ |
|
13383 TUint8 iMeasurementIdentity; |
|
13384 /**Specifies the Measurement Setup / Modify / Release*/ |
|
13385 TMeasurementCommandV1 iMeasurementCommand; |
|
13386 /**This specifies whether the UE shall transmit the measurement report using AM or UM RLC.*/ |
|
13387 TMeasReportTransferMode iMeasReportTransferMode; |
|
13388 /**ETrue indicates velocity estimate is requested. EFalse indicates velocity estimate is not requested*/ |
|
13389 TBool iVelocityRequested; |
|
13390 /**Holds the type of measurement command being used*/ |
|
13391 TMeasurementCmd iMeasurementCmdStatus; |
|
13392 }; |
|
13393 /** |
|
13394 A typedef'd packaged TMeasurementControlV7 for passing through a |
|
13395 generic API method. |
|
13396 |
|
13397 @publishedPartner |
|
13398 */ |
|
13399 typedef TPckg<TMeasurementControlV7> TMeasurementControlV7Pckg; |
|
13400 |
|
13401 //**************************************// |
|
13402 // Measurement Report Data structures // |
|
13403 //**************************************// |
|
13404 |
|
13405 |
|
13406 /** |
|
13407 This enum contains the indicators thta specify which |
|
13408 union members of TMeasurementQuantityV1 are included |
|
13409 */ |
|
13410 enum TMeasQnty |
|
13411 { |
|
13412 /**Measurement Quantity unknown*/ |
|
13413 EMeasQntyUnknown, |
|
13414 /**Indicates that CpichEcN0 is present*/ |
|
13415 EMeasQntyCpichEcN0Present, |
|
13416 /**Indicates that CpichRscp is present*/ |
|
13417 EMeasQntyCpichRscpPresent, |
|
13418 /**Indicates that path loss is present*/ |
|
13419 EMeasQntyPathLossPresent, |
|
13420 }; |
|
13421 |
|
13422 /** |
|
13423 This enum contains the indicators that specify which |
|
13424 union members of TPosEstimateRefTime and TPositionEstimateV1 are included |
|
13425 */ |
|
13426 enum TPosEstimateInfo |
|
13427 { |
|
13428 /**Position Estimate Info Unknown*/ |
|
13429 EPosEstimateInfoUnknown, |
|
13430 /** |
|
13431 NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPosEstimateRefTime |
|
13432 Indicates that UE positioning estimate reference time is populated |
|
13433 */ |
|
13434 EUtranGpsRefTimeResultPresent, |
|
13435 /**Indicates that GPS reference time is populated*/ |
|
13436 EGpsRefTimeOnlyPresent, |
|
13437 /**Indicates that cell timing is populated*/ |
|
13438 ECellTimingPresent, |
|
13439 /** |
|
13440 NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPositionEstimateV1. |
|
13441 Indicates EllipsoidPoint is populated |
|
13442 */ |
|
13443 EEllipsoidPointPresent, |
|
13444 /**Indicates EllipsoidPoint with uncertainty circle is populated*/ |
|
13445 EEllipsoidPointUncertCirclePresent, |
|
13446 /**Indicates EllipsoidPoint with uncertainty ellipse is populated*/ |
|
13447 EEllipsoidPointUncertEllipsePresent, |
|
13448 /**Indicates EllipsoidPoint with altitude is populated*/ |
|
13449 EEllipsoidPointAltitudePresent, |
|
13450 /**Indicates EllipsoidPoint with altitude and ellipse is populated*/ |
|
13451 EEllipsoidPointAltEllipsePresent, |
|
13452 }; |
|
13453 |
|
13454 /**This enum contains the possible types of velocity estimates*/ |
|
13455 enum TVelEstimate |
|
13456 { |
|
13457 /**Velocity Estimate Unknown*/ |
|
13458 EVelEstimateUnknown, |
|
13459 /**Velocity Estimate is not present*/ |
|
13460 EVelEstimateNotPresent, |
|
13461 /**Horizontal velocity is included*/ |
|
13462 EHorzVelPresent, |
|
13463 /**Horizontal and vertical velocity is included*/ |
|
13464 EHorzWithVertVelPresent, |
|
13465 /**Horizontal velocity with uncertainty is included*/ |
|
13466 EHorzVelWithUncertPresent, |
|
13467 /**Horizontal and vertical velocity with uncertainty is included*/ |
|
13468 EHorzWithVertVelAndUncertPresent, |
|
13469 }; |
|
13470 |
|
13471 /**This contains the measurement quantities of the UE*/ |
|
13472 union TMeasurementQuantityV1 |
|
13473 { |
|
13474 public: |
|
13475 /** |
|
13476 @see 3GPP TS 25.133. |
|
13477 @see 3GPP TS 25.123. |
|
13478 */ |
|
13479 TUint8 iCpichEcN0; |
|
13480 /** |
|
13481 @see 3GPP TS 25.133. |
|
13482 @see 3GPP TS 25.123. |
|
13483 */ |
|
13484 TUint8 iCpichRscp; |
|
13485 /**Measurement path loss in dB.*/ |
|
13486 TUint8 iPathLoss; |
|
13487 /**Extra for future use*/ |
|
13488 TBool iSpare; |
|
13489 }; |
|
13490 |
|
13491 /**This class contains the current cell informations in TDD mode*/ |
|
13492 class TTddV1 |
|
13493 { |
|
13494 public: |
|
13495 /** |
|
13496 Time slot Interference on Signal Code Power |
|
13497 @see 3GPP TS 25.123 |
|
13498 */ |
|
13499 TUint8 iTimeSlotIscp; |
|
13500 /**Primary Common Control Physical CHannel received signal code power*/ |
|
13501 TUint8 iPrimaryCcpchRscp; |
|
13502 }; |
|
13503 |
|
13504 /**This class contains the information in FDD mode*/ |
|
13505 class TFddV1 |
|
13506 { |
|
13507 public: |
|
13508 /**Holds the measurement quantities of the UE*/ |
|
13509 TMeasurementQuantityV1 iMeasurementQuantity; |
|
13510 /**Holds the field that would be populated in iMeasurementQuantity*/ |
|
13511 TMeasQnty iMeasQntyStatus; |
|
13512 }; |
|
13513 |
|
13514 /**This contains the current cell information in specific modes - FDD/TDD*/ |
|
13515 union TCurrentCellV1 |
|
13516 { |
|
13517 /**Current cell information in FDD mode*/ |
|
13518 TFddV1 iFdd; |
|
13519 /**Current cell information in TDD mode*/ |
|
13520 TTddV1 iTdd; |
|
13521 }; |
|
13522 |
|
13523 /**This contains the type of sfn-sfn observed time difference*/ |
|
13524 union TSfnSfnObsTimeDifferenceV1 |
|
13525 { |
|
13526 /**Sfn-Sfn observed time difference -type1*/ |
|
13527 TUint16 iSfnSfnObsTimeDiff1; |
|
13528 /**Sfn-Sfn observed time difference -type2*/ |
|
13529 TUint16 iSfnSfnObsTimeDiff2; |
|
13530 }; |
|
13531 |
|
13532 /**This class contains the FDD mode information of monitored cells*/ |
|
13533 class TMonitoredCellFddV1 |
|
13534 { |
|
13535 public: |
|
13536 /**Primary Common Control Physical CHannel information*/ |
|
13537 TUint16 iPrimaryCpichInfo; |
|
13538 /**Holds the measurement quantities of the UE*/ |
|
13539 TMeasurementQuantityV1 iMeasurementQuantity; |
|
13540 /**Holds the field that would be populated in iMeasurementQuantity*/ |
|
13541 TMeasQnty iMeasQntyStatus; |
|
13542 }; |
|
13543 |
|
13544 /**This class contains the TDD mode information of monitored cells*/ |
|
13545 class TMonitoredCellTddV1 |
|
13546 { |
|
13547 public: |
|
13548 /**Cell identification*/ |
|
13549 TUint8 iCellParametersID; |
|
13550 /**Primary Common Control Physical CHannel received signal code power*/ |
|
13551 TUint8 iPrimaryCcpchRscp; |
|
13552 }; |
|
13553 |
|
13554 /**This contains the monitored cells information in specific mode - FDD/TDD*/ |
|
13555 union TMonitoredCellModeSpecificInfoV1 |
|
13556 { |
|
13557 /**Monitored Cell information in FDD mode*/ |
|
13558 TMonitoredCellFddV1 iMonitoredCellFdd; |
|
13559 /**Monitored Cell information in TDD mode*/ |
|
13560 TMonitoredCellTddV1 iMonitoredCellTdd; |
|
13561 }; |
|
13562 |
|
13563 /**This class contains the measured results for monitored cells on Random Access Channel*/ |
|
13564 class TMonitoredCellRachResultV1 |
|
13565 { |
|
13566 public: |
|
13567 /**Holds the sfn-sfn observed time difference*/ |
|
13568 TSfnSfnObsTimeDifferenceV1 iSfnSfnObsTimeDiff; |
|
13569 /**Holds the monitored cells specific info mode - FDD/TDD*/ |
|
13570 TMonitoredCellModeSpecificInfoV1 iMonitoredCellModeSpecificInfo; |
|
13571 /**ETrue indicates iMonitoredCellModeSpecificInfo is iMonitoredCellFdd. |
|
13572 EFalse indicates iMonitoredCellModeSpecificInfo is iMonitoredCellTdd*/ |
|
13573 TBool iSfnSfnObsTimeDiffStatus; |
|
13574 }; |
|
13575 /** |
|
13576 Horizontal velocity is characterised by the horizontal speed and bearing. |
|
13577 The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. |
|
13578 The bearing provides the direction of the horizontal component of velocity taken clockwise from North. |
|
13579 @see 3GPP TS 23.032 |
|
13580 */ |
|
13581 class THorzVelocityV1 |
|
13582 { |
|
13583 public: |
|
13584 /**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/ |
|
13585 TUint16 iBearing; |
|
13586 /**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/ |
|
13587 TUint16 iHorzSpeed; |
|
13588 }; |
|
13589 |
|
13590 /**This enum holds vertical speed direction*/ |
|
13591 enum TVertSpeedDirection |
|
13592 { |
|
13593 /**Speed direction unknown*/ |
|
13594 ESpeedDirectionUnknown, |
|
13595 /**Upward direction*/ |
|
13596 EUpward, |
|
13597 /**Downward direction*/ |
|
13598 EDownward |
|
13599 }; |
|
13600 |
|
13601 /** |
|
13602 Horizontal velocity is characterised by the horizontal speed and bearing. |
|
13603 The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. |
|
13604 The vertical speed and direction provides the component of velocity of a UE in a vertical direction. |
|
13605 The bearing provides the direction of the horizontal component of velocity taken clockwise from North. |
|
13606 @see 3GPP TS 23.032 |
|
13607 */ |
|
13608 class THorzWithVertVelocityV1 |
|
13609 { |
|
13610 public: |
|
13611 /**Direction of vertical speed*/ |
|
13612 TVertSpeedDirection iVertSpeedDirection; |
|
13613 /**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/ |
|
13614 TUint16 iBearing; |
|
13615 /**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/ |
|
13616 TUint16 iHorzSpeed; |
|
13617 /**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/ |
|
13618 TUint8 iVertSpeed; |
|
13619 }; |
|
13620 |
|
13621 /** |
|
13622 Horizontal velocity with uncertainty is characterised by a horizontal speed and bearing, |
|
13623 giving a horizontal velocity vector V, and an uncertainty speed s. |
|
13624 @see 3GPP TS 23.032 |
|
13625 */ |
|
13626 class THorzVelocityWithUncertaintyV1 |
|
13627 { |
|
13628 public: |
|
13629 /** The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/ |
|
13630 TUint16 iBearing; |
|
13631 /**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/ |
|
13632 TUint16 iHorzSpeed; |
|
13633 /** |
|
13634 Horizontal speed uncertainty. |
|
13635 */ |
|
13636 TUint8 iHorzSpeedUncertainty; |
|
13637 }; |
|
13638 |
|
13639 /** |
|
13640 Horizontal and vertical velocity with uncertainty is characterised by a horizontal speed and bearing, |
|
13641 giving a horizontal velocity vector Vx,y, a vertical speed and direction giving a vertical velocity component Vz, |
|
13642 and uncertainty speeds s1 and s2. |
|
13643 @see 3GPP TS 23.032 |
|
13644 */ |
|
13645 class THorzWithVertVelocityAndUncertaintyV1 |
|
13646 { |
|
13647 public: |
|
13648 /** |
|
13649 The direction of movement is given in degrees where '0' represents North, '90' represents East, etc. |
|
13650 */ |
|
13651 TUint16 iBearing; |
|
13652 /**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/ |
|
13653 TUint16 iHorzSpeed; |
|
13654 /**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/ |
|
13655 TUint8 iVertSpeed; |
|
13656 /**Horizontal speed uncertainty.*/ |
|
13657 TUint8 iHorzSpeedUncertainty; |
|
13658 }; |
|
13659 |
|
13660 /** |
|
13661 This class contains the possible ways of velocity estimates |
|
13662 @see 3GPP TS 23.032 |
|
13663 */ |
|
13664 union TVelocityEstimateV1 |
|
13665 { |
|
13666 /**Horizontal velocity*/ |
|
13667 THorzVelocityV1 iHorzVelocity; |
|
13668 /**Horizontal velockity and vertical velocity*/ |
|
13669 THorzWithVertVelocityV1 iHorzWithVertVelocity; |
|
13670 /**Horizontal velocity with uncertainty*/ |
|
13671 THorzVelocityWithUncertaintyV1 iHorzVelocityWithUncertainty; |
|
13672 /**Horizontal and vertical velocity with uncertainty*/ |
|
13673 THorzWithVertVelocityAndUncertaintyV1 iHorzWithVertVelocityAndUncertainty; |
|
13674 }; |
|
13675 |
|
13676 /**This class contains the measured results on Random Access Channel*/ |
|
13677 class TMeasuredResultsOnRachV1 |
|
13678 { |
|
13679 public: |
|
13680 /**Current cell information*/ |
|
13681 TCurrentCellV1 iCurrentCell; |
|
13682 /**Monitored Cell information*/ |
|
13683 TMonitoredCellRachResultV1 iMonitoredCellsRachList[KMaxMonitoredCells]; |
|
13684 /**ETrue indicates iCurrentCell is iFdd. |
|
13685 EFalse indicates iCurrentCell is iTdd*/ |
|
13686 TBool iCurrentCellStatus; |
|
13687 }; |
|
13688 |
|
13689 /** |
|
13690 Identifies the channel in combination with the Midamble shift and slot number. |
|
13691 It is not used in 1.28 Mcps TDD and may be set to either value and should be ignored by the receiver. |
|
13692 */ |
|
13693 enum TBurstType |
|
13694 { |
|
13695 /**Burst type 1*/ |
|
13696 EType1, |
|
13697 /**Burst type 2*/ |
|
13698 EType2 |
|
13699 }; |
|
13700 |
|
13701 /**This class contains UE positioning estimates specific to TDD*/ |
|
13702 class TPosEstimateTddV1 |
|
13703 { |
|
13704 public: |
|
13705 /**Identifies the channel in combination with the Midamble shift and slot number.*/ |
|
13706 TBurstType iBurstType; |
|
13707 /**Midamble shift*/ |
|
13708 TUint8 iMidambleShift; |
|
13709 /** |
|
13710 This member data is present only if no IPDL scheme is configured in the reference cell. |
|
13711 Otherwise the slot is defined by the IPDL configuration. |
|
13712 */ |
|
13713 TUint8 iTimeSlotNumber; |
|
13714 /** |
|
13715 Cell identification |
|
13716 */ |
|
13717 TUint8 iCellParametersID; |
|
13718 }; |
|
13719 |
|
13720 /**This class contains UE positioning estimates specific to FDD/TDD*/ |
|
13721 union TPosEstimateModeSpecificInfoV1 |
|
13722 { |
|
13723 /**Identifies the reference cell for the GPS TOW-SFN relationship.*/ |
|
13724 TUint16 iPrimaryCpichInfo; |
|
13725 /**Holds the cell and channel identification*/ |
|
13726 TPosEstimateTddV1 iCellAndChannelID; |
|
13727 }; |
|
13728 |
|
13729 /**This class contains the cell timing information*/ |
|
13730 class TCellTimingV1 |
|
13731 { |
|
13732 public: |
|
13733 /** |
|
13734 SFN during which the position was calculated. |
|
13735 */ |
|
13736 TUint16 iSfn; |
|
13737 /**Holds the UE positioning estimates specific to mode - FDD or TDD*/ |
|
13738 TPosEstimateModeSpecificInfoV1 iPosEstimateModeSpecificInfo; |
|
13739 /**ETrue indicates iPosEstimateModeSpecificInfo is iPrimaryCpichInfo. |
|
13740 EFalse indicates iPosEstimateModeSpecificInfo is iCellAndChannelID.*/ |
|
13741 TBool iPosEstimateModeStatus; |
|
13742 }; |
|
13743 |
|
13744 /**This class captures the GPS measurement specific to FDD or TDD*/ |
|
13745 union TGpsMeasModeSpecificInfoV1 |
|
13746 { |
|
13747 /**Frequency Division Duplex identification*/ |
|
13748 TUint16 iFddRefID; |
|
13749 /**Time Division Duplex identification*/ |
|
13750 TUint8 iTddRefID; |
|
13751 }; |
|
13752 |
|
13753 /**This class contains results of the GPS reference time*/ |
|
13754 class TUtranGpsRefTimeResultV1 |
|
13755 { |
|
13756 public: |
|
13757 /**UE-GPS timing of cell ms-part*/ |
|
13758 TUint16 iMsPart; |
|
13759 /**UE-GPS timing of cell ls-part*/ |
|
13760 TUint16 iLsPart; |
|
13761 /**Holds the GPS measurement specific to FDD or TDD*/ |
|
13762 TGpsMeasModeSpecificInfoV1 iGpsMeasModeSpecificInfo; |
|
13763 /**Cell System Frame Number*/ |
|
13764 TUint16 iSfn; |
|
13765 /**ETrue indicates iGpsMeasModeSpecificInfo is iFddRefID. |
|
13766 EFalse indicates iGpsMeasModeSpecificInfo is iTddRefID*/ |
|
13767 TBool iGpsMeasModeStatus; |
|
13768 }; |
|
13769 |
|
13770 /**This union contains the UE positioning reference time*/ |
|
13771 union TPosReferenceTimeV1 |
|
13772 { |
|
13773 /**Contains the results of GPS reference time*/ |
|
13774 TUtranGpsRefTimeResultV1 iUtranGpsRefTimeResult; |
|
13775 /**Contains the GPS reference time*/ |
|
13776 TUint16 iGpsRefTimeOnly; |
|
13777 }; |
|
13778 |
|
13779 /** |
|
13780 This class contains the information of ellipsoid. |
|
13781 It consists of a latitude and a longitude. |
|
13782 @see 3GPP TS 23.032 |
|
13783 */ |
|
13784 class TEllipsoidPointV1 |
|
13785 { |
|
13786 public: |
|
13787 /**Specifies the sign - North/South*/ |
|
13788 TLatitudeSign iLatitudeSign; |
|
13789 /** |
|
13790 A north/south angular measurement of position relative to the equator, |
|
13791 in the meridian plane which contains the earth's rotation axis |
|
13792 */ |
|
13793 TUint16 iLatitude; |
|
13794 /** |
|
13795 An east/west angular measurement of position in relation to the Prime Meridian. |
|
13796 The angle between the two great circles, one being the Prime (or Greenwich) Meridian |
|
13797 and the other a meridian passing through the point of interest. |
|
13798 */ |
|
13799 TInt16 iLongitude; |
|
13800 }; |
|
13801 |
|
13802 /** |
|
13803 It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r |
|
13804 @see 3GPP TS 23.032 |
|
13805 */ |
|
13806 class TEllipsoidPointUncertCircleV1 |
|
13807 { |
|
13808 public: |
|
13809 /**Specifies the sign - North/South*/ |
|
13810 TLatitudeSign iLatitudeSign; |
|
13811 /** |
|
13812 A north/south angular measurement of position relative to the equator, |
|
13813 in the meridian plane which contains the earth's rotation axis |
|
13814 */ |
|
13815 TUint16 iLatitude; |
|
13816 /** |
|
13817 An east/west angular measurement of position in relation to the Prime Meridian. |
|
13818 The angle between the two great circles, one being the Prime (or Greenwich) Meridian |
|
13819 and the other a meridian passing through the point of interest. |
|
13820 */ |
|
13821 TInt16 iLongitude; |
|
13822 /**Uncertainty code*/ |
|
13823 TUint8 iUncertaintyCode; |
|
13824 }; |
|
13825 |
|
13826 /** |
|
13827 It is characterised by the co-ordinates of an ellipsoid point (the origin), |
|
13828 distances r1 and r2 and an angle of orientation A |
|
13829 @see 3GPP TS 23.032 |
|
13830 */ |
|
13831 class TEllipsoidPointUncertEllipseV1 |
|
13832 { |
|
13833 public: |
|
13834 /**Specifies the sign - North/South*/ |
|
13835 TLatitudeSign iLatitudeSign; |
|
13836 /** |
|
13837 A north/south angular measurement of position relative to the equator, |
|
13838 in the meridian plane which contains the earth's rotation axis |
|
13839 */ |
|
13840 TUint16 iLatitude; |
|
13841 /** |
|
13842 An east/west angular measurement of position in relation to the Prime Meridian. |
|
13843 The angle between the two great circles, one being the Prime (or Greenwich) Meridian |
|
13844 and the other a meridian passing through the point of interest. |
|
13845 */ |
|
13846 TInt16 iLongitude; |
|
13847 /**Uncertainty semi major axis*/ |
|
13848 TUint8 iUncertaintySemiMajor; |
|
13849 /**Uncertainty semi minor axis*/ |
|
13850 TUint8 iUncertaintySemiMinor; |
|
13851 /**Orientation of major axis*/ |
|
13852 TUint8 iOrientationMajorAxis; |
|
13853 /**The confidence by which the position of a target entity is known to be within the shape description*/ |
|
13854 TUint8 iConfidence; |
|
13855 }; |
|
13856 |
|
13857 /** |
|
13858 The description of an ellipsoid point with altitude is that of a point at a specified distance |
|
13859 above or below a point on the earth's surface. This is defined by an ellipsoid point |
|
13860 with the given longitude and latitude and the altitude above or below the ellipsoid point. |
|
13861 @see 3GPP TS 23.032 |
|
13862 */ |
|
13863 class TEllipsoidPointAltitudeV1 |
|
13864 { |
|
13865 public: |
|
13866 /**Specifies the sign - North/South*/ |
|
13867 TLatitudeSign iLatitudeSign; |
|
13868 /** |
|
13869 A north/south angular measurement of position relative to the equator, |
|
13870 in the meridian plane which contains the earth's rotation axis |
|
13871 */ |
|
13872 TUint16 iLatitude; |
|
13873 /** |
|
13874 An east/west angular measurement of position in relation to the Prime Meridian. |
|
13875 The angle between the two great circles, one being the Prime (or Greenwich) Meridian |
|
13876 and the other a meridian passing through the point of interest. |
|
13877 */ |
|
13878 TInt16 iLongitude; |
|
13879 /**Direction of altitude*/ |
|
13880 TAltDirection iAltDirection; |
|
13881 /**Degree of altitude*/ |
|
13882 TUint16 iAltitude; |
|
13883 }; |
|
13884 |
|
13885 /** |
|
13886 characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"), |
|
13887 r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A |
|
13888 (the "angle of the major axis") |
|
13889 @see 3GPP TS 23.032 |
|
13890 */ |
|
13891 class TEllipsoidPointAltitudeEllipseV1 |
|
13892 { |
|
13893 public: |
|
13894 /**Specifies the sign - North/South*/ |
|
13895 TLatitudeSign iLatitudeSign; |
|
13896 /** |
|
13897 A north/south angular measurement of position relative to the equator, |
|
13898 in the meridian plane which contains the earth's rotation axis |
|
13899 */ |
|
13900 TUint16 iLatitude; |
|
13901 /** |
|
13902 An east/west angular measurement of position in relation to the Prime Meridian. |
|
13903 The angle between the two great circles, one being the Prime (or Greenwich) Meridian |
|
13904 and the other a meridian passing through the point of interest. |
|
13905 */ |
|
13906 TInt16 iLongitude; |
|
13907 /**Direction of altitude*/ |
|
13908 TAltDirection iAltDirection; |
|
13909 /**Degree of latitude*/ |
|
13910 TUint16 iAltitude; |
|
13911 /**Uncertainty semi major axis*/ |
|
13912 TUint8 iUncertaintySemiMajor; |
|
13913 /**Uncertainty semi minor axis*/ |
|
13914 TUint8 iUncertaintySemiMinor; |
|
13915 /**Orientation of major axis*/ |
|
13916 TUint8 iOrientationMajorAxis; |
|
13917 /**The confidence by which the position of a target entity is known to be within the shape description*/ |
|
13918 TUint8 iConfidence; |
|
13919 }; |
|
13920 |
|
13921 /**This union holds the possible forms of position estimate of the UE that can be captured.*/ |
|
13922 union TPositionEstimateV1 |
|
13923 { |
|
13924 /** |
|
13925 The description of an ellipsoid point is that of a point |
|
13926 on the surface of the ellipsoid, and consists of a latitude and a longitude. |
|
13927 @see 3GPP TS 23.032 |
|
13928 */ |
|
13929 TEllipsoidPointV1 iEllipsoidPoint; |
|
13930 /** |
|
13931 It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r |
|
13932 @see 3GPP TS 23.032 |
|
13933 */ |
|
13934 TEllipsoidPointUncertCircleV1 iEllipsoidPointUncertCircle; |
|
13935 /** |
|
13936 It is characterised by the co-ordinates of an ellipsoid point (the origin), |
|
13937 distances r1 and r2 and an angle of orientation A |
|
13938 @see 3GPP TS 23.032 |
|
13939 */ |
|
13940 TEllipsoidPointUncertEllipseV1 iEllipsoidPointUncertEllipse; |
|
13941 /** |
|
13942 The description of an ellipsoid point with altitude is that of a point at a specified distance |
|
13943 above or below a point on the earth's surface. This is defined by an ellipsoid point |
|
13944 with the given longitude and latitude and the altitude above or below the ellipsoid point. |
|
13945 @see 3GPP TS 23.032 |
|
13946 */ |
|
13947 TEllipsoidPointAltitudeV1 iEllipsoidPointAltitude; |
|
13948 /** |
|
13949 characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"), |
|
13950 r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A |
|
13951 (the "angle of the major axis") |
|
13952 @see 3GPP TS 23.032 |
|
13953 */ |
|
13954 TEllipsoidPointAltitudeEllipseV1 iEllipsoidPointAltitudeEllipsoide; |
|
13955 }; |
|
13956 |
|
13957 /**This contains the positioning estimate reference time*/ |
|
13958 union TPosEstimateRefTime |
|
13959 { |
|
13960 /**Contains results of the GPS reference time*/ |
|
13961 TUtranGpsRefTimeResultV1 iUtranGpsRefTimeResult; |
|
13962 /**Contains the GPS reference time */ |
|
13963 TUint16 iGpsRefTimeOnly; |
|
13964 /**Contains the cell timing*/ |
|
13965 TCellTimingV1 iCellTiming; |
|
13966 }; |
|
13967 |
|
13968 /** |
|
13969 Provides the position estimate from the UE to the network, |
|
13970 if the UE is capable of determining its own position. |
|
13971 */ |
|
13972 class TUePosPositionEstimateInfoV1 |
|
13973 { |
|
13974 public: |
|
13975 /**UE positioning estimate reference time*/ |
|
13976 TPosEstimateRefTime iPosEstimateRefTime; |
|
13977 /**Holds the UE's position estimate |
|
13978 @see TPositionEstimateV1 |
|
13979 */ |
|
13980 TPositionEstimateV1 iPostionEstimate; |
|
13981 /**Holds the field that would be populated in iPosEstimateRefTime*/ |
|
13982 TPosEstimateInfo iPosEstimateRefTimeStatus; |
|
13983 /**Holds the field that would be populated in iPosEstimate*/ |
|
13984 TPosEstimateInfo iPosEstimateStatus; |
|
13985 }; |
|
13986 |
|
13987 /**This enum contains the multipath indicators*/ |
|
13988 enum TMultipathIndicator |
|
13989 { |
|
13990 /** |
|
13991 Multipath indicator unknown |
|
13992 This is an invalid indicator. |
|
13993 */ |
|
13994 EMPUnknown, |
|
13995 /**Not measured*/ |
|
13996 ENm, |
|
13997 /**MP error < 5m*/ |
|
13998 ELow, |
|
13999 /**5m < MP error < 43m*/ |
|
14000 EMedium, |
|
14001 /**MP error > 43m*/ |
|
14002 EHigh |
|
14003 }; |
|
14004 |
|
14005 /**This class contains the GPS measurement parameters of the UE*/ |
|
14006 class TGpsMeasMeasurementParamV1 |
|
14007 { |
|
14008 public: |
|
14009 /**Satellite Identification*/ |
|
14010 TUint8 iSatID; |
|
14011 /** |
|
14012 The estimate of the carrier-to-noise ratio of the received signal from the particular |
|
14013 satellite used in the measurement. It is given in units of dB-Hz (typical levels will |
|
14014 be in the range of 20 - 50 dB-Hz). |
|
14015 */ |
|
14016 TUint8 iCN0; |
|
14017 /** |
|
14018 It is the instantaneous frequency difference between the receiver's internal oscillator |
|
14019 and the received carrier from the satellite. Hz, scale factor 0.2. |
|
14020 */ |
|
14021 TInt16 iDoppler; |
|
14022 /** |
|
14023 Unit in GPS chips. |
|
14024 Whole value of the UE GPS code-phase measurement, where increasing binary values of the field |
|
14025 signify increasing measured pseudoranges. |
|
14026 */ |
|
14027 TUint16 iWholeGpsChips; |
|
14028 /** |
|
14029 The UE GPS code-phase measurement is divided into the fields "Whole GPS Chips" and "Fractional GPS Chips". |
|
14030 Scale factor 2-10 Fractional value of the UE GPS code-phase measurement. |
|
14031 */ |
|
14032 TUint16 iFractionalGpsChips; |
|
14033 /** |
|
14034 Contains the possible multipath indicators. Multipath error is usually caused by one path being bounced or |
|
14035 reflected. The impact on a pseudo-range measurement may be up to a few metres. In the case of carrier phase, |
|
14036 this is of the order of a few centimetres. |
|
14037 */ |
|
14038 TMultipathIndicator iMultipathIndicator; |
|
14039 /** |
|
14040 A distance measurement based on the correlation of a satellite's transmitted code (may be the C/A-Code or |
|
14041 the encrypted P-Code) and the local receiver's reference code (for that PRN satellite number), |
|
14042 that has not been corrected for errors in synchronisation between the transmitter's clock and the receiver's clock. |
|
14043 Hence a pseudo-range measurement is a time-error biased distance measurement. |
|
14044 */ |
|
14045 TUint8 iPseudorangeRmsError; |
|
14046 }; |
|
14047 |
|
14048 /**This class contains the GPS measurement parameters and the positioning reference time*/ |
|
14049 class TUePosGpsMeasurementResultsV1 |
|
14050 { |
|
14051 public: |
|
14052 /**UE positioning reference time*/ |
|
14053 TPosReferenceTimeV1 iPosGpsMeasRefTime; |
|
14054 /**Holds the GPS measurement parameters from all the active satellites*/ |
|
14055 TGpsMeasMeasurementParamV1 iGpsMeasurementParamList[KMaxSat]; |
|
14056 /**ETrue indicates TPosReferenceTimeV1::iUtranGpsRefTimeResult is populated. |
|
14057 EFalse indicates TPosReferenceTimeV1::iGpsRefTimeOnly is populated*/ |
|
14058 TBool iPosGpsMeasRefTimeStatus; |
|
14059 }; |
|
14060 |
|
14061 /** |
|
14062 This enum lists all the possible errors that UE can report to the network |
|
14063 */ |
|
14064 enum TPosErrorCause |
|
14065 { |
|
14066 /** |
|
14067 Error Cause Unknown. This is an invalid error cause and is set if the UE does not set with |
|
14068 any of the underlying valid error causes |
|
14069 */ |
|
14070 EErrorCauseUnknown, |
|
14071 /**Indicates that enought number of GPS satellites are healthy and active.*/ |
|
14072 ENotEnoughGpsSatellites, |
|
14073 /**Assistance data required to compute location of the UE is missing in the measurement control. |
|
14074 If the Additional data request flag is true in the measurement control only then additional assistance |
|
14075 data can be requested otherwise measurements need to be done using the existing assistance data |
|
14076 @see TGpsAddlAssistDataReqV1 |
|
14077 @see TUePosReportingQuantityV1 |
|
14078 */ |
|
14079 EAssistanceDataMissing, |
|
14080 /** |
|
14081 Cell Frames Timings are not accomplished |
|
14082 */ |
|
14083 ENotAccomplishedGpsTimingOfCellFrames, |
|
14084 /** |
|
14085 UE can set this error in case other than the above mentioned is encountered |
|
14086 */ |
|
14087 EUndefinedError, |
|
14088 /** |
|
14089 UE denies Location information |
|
14090 */ |
|
14091 ERequestDeniedByUser, |
|
14092 }; |
|
14093 |
|
14094 /** |
|
14095 This class contains the positioning errors that might have encountered during |
|
14096 measurement of location of the UE. |
|
14097 */ |
|
14098 class TUePosError |
|
14099 { |
|
14100 public: |
|
14101 /**Indicates the error cause encountered while computing GPS Assistance data*/ |
|
14102 TPosErrorCause iPosErrorCause; |
|
14103 /**If error cause is "Assistance Data Missing" and iAddlAssistanceDataReq is set to ETrue then |
|
14104 then this member shall indicate what additional assistance data is needed. |
|
14105 If iAddlAssistanceDataReq is set to EFalse then existing assistance data is used to compute location |
|
14106 information of the UE. |
|
14107 @see TUePosReportingQuantityV1::iAddlAssistanceDataReq*/ |
|
14108 TGpsAddlAssistDataReqV1 iGpsAddlAssistDataReq; |
|
14109 }; |
|
14110 |
|
14111 /** |
|
14112 This class contains the measurement results computed by the UE. |
|
14113 */ |
|
14114 class TUePosMeasuredResultsV1 |
|
14115 { |
|
14116 public: |
|
14117 /**The purpose of this is to provide the position estimate from the UE to the network, |
|
14118 if the UE is capable of determining its own position.*/ |
|
14119 TUePosPositionEstimateInfoV1 iUePosPositionEstimateInfo; |
|
14120 /**Contains the GPS measurement parameters and the positioning reference time*/ |
|
14121 TUePosGpsMeasurementResultsV1 iUePosGpsMeasurement; |
|
14122 /**Indicates the error cause and/or additional assistance data is required*/ |
|
14123 TUePosError iUePosError; |
|
14124 /** |
|
14125 ETrue indicates some error has encountered. iUePosError will be populated. |
|
14126 EFalse indicates Gps Assistance Data is received and no error has encountered while processing. |
|
14127 Hence iUePosPositionEstimateInfo and iUePosGpsMeasurement will be populated |
|
14128 */ |
|
14129 TBool iPosErrorStatus; |
|
14130 }; |
|
14131 |
|
14132 /**Contains the measured location information of the UE*/ |
|
14133 union TMeasuredResultsV1 |
|
14134 { |
|
14135 /** |
|
14136 This member either contains the measurement results or the error that might have |
|
14137 encountered during measurements. |
|
14138 */ |
|
14139 TUePosMeasuredResultsV1 iTUePosMeasuredResults; |
|
14140 /** |
|
14141 A spare member for future use. |
|
14142 */ |
|
14143 TBool iSpare; |
|
14144 }; |
|
14145 |
|
14146 /** |
|
14147 This class contains the measurement report expected as response to the measurement control sent by the |
|
14148 network. Veloctiy estimates are included if requested in measurement control. |
|
14149 */ |
|
14150 class TMeasurementReportV7 : public RMobilePhone::TMultimodeType |
|
14151 { |
|
14152 public: |
|
14153 IMPORT_C TMeasurementReportV7(); |
|
14154 public: |
|
14155 /**A reference number that should be used by the UTRAN when setting up, |
|
14156 modifying or releasing the measurement and by the UE in the measurement report. |
|
14157 */ |
|
14158 TUint8 iMeasurementIdentity; |
|
14159 /**Contains the measured location information of the UE*/ |
|
14160 TMeasuredResultsV1 iMeasuredResults; |
|
14161 /**Contains the measured results on Random Access Channel*/ |
|
14162 TMeasuredResultsOnRachV1 iMeasuredResultsOnRach; |
|
14163 /**Contains the velocity estimates of the UE*/ |
|
14164 TVelocityEstimateV1 iVelocityEstimate; |
|
14165 /** |
|
14166 Indicates the populated member in iVelocityEstimate if velocity estimate is computed. |
|
14167 Otherwise indicates that velocity estimate is not computed. |
|
14168 */ |
|
14169 TVelEstimate iVelEstimateStatus; |
|
14170 }; |
|
14171 /** |
|
14172 A typedef'd packaged TMeasurementReportV7 for passing through a |
|
14173 generic API method. |
|
14174 |
|
14175 @publishedPartner |
|
14176 */ |
|
14177 typedef TPckg<TMeasurementReportV7> TMeasurementReportV7Pckg; |
|
14178 |
|
14179 //*********************************************// |
|
14180 // Measurement Control Failure data structure // |
|
14181 //*********************************************// |
|
14182 |
|
14183 /** |
|
14184 This enum contains the list of errors that the UE can specify. |
|
14185 The Measurement control failure is caused only when the the UE |
|
14186 cannot initiate a measurement as instructed by the network. |
|
14187 */ |
|
14188 enum TMeasurementControlFailure |
|
14189 { |
|
14190 /** |
|
14191 Unknown Measurement Control Failure. |
|
14192 This is an invalid failure state whic will be set if the UE does not set with the |
|
14193 underlying valid error reasons. |
|
14194 */ |
|
14195 EControlFailureUnknown, |
|
14196 /**Indicates ASN1.0 encoding is incorrect*/ |
|
14197 EAsn1ViolationOrEncoding, |
|
14198 /**Messsgae type specified is not existent*/ |
|
14199 EMsgTypeNonExistent, |
|
14200 /**Message is not compatible*/ |
|
14201 EMsgNotCompatibleWithReceiverState, |
|
14202 /**Information sent cannot be understood*/ |
|
14203 EIeValueNotComprehend, |
|
14204 /**Information expected is not present*/ |
|
14205 EInformationElementMissing, |
|
14206 /*Message extension cannot be understood*/ |
|
14207 EMsgExtnNotComprehend |
|
14208 }; |
|
14209 |
|
14210 /** |
|
14211 This enum contains the possible domains used by MOLR |
|
14212 */ |
|
14213 enum TDomain |
|
14214 { |
|
14215 /**Packet switch domain is the default domain that will be used by Molr*/ |
|
14216 EPacketSwitchedDomain, |
|
14217 /**UE shall set the domain to Circuit switch whenever Molr is intended to use it*/ |
|
14218 ECircuitSwitchedDomain |
|
14219 }; |
|
14220 |
|
14221 /** |
|
14222 The UE Positioning Technology value, as defined in 3GPP TS 34.109 V7.2.0 Section 6.10 |
|
14223 @publishedPartner |
|
14224 @released |
|
14225 */ |
|
14226 enum TUePosTechnology |
|
14227 { |
|
14228 /** A-GPS */ |
|
14229 KUePosTechnologyAGPS = 0 |
|
14230 }; |
|
14231 |
|
14232 IMPORT_C void NotifyMtlr(TRequestStatus& aReqStatus,TDes8& aNotifyMtlr); |
|
14233 IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrResponse aMtlrResponse); |
|
14234 IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrError aMtlrResponse); |
|
14235 IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrReject aMtlrResponse); |
|
14236 IMPORT_C void SendMolr(TRequestStatus& aReqStatus,const TDesC8& aStartMolr,TDes8& aMolrReturnResult); |
|
14237 IMPORT_C void NotifyMeasurementControl(TRequestStatus& aReqStatus,TDes8& aMeasurementControl); |
|
14238 IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TDesC8& aMeasurementReport); |
|
14239 IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TMeasurementControlFailure aMeasurementControlFailure); |
|
14240 IMPORT_C TInt SetLcsDomain(const TDomain aDomain); |
|
14241 IMPORT_C void NotifyResetUePositioningInformation(TRequestStatus& aReqStatus, TUePosTechnology& aUePosTechnology) const; |
|
14242 |
|
14243 private: |
|
14244 void ConstructL(); |
|
14245 void Destruct(); |
|
14246 private: |
|
14247 /** |
|
14248 Pointer Holder for the RMobileLocationServices sub-session requests. |
|
14249 */ |
|
14250 CMobileLocationServicesPtrHolder* iMmPtrHolder; |
|
14251 }; |
|
14252 |
|
14253 #endif // __ETELMM_H__ |