26
|
1 |
/*
|
|
2 |
* Copyright (c) 2000-2007 Nokia Corporation and/or its subsidiary(-ies).
|
|
3 |
* All rights reserved.
|
|
4 |
* This component and the accompanying materials are made available
|
|
5 |
* under the terms of "Eclipse Public License v1.0"
|
|
6 |
* which accompanies this distribution, and is available
|
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
|
|
8 |
*
|
|
9 |
* Initial Contributors:
|
|
10 |
* Nokia Corporation - initial contribution.
|
|
11 |
*
|
|
12 |
* Contributors:
|
|
13 |
*
|
|
14 |
* Description:
|
|
15 |
*
|
|
16 |
*/
|
|
17 |
|
|
18 |
|
|
19 |
/**
|
|
20 |
@file
|
|
21 |
|
|
22 |
Multimode ETel API header file.
|
|
23 |
|
|
24 |
Describes the MM ETel API - classes, methods and types.
|
|
25 |
|
|
26 |
@publishedPartner
|
|
27 |
@released
|
|
28 |
*/
|
|
29 |
|
|
30 |
#ifndef __ETELMM_H__
|
|
31 |
#define __ETELMM_H__
|
|
32 |
|
|
33 |
#include <e32base.h>
|
|
34 |
#include <s32mem.h>
|
|
35 |
#include <etel.h>
|
|
36 |
#include <etelmmcs.h>
|
|
37 |
|
|
38 |
|
|
39 |
/**
|
|
40 |
Internal API/TSY delimiter used to pass the phonebook type
|
|
41 |
*/
|
|
42 |
#define PHBOOK_DELIMITER _L("//")
|
|
43 |
/** The size of the phone book delimiter string.
|
|
44 |
@internalComponent
|
|
45 |
*/
|
|
46 |
const TInt KSizeOfPhbookDelimiter=2;
|
|
47 |
|
|
48 |
/**
|
|
49 |
Names for Multimode ETel sub-sessions
|
|
50 |
*/
|
|
51 |
_LIT(KETelMeAdnPhoneBook,"S1");
|
|
52 |
_LIT(KETelMeDialledPhoneBook,"S2");
|
|
53 |
_LIT(KETelMeMissedPhoneBook,"S3");
|
|
54 |
_LIT(KETelMeReceivedPhoneBook,"S4");
|
|
55 |
_LIT(KETelCombinedAdnPhoneBook,"S5");
|
|
56 |
_LIT(KETelTaAdnPhoneBook,"S6");
|
|
57 |
_LIT(KETelIccAdnPhoneBook,"S7");
|
|
58 |
_LIT(KETelIccFdnPhoneBook,"S8");
|
|
59 |
_LIT(KETelIccSdnPhoneBook,"S9");
|
|
60 |
_LIT(KETelIccBdnPhoneBook,"S10");
|
|
61 |
_LIT(KETelIccLndPhoneBook,"S11");
|
|
62 |
_LIT(KETelIccVoiceMailBox,"S12");
|
|
63 |
|
|
64 |
_LIT(KETelMeSmsStore,"S13");
|
|
65 |
_LIT(KETelIccSmsStore,"S14");
|
|
66 |
_LIT(KETelCombinedSmsStore,"S15");
|
|
67 |
|
|
68 |
_LIT(KETelNamStore,"S16");
|
|
69 |
_LIT(KETelOwnNumberStore,"S17");
|
|
70 |
_LIT(KETelEmergencyNumberStore,"S18");
|
|
71 |
|
|
72 |
_LIT(KETelSmsMessaging,"S19");
|
|
73 |
_LIT(KETelBroadcastMessaging,"S20");
|
|
74 |
_LIT(KETelUssdMessaging,"S21");
|
|
75 |
|
|
76 |
_LIT(KETelConferenceCall,"S22");
|
|
77 |
|
|
78 |
_LIT(KETelIccMbdnPhoneBook, "S23");
|
|
79 |
_LIT(KETelIccMsisdnPhoneBook, "S24");
|
|
80 |
_LIT(KETelIccOciPhoneBook, "S25");
|
|
81 |
_LIT(KETelIccIciPhoneBook, "S26");
|
|
82 |
_LIT(KETelIccNamStore ,"S27");
|
|
83 |
_LIT(KETelIccInfoPhoneBook, "S28");
|
|
84 |
|
|
85 |
_LIT(KETelLocationServices,"S29");
|
|
86 |
|
|
87 |
// Types for Multimode ETel sub-sessions
|
|
88 |
|
|
89 |
_LIT(KEtelCdmaPhoneBookType,"T1");
|
|
90 |
_LIT(KEtelGsmPhoneBookType,"T2");
|
|
91 |
_LIT(KEtelUSimPhoneBookType,"T3");
|
|
92 |
|
|
93 |
// Types for SmartCardEap sub-sessions
|
|
94 |
|
|
95 |
/**
|
|
96 |
The prefix to all RMobileSmartCardEap sub-session names.
|
|
97 |
*/
|
|
98 |
_LIT(KETelSmartCardEapSession, "ScEap");
|
|
99 |
/**
|
|
100 |
The length of KETelSmartCardEapSession. Used to obtain a const value
|
|
101 |
for this length at compile-time.
|
|
102 |
*/
|
|
103 |
#define SCEAP_SSN_LENGTH 5
|
|
104 |
|
|
105 |
/**
|
|
106 |
EAP-MD5 type identifier. Value taken from section 5 of RFC 3748 Jun 2004.
|
|
107 |
This should be used as the EAP type identifier value of
|
|
108 |
RMobileSmartCardEap::Open() if standard EAP-MD5 challenges are to be used.
|
|
109 |
|
|
110 |
This value corresponds to one of the possible values returned in the type
|
|
111 |
list of TUiccApplicationEapInfoV6.
|
|
112 |
|
|
113 |
(Decimal value = 4)
|
|
114 |
|
|
115 |
@see RMobileSmartCardEap::Open()
|
|
116 |
@see RMobilePhone::TUiccApplicationEapInfoV6
|
|
117 |
*/
|
|
118 |
_LIT8(KETelSmartCardEapTypeMD5, "04");
|
|
119 |
|
|
120 |
/**
|
|
121 |
EAP-TLS type identifier. Value taken from section 4.1 of RFC 2716 Oct 1999.
|
|
122 |
This should be used as the EAP type identifier value of
|
|
123 |
RMobileSmartCardEap::Open() if standard EAP-TLS is to be used.
|
|
124 |
|
|
125 |
This value corresponds to one of the possible values returned in the type
|
|
126 |
list of TUiccApplicationEapInfoV6.
|
|
127 |
|
|
128 |
(Decimal value = 13)
|
|
129 |
|
|
130 |
@see RMobileSmartCardEap::Open()
|
|
131 |
@see RMobilePhone::TUiccApplicationEapInfoV6
|
|
132 |
*/
|
|
133 |
_LIT8(KETelSmartCardEapTypeTLS, "0D");
|
|
134 |
|
|
135 |
/**
|
|
136 |
EAP-SIM type identifier.
|
|
137 |
This should be used as the EAP type identifier value of
|
|
138 |
RMobileSmartCardEap::Open() if standard EAP-SIM is to be used.
|
|
139 |
|
|
140 |
This value corresponds to one of the possible values returned in the type
|
|
141 |
list of TUiccApplicationEapInfoV6.
|
|
142 |
|
|
143 |
(Decimal value = 18)
|
|
144 |
|
|
145 |
@see RMobileSmartCardEap::Open()
|
|
146 |
@see RMobilePhone::TUiccApplicationEapInfoV6
|
|
147 |
*/
|
|
148 |
_LIT8(KETelSmartCardEapTypeSIM, "12");
|
|
149 |
|
|
150 |
/**
|
|
151 |
EAP-AKA type identifier.
|
|
152 |
This should be used as the EAP type identifier value of
|
|
153 |
RMobileSmartCardEap::Open() if standard EAP-AKA is to be used.
|
|
154 |
|
|
155 |
This value corresponds to one of the possible values returned in the type
|
|
156 |
list of TUiccApplicationEapInfoV6.
|
|
157 |
|
|
158 |
(Decimal value = 23)
|
|
159 |
|
|
160 |
@see RMobileSmartCardEap::Open()
|
|
161 |
@see RMobilePhone::TUiccApplicationEapInfoV6
|
|
162 |
*/
|
|
163 |
_LIT8(KETelSmartCardEapTypeAKA, "17");
|
|
164 |
|
|
165 |
/**
|
|
166 |
EAP-TTLS type identifier.
|
|
167 |
This should be used as the EAP type identifier value of
|
|
168 |
RMobileSmartCardEap::Open() if standard EAP-TTLS is to be used.
|
|
169 |
|
|
170 |
This value corresponds to one of the possible values returned in the type
|
|
171 |
list of TUiccApplicationEapInfoV6.
|
|
172 |
|
|
173 |
(Decimal value = 21)
|
|
174 |
|
|
175 |
@see RMobileSmartCardEap::Open()
|
|
176 |
@see RMobilePhone::TUiccApplicationEapInfoV6
|
|
177 |
*/
|
|
178 |
_LIT8(KETelSmartCardEapTypeTTLS, "15");
|
|
179 |
|
|
180 |
/***********************************************************************************/
|
|
181 |
//
|
|
182 |
// Global Multimode constants and types
|
|
183 |
//
|
|
184 |
/***********************************************************************************/
|
|
185 |
|
|
186 |
/**
|
|
187 |
Unique API identifier and Functional Unit constants
|
|
188 |
Modes: Common
|
|
189 |
*/
|
|
190 |
enum TMultimodeETelV1Api
|
|
191 |
{
|
|
192 |
/** TSY supports the Multimode ETel v1.0 API.
|
|
193 |
|
|
194 |
Modes: Common */
|
|
195 |
KETelExtMultimodeV1=3000, // 3000 is unique reference for Multimode Etel v1.0 API
|
|
196 |
/** TSY supports the MobileSimAccess functional unit.
|
|
197 |
|
|
198 |
Modes: Common */
|
|
199 |
KETelFuncMobileIccAccess,
|
|
200 |
/** TSY supports the MobileNetwork functional unit.
|
|
201 |
|
|
202 |
Modes: Common */
|
|
203 |
KETelFuncMobileNetwork,
|
|
204 |
/** TSY supports the MobileIdentity functional unit.
|
|
205 |
|
|
206 |
Modes: Common */
|
|
207 |
KETelFuncMobileIdentity,
|
|
208 |
/** TSY supports the MobilePower functional unit.
|
|
209 |
|
|
210 |
Modes: Common */
|
|
211 |
KETelFuncMobilePower,
|
|
212 |
/** TSY supports the MobileSignal functional unit.
|
|
213 |
|
|
214 |
Modes: GSM/WCDMA */
|
|
215 |
KETelFuncMobileSignal,
|
|
216 |
/** TSY supports the MobileIndicator functional unit.
|
|
217 |
|
|
218 |
Modes: Common */
|
|
219 |
KETelFuncMobileIndicator,
|
|
220 |
/** TSY supports the MobileDTMF functional unit.
|
|
221 |
|
|
222 |
Modes: Common */
|
|
223 |
KETelFuncMobileDTMF,
|
|
224 |
/** TSY supports the MobileUserNetworkAccess functional unit.
|
|
225 |
|
|
226 |
Modes: Common */
|
|
227 |
KETelFuncMobileUserNetworkAccess,
|
|
228 |
/** TSY supports the MobileIdentityService functional unit.
|
|
229 |
|
|
230 |
Modes: Common */
|
|
231 |
KETelFuncMobileIdentityService,
|
|
232 |
/** TSY supports the MobileCallForwarding functional unit.
|
|
233 |
|
|
234 |
Modes: Common */
|
|
235 |
KETelFuncMobileCallForwarding,
|
|
236 |
/** TSY supports the MobileCallBarring functional unit.
|
|
237 |
|
|
238 |
Modes: GSM/WCDMA */
|
|
239 |
KETelFuncMobileCallBarring,
|
|
240 |
/** TSY supports the MobileCallWaiting functional unit.
|
|
241 |
|
|
242 |
Modes: Common */
|
|
243 |
KETelFuncMobileCallWaiting,
|
|
244 |
/** TSY supports the MobileCallCompletion functional unit. */
|
|
245 |
KETelFuncMobileCallCompletion,
|
|
246 |
/** TSY supports the MobileAlternatingCall functional unit.
|
|
247 |
|
|
248 |
Modes: GSM/WCDMA */
|
|
249 |
KETelFuncMobileAlternatingCall,
|
|
250 |
/** TSY supports the MobileCost functional unit.
|
|
251 |
|
|
252 |
Modes: GSM/WCDMA */
|
|
253 |
KETelFuncMobileCost,
|
|
254 |
/** TSY supports the MobileSecurity functional unit.
|
|
255 |
|
|
256 |
Modes: Common */
|
|
257 |
KETelFuncMobileSecurity,
|
|
258 |
/** TSY supports the MobileAlternateLineService functional unit.
|
|
259 |
|
|
260 |
Modes: GSM/WCDMA */
|
|
261 |
KETelFuncMobileAlternateLineService,
|
|
262 |
/** TSY supports the MobileMessageWaiting functional unit.
|
|
263 |
|
|
264 |
Modes: Common */
|
|
265 |
KETelFuncMobileMessageWaiting,
|
|
266 |
/** TSY supports the MobileFixedDiallingNumbers functional unit.
|
|
267 |
|
|
268 |
Modes: GSM/WCDMA */
|
|
269 |
KETelFuncMobileFixedDiallingNumbers,
|
|
270 |
/** TSY supports the MobileDataCall functional unit.
|
|
271 |
|
|
272 |
Modes: Common */
|
|
273 |
KETelFuncMobileDataCall,
|
|
274 |
/** TSY supports the MobilePrivacy functional unit.
|
|
275 |
|
|
276 |
Modes: CDMA */
|
|
277 |
KETelFuncMobilePrivacy,
|
|
278 |
/** TSY supports the MobileEmergencyCall functional unit.
|
|
279 |
|
|
280 |
Modes: Common */
|
|
281 |
KETelFuncMobileEmergencyCall,
|
|
282 |
/** TSY supports the MobileSmsMessaging functional unit.
|
|
283 |
|
|
284 |
Modes: Common */
|
|
285 |
KETelFuncMobileSmsMessaging,
|
|
286 |
/** TSY supports the MobileBroadcastMessaging functional unit.
|
|
287 |
|
|
288 |
Modes: Common */
|
|
289 |
KETelFuncMobileBroadcastMessaging,
|
|
290 |
/** TSY supports the MobileUssdMessaging functional unit.
|
|
291 |
|
|
292 |
Modes: GSM/WCDMA */
|
|
293 |
KETelFuncMobileUssdMessaging,
|
|
294 |
/** TSY supports the MobileConferenceCall functional unit.
|
|
295 |
|
|
296 |
Modes: Common */
|
|
297 |
KETelFuncMobileConferenceCall,
|
|
298 |
/** TSY supports the MobilePhonebookStore functional unit.
|
|
299 |
|
|
300 |
Modes: Common */
|
|
301 |
KETelFuncMobilePhonebook,
|
|
302 |
/** TSY supports the MobileSmsStore functional unit.
|
|
303 |
|
|
304 |
Modes: Common */
|
|
305 |
KETelFuncMobileSmsStore,
|
|
306 |
/** TSY supports the MobileNamStore functional unit.
|
|
307 |
|
|
308 |
Modes: CDMA */
|
|
309 |
KETelFuncMobileNamStore,
|
|
310 |
/** TSY supports the MobileONStore functional unit.
|
|
311 |
|
|
312 |
Modes: Common */
|
|
313 |
KETelFuncMobileOwnNumberStore,
|
|
314 |
/** TSY supports the MobileENStore functional unit.
|
|
315 |
|
|
316 |
Modes: Common */
|
|
317 |
KETelFuncMobileEmergencyNumberStore,
|
|
318 |
/** TSY supports the MobileMultimedia functional unit.
|
|
319 |
|
|
320 |
Modes: GSM/WCDMA */
|
|
321 |
KETelFuncMobileMulticall,
|
|
322 |
/** TSY supports the MobileNextIncomingCall functional unit.
|
|
323 |
|
|
324 |
Modes: GSM/WCDMA */
|
|
325 |
KETelFuncMobileNextIncomingCall,
|
|
326 |
/** TSY supports the MobileMultimediaCall functional unit.
|
|
327 |
|
|
328 |
Modes: GSM/WCDMA */
|
|
329 |
KETelFuncMobileMultimediaCall,
|
|
330 |
/** TSY supports the MobileUserSignalling functional unit.
|
|
331 |
|
|
332 |
Modes: GSM/WCDMA */
|
|
333 |
KETelFuncMobileUserSignalling
|
|
334 |
};
|
|
335 |
|
|
336 |
/** Unique API identifier and Functional Unit constants.
|
|
337 |
Modes: WCDMA
|
|
338 |
|
|
339 |
*/
|
|
340 |
enum TMultimodeETelV2Api
|
|
341 |
{
|
|
342 |
/** TSY supports the Multimode ETel v2.0 API.
|
|
343 |
|
|
344 |
Modes: WCDMA */
|
|
345 |
KETelExtMultimodeV2=7000, // 7000 is unique reference for Multimode Etel v2.0 API
|
|
346 |
/** TSY supports the MobileMultimediaCallSettings functional unit.
|
|
347 |
|
|
348 |
Modes: WCDMA */
|
|
349 |
KEtelFuncMobileMultimediaCallSettings,
|
|
350 |
/** TSY supports the MobileNetworkSecurity functional unit.
|
|
351 |
|
|
352 |
Modes: WCDMA */
|
|
353 |
KEtelFuncMobileNetworkSecurity,
|
|
354 |
KEtelFuncMobileUSIMApplications
|
|
355 |
};
|
|
356 |
|
|
357 |
/**
|
|
358 |
Enum to define the v3.0 API additions
|
|
359 |
|
|
360 |
*/
|
|
361 |
enum TMultimodeETelV3Api
|
|
362 |
{
|
|
363 |
/**
|
|
364 |
Indicator that the TSY supports the Multimode ETel v3.0 API.
|
|
365 |
*/
|
|
366 |
KETelExtMultimodeV3 = 10000,
|
|
367 |
/**
|
|
368 |
TSY supports the MobileMMSInformation functional unit.
|
|
369 |
*/
|
|
370 |
KEtelFuncMobileMMSInformation, // 10001
|
|
371 |
/**
|
|
372 |
TSY supports the KEtelFuncMobileAirTime functional unit.
|
|
373 |
*/
|
|
374 |
KEtelFuncMobileAirTime, // 10002
|
|
375 |
/**
|
|
376 |
TSY supports the KEtelFuncMobileAutoRedial functional unit.
|
|
377 |
*/
|
|
378 |
KEtelFuncMobileAutoRedial, // 10003
|
|
379 |
/**
|
|
380 |
TSY supports the KEtelFuncMobilePersonalisation functional unit.
|
|
381 |
*/
|
|
382 |
KEtelFuncMobilePersonalisation, // 10004
|
|
383 |
/**
|
|
384 |
TSY supports the KEtelMobileMailboxNumbers functional unit.
|
|
385 |
*/
|
|
386 |
KEtelFuncMobileMailboxNumbers, // 10005
|
|
387 |
/**
|
|
388 |
TSY supports the Mobile APN Control List functional unit.
|
|
389 |
*/
|
|
390 |
KEtelFuncMobileAPNControlList // 10006
|
|
391 |
};
|
|
392 |
|
|
393 |
/**
|
|
394 |
Enum to define the v4.0 API additions
|
|
395 |
|
|
396 |
*/
|
|
397 |
enum TMultimodeETelV4Api
|
|
398 |
{
|
|
399 |
/**
|
|
400 |
Indicator that the TSY supports the Multimode ETel v4.0 API.
|
|
401 |
*/
|
|
402 |
KETelExtMultimodeV4 = 15000
|
|
403 |
};
|
|
404 |
|
|
405 |
|
|
406 |
/** Enum to define Release 5 enabling API and data structures
|
|
407 |
*/
|
|
408 |
enum TMultimodeEtelV5Api
|
|
409 |
{
|
|
410 |
/**
|
|
411 |
Indicator that the TSY supports the Multimode ETel v5.0 API.
|
|
412 |
*/
|
|
413 |
KEtelExtMultimodeV5=20000,
|
|
414 |
/**
|
|
415 |
Indicator that the TSY supports the IMS functional unit.
|
|
416 |
*/
|
|
417 |
KEtelFuncMobileIMS, // 20001
|
|
418 |
/**
|
|
419 |
TSY supports the KEtelFuncMobileSmartCardApplications functional unit.
|
|
420 |
*/
|
|
421 |
KEtelFuncMobileSmartCardApplications // 20002
|
|
422 |
};
|
|
423 |
|
|
424 |
|
|
425 |
/**
|
|
426 |
Enum to define the v6.0 API additions.
|
|
427 |
*/
|
|
428 |
enum TMultimodeEtelV6Api
|
|
429 |
{
|
|
430 |
/**
|
|
431 |
Indicator that the TSY supports the Multimode ETel v6.0 API.
|
|
432 |
*/
|
|
433 |
KEtelExtMultimodeV6=25000,
|
|
434 |
/**
|
|
435 |
Indicator that the TSY supports the EAP supporting functional unit.
|
|
436 |
*/
|
|
437 |
KEtelSmartCardEap // 25001
|
|
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 |
Enum to define the Etel 3rdParty V1 API additions
|
|
455 |
|
|
456 |
*/
|
|
457 |
enum TMultimodeETel3rdPartyV1Api
|
|
458 |
{
|
|
459 |
/**
|
|
460 |
Indicator that the TSY supports the Etel 3rd Party v1.0 API
|
|
461 |
*/
|
|
462 |
KETelExt3rdPartyV1 = 40000
|
|
463 |
};
|
|
464 |
|
|
465 |
/*********************************************************/
|
|
466 |
//
|
|
467 |
// Phone based functionality (RMobilePhone)
|
|
468 |
//
|
|
469 |
/*********************************************************/
|
|
470 |
|
|
471 |
|
|
472 |
class CMobilePhonePtrHolder;
|
|
473 |
class CMobilePhoneStoredNetworkList;
|
|
474 |
class RMobileSmartCardEap;
|
|
475 |
|
|
476 |
class RMobilePhone : public RPhone
|
|
477 |
/**
|
|
478 |
Provides client access to mobile phone functionality provided by TSY.
|
|
479 |
|
|
480 |
Encapsulates access to a mobile phone. The functionality of RMobilePhone
|
|
481 |
is divided into a number of functional units, for the purpose of easier documentation
|
|
482 |
and navigation and selectable support by TSY.
|
|
483 |
|
|
484 |
Note: Some RMobilePhone function members must be supported by the TSY while
|
|
485 |
others are part of optional "functional unit" and only need to be supported
|
|
486 |
if the TSY supports that functional unit. When a functional unit is mandatory
|
|
487 |
then the unit should at least support the Get...Caps() member function to
|
|
488 |
indicate the member functions that are supported for this unit.
|
|
489 |
|
|
490 |
*/
|
|
491 |
{
|
|
492 |
public:
|
|
493 |
friend class CAsyncRetrievePhoneList;
|
|
494 |
IMPORT_C RMobilePhone();
|
|
495 |
|
|
496 |
// Global multimode types
|
|
497 |
|
|
498 |
|
|
499 |
class TMultimodeType
|
|
500 |
/**
|
|
501 |
Base class for all the V1 parameter types defined within the API.
|
|
502 |
|
|
503 |
@publishedPartner
|
|
504 |
@released
|
|
505 |
*/
|
|
506 |
{
|
|
507 |
public:
|
|
508 |
IMPORT_C TInt ExtensionId() const;
|
|
509 |
protected:
|
|
510 |
TMultimodeType();
|
|
511 |
void InternalizeL(RReadStream& aStream);
|
|
512 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
513 |
protected:
|
|
514 |
TInt iExtensionId;
|
|
515 |
};
|
|
516 |
|
|
517 |
/** A typedef'd packaged TMultimodeType for passing through a generic API
|
|
518 |
function member. */
|
|
519 |
typedef TPckg<TMultimodeType> TMultimodeTypePckg;
|
|
520 |
|
|
521 |
// Types used in RMobilePhone::TMobileAddress
|
|
522 |
|
|
523 |
/** Address types.
|
|
524 |
|
|
525 |
Modes: Common */
|
|
526 |
enum TMobileTON
|
|
527 |
{
|
|
528 |
/** User or the network has no knowledge of the type of number.
|
|
529 |
|
|
530 |
Modes: Common */
|
|
531 |
EUnknownNumber, // 0
|
|
532 |
/** International number.
|
|
533 |
|
|
534 |
Modes: Common */
|
|
535 |
EInternationalNumber, // 1
|
|
536 |
/** National number.
|
|
537 |
|
|
538 |
Modes: Common */
|
|
539 |
ENationalNumber, // 2
|
|
540 |
/** Administration/service number specific to the serving network, e.g. used to
|
|
541 |
access an operator.
|
|
542 |
|
|
543 |
Modes: Common */
|
|
544 |
ENetworkSpecificNumber, // 3
|
|
545 |
/** Subscriber number.
|
|
546 |
|
|
547 |
Modes: Common */
|
|
548 |
ESubscriberNumber, // 4 - Also defined as "dedicated, short code" in GSM 04.08
|
|
549 |
/** Alphanumeric number coded according to 3GPP TS 123 038 GSM 7-bit default alphabet.
|
|
550 |
|
|
551 |
Modes: GSM/WCDMA */
|
|
552 |
EAlphanumericNumber, // 5
|
|
553 |
/** Abbreviated number.
|
|
554 |
|
|
555 |
Modes: Common */
|
|
556 |
EAbbreviatedNumber // 6
|
|
557 |
};
|
|
558 |
|
|
559 |
/** Number Plan Indicator.
|
|
560 |
|
|
561 |
Modes: Common */
|
|
562 |
enum TMobileNPI
|
|
563 |
{
|
|
564 |
/** User or the network has no knowledge of the numbering plan.
|
|
565 |
|
|
566 |
Modes: Common */
|
|
567 |
EUnknownNumberingPlan =0,
|
|
568 |
/** ISDN/telephony numbering plan.
|
|
569 |
|
|
570 |
Modes: Common */
|
|
571 |
EIsdnNumberPlan=1,
|
|
572 |
/** Data numbering plan.
|
|
573 |
|
|
574 |
Modes: Common */
|
|
575 |
EDataNumberPlan=3,
|
|
576 |
/** Telex numbering plan.
|
|
577 |
|
|
578 |
Modes: Common */
|
|
579 |
ETelexNumberPlan=4,
|
|
580 |
/** Service centre specific plan used to indicate a numbering plan specific to external
|
|
581 |
Short Message entities attached to the SMSC. */
|
|
582 |
EServiceCentreSpecificPlan1=5,
|
|
583 |
/** Service centre specific plan used to indicate a numbering plan specific to external
|
|
584 |
Short Message entities attached to the SMSC.
|
|
585 |
|
|
586 |
Modes: GSM/WCDMA */
|
|
587 |
EServiceCentreSpecificPlan2=6,
|
|
588 |
/** National numbering plan.
|
|
589 |
|
|
590 |
Modes: GSM/WCDMA */
|
|
591 |
ENationalNumberPlan=8,
|
|
592 |
/** Private numbering plan.
|
|
593 |
|
|
594 |
Modes: Common */
|
|
595 |
EPrivateNumberPlan=9,
|
|
596 |
/** ERMES numbering plan.
|
|
597 |
|
|
598 |
Modes: GSM/WCDMA */
|
|
599 |
EERMESNumberPlan=10
|
|
600 |
};
|
|
601 |
|
|
602 |
enum
|
|
603 |
{
|
|
604 |
KMaxMobilePasswordSize=10,
|
|
605 |
KMaxMobileNameSize=32,
|
|
606 |
KMaxMobileTelNumberSize=100
|
|
607 |
};
|
|
608 |
|
|
609 |
struct TMMTableSettings
|
|
610 |
{
|
|
611 |
TUint32 iLocId;
|
|
612 |
};
|
|
613 |
|
|
614 |
typedef TPckg<TMMTableSettings> TMMTableSettingsPckg;
|
|
615 |
|
|
616 |
|
|
617 |
|
|
618 |
class TMobileAddress
|
|
619 |
/**
|
|
620 |
Defines API abstraction of a mobile telephone number.
|
|
621 |
|
|
622 |
@publishedPartner
|
|
623 |
@released
|
|
624 |
*/
|
|
625 |
{
|
|
626 |
public:
|
|
627 |
IMPORT_C TMobileAddress();
|
|
628 |
|
|
629 |
void InternalizeL(RReadStream& aStream);
|
|
630 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
631 |
|
|
632 |
public:
|
|
633 |
/** Type of number.
|
|
634 |
|
|
635 |
@see TMobileTON */
|
|
636 |
TMobileTON iTypeOfNumber;
|
|
637 |
/** Number plan.
|
|
638 |
|
|
639 |
@see TMobileNPI */
|
|
640 |
TMobileNPI iNumberPlan;
|
|
641 |
/** Telephone number. */
|
|
642 |
TBuf<KMaxMobileTelNumberSize> iTelNumber;
|
|
643 |
};
|
|
644 |
|
|
645 |
// Mobile information location type
|
|
646 |
|
|
647 |
/** Defines Location of service information.
|
|
648 |
|
|
649 |
Modes: Common */
|
|
650 |
enum TMobileInfoLocation
|
|
651 |
{
|
|
652 |
/** Retrieve the service information ONLY from the cache on the phone. Return KErrNotFound
|
|
653 |
if the cache does not exist or it is empty. */
|
|
654 |
EInfoLocationCache,
|
|
655 |
/** Retrieve the service information from the cache, but if this is empty or does
|
|
656 |
not exist then interrogate the network. */
|
|
657 |
EInfoLocationCachePreferred,
|
|
658 |
/** Retrieve the service information from the network (and refresh the cache if
|
|
659 |
there is one). */
|
|
660 |
EInfoLocationNetwork
|
|
661 |
};
|
|
662 |
|
|
663 |
// Mobile call service type
|
|
664 |
|
|
665 |
/** Applicability of request to a mobile service group.
|
|
666 |
|
|
667 |
Modes: Common */
|
|
668 |
enum TMobileService
|
|
669 |
{
|
|
670 |
/** The call service has not been specified.
|
|
671 |
|
|
672 |
Modes: Common */
|
|
673 |
EServiceUnspecified,
|
|
674 |
/** The API request applies to voice call services.
|
|
675 |
|
|
676 |
Modes: Common */
|
|
677 |
EVoiceService,
|
|
678 |
/** The API request applies to auxiliary voice call services.
|
|
679 |
|
|
680 |
Modes: GSM/WCDMA */
|
|
681 |
EAuxVoiceService,
|
|
682 |
/** The API request applies to circuit switched data call services.
|
|
683 |
|
|
684 |
Modes: Common */
|
|
685 |
ECircuitDataService,
|
|
686 |
/** The API request applies to packet data services.
|
|
687 |
|
|
688 |
Modes: Common */
|
|
689 |
EPacketDataService,
|
|
690 |
/** The API request applies to fax call services.
|
|
691 |
|
|
692 |
Modes: Common */
|
|
693 |
EFaxService,
|
|
694 |
/** The API request applies to short message services.
|
|
695 |
|
|
696 |
Modes: Common */
|
|
697 |
EShortMessageService,
|
|
698 |
/** The API request applies to all mobile services.
|
|
699 |
|
|
700 |
Modes: Common */
|
|
701 |
EAllServices,
|
|
702 |
/** All teleservices
|
|
703 |
|
|
704 |
Modes: Common */
|
|
705 |
EAllTele,
|
|
706 |
/** Telephony
|
|
707 |
|
|
708 |
Modes: Common */
|
|
709 |
ETelephony,
|
|
710 |
/** All data teleservices
|
|
711 |
|
|
712 |
Modes: Common */
|
|
713 |
EAllDataTele,
|
|
714 |
/** Voice Broadcast Service (VBS) Bearer Service
|
|
715 |
|
|
716 |
Modes: Common */
|
|
717 |
EAllDataExSms,
|
|
718 |
/** All teleservices except SMS
|
|
719 |
|
|
720 |
Modes: Common */
|
|
721 |
EAllTeleExcSms,
|
|
722 |
/** All PLMN specific teleservices
|
|
723 |
|
|
724 |
Modes: Common */
|
|
725 |
EAllPlmnTele,
|
|
726 |
/** PLMN specific teleservice 1
|
|
727 |
|
|
728 |
Modes: Common */
|
|
729 |
EPlmnTele1,
|
|
730 |
/** PLMN specific teleservice 2
|
|
731 |
|
|
732 |
Modes: Common */
|
|
733 |
EPlmnTele2,
|
|
734 |
/** PLMN specific teleservice 3
|
|
735 |
|
|
736 |
Modes: Common */
|
|
737 |
EPlmnTele3,
|
|
738 |
/** PLMN specific teleservice 4
|
|
739 |
|
|
740 |
Modes: Common */
|
|
741 |
EPlmnTele4,
|
|
742 |
/** PLMN specific teleservice 5
|
|
743 |
|
|
744 |
Modes: Common */
|
|
745 |
EPlmnTele5,
|
|
746 |
/** PLMN specific teleservice 6
|
|
747 |
|
|
748 |
Modes: Common */
|
|
749 |
EPlmnTele6,
|
|
750 |
/** PLMN specific teleservice 7
|
|
751 |
|
|
752 |
Modes: Common */
|
|
753 |
EPlmnTele7,
|
|
754 |
/** PLMN specific teleservice 8
|
|
755 |
|
|
756 |
Modes: Common */
|
|
757 |
EPlmnTele8,
|
|
758 |
/** PLMN specific teleservice 9
|
|
759 |
|
|
760 |
Modes: Common */
|
|
761 |
EPlmnTele9,
|
|
762 |
/** PLMN specific teleservice 10
|
|
763 |
|
|
764 |
Modes: Common */
|
|
765 |
EPlmnTeleA,
|
|
766 |
/** PLMN specific teleservice 11
|
|
767 |
|
|
768 |
Modes: Common */
|
|
769 |
EPlmnTeleB,
|
|
770 |
/** PLMN specific teleservice 12
|
|
771 |
|
|
772 |
Modes: Common */
|
|
773 |
EPlmnTeleC,
|
|
774 |
/** PLMN specific teleservice 13
|
|
775 |
|
|
776 |
Modes: Common */
|
|
777 |
EPlmnTeleD,
|
|
778 |
/** PLMN specific teleservice 14
|
|
779 |
|
|
780 |
Modes: Common */
|
|
781 |
EPlmnTeleE,
|
|
782 |
/** PLMN specific teleservice 15
|
|
783 |
|
|
784 |
Modes: Common */
|
|
785 |
EPlmnTeleF,
|
|
786 |
/** All bearer services
|
|
787 |
|
|
788 |
Modes: Common */
|
|
789 |
EAllBearer,
|
|
790 |
/** All async services
|
|
791 |
|
|
792 |
Modes: Common */
|
|
793 |
EAllAsync,
|
|
794 |
/** All sync services
|
|
795 |
|
|
796 |
Modes: Common */
|
|
797 |
EAllSync,
|
|
798 |
/** All data circuit sync
|
|
799 |
|
|
800 |
Modes: Common */
|
|
801 |
ESyncData,
|
|
802 |
/** All data circuit async
|
|
803 |
|
|
804 |
Modes: Common */
|
|
805 |
EAsyncData,
|
|
806 |
/** All packet data services
|
|
807 |
|
|
808 |
Modes: Common */
|
|
809 |
EPacketData,
|
|
810 |
/** All pad access services
|
|
811 |
|
|
812 |
Modes: Common */
|
|
813 |
EPadAccess,
|
|
814 |
/** All PLMN specific bearer services
|
|
815 |
|
|
816 |
Modes: Common */
|
|
817 |
EAllPlmnBearer,
|
|
818 |
/** PLMN specific bearer service 1
|
|
819 |
|
|
820 |
Modes: Common */
|
|
821 |
EPlmnBearerServ1,
|
|
822 |
/** PLMN specific bearer service 2
|
|
823 |
|
|
824 |
Modes: Common */
|
|
825 |
EPlmnBearerServ2,
|
|
826 |
/** PLMN specific bearer service 3
|
|
827 |
|
|
828 |
Modes: Common */
|
|
829 |
EPlmnBearerServ3,
|
|
830 |
/** PLMN specific bearer service 4
|
|
831 |
|
|
832 |
Modes: Common */
|
|
833 |
EPlmnBearerServ4,
|
|
834 |
/** PLMN specific bearer service 5
|
|
835 |
|
|
836 |
Modes: Common */
|
|
837 |
EPlmnBearerServ5,
|
|
838 |
/** PLMN specific bearer service 6
|
|
839 |
|
|
840 |
Modes: Common */
|
|
841 |
EPlmnBearerServ6,
|
|
842 |
/** PLMN specific bearer service 7
|
|
843 |
|
|
844 |
Modes: Common */
|
|
845 |
EPlmnBearerServ7,
|
|
846 |
/** PLMN specific bearer service 8
|
|
847 |
|
|
848 |
Modes: Common */
|
|
849 |
EPlmnBearerServ8,
|
|
850 |
/** PLMN specific bearer service 9
|
|
851 |
|
|
852 |
Modes: Common */
|
|
853 |
EPlmnBearerServ9,
|
|
854 |
/** PLMN specific bearer service 10
|
|
855 |
|
|
856 |
Modes: Common */
|
|
857 |
EPlmnBearerServA,
|
|
858 |
/** PLMN specific bearer service 11
|
|
859 |
|
|
860 |
Modes: Common */
|
|
861 |
EPlmnBearerServB,
|
|
862 |
/** PLMN specific bearer service 12
|
|
863 |
|
|
864 |
Modes: Common */
|
|
865 |
EPlmnBearerServC,
|
|
866 |
/** PLMN specific bearer service 13
|
|
867 |
|
|
868 |
Modes: Common */
|
|
869 |
EPlmnBearerServD,
|
|
870 |
/** PLMN specific bearer service 14
|
|
871 |
|
|
872 |
Modes: Common */
|
|
873 |
EPlmnBearerServE,
|
|
874 |
/** PLMN specific bearer service 15
|
|
875 |
|
|
876 |
Modes: Common */
|
|
877 |
EPlmnBearerServF,
|
|
878 |
/** Alternative tele services
|
|
879 |
|
|
880 |
Modes: Common */
|
|
881 |
EAltTele,
|
|
882 |
EVoiceGroupCall,
|
|
883 |
EVoiceBroadcast,
|
|
884 |
EAllGprsBearer
|
|
885 |
};
|
|
886 |
|
|
887 |
// Mobile name type
|
|
888 |
|
|
889 |
/** A typedef to hold the names of API sub-sessions. The names are coded as ASCII
|
|
890 |
characters. */
|
|
891 |
typedef TBuf<KMaxMobileNameSize> TMobileName;
|
|
892 |
|
|
893 |
// Mobile password type
|
|
894 |
|
|
895 |
/** A typedef for the standard password used by mobile phones for secure access
|
|
896 |
to services (phone lock, SIM lock, call barring password). The password is
|
|
897 |
coded as Unicode characters. */
|
|
898 |
typedef TBuf<KMaxMobilePasswordSize> TMobilePassword;
|
|
899 |
|
|
900 |
// for use by client-side API code and TSY only
|
|
901 |
|
|
902 |
struct TClientId
|
|
903 |
/** This type is used within the 2-phase list retrieval classes. During both phases,
|
|
904 |
the client-side API code will pass down the TClientId so that TSY can use
|
|
905 |
this information to match the first phase of the request to the second phase. */
|
|
906 |
{
|
|
907 |
/** The handle to the underlying RTelServer session. */
|
|
908 |
TInt iSessionHandle;
|
|
909 |
/** The handle to the sub-session to which this API request relates. */
|
|
910 |
TInt iSubSessionHandle;
|
|
911 |
};
|
|
912 |
|
|
913 |
/** Phone air interface capabilities. */
|
|
914 |
enum TMobilePhoneModeCaps
|
|
915 |
{
|
|
916 |
/** Phone can operate in GSM mode on 900/1800/1900 MHz bands. */
|
|
917 |
KCapsGsmSupported=0x00000001,
|
|
918 |
/** Phone can operate in GPRS mode on 900/1800/1900 MHz bands. */
|
|
919 |
KCapsGprsSupported=0x00000002,
|
|
920 |
/** Phone can operate in AMPS mode on 800MHz band. */
|
|
921 |
KCapsAmpsSupported=0x00000004,
|
|
922 |
/** Phone can operate in CDMA (IS-95) mode on 800/1900 MHz bands. */
|
|
923 |
KCapsCdma95Supported=0x00000008,
|
|
924 |
/** Phone can operate in CDMA (cdma2000) mode on 800/1900 MHz bands. */
|
|
925 |
KCapsCdma2000Supported=0x00000010,
|
|
926 |
/** Phone can operate in W-CDMA (UTRA Frequency Division Duplex (FDD)) mode. */
|
|
927 |
KCapsWcdmaSupported=0x00000020,
|
|
928 |
/** Phone can operate in TDMA/CDMA (UTRA Time Division Duplex (TDD)) mode. */
|
|
929 |
KCapsTdcdmaSupported=0x00000040,
|
|
930 |
/**
|
|
931 |
Phone can access Smart Card functionality required for an EAP.
|
|
932 |
@deprecated 9.3
|
|
933 |
*/
|
|
934 |
KCapsEapSupported=0x00000080
|
|
935 |
};
|
|
936 |
|
|
937 |
/** Version number of the multimode ETel API. */
|
|
938 |
enum TMultimodeEtelAPIVersion
|
|
939 |
{
|
|
940 |
/** Multimode Etel API version 1. */
|
|
941 |
TMultimodeETelApiV1
|
|
942 |
};
|
|
943 |
|
|
944 |
//
|
|
945 |
// API/TSY internal type
|
|
946 |
//
|
|
947 |
|
|
948 |
struct TPhoneStoreNameAndIccType
|
|
949 |
/** Structure that holds the phone store name and ICC type.
|
|
950 |
|
|
951 |
Mode: Common */
|
|
952 |
{
|
|
953 |
/** This parameter is used to set the name of the storage. */
|
|
954 |
TName iStoreName;
|
|
955 |
/** This parameter is used to set the type of the ICC card. */
|
|
956 |
TName iMode;
|
|
957 |
};
|
|
958 |
|
|
959 |
IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const;
|
|
960 |
|
|
961 |
IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const;
|
|
962 |
|
|
963 |
IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const;
|
|
964 |
|
|
965 |
IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aStatus, TDes8& aInfo, const TDesC& aStoreName, const TDesC& aMode) const;
|
|
966 |
|
|
967 |
// explicit phone initialisation
|
|
968 |
IMPORT_C void InitialiseMM(TRequestStatus& aReqStatus, TDes8& aTableSettings) const;
|
|
969 |
|
|
970 |
/***********************************************************************************/
|
|
971 |
//
|
|
972 |
// MobilePhoneIccAccess functional unit
|
|
973 |
//
|
|
974 |
/***********************************************************************************/
|
|
975 |
|
|
976 |
/** ICC access capabilities.
|
|
977 |
|
|
978 |
Modes: GSM */
|
|
979 |
enum TMobilePhoneIccCaps
|
|
980 |
{
|
|
981 |
/** Phone has a SIM and it currently supports SIM access by clients.
|
|
982 |
|
|
983 |
Modes: GSM */
|
|
984 |
KCapsSimAccessSupported=0x00000001,
|
|
985 |
/** Phone has a R-UIM and it currently supports R-UIM access by clients.
|
|
986 |
|
|
987 |
Modes: CDMA */
|
|
988 |
KCapsRUimAccessSupported=0x00000002,
|
|
989 |
/** Phone has a USIM and it currently supports USIM access by clients.
|
|
990 |
|
|
991 |
Modes: WCDMA */
|
|
992 |
KCapsUSimAccessSupported=0x00000004
|
|
993 |
};
|
|
994 |
|
|
995 |
|
|
996 |
enum
|
|
997 |
{
|
|
998 |
/**
|
|
999 |
Maximum size of an ICC identity.
|
|
1000 |
|
|
1001 |
NOTE: TS102.221 defines the maximum size of the ICC Identity as held in EF_ICCID as 10 bytes, however
|
|
1002 |
TS 51.011 mentions that network operators may issue a SIM with an identification number of 20 bytes.
|
|
1003 |
Therefore to cover this possibility the higher figure of 20 bytes has been chosen as the maximum size of the ICC identity.
|
|
1004 |
*/
|
|
1005 |
KMaxSizeIccIdentity = 20
|
|
1006 |
};
|
|
1007 |
|
|
1008 |
/** A typedef to hold the ICC identity.*/
|
|
1009 |
typedef TBuf8<KMaxSizeIccIdentity> TIccIdentity;
|
|
1010 |
|
|
1011 |
IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const;
|
|
1012 |
IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
1013 |
IMPORT_C void GetIccIdentity(TRequestStatus& aReqStatus, TIccIdentity& aIdentity) const;
|
|
1014 |
|
|
1015 |
/** The Call Transfer/Call Forward options that are supported by the CSP.
|
|
1016 |
|
|
1017 |
Modes: WCDMA/GSM */
|
|
1018 |
enum TCspCallOffering
|
|
1019 |
{
|
|
1020 |
/** Indicates that "Call Transfer" is supported by the CSP. */
|
|
1021 |
KCspCT=0x08,
|
|
1022 |
/** Indicates that "Call Forwarding on Not Reachable" is supported by the CSP. */
|
|
1023 |
KCspCFNRc=0x10,
|
|
1024 |
/** Indicates that "Call Forwarding on No Reply" is supported by the CSP. */
|
|
1025 |
KCspCFNRy=0x20,
|
|
1026 |
/** Indicates that "Call Forwarding on Busy" is supported by the CSP. */
|
|
1027 |
KCspCFB=0x40,
|
|
1028 |
/** Indicates that "Call Forwarding Unconditional" is supported by the CSP. */
|
|
1029 |
KCspCFU=0x80
|
|
1030 |
};
|
|
1031 |
|
|
1032 |
/** The call restrictions supported by the CSP.
|
|
1033 |
|
|
1034 |
Modes: GSM/WCDMA */
|
|
1035 |
enum TCspCallRestriction
|
|
1036 |
{
|
|
1037 |
/** Indicates that "Barring of Incoming Calls when roaming outside the home PLMN
|
|
1038 |
country" is supported by CSP. */
|
|
1039 |
KCspBICRoam=0x08,
|
|
1040 |
/** Indicates that "Barring of All Incoming Calls" is supported by CSP. */
|
|
1041 |
KCspBAIC=0x10,
|
|
1042 |
/** Indicates that "Barring of Outgoing International Calls except those directed
|
|
1043 |
to the home PLMN country" is supported by CSP. */
|
|
1044 |
KCspBOICexHC=0x20,
|
|
1045 |
/** Indicates that "Barring of Outgoing International Calls" is supported by CSP. */
|
|
1046 |
KCspBOIC=0x40,
|
|
1047 |
/** Indicates that "Barring of All Outgoing Calls" is supported by CSP. */
|
|
1048 |
KCspBOAC=0x80
|
|
1049 |
};
|
|
1050 |
|
|
1051 |
/** Other services supported by the CSP.
|
|
1052 |
|
|
1053 |
Modes: GSM/WCDMA */
|
|
1054 |
enum TCspOtherSuppServices
|
|
1055 |
{
|
|
1056 |
/** Indicates that the Outgoing Access option of the Closed User Group service is
|
|
1057 |
supported by the CSP. */
|
|
1058 |
KCspCUGOA=0x08,
|
|
1059 |
/** Indicates that the Preferential CUG option of the Closed User Group service
|
|
1060 |
is supported by the CSP. */
|
|
1061 |
KCspPrefCUG=0x10,
|
|
1062 |
/** Indicates that the Advice of Charge service is supported by the CSP. */
|
|
1063 |
KCspAoC=0x20,
|
|
1064 |
/** Indicates that the Closed User Group service is supported by the CSP. */
|
|
1065 |
KCspCUG=0x40,
|
|
1066 |
/** Indicates that the Multiparty call service is supported by the CSP */
|
|
1067 |
KCspMPTY=0x80,
|
|
1068 |
};
|
|
1069 |
|
|
1070 |
/** Call completion modes supported by this CSP.
|
|
1071 |
|
|
1072 |
Modes: GSM/WCDMA */
|
|
1073 |
enum TCspCallCompletion
|
|
1074 |
{
|
|
1075 |
/** Indicates that the Call Completion to Busy Subscriber service is supported by
|
|
1076 |
the CSP. */
|
|
1077 |
KCspCCBS=0x20,
|
|
1078 |
/** Indicates that the Call Waiting service is supported by the CSP. */
|
|
1079 |
KCspCW=0x40,
|
|
1080 |
/** Indicates that the Call Hold service is supported by the CSP. */
|
|
1081 |
KCspHOLD=0x80,
|
|
1082 |
};
|
|
1083 |
|
|
1084 |
/** SMS Teleservices supported by the CSP.
|
|
1085 |
|
|
1086 |
Modes: GSM/WCDMA */
|
|
1087 |
enum TCspTeleservices
|
|
1088 |
{
|
|
1089 |
/** Indicates that display of Validity Period menu options for SMS is supported
|
|
1090 |
by the CSP. */
|
|
1091 |
KCspValidityPeriod=0x02,
|
|
1092 |
/** Indicates that display of Protocol ID menu options for SMS is supported by the
|
|
1093 |
CSP. */
|
|
1094 |
KCspProtocolID=0x04,
|
|
1095 |
/** Indicates that SMS Delivery Confirmation is supported by the CSP. */
|
|
1096 |
KCspDelConf=0x08,
|
|
1097 |
/** Indicates that display of Reply Path menu options for outgoing SMS is supported
|
|
1098 |
by the CSP. */
|
|
1099 |
KCspReplyPath=0x10,
|
|
1100 |
/** Indicates that the Cell Broadcast service is supported by the CSP. */
|
|
1101 |
KCspSMCB=0x20,
|
|
1102 |
/** Indicates mobile originated Short Messages are supported by CSP. */
|
|
1103 |
KCspSMMO=0x40,
|
|
1104 |
/** Indicates mobile terminated Short Messages are supported by CSP. */
|
|
1105 |
KCspSMMT=0x80,
|
|
1106 |
};
|
|
1107 |
|
|
1108 |
/** Alternate Line Services */
|
|
1109 |
enum TCspCPHSTeleservices
|
|
1110 |
{
|
|
1111 |
/** Indicates that Alternate Line Service is supported by the CSP. */
|
|
1112 |
KCspALS=0x80
|
|
1113 |
};
|
|
1114 |
|
|
1115 |
/** Currently not used. */
|
|
1116 |
enum TCspCPHSFeatures
|
|
1117 |
{
|
|
1118 |
/** This bit value is reserved for SST in Phase 1 CPHS. */
|
|
1119 |
KCspReservedSST=0x80
|
|
1120 |
};
|
|
1121 |
|
|
1122 |
/** Number Identification option supported by the CSP.
|
|
1123 |
|
|
1124 |
Modes: GSM/WCDMA */
|
|
1125 |
enum TCspNumberIdentification
|
|
1126 |
{
|
|
1127 |
/** Indicates that Calling Line Identity Presentation blocking per call (CLI sent
|
|
1128 |
by default) is supported by the CSP. */
|
|
1129 |
KCspCLIBlock=0x01,
|
|
1130 |
/** Indicates that Calling Line Identity Presentation per call (CLI blocked by default)
|
|
1131 |
is supported by the CSP. */
|
|
1132 |
KCspCLISend=0x02,
|
|
1133 |
/** Indicates that Connected Line Identification Presentation is supported by the
|
|
1134 |
CSP. */
|
|
1135 |
KCspCOLP=0x10,
|
|
1136 |
/** Indicates that Connected Line Identification Restriction is supported by the
|
|
1137 |
CSP. */
|
|
1138 |
KCspCOLR=0x20,
|
|
1139 |
/** Indicates that Calling Line Identification Presentation is supported by the CSP. */
|
|
1140 |
KCspCLIP=0x80,
|
|
1141 |
};
|
|
1142 |
|
|
1143 |
/** Phase 2+ services supported by the CSP.
|
|
1144 |
|
|
1145 |
Modes: GSM/WCDMA */
|
|
1146 |
enum TCspPhase2PlusServices
|
|
1147 |
{
|
|
1148 |
/** Indicates that Multiple Band roaming is supported by CSP. */
|
|
1149 |
KCspMultipleband=0x04,
|
|
1150 |
/** Indicates that Multiple Subscriber Profile is supported by CSP.
|
|
1151 |
|
|
1152 |
v1.0 of Multimode ETel API does not support this feature */
|
|
1153 |
KCspMSP=0x08,
|
|
1154 |
/** Indicates that Voice Broadcast is supported by CSP.
|
|
1155 |
|
|
1156 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1157 |
KCspVoiceBroadcast=0x10,
|
|
1158 |
/** Indicates that Voice Group Call is supported by CSP.
|
|
1159 |
|
|
1160 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1161 |
KCspVoiceGroupCall=0x20,
|
|
1162 |
/** Indicates that High Speed Circuit Switched Data is supported by CSP. */
|
|
1163 |
KCspHscsd=0x40,
|
|
1164 |
/** Indicates that General Packet Radio Service is supported by CSP. */
|
|
1165 |
KCspGprs=0x80
|
|
1166 |
};
|
|
1167 |
|
|
1168 |
/** Value added services supported by this CSP.
|
|
1169 |
|
|
1170 |
Modes: GSM/WCDMA */
|
|
1171 |
enum TCspValueAdded
|
|
1172 |
{
|
|
1173 |
/** Indicates that display of language selection menus is supported by the CSP.
|
|
1174 |
|
|
1175 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1176 |
KCspLanguage=0x01,
|
|
1177 |
/** Indicates that display of data call option menu is supported by the CSP. */
|
|
1178 |
KCspData=0x04,
|
|
1179 |
/** Indicates that display of fax call option menu is supported by the CSP. */
|
|
1180 |
KCspFax=0x08,
|
|
1181 |
/** Indicates that display of the menu option to send a Short Message of type Email
|
|
1182 |
is supported by the CSP. */
|
|
1183 |
KCspSMMOEmail=0x10,
|
|
1184 |
/** Indicates that display of the menu option to send a Short Message of type Paging
|
|
1185 |
is supported by the CSP. */
|
|
1186 |
KCspSMMOPaging=0x20,
|
|
1187 |
/** Indicates that display of the menu option for manual PLMN selection is supported
|
|
1188 |
by the CSP. */
|
|
1189 |
KCspPLMNMode=0x80,
|
|
1190 |
};
|
|
1191 |
|
|
1192 |
|
|
1193 |
|
|
1194 |
class TMobilePhoneCspFileV1 : public TMultimodeType
|
|
1195 |
/** Defines contents of the CSP (Customer Service Profile) on the SIM. The profile
|
|
1196 |
consists of the sum of the respective enums.
|
|
1197 |
|
|
1198 |
@see GetCustomerServiceProfile()
|
|
1199 |
@publishedPartner
|
|
1200 |
@released*/
|
|
1201 |
{
|
|
1202 |
public:
|
|
1203 |
/** Constructor. */
|
|
1204 |
IMPORT_C TMobilePhoneCspFileV1();
|
|
1205 |
|
|
1206 |
/** Sum of the TCspCallOffering. */
|
|
1207 |
TUint8 iCallOfferingServices;
|
|
1208 |
/** Sum of the TCspCallRestriction. */
|
|
1209 |
TUint8 iCallRestrictionServices;
|
|
1210 |
/** Sum of the TCspOtherSuppServices. */
|
|
1211 |
TUint8 iOtherSuppServices;
|
|
1212 |
/** Sum of the TCspCallCompletion. */
|
|
1213 |
TUint8 iCallCompletionServices;
|
|
1214 |
/** Sum of the TCspTeleservices. */
|
|
1215 |
TUint8 iTeleservices;
|
|
1216 |
/** Sum of the TCspCPHSTeleservices. */
|
|
1217 |
TUint8 iCphsTeleservices;
|
|
1218 |
/** Sum of the TCspCPHSFeatures. */
|
|
1219 |
TUint8 iCphsFeatures;
|
|
1220 |
/** Sum of the TCspNumberIdentification. */
|
|
1221 |
TUint8 iNumberIdentServices;
|
|
1222 |
/** Sum of the TCspPhase2PlusServices. */
|
|
1223 |
TUint8 iPhase2PlusServices;
|
|
1224 |
/** Sum of the TCspValueAdded. */
|
|
1225 |
TUint8 iValueAddedServices;
|
|
1226 |
};
|
|
1227 |
|
|
1228 |
/** A typedef'd packaged TMobilePhoneCspFileV1 for passing through a generic API
|
|
1229 |
function member. */
|
|
1230 |
typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg;
|
|
1231 |
|
|
1232 |
IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const;
|
|
1233 |
|
|
1234 |
/** SIM/USIM/CDMA Service Table.
|
|
1235 |
|
|
1236 |
Modes: Common */
|
|
1237 |
enum TSSTServices1To8
|
|
1238 |
{
|
|
1239 |
/** Indicates that disabling PIN1 is supported by the ICC. */
|
|
1240 |
KSstPin1Disable=0x01,
|
|
1241 |
/** Indicates that storage of Abbreviated Dialling Numbers within this ICC is supported. */
|
|
1242 |
KSstADN=0x02,
|
|
1243 |
/** Indicates that the Fixed Dialling Numbers service and the storage of FDN numbers
|
|
1244 |
within this ICC is supported. */
|
|
1245 |
KSstFDN=0x04,
|
|
1246 |
/** Indicates that the Short Message Service and the storage of short messages within
|
|
1247 |
this ICC is supported.
|
|
1248 |
|
|
1249 |
Modes: Common */
|
|
1250 |
KSstSMS=0x08,
|
|
1251 |
/** Indicates that the Advice of Charge service is supported by this ICC.
|
|
1252 |
|
|
1253 |
Modes: GSM/WCDMA */
|
|
1254 |
KSstAoC=0x10,
|
|
1255 |
/** Indicates that the storage of Configuration Capability Parameters associated
|
|
1256 |
with an AND, FDN, MSISDN, LND or SDN is supported by this ICC.
|
|
1257 |
|
|
1258 |
Modes: GSM/WCDMA */
|
|
1259 |
KSstCCP=0x20,
|
|
1260 |
/** Indicates that storage of a preferred network list is supported by this ICC.
|
|
1261 |
|
|
1262 |
v1.0 of Multimode ETel API does not support this feature
|
|
1263 |
|
|
1264 |
Modes: GSM/WCDMA */
|
|
1265 |
KSstPLMNSelector=0x40
|
|
1266 |
};
|
|
1267 |
|
|
1268 |
/** SIM/USIM/CDMA Service Table (continued).
|
|
1269 |
|
|
1270 |
Modes: GSM/WCDMA */
|
|
1271 |
enum TSSTServices9To16
|
|
1272 |
{
|
|
1273 |
/** Indicates that storage of MSISDN (own numbers) numbers within this ICC is supported.
|
|
1274 |
|
|
1275 |
Modes: GSM/WCDMA */
|
|
1276 |
KSstMSISDN=0x01,
|
|
1277 |
/** Indicates that storage of extended (greater than 20 digits) ADN, LND and MSISDN
|
|
1278 |
numbers within this ICC is supported.
|
|
1279 |
|
|
1280 |
Modes: Common */
|
|
1281 |
KSstExt1=0x02,
|
|
1282 |
/** Indicates that storage of extended (greater than 20 digits) FDN numbers within
|
|
1283 |
this ICC is supported.
|
|
1284 |
|
|
1285 |
Modes: Common */
|
|
1286 |
KSstExt2=0x04,
|
|
1287 |
/** Indicates that storage of SMS parameter records within this ICC is supported.
|
|
1288 |
|
|
1289 |
Modes: Common */
|
|
1290 |
KSstSMSP=0x08,
|
|
1291 |
/** Indicates that storage of Last Numbers Dialled within this ICC is supported.
|
|
1292 |
|
|
1293 |
Modes: Common */
|
|
1294 |
KSstLND=0x10,
|
|
1295 |
/** Indicates that the storage of Cell Broadcast message identifiers is supported
|
|
1296 |
within this ICC.
|
|
1297 |
|
|
1298 |
Modes: GSM/WCDMA */
|
|
1299 |
KSstCBMI=0x20,
|
|
1300 |
/** Indicates that access to the GID1 file is supported within this ICC.
|
|
1301 |
|
|
1302 |
v1.0 of Multimode ETel API does not support this feature
|
|
1303 |
|
|
1304 |
Modes: GSM/WCDMA */
|
|
1305 |
KSstGID1=0x40,
|
|
1306 |
/** Indicates that access to the GID2 file is supported within this ICC.
|
|
1307 |
|
|
1308 |
v1.0 of Multimode ETel API does not support this feature
|
|
1309 |
|
|
1310 |
Modes: GSM/WCDMA */
|
|
1311 |
KSstGID2=0x80
|
|
1312 |
};
|
|
1313 |
|
|
1314 |
/** SIM/USIM/CDMA Service Table (continued).
|
|
1315 |
|
|
1316 |
v1.0 of Multimode ETel API does not support this feature
|
|
1317 |
|
|
1318 |
Modes: Common */
|
|
1319 |
enum TSSTServices17To24
|
|
1320 |
{
|
|
1321 |
/** Indicates that access to the Service Provider Name within ICC is supported.
|
|
1322 |
|
|
1323 |
v1.0 of Multimode ETel API does not support this feature
|
|
1324 |
|
|
1325 |
Modes: Common */
|
|
1326 |
KSstSPName=0x01,
|
|
1327 |
/** Indicates that storage of Service Dialling Numbers within ICC is supported.
|
|
1328 |
|
|
1329 |
Modes: Common */
|
|
1330 |
KSstSDN=0x02,
|
|
1331 |
/** Indicates that storage of extended (greater than 20 digits) SDN numbers within
|
|
1332 |
this ICC/RUIM is supported.
|
|
1333 |
|
|
1334 |
Modes: Common */
|
|
1335 |
KSstExt3=0x04,
|
|
1336 |
/** Indicates that access to the VGCS group identifier list within ICC is supported.
|
|
1337 |
|
|
1338 |
v1.0 of Multimode ETel API does not support this feature
|
|
1339 |
|
|
1340 |
Modes: GSM/WCDMA */
|
|
1341 |
KSstVGCSList=0x10,
|
|
1342 |
/** Indicates that access to the VBS group identifier list within ICC is supported.
|
|
1343 |
|
|
1344 |
v1.0 of Multimode ETel API does not support this feature
|
|
1345 |
|
|
1346 |
Modes: GSM/WCDMA */
|
|
1347 |
KSstVBSList=0x20,
|
|
1348 |
/** Indicates that the enhanced Multi-Level Precedence and Pre-emption service is
|
|
1349 |
supported by ICC
|
|
1350 |
|
|
1351 |
v1.0 of Multimode ETel API does not support this feature
|
|
1352 |
|
|
1353 |
Modes: GSM/WCDMA */
|
|
1354 |
KSsteMLPP=0x40,
|
|
1355 |
/** Indicates that automatic answer for eMLPP is supported by ICC
|
|
1356 |
|
|
1357 |
v1.0 of Multimode ETel API does not support this feature
|
|
1358 |
|
|
1359 |
Modes: GSM/WCDMA */
|
|
1360 |
KSstAnswereMLPP=0x80
|
|
1361 |
};
|
|
1362 |
|
|
1363 |
/** SIM/USIM/CDMA Service Table (continued).
|
|
1364 |
|
|
1365 |
Modes: GSM/WCDMA */
|
|
1366 |
enum TSSTServices25To32
|
|
1367 |
{
|
|
1368 |
/** Indicates that SAT SMS-CB data download is supported by ICC. */
|
|
1369 |
KSstSmsCbDataDownload=0x01,
|
|
1370 |
/** Indicates that SAT SMS-PP data download is supported by ICC. */
|
|
1371 |
KSstSmsPpDataDownload=0x02,
|
|
1372 |
/** Indicates that SAT menu selection is supported by ICC.
|
|
1373 |
|
|
1374 |
SAT ETel API provides this feature. */
|
|
1375 |
KSstMenuSelection=0x04,
|
|
1376 |
/** Indicates that SAT call control is supported by ICC.
|
|
1377 |
|
|
1378 |
SAT ETel API provides this feature. */
|
|
1379 |
KSstCallControl=0x08,
|
|
1380 |
/** Indicates that SAT pro-active SIM is supported by ICC.
|
|
1381 |
|
|
1382 |
SAT ETel API provides this feature. */
|
|
1383 |
KSstProactiveSim=0x10,
|
|
1384 |
/** Indicates ICC storage of ranges of Cell Broadcast Message Identifiers is supported. */
|
|
1385 |
KSstCBMIRanges=0x20,
|
|
1386 |
/** Indicates ICC storage of Barred Dialling Numbers is supported. */
|
|
1387 |
KSstBDN=0x40,
|
|
1388 |
/** Indicates ICC storage of extended (greater than 20 digits) BDN numbers is supported. */
|
|
1389 |
KSstExt4=0x80
|
|
1390 |
};
|
|
1391 |
|
|
1392 |
/** SIM/USIM/CDMA Service Table (continued).
|
|
1393 |
|
|
1394 |
Modes: GSM/WCDMA */
|
|
1395 |
enum TSSTServices33To40
|
|
1396 |
{
|
|
1397 |
/** Indicates depersonalisation control keys are supported by ICC.
|
|
1398 |
|
|
1399 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1400 |
KSstDepersonalisationKeys=0x01,
|
|
1401 |
/** Indicates co-operative network list are supported by this ICC.
|
|
1402 |
|
|
1403 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1404 |
KSstCooperativeNetworks=0x02,
|
|
1405 |
/** Indicates Short Message Status Reports are supported by ICC. */
|
|
1406 |
KSstSMStatusReports=0x04,
|
|
1407 |
/** Indicates network's indication of alerting is supported by ICC.
|
|
1408 |
|
|
1409 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1410 |
KSstNetworkIndAlerting=0x08,
|
|
1411 |
/** Indicates outgoing SM control by SAT is supported by ICC.
|
|
1412 |
|
|
1413 |
SAT ETel API provides this feature. */
|
|
1414 |
KSstMoSmControlBySim=0x10,
|
|
1415 |
/** Indicates that GPRS is supported by this ICC.
|
|
1416 |
|
|
1417 |
GPRS ETel API provides GPRS functionality. */
|
|
1418 |
KSstGprs=0x20,
|
|
1419 |
/** Indicates that Image files are supported by this ICC.
|
|
1420 |
|
|
1421 |
SAT ETel API provides this feature. */
|
|
1422 |
KSstImage=0x40,
|
|
1423 |
/** Indicates that SoLSA in supported by this ICC.
|
|
1424 |
|
|
1425 |
v1.0 of Multimode ETel API does not support this feature */
|
|
1426 |
KSstSoLSA=0x80
|
|
1427 |
};
|
|
1428 |
|
|
1429 |
/** SIM/USIM/CDMA Service Table (continued).
|
|
1430 |
|
|
1431 |
Modes: GSM/WCDMA */
|
|
1432 |
enum TSSTServices41To48
|
|
1433 |
{
|
|
1434 |
/** Indicates that USSD string data is supported in SAT Call Control by this ICC.
|
|
1435 |
|
|
1436 |
SAT ETel API provides this feature. */
|
|
1437 |
KSstUssdStringInCallControl=0x01,
|
|
1438 |
/** Indicates that RUN AT COMMAND is supported in SAT by this ICC.
|
|
1439 |
|
|
1440 |
v1.0 of Multimode ETel API does not support this feature */
|
|
1441 |
KSstRunATCommand=0x02,
|
|
1442 |
/** Indicates that PLMN selector list with access technology is supported by this
|
|
1443 |
ICC.
|
|
1444 |
|
|
1445 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1446 |
KSstPlmnSelectorListWithAccessTechnology=0x04,
|
|
1447 |
/** Indicates that OPLMN selector list with access technology is supported by this
|
|
1448 |
ICC.
|
|
1449 |
|
|
1450 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1451 |
KSstOplmnSelectorListWithAccessTechnology=0x08,
|
|
1452 |
/** Indicates that HPLMN access technology is supported by this ICC.
|
|
1453 |
|
|
1454 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1455 |
KSstHplmnAccessTechnology=0x10,
|
|
1456 |
/** Indicates that CPBCCH information is supported by this ICC.
|
|
1457 |
|
|
1458 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1459 |
KSstCpbcchInformation=0x20,
|
|
1460 |
/** Indicates that Investigation Scan is supported by this ICC.
|
|
1461 |
|
|
1462 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1463 |
KSstInvestigationScan=0x40,
|
|
1464 |
/** Indicates that extended capability configuration parameters are supported by
|
|
1465 |
this ICC.
|
|
1466 |
|
|
1467 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1468 |
KSstExtendedCcp=0x80
|
|
1469 |
};
|
|
1470 |
|
|
1471 |
/** SIM/USIM/CDMA Service Table (continued).
|
|
1472 |
|
|
1473 |
Modes: GSM/WCDMA */
|
|
1474 |
enum TSSTServices49To56
|
|
1475 |
{
|
|
1476 |
/** Indicates Mobile Execution Environment services are supported by this ICC */
|
|
1477 |
KSstMExE=0x01,
|
|
1478 |
/** Indicates that RPLMN last used access technology is supported by this ICC.
|
|
1479 |
|
|
1480 |
v1.0 of Multimode ETel API does not support this feature. */
|
|
1481 |
KSstRplmnLastUsedAccessTechnology=0x02
|
|
1482 |
};
|
|
1483 |
|
|
1484 |
/** USIM service table. */
|
|
1485 |
enum TUSTServices1To8
|
|
1486 |
{
|
|
1487 |
/** Indicates that the local phonebook is supported by the USIM. Local phonebook
|
|
1488 |
means a phonebook that is specific to a USIM Application, as opposed to the
|
|
1489 |
global phonebook which is located at the DF Telecom level on the UICC and
|
|
1490 |
not attached to a USIM Application. */
|
|
1491 |
KUstLocalPhBk=0x01,
|
|
1492 |
/** Indicates that the Fixed Dialling Numbers (FDN) service and the storage of
|
|
1493 |
FDN numbers within this USIM is supported. */
|
|
1494 |
KUstFDN=0x02,
|
|
1495 |
/** Indicates that the Extension 2 is supported by the USIM. Extension 2 provides
|
|
1496 |
extension data for Fixed Dialling Numbers. */
|
|
1497 |
KUstExt2=0x04,
|
|
1498 |
/** Indicates that the Service Dialling Numbers are supported by the USIM. */
|
|
1499 |
KUstSDN=0x08,
|
|
1500 |
/** Indicates that the Extension 3 is supported by the USIM. Extension 3 provides
|
|
1501 |
extension data for Service Dialling Numbers. */
|
|
1502 |
KUstExt3=0x10,
|
|
1503 |
/** Indicates that the Barred Dialling Numbers are supported by the USIM. */
|
|
1504 |
KUstBDN=0x20,
|
|
1505 |
/** Indicates that the Extension 4 is supported by the USIM. Extension 4 provides
|
|
1506 |
extension data for Barred Dialling Numbers. */
|
|
1507 |
KUstExt4=0x40,
|
|
1508 |
/** Indicates that the outgoing call information (OCI and OCT) are supported by
|
|
1509 |
the USIM.
|
|
1510 |
|
|
1511 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1512 |
KUstOugoingCallInfo=0x80
|
|
1513 |
};
|
|
1514 |
|
|
1515 |
/** USIM service table (continued). */
|
|
1516 |
enum TUSTServices9To16
|
|
1517 |
{
|
|
1518 |
/** Indicates that the incoming call information (ICI and ICT) are supported by
|
|
1519 |
the USIM
|
|
1520 |
|
|
1521 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1522 |
KUstIncomingCallInfo=0x01,
|
|
1523 |
/** Indicates that Short Message Storage is supported by the USIM. */
|
|
1524 |
KUstSMS=0x02,
|
|
1525 |
/** Indicates that Short Message Status Reports are supported by the USIM. */
|
|
1526 |
KUstSMSR=0x04,
|
|
1527 |
/** Indicates that Short Message Service Parameters are supported by the USIM. */
|
|
1528 |
KUstSMSP=0x08,
|
|
1529 |
/** Indicates that Advice Of Charge is supported by the USIM. */
|
|
1530 |
KUstAoC=0x10,
|
|
1531 |
/** Indicates that Capability Configuration Parameters are supported by the USIM. */
|
|
1532 |
KUstCCP=0x20,
|
|
1533 |
/** Indicates that Cell Broadcast Message Identifier is supported by the USIM. */
|
|
1534 |
KUstCBMI=0x40,
|
|
1535 |
/** Indicates that Cell Broadcast Message Identifier Ranges are supported by the
|
|
1536 |
USIM. */
|
|
1537 |
KUstCBMIRanges=0x80
|
|
1538 |
};
|
|
1539 |
|
|
1540 |
/** USIM service table (continued). */
|
|
1541 |
enum TUSTServices17To24
|
|
1542 |
{
|
|
1543 |
/** Indicates that Group Identifier Level 1 is supported by the USIM.
|
|
1544 |
|
|
1545 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1546 |
KUstGID1=0x01,
|
|
1547 |
/** Indicates that Group Identifier Level 2 is supported by the USIM.
|
|
1548 |
|
|
1549 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1550 |
KUstGID2=0x02,
|
|
1551 |
/** Indicates that Service Provider Name is supported by the USIM. */
|
|
1552 |
KUstSPN=0x04,
|
|
1553 |
/** Indicates that user controlled PLMN selector with Access Technology is supported
|
|
1554 |
by the USIM.
|
|
1555 |
|
|
1556 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1557 |
KUstPLMNSelAccessTech=0x08,
|
|
1558 |
/** Indicates that MSISDN is supported by the USIM. */
|
|
1559 |
KUstMSISDN=0x10,
|
|
1560 |
/** Indicates that Image is supported by the USIM.
|
|
1561 |
|
|
1562 |
Note: (U)SAT ETel API provides this feature. This enum value is reserved for
|
|
1563 |
future API use. */
|
|
1564 |
KUstIMG=0x20,
|
|
1565 |
//0x40 is a reserved value
|
|
1566 |
/** Indicates that enhanced Multi Level Precedence and Pre-emption Service is supported
|
|
1567 |
by the USIM.
|
|
1568 |
|
|
1569 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1570 |
KUsteMLPP=0x80
|
|
1571 |
};
|
|
1572 |
|
|
1573 |
/** USIM service table (continued). */
|
|
1574 |
enum TUSTServices25To32
|
|
1575 |
{
|
|
1576 |
/** Indicates that Automatic Answer for eMLPP is supported by the USIM.
|
|
1577 |
|
|
1578 |
Note: v1.0 and v2.0 of Multimode ETel API do not support this feature. */
|
|
1579 |
KUstAnswereMLPP=0x01,
|
|
1580 |
//0x02 is a reserved value
|
|
1581 |
/** Indicates that GSM Access is supported by the USIM */
|
|
1582 |
KUstGSMAccess=0x04,
|
|
1583 |
/** Indicates that Data download via SMS-PP is supported by the USIM.
|
|
1584 |
|
|
1585 |
Note: (U)SAT ETel API provides this feature. */
|
|
1586 |
KUstSMSPpDataDownload=0x08,
|
|
1587 |
/** Indicates that Data download via SMS-CB is supported by the USIM.
|
|
1588 |
|
|
1589 |
Note: (U)SAT ETel API provides this feature. */
|
|
1590 |
KUstSMSCbDataDownload=0x10,
|
|
1591 |
/** Indicates that Call Control by USIM is supported by the USIM.
|
|
1592 |
|
|
1593 |
Note: (U)SAT ETel API provides this feature. */
|
|
1594 |
KUstCallControl=0x20,
|
|
1595 |
/** Indicates that MO-SMS Control by USIM is supported by the USIM.
|
|
1596 |
|
|
1597 |
Note: (U)SAT ETel API provides this feature. */
|
|
1598 |
KUstMoSmControl=0x40,
|
|
1599 |
/** Indicates that the proactive command RUN AT COMMAND is supported by the USIM.
|
|
1600 |
|
|
1601 |
Note: (U)SAT ETel API provides this feature. */
|
|
1602 |
KUstPCmdRunAtCommand=0x80
|
|
1603 |
};
|
|
1604 |
|
|
1605 |
/** USIM service table (continued). */
|
|
1606 |
enum TUSTServices33To40
|
|
1607 |
{
|
|
1608 |
/** Should always be present as specified by 3 GPP spec. */
|
|
1609 |
KUstAlways=0x10,
|
|
1610 |
/** Indicates that the Enabled Service Table is supported by the USIM. */
|
|
1611 |
KUstEST=0x02,
|
|
1612 |
/** Indicates that APN Control List is supported by the USIM.
|
|
1613 |
|
|
1614 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1615 |
KUstACL=0x04,
|
|
1616 |
/** Indicates that the Depersonalisation Control Keys are supported by the USIM.
|
|
1617 |
|
|
1618 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1619 |
KIstDepersonalisationKeys =0x08,
|
|
1620 |
/** Indicates that the Co-operative Network List is supported by the USIM.
|
|
1621 |
|
|
1622 |
Note: v2.0 of Multimode ETel API does not support this feature. */
|
|
1623 |
KUstCooperativeNetwork=0x10,
|
|
1624 |
/** Indicates that GSM Security Context is supported by the USIM. */
|
|
1625 |
KUstGSMSecurityContext=0x20,
|
|
1626 |
/** Indicates that CPBCCH Information is supported by the USIM.
|
|
1627 |
|
|
1628 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1629 |
KUstCPBCCHInfo=0x40,
|
|
1630 |
/** Indicates that Investigation Scan is supported by the USIM.
|
|
1631 |
|
|
1632 |
Note:v2.0 of Multimode ETel API do not support this feature. */
|
|
1633 |
KUstInvestigationScan=0x80
|
|
1634 |
};
|
|
1635 |
|
|
1636 |
/** USIM service table (continued). */
|
|
1637 |
enum TUSTServices41To48
|
|
1638 |
{
|
|
1639 |
/** Indicates that MExE is supported by the USIM.
|
|
1640 |
|
|
1641 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1642 |
KUstMExE=0x01,
|
|
1643 |
/** Indicates that Operator controlled PLMN selector with Access Technology is
|
|
1644 |
supported by the USIM.
|
|
1645 |
|
|
1646 |
N.B .v2.0 of Multimode ETel API do not support this feature. */
|
|
1647 |
KUstOperatorPLMNSelector=0x02,
|
|
1648 |
/** Indicates that HPLMN selector with Access Technology is supported by the USIM.
|
|
1649 |
|
|
1650 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1651 |
KUstHPLMNSelAccessTech=0x04,
|
|
1652 |
/** Indicates that Extension 5 is supported by the USIM. Provides support for extension
|
|
1653 |
data for MSISDN. */
|
|
1654 |
KUstExt5=0x08,
|
|
1655 |
/** Indicates that PLMN Network Name is supported by the USIM.
|
|
1656 |
|
|
1657 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1658 |
KUstPLMNNetworkName=0x10,
|
|
1659 |
/** Indicates that Operator PLMN List is supported by the USIM.
|
|
1660 |
|
|
1661 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1662 |
KUstOperatorPLMNList=0x20,
|
|
1663 |
/** Indicates that Mailbox Dialling Numbers are supported by the USIM. */
|
|
1664 |
KUstMDN=0x40,
|
|
1665 |
/** Indicates that Message Waiting Indication Status is supported by the USIM. */
|
|
1666 |
KUstMWISo=0x80
|
|
1667 |
};
|
|
1668 |
|
|
1669 |
/** USIM service table (continued). */
|
|
1670 |
enum TUSTServices49To56
|
|
1671 |
{
|
|
1672 |
/** Indicates that Call forwarding indication status is supported by the USIM.
|
|
1673 |
|
|
1674 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1675 |
KUstCFIS=0x01,
|
|
1676 |
/** Indicates that RPLMN last-used access technology is supported by the USIM.
|
|
1677 |
|
|
1678 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1679 |
KUstRPLMN=0x02,
|
|
1680 |
/** Indicates that Service provider display information is supported by the USIM.
|
|
1681 |
|
|
1682 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1683 |
KUstSPDI=0x04,
|
|
1684 |
KUstMMS=0x08,
|
|
1685 |
KUstExt8=0x10,
|
|
1686 |
KUstCConGPRS=0x20,
|
|
1687 |
KUstMMSUCP=0x40
|
|
1688 |
};
|
|
1689 |
|
|
1690 |
/** Enabled Services Table. */
|
|
1691 |
enum TESTServices1To8
|
|
1692 |
{
|
|
1693 |
/** Indicates that FDN service is activated. */
|
|
1694 |
KEstFDN=0x01,
|
|
1695 |
/** Indicates that BDN service is activated. */
|
|
1696 |
KEstBDN=0x02,
|
|
1697 |
/** Indicates that the APN Control List service is activated.
|
|
1698 |
|
|
1699 |
Note: v2.0 of Multimode ETel API do not support this feature. */
|
|
1700 |
KEstACL=0x04
|
|
1701 |
};
|
|
1702 |
|
|
1703 |
/** Get Service Table.
|
|
1704 |
|
|
1705 |
Modes: GSM/WCDMA */
|
|
1706 |
enum TMobilePhoneServiceTable
|
|
1707 |
{
|
|
1708 |
/** Retrieve SIM service table on SIM (or from GSM application on UICC).
|
|
1709 |
|
|
1710 |
Modes: GSM/WCDMA */
|
|
1711 |
ESIMServiceTable,
|
|
1712 |
/** Retrieve USIM service table from active USIM application on UICC.
|
|
1713 |
|
|
1714 |
Modes: WCDMA */
|
|
1715 |
EUSIMServiceTable,
|
|
1716 |
/** Retrieve CDMA service table on R-UIM.
|
|
1717 |
|
|
1718 |
Modes: CDMA */
|
|
1719 |
ECDMAServiceTable,
|
|
1720 |
/** USIM Enabled Services Table to be used in conjunction with the USIM Service
|
|
1721 |
Table.
|
|
1722 |
|
|
1723 |
Modes: WCDMA */
|
|
1724 |
EUSIMEnabledServiceTable
|
|
1725 |
};
|
|
1726 |
|
|
1727 |
|
|
1728 |
class TMobilePhoneServiceTableV1 : public TMultimodeType
|
|
1729 |
/** Defines contents of the specified Service Table on the ICC.
|
|
1730 |
|
|
1731 |
@see GetServiceTable()
|
|
1732 |
@publishedPartner
|
|
1733 |
@released
|
|
1734 |
*/
|
|
1735 |
{
|
|
1736 |
public:
|
|
1737 |
IMPORT_C TMobilePhoneServiceTableV1();
|
|
1738 |
|
|
1739 |
/** Sum of the TSSTServices1To8 capability constants. */
|
|
1740 |
TUint8 iServices1To8;
|
|
1741 |
/** Sum of the TSSTServices9To16 capability constants. */
|
|
1742 |
TUint8 iServices9To16;
|
|
1743 |
/** Sum of the TSSTServices17To24 capability constants. */
|
|
1744 |
TUint8 iServices17To24;
|
|
1745 |
/** Sum of the TSSTServices25To32 capability constants. */
|
|
1746 |
TUint8 iServices25To32;
|
|
1747 |
/** Sum of the TSSTServices33To40 capability constants. */
|
|
1748 |
TUint8 iServices33To40;
|
|
1749 |
/** Sum of the TSSTServices41To48 capability constants. */
|
|
1750 |
TUint8 iServices41To48;
|
|
1751 |
/** Sum of the TSSTServices49To56 capability constants. */
|
|
1752 |
TUint8 iServices49To56;
|
|
1753 |
};
|
|
1754 |
|
|
1755 |
/** A typedef'd packaged TMobilePhoneServiceTableV1 passing through a generic API
|
|
1756 |
function member. */
|
|
1757 |
typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg;
|
|
1758 |
|
|
1759 |
enum { KAIDSize=16 };
|
|
1760 |
|
|
1761 |
/** A typedef'd buffer to hold the application identifier (AID) that identifies
|
|
1762 |
the USIM application in a UICC. The AID consists of a Registered application
|
|
1763 |
provider IDentifier (RID) of 5Â bytes and a Proprietary application Identifier
|
|
1764 |
eXtension (PIX) of up to 11 bytes. */
|
|
1765 |
typedef TBuf8<KAIDSize> TAID;
|
|
1766 |
|
|
1767 |
class TMobilePhoneServiceTableV2 : public TMobilePhoneServiceTableV1
|
|
1768 |
/** Defines contents of the specified Service Table on the ICC for the v2.0 version
|
|
1769 |
of the API.
|
|
1770 |
*/
|
|
1771 |
{
|
|
1772 |
public:
|
|
1773 |
IMPORT_C TMobilePhoneServiceTableV2();
|
|
1774 |
public:
|
|
1775 |
/** The application identifier. */
|
|
1776 |
TAID iAID;
|
|
1777 |
};
|
|
1778 |
|
|
1779 |
/** A typedef'd packaged TMobilePhoneServiceTableV2 passing through a generic API
|
|
1780 |
function member. */
|
|
1781 |
typedef TPckg<TMobilePhoneServiceTableV2> TMobilePhoneServiceTableV2Pckg;
|
|
1782 |
|
|
1783 |
IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const;
|
|
1784 |
|
|
1785 |
|
|
1786 |
/***********************************************************************************/
|
|
1787 |
//
|
|
1788 |
// MobilePhonePower functional unit
|
|
1789 |
//
|
|
1790 |
/***********************************************************************************/
|
|
1791 |
|
|
1792 |
/** Phone supported battery information.
|
|
1793 |
|
|
1794 |
Modes: Common */
|
|
1795 |
enum TMobilePhoneBatteryCaps
|
|
1796 |
{
|
|
1797 |
/** Phone supports requests to get the current battery information. */
|
|
1798 |
KCapsGetBatteryInfo=0x00000001,
|
|
1799 |
/** Phone supports requests for notification of change in battery information. */
|
|
1800 |
KCapsNotifyBatteryInfoChange=0x00000002
|
|
1801 |
};
|
|
1802 |
|
|
1803 |
IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const;
|
|
1804 |
|
|
1805 |
/** The mobile phone battery status.
|
|
1806 |
|
|
1807 |
Modes: Common */
|
|
1808 |
enum TMobilePhoneBatteryStatus
|
|
1809 |
{
|
|
1810 |
/** The TSY can not determine the phone's current power status. */
|
|
1811 |
EPowerStatusUnknown,
|
|
1812 |
/** The phone is currently powered by a battery. */
|
|
1813 |
EPoweredByBattery,
|
|
1814 |
/** A battery is connected, but the phone is externally powered. */
|
|
1815 |
EBatteryConnectedButExternallyPowered,
|
|
1816 |
/** No battery is connected. */
|
|
1817 |
ENoBatteryConnected,
|
|
1818 |
/** Power fault. */
|
|
1819 |
EPowerFault
|
|
1820 |
};
|
|
1821 |
|
|
1822 |
class TMobilePhoneBatteryInfoV1 : public TMultimodeType
|
|
1823 |
/** Defines contents of the battery status of the phone.
|
|
1824 |
|
|
1825 |
@see GetBatteryInfo()
|
|
1826 |
@see NotifyBatteryInfoChange()
|
|
1827 |
*/
|
|
1828 |
{
|
|
1829 |
public:
|
|
1830 |
IMPORT_C TMobilePhoneBatteryInfoV1();
|
|
1831 |
public:
|
|
1832 |
/** The power and battery status.
|
|
1833 |
|
|
1834 |
@see TMobilePhoneBatteryStatus */
|
|
1835 |
TMobilePhoneBatteryStatus iStatus;
|
|
1836 |
/** The percentage battery charge level. */
|
|
1837 |
TUint iChargeLevel;
|
|
1838 |
};
|
|
1839 |
|
|
1840 |
IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
|
|
1841 |
IMPORT_C void NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
|
|
1842 |
|
|
1843 |
|
|
1844 |
/***********************************************************************************/
|
|
1845 |
//
|
|
1846 |
// MobilePhoneSignal functional unit
|
|
1847 |
//
|
|
1848 |
/***********************************************************************************/
|
|
1849 |
|
|
1850 |
/** The mobile phone signal strength capabilities.
|
|
1851 |
|
|
1852 |
Modes: Common */
|
|
1853 |
enum TMobilePhoneSignalCaps
|
|
1854 |
{
|
|
1855 |
/** Phone supports requests to get the current signal strength. */
|
|
1856 |
KCapsGetSignalStrength=0x00000001,
|
|
1857 |
/** Phone supports requests for notification of change in signal strength. */
|
|
1858 |
KCapsNotifySignalStrengthChange=0x00000002
|
|
1859 |
};
|
|
1860 |
|
|
1861 |
IMPORT_C TInt GetSignalCaps(TUint32& aCaps) const;
|
|
1862 |
IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
|
|
1863 |
IMPORT_C void NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
|
|
1864 |
|
|
1865 |
/***********************************************************************************/
|
|
1866 |
//
|
|
1867 |
// MobilePhoneIndicator functional unit
|
|
1868 |
//
|
|
1869 |
/***********************************************************************************/
|
|
1870 |
|
|
1871 |
/** The mobile phone indicator capabilities supported.
|
|
1872 |
|
|
1873 |
Modes: Common */
|
|
1874 |
enum TMobilePhoneIndicatorCaps
|
|
1875 |
{
|
|
1876 |
/** Phone supports requests to get the current value of all supported indicators. */
|
|
1877 |
KCapsGetIndicator=0x00000001,
|
|
1878 |
/** Phone supports requests for notification of change in the supported indicators. */
|
|
1879 |
KCapsNotifyIndicatorChange=0x00000002
|
|
1880 |
};
|
|
1881 |
|
|
1882 |
/** The mobile phone indicators.
|
|
1883 |
|
|
1884 |
Modes Common */
|
|
1885 |
enum TMobilePhoneIndicators
|
|
1886 |
{
|
|
1887 |
/** If bit-flag is set to '1' indicates that the battery charger is connected to
|
|
1888 |
the phone. If bit-flag is set to '0' indicates that the battery charger is
|
|
1889 |
disconnected. */
|
|
1890 |
KIndChargerConnected=0x00000001,
|
|
1891 |
/** If bit-flag is set to '1' indicates that network service is available. If bit-flag
|
|
1892 |
is set to '0' indicates that network service is unavailable. */
|
|
1893 |
KIndNetworkAvailable=0x00000002,
|
|
1894 |
/** If bit-flag is set to '1' indicates that a call is in progress. If set to '0'
|
|
1895 |
indicates that a call is not in progress. */
|
|
1896 |
KIndCallInProgress=0x00000004
|
|
1897 |
};
|
|
1898 |
|
|
1899 |
IMPORT_C TInt GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const;
|
|
1900 |
IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
|
|
1901 |
IMPORT_C void NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
|
|
1902 |
|
|
1903 |
|
|
1904 |
/***********************************************************************************/
|
|
1905 |
//
|
|
1906 |
// MobilePhoneIdentity functional unit
|
|
1907 |
//
|
|
1908 |
/***********************************************************************************/
|
|
1909 |
|
|
1910 |
/** Defines Identity Capabilities.
|
|
1911 |
|
|
1912 |
Modes: Common */
|
|
1913 |
enum TMobilePhoneIdentityCaps
|
|
1914 |
{
|
|
1915 |
/** Phone can return the identity of its manufacturer. */
|
|
1916 |
KCapsGetManufacturer=0x00000001,
|
|
1917 |
/** Phone can return the identity of its model. */
|
|
1918 |
KCapsGetModel=0x00000002,
|
|
1919 |
/** Phone can return the identity of its revision. */
|
|
1920 |
KCapsGetRevision=0x00000004,
|
|
1921 |
/** Phone can return the identity of its serial number. */
|
|
1922 |
KCapsGetSerialNumber=0x00000008,
|
|
1923 |
/** Phone can return the identity of its subscriber. */
|
|
1924 |
KCapsGetSubscriberId=0x00000010
|
|
1925 |
};
|
|
1926 |
|
|
1927 |
IMPORT_C TInt GetIdentityCaps(TUint32& aCaps) const;
|
|
1928 |
|
|
1929 |
enum { KPhoneManufacturerIdSize=50 };
|
|
1930 |
enum { KPhoneModelIdSize=50 };
|
|
1931 |
enum { KPhoneRevisionIdSize=50 };
|
|
1932 |
enum { KPhoneSerialNumberSize=50 };
|
|
1933 |
|
|
1934 |
class TMobilePhoneIdentityV1 : public TMultimodeType
|
|
1935 |
/** Defines the mobile phone identity.
|
|
1936 |
|
|
1937 |
@see GetPhoneId() */
|
|
1938 |
{
|
|
1939 |
public:
|
|
1940 |
IMPORT_C TMobilePhoneIdentityV1();
|
|
1941 |
public:
|
|
1942 |
/** Phone manufacturer identification, in character string format. */
|
|
1943 |
TBuf<KPhoneManufacturerIdSize> iManufacturer;
|
|
1944 |
/** Phone model identification, in character string format. */
|
|
1945 |
TBuf<KPhoneModelIdSize> iModel;
|
|
1946 |
/** Phone revision identification, in character string format. */
|
|
1947 |
TBuf<KPhoneRevisionIdSize> iRevision;
|
|
1948 |
/** Phone serial number (IMEI or ESN), in character string format. */
|
|
1949 |
TBuf<KPhoneSerialNumberSize> iSerialNumber;
|
|
1950 |
};
|
|
1951 |
|
|
1952 |
IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const;
|
|
1953 |
|
|
1954 |
enum { KIMSISize = 15 };
|
|
1955 |
|
|
1956 |
/** A typedef'd buffer to hold the mobile phone subscriber id. */
|
|
1957 |
typedef TBuf<KIMSISize> TMobilePhoneSubscriberId;
|
|
1958 |
|
|
1959 |
IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const;
|
|
1960 |
|
|
1961 |
/***********************************************************************************/
|
|
1962 |
//
|
|
1963 |
// MobilePhoneDTMF functional unit
|
|
1964 |
//
|
|
1965 |
/***********************************************************************************/
|
|
1966 |
|
|
1967 |
/** DTMF Capabilities.
|
|
1968 |
|
|
1969 |
Modes: Common */
|
|
1970 |
enum TMobilePhoneDTMFCaps
|
|
1971 |
{
|
|
1972 |
/** Capability to send a string of DTMF tones, containing one or more tone(s). */
|
|
1973 |
KCapsSendDTMFString=0x00000001,
|
|
1974 |
/** Capability to send one DTMF tone, using start and stop DTMF tone function member. */
|
|
1975 |
KCapsSendDTMFSingleTone=0x00000002,
|
|
1976 |
};
|
|
1977 |
|
|
1978 |
/**
|
|
1979 |
DTMF tone operation event.
|
|
1980 |
*/
|
|
1981 |
enum TMobilePhoneDTMFEvent
|
|
1982 |
{
|
|
1983 |
/**
|
|
1984 |
Start sending of a Dtmf tone operation has been acknowledged from the MSC.
|
|
1985 |
*/
|
|
1986 |
EStartDtmfTone,
|
|
1987 |
/**
|
|
1988 |
Stop sending of a Dtmf tone operation has been acknowledged from the MSC.
|
|
1989 |
*/
|
|
1990 |
EStopDtmfTone,
|
|
1991 |
};
|
|
1992 |
|
|
1993 |
|
|
1994 |
IMPORT_C TInt GetDTMFCaps(TUint32& aCaps) const;
|
|
1995 |
IMPORT_C void NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
1996 |
|
|
1997 |
IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const;
|
|
1998 |
IMPORT_C void ReadDTMFTones(TRequestStatus& aReqStatus, TDes& aTones) const;
|
|
1999 |
IMPORT_C TInt StartDTMFTone(TChar aTone) const;
|
|
2000 |
IMPORT_C TInt StopDTMFTone() const;
|
|
2001 |
|
|
2002 |
IMPORT_C void NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const;
|
|
2003 |
IMPORT_C TInt ContinueDTMFStringSending(TBool aContinue) const;
|
|
2004 |
IMPORT_C void NotifyDTMFEvent(TRequestStatus& aReqStatus, TMobilePhoneDTMFEvent& aEvent) const;
|
|
2005 |
|
|
2006 |
/***********************************************************************************/
|
|
2007 |
//
|
|
2008 |
// MobilePhoneNetwork functional unit
|
|
2009 |
//
|
|
2010 |
/***********************************************************************************/
|
|
2011 |
|
|
2012 |
/** Defines Network Capabilities.
|
|
2013 |
|
|
2014 |
Modes: Common */
|
|
2015 |
enum TMobilePhoneNetworkCaps
|
|
2016 |
{
|
|
2017 |
/** The phone supports retrieval of current registration status. */
|
|
2018 |
KCapsGetRegistrationStatus=0x00000001,
|
|
2019 |
/** The phone supports notifications of change in registration status. */
|
|
2020 |
KCapsNotifyRegistrationStatus=0x00000002,
|
|
2021 |
/** The phone supports retrieval of current mode. */
|
|
2022 |
KCapsGetCurrentMode=0x00000004,
|
|
2023 |
/** The phone supports notification of change in mode. */
|
|
2024 |
KCapsNotifyMode=0x00000008,
|
|
2025 |
/** The phone supports retrieval of current network information. */
|
|
2026 |
KCapsGetCurrentNetwork=0x00000010,
|
|
2027 |
/** The phone supports notification of change of current network. */
|
|
2028 |
KCapsNotifyCurrentNetwork=0x00000020,
|
|
2029 |
/** The phone supports retrieval of home network information. */
|
|
2030 |
KCapsGetHomeNetwork=0x00000040,
|
|
2031 |
/** The phone supports retrieval of a list of detected networks. */
|
|
2032 |
KCapsGetDetectedNetworks=0x00000080,
|
|
2033 |
/** The phone supports manual network selection mode. */
|
|
2034 |
KCapsManualNetworkSelection=0x00000100,
|
|
2035 |
/** The phone supports retrieval of time and date information (NITZ) received from
|
|
2036 |
the network. */
|
|
2037 |
KCapsGetNITZInfo=0x00000200,
|
|
2038 |
/** The phone supports notification of new updates of time & date information (NITZ)
|
|
2039 |
received from the network. */
|
|
2040 |
KCapsNotifyNITZInfo=0x00000400
|
|
2041 |
};
|
|
2042 |
|
|
2043 |
IMPORT_C TInt GetNetworkCaps(TUint32& aCaps) const;
|
|
2044 |
|
|
2045 |
/** Defines Current Network Modes.
|
|
2046 |
|
|
2047 |
Modes: Common */
|
|
2048 |
enum TMobilePhoneNetworkMode
|
|
2049 |
{
|
|
2050 |
/** Network mode is unknown.
|
|
2051 |
|
|
2052 |
Modes: Common */
|
|
2053 |
ENetworkModeUnknown,
|
|
2054 |
/** ME is not registered.
|
|
2055 |
|
|
2056 |
Modes: Common */
|
|
2057 |
ENetworkModeUnregistered,
|
|
2058 |
/** GSM/GPRS or DCS1800 network. */
|
|
2059 |
ENetworkModeGsm,
|
|
2060 |
/** AMPS network.
|
|
2061 |
|
|
2062 |
Modes: CDMA */
|
|
2063 |
ENetworkModeAmps,
|
|
2064 |
/** CDMA (IS-95) network.
|
|
2065 |
|
|
2066 |
Modes: CDMA */
|
|
2067 |
ENetworkModeCdma95,
|
|
2068 |
/** CDMA (cdma2000) network.
|
|
2069 |
|
|
2070 |
Modes: CDMA */
|
|
2071 |
ENetworkModeCdma2000,
|
|
2072 |
/** WCDMA (UTRA Frequency Division Duplex (FDD)) network.
|
|
2073 |
|
|
2074 |
Modes: WCDMA */
|
|
2075 |
ENetworkModeWcdma,
|
|
2076 |
/** TD-CDMA (UTRA Time Division Duplex (TDD)) network.
|
|
2077 |
|
|
2078 |
Modes: WCDMA */
|
|
2079 |
ENetworkModeTdcdma
|
|
2080 |
};
|
|
2081 |
|
|
2082 |
IMPORT_C TInt GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const;
|
|
2083 |
IMPORT_C void NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const;
|
|
2084 |
|
|
2085 |
void DoNotifyModeChange( TMobilePhoneNetworkMode aNetworkMode, TInt aErrorCode );
|
|
2086 |
void CancelAsyncRequest(TInt aReqToCancel) const;
|
|
2087 |
|
|
2088 |
mutable TMobilePhoneNetworkMode* iNetworkMode;
|
|
2089 |
mutable TRequestStatus* iReqStatus;
|
|
2090 |
|
|
2091 |
|
|
2092 |
/** Phone network status.
|
|
2093 |
|
|
2094 |
Modes: Common */
|
|
2095 |
enum TMobilePhoneNetworkStatus
|
|
2096 |
{
|
|
2097 |
/** Status is unknown. */
|
|
2098 |
ENetworkStatusUnknown,
|
|
2099 |
/** A network that the ME is allowed to register to. */
|
|
2100 |
ENetworkStatusAvailable,
|
|
2101 |
/** The currently registered network. */
|
|
2102 |
ENetworkStatusCurrent,
|
|
2103 |
/** A network that the ME is not allowed to register to. */
|
|
2104 |
ENetworkStatusForbidden
|
|
2105 |
};
|
|
2106 |
|
|
2107 |
/** Mobile phone network band information.
|
|
2108 |
|
|
2109 |
Modes: CDMA */
|
|
2110 |
enum TMobilePhoneNetworkBandInfo
|
|
2111 |
{
|
|
2112 |
/** The current band and band class is unknown. */
|
|
2113 |
EBandUnknown,
|
|
2114 |
/** The network operates at 800MHz on Band A. */
|
|
2115 |
E800BandA,
|
|
2116 |
/** The network operates at 800MHz on Band B. */
|
|
2117 |
E800BandB,
|
|
2118 |
/** The network operates at 800MHz on Band C. */
|
|
2119 |
E800BandC,
|
|
2120 |
/** The network operates at 1900MHz on Band A. */
|
|
2121 |
E1900BandA,
|
|
2122 |
/** The network operates at 1900MHz on Band B. */
|
|
2123 |
E1900BandB,
|
|
2124 |
/** The network operates at 1900MHz on Band C. */
|
|
2125 |
E1900BandC,
|
|
2126 |
/** The network operates at 1900MHz on Band D. */
|
|
2127 |
E1900BandD,
|
|
2128 |
/** The network operates at 1900MHz on Band E. */
|
|
2129 |
E1900BandE,
|
|
2130 |
/** The network operates at 1900MHz on Band F. */
|
|
2131 |
E1900BandF
|
|
2132 |
};
|
|
2133 |
|
|
2134 |
/** A typedef'd buffer to hold the network display tag */
|
|
2135 |
typedef TBuf<30> TMobilePhoneNetworkDisplayTag;
|
|
2136 |
/** A typedef'd buffer to hold the network long name. */
|
|
2137 |
typedef TBuf<20> TMobilePhoneNetworkLongName;
|
|
2138 |
/** A typedef'd buffer to hold the network short name. */
|
|
2139 |
typedef TBuf<10> TMobilePhoneNetworkShortName;
|
|
2140 |
|
|
2141 |
/** A typedef'd buffer to hold the network country code. */
|
|
2142 |
typedef TBuf<4> TMobilePhoneNetworkCountryCode; // MCC in GSM and CDMA
|
|
2143 |
/** A typedef'd buffer to hold the network identity. */
|
|
2144 |
typedef TBuf<8> TMobilePhoneNetworkIdentity; // MNC in GSM and SID or NID in CDMA
|
|
2145 |
|
|
2146 |
|
|
2147 |
|
|
2148 |
class TMobilePhoneNetworkInfoV1 : public TMultimodeType
|
|
2149 |
/** Defines information related to a mobile phone network.
|
|
2150 |
|
|
2151 |
@see GetCurrentNetwork()
|
|
2152 |
@see NotifyCurrentNetworkChange()
|
|
2153 |
@see GetHomeNetwork()
|
|
2154 |
@publishedPartner
|
|
2155 |
@released */
|
|
2156 |
{
|
|
2157 |
public:
|
|
2158 |
IMPORT_C TMobilePhoneNetworkInfoV1();
|
|
2159 |
public:
|
|
2160 |
void InternalizeL(RReadStream& aStream);
|
|
2161 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
2162 |
public:
|
|
2163 |
/** Mode of the network.
|
|
2164 |
|
|
2165 |
Modes: Common
|
|
2166 |
|
|
2167 |
@see TMobilePhoneNetworkMode */
|
|
2168 |
TMobilePhoneNetworkMode iMode;
|
|
2169 |
/** Status of the network
|
|
2170 |
|
|
2171 |
Modes: Common
|
|
2172 |
|
|
2173 |
@see TMobilePhoneNetworkStatus */
|
|
2174 |
TMobilePhoneNetworkStatus iStatus;
|
|
2175 |
/** The band and band class of the CDMA network operator.
|
|
2176 |
|
|
2177 |
Modes: CDMA
|
|
2178 |
|
|
2179 |
@see TMobilePhoneNetworkBandInfo */
|
|
2180 |
TMobilePhoneNetworkBandInfo iBandInfo;
|
|
2181 |
/** The MCC of the network.
|
|
2182 |
|
|
2183 |
Modes: Common
|
|
2184 |
|
|
2185 |
@see TMobilePhoneNetworkCountryCode */
|
|
2186 |
TMobilePhoneNetworkCountryCode iCountryCode;
|
|
2187 |
/** The system identity (SID) of the CDMA network.
|
|
2188 |
|
|
2189 |
Modes: CDMA
|
|
2190 |
|
|
2191 |
@see TMobilePhoneNetworkIdentity */
|
|
2192 |
TMobilePhoneNetworkIdentity iCdmaSID;
|
|
2193 |
/** The system identity (SID) of the AMPS network.
|
|
2194 |
|
|
2195 |
Modes: CDMA
|
|
2196 |
|
|
2197 |
@see TMobilePhoneNetworkIdentity */
|
|
2198 |
TMobilePhoneNetworkIdentity iAnalogSID;
|
|
2199 |
/** The network identity (NID in CDMA and MNC in GSM).
|
|
2200 |
|
|
2201 |
Modes: Common
|
|
2202 |
|
|
2203 |
@see TMobilePhoneNetworkIdentity */
|
|
2204 |
TMobilePhoneNetworkIdentity iNetworkId;
|
|
2205 |
/** The alpha-tag displayed when this is the serving network.
|
|
2206 |
|
|
2207 |
Modes: Common
|
|
2208 |
|
|
2209 |
@see TMobilePhoneNetworkDisplayTag */
|
|
2210 |
TMobilePhoneNetworkDisplayTag iDisplayTag;
|
|
2211 |
/** The short name (up to 10 characters) of the network operator.
|
|
2212 |
|
|
2213 |
Modes: GSM/WCDMA
|
|
2214 |
|
|
2215 |
@see TMobilePhoneNetworkShortName */
|
|
2216 |
TMobilePhoneNetworkShortName iShortName;
|
|
2217 |
/** The long name (up to 20 characters) of the network operator.
|
|
2218 |
|
|
2219 |
Modes: GSM/WCDMA
|
|
2220 |
|
|
2221 |
@see TMobilePhoneNetworkLongName */
|
|
2222 |
TMobilePhoneNetworkLongName iLongName;
|
|
2223 |
};
|
|
2224 |
|
|
2225 |
/** A typedef'd packaged TMobilePhoneNetworkInfoV1 for passing through a generic
|
|
2226 |
API function member. */
|
|
2227 |
typedef TPckg<TMobilePhoneNetworkInfoV1> TMobilePhoneNetworkInfoV1Pckg;
|
|
2228 |
|
|
2229 |
/** The access technology that the network is based on.
|
|
2230 |
|
|
2231 |
Modes: Common */
|
|
2232 |
enum TMobilePhoneNetworkAccess
|
|
2233 |
{
|
|
2234 |
/** This is used when there is no network activity and therefore no RAT active.
|
|
2235 |
|
|
2236 |
Modes: Common */
|
|
2237 |
ENetworkAccessUnknown,
|
|
2238 |
/** The access technology is GSM.
|
|
2239 |
|
|
2240 |
Modes: GSM */
|
|
2241 |
ENetworkAccessGsm,
|
|
2242 |
/** The access technology is GSM COMPACT. However GSM COMPACT systems which use
|
|
2243 |
GSM frequency bands but with the CBPCCH broadcast channel are considered as
|
|
2244 |
a separate access technology from GSM.
|
|
2245 |
|
|
2246 |
Modes: GSM */
|
|
2247 |
ENetworkAccessGsmCompact,
|
|
2248 |
/** The access technology is UTRAN (UMTS Network).
|
|
2249 |
|
|
2250 |
Modes: WCDMA */
|
|
2251 |
ENetworkAccessUtran,
|
|
2252 |
/** Analogue Cellular
|
|
2253 |
|
|
2254 |
Modes: CDMA */
|
|
2255 |
ENetworkAccessAmpsCellular,
|
|
2256 |
/** CDMA Cellular - Standard channels
|
|
2257 |
|
|
2258 |
Modes: CDMA */
|
|
2259 |
ENetworkAccessCdmaCellularStdChannel,
|
|
2260 |
/** CDMA Cellular - Custom channels
|
|
2261 |
|
|
2262 |
Modes: CDMA */
|
|
2263 |
ENetworkAccessCdmaCellularCustomChannel,
|
|
2264 |
/** CDMA/Analogue Cellular (cdma first then analogue)
|
|
2265 |
|
|
2266 |
Modes: CDMA */
|
|
2267 |
ENetworkAccessCdmaAmpsCellular,
|
|
2268 |
/** CDMA PCS - Using blocks
|
|
2269 |
|
|
2270 |
Modes: CDMA */
|
|
2271 |
ENetworkAccessCdmaPcsUsingBlocks,
|
|
2272 |
/** CDMA PCS - Using channels
|
|
2273 |
|
|
2274 |
Modes: CDMA */
|
|
2275 |
ENetworkAccessCdmaPcsUsingNetworkAccessChannels,
|
|
2276 |
/** CDMA JTACS - Standard channels
|
|
2277 |
|
|
2278 |
Modes: CDMA */
|
|
2279 |
ENetworkAccessJTacsStdChannels,
|
|
2280 |
/** CDMA JTACS - Custom channels
|
|
2281 |
|
|
2282 |
Modes: CDMA */
|
|
2283 |
ENetworkAccessJTacsCustomChannels,
|
|
2284 |
/** CDMA 2GHz band - Using channels
|
|
2285 |
|
|
2286 |
Modes: CDMA */
|
|
2287 |
ENetworkAccess2GHzBandUsingChannels,
|
|
2288 |
/** Generic Acquisition Record for IS-2000 and IS-95
|
|
2289 |
|
|
2290 |
Modes: CDMA */
|
|
2291 |
ENetworkAccessGenericAcqRecord2000and95,
|
|
2292 |
/** Generic Acquisition Record for IS-856
|
|
2293 |
|
|
2294 |
Modes: CDMA */
|
|
2295 |
ENetworkAccessGenericAcqRecord856
|
|
2296 |
};
|
|
2297 |
|
|
2298 |
|
|
2299 |
|
|
2300 |
class TMobilePhoneNetworkInfoV2 : public TMobilePhoneNetworkInfoV1
|
|
2301 |
/** The access technology that the network is based on in version v2.0 of the API.
|
|
2302 |
@publishedPartner
|
|
2303 |
@released*/
|
|
2304 |
{
|
|
2305 |
public:
|
|
2306 |
/** Default constructor. Network access is set to ENetworkAccessUnknown and iExtensionId
|
|
2307 |
is set to KETelExtMultimodeV2. */
|
|
2308 |
IMPORT_C TMobilePhoneNetworkInfoV2();
|
|
2309 |
|
|
2310 |
public:
|
|
2311 |
void InternalizeL(RReadStream& aStream);
|
|
2312 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
2313 |
|
|
2314 |
public:
|
|
2315 |
/** The type of network access.
|
|
2316 |
|
|
2317 |
@see TMobilePhoneNetworkAccess */
|
|
2318 |
TMobilePhoneNetworkAccess iAccess;
|
|
2319 |
};
|
|
2320 |
|
|
2321 |
/** A typedef'd packaged TMobilePhoneNetworkInfoV2 for passing through a generic
|
|
2322 |
API function member. */
|
|
2323 |
typedef TPckg<TMobilePhoneNetworkInfoV2> TMobilePhoneNetworkInfoV2Pckg;
|
|
2324 |
|
|
2325 |
|
|
2326 |
class TMobilePhoneNetworkInfoV5 : public TMobilePhoneNetworkInfoV2
|
|
2327 |
/** The access technology that the network is based on in version v2.0 of the API.
|
|
2328 |
@publishedPartner
|
|
2329 |
@released*/
|
|
2330 |
{
|
|
2331 |
public:
|
|
2332 |
IMPORT_C TMobilePhoneNetworkInfoV5();
|
|
2333 |
|
|
2334 |
public:
|
|
2335 |
void InternalizeL(RReadStream& aStream);
|
|
2336 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
2337 |
|
|
2338 |
public:
|
|
2339 |
/** HSDPA availability indicator. This information is for display
|
|
2340 |
indication only and shall not be used for any other purpose.
|
|
2341 |
|
|
2342 |
Modes: WCDMA */
|
|
2343 |
TBool iHsdpaAvailableIndicator;
|
|
2344 |
|
|
2345 |
/** EGPRS availability indicator. This information is for display
|
|
2346 |
indication only and shall not be used for any other purpose.
|
|
2347 |
|
|
2348 |
Modes: GPRS */
|
|
2349 |
TBool iEgprsAvailableIndicator;
|
|
2350 |
};
|
|
2351 |
|
|
2352 |
/** A typedef'd packaged TMobilePhoneNetworkInfoV5 for passing through a generic
|
|
2353 |
API function member. */
|
|
2354 |
typedef TPckg<TMobilePhoneNetworkInfoV5> TMobilePhoneNetworkInfoV5Pckg;
|
|
2355 |
|
|
2356 |
class TMobilePhoneLocationAreaV1 : public TMultimodeType
|
|
2357 |
/** Defines the mobile phone location area.
|
|
2358 |
|
|
2359 |
@see GetCurrentNetwork()
|
|
2360 |
@see NotifyCurrentNetworkChange() */
|
|
2361 |
{
|
|
2362 |
public:
|
|
2363 |
/** Constructor. */
|
|
2364 |
IMPORT_C TMobilePhoneLocationAreaV1();
|
|
2365 |
public:
|
|
2366 |
/** Boolean indicating whether the location area is known.
|
|
2367 |
|
|
2368 |
Modes: Common */
|
|
2369 |
TBool iAreaKnown;
|
|
2370 |
/** Location area code.
|
|
2371 |
|
|
2372 |
Modes: GSM/WCDMA */
|
|
2373 |
TUint iLocationAreaCode;
|
|
2374 |
/** Cell identity code.
|
|
2375 |
|
|
2376 |
Modes: GSM/WCDMA */
|
|
2377 |
TUint iCellId;
|
|
2378 |
};
|
|
2379 |
|
|
2380 |
IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
|
|
2381 |
IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
|
|
2382 |
IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
|
|
2383 |
IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
|
|
2384 |
|
|
2385 |
IMPORT_C void GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
|
|
2386 |
IMPORT_C void GetHomeNetworkSearchPeriod(TRequestStatus& aReqStatus, TInt& aSearchIntv) const;
|
|
2387 |
IMPORT_C void GetLastUsedAccessTechnology(TRequestStatus& aReqStatus, TMobilePhoneNetworkAccess& aAccessTech) const;
|
|
2388 |
|
|
2389 |
/** The registration status of the mobile phone.
|
|
2390 |
|
|
2391 |
Modes: WCDMA */
|
|
2392 |
enum TMobilePhoneRegistrationStatus
|
|
2393 |
{
|
|
2394 |
/** Registration status is unknown. */
|
|
2395 |
ERegistrationUnknown,
|
|
2396 |
/** Not registered. The ME can not detect any other networks and is not currently
|
|
2397 |
searching a new operator to register to. */
|
|
2398 |
ENotRegisteredNoService,
|
|
2399 |
/** Not registered. The ME can detect other networks on which it is possible to
|
|
2400 |
make emergency calls only. */
|
|
2401 |
ENotRegisteredEmergencyOnly,
|
|
2402 |
/** Not registered, but the ME is currently searching a new operator to register to. */
|
|
2403 |
ENotRegisteredSearching,
|
|
2404 |
/** Registered, network busy.
|
|
2405 |
|
|
2406 |
Modes: WCDMA */
|
|
2407 |
ERegisteredBusy,
|
|
2408 |
/** Registered on home network. */
|
|
2409 |
ERegisteredOnHomeNetwork,
|
|
2410 |
/** Registration denied. */
|
|
2411 |
ERegistrationDenied,
|
|
2412 |
/** Registered, roaming. */
|
|
2413 |
ERegisteredRoaming
|
|
2414 |
};
|
|
2415 |
|
|
2416 |
IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
|
|
2417 |
IMPORT_C void NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
|
|
2418 |
|
|
2419 |
/** The network selection function member.
|
|
2420 |
|
|
2421 |
Modes: Common */
|
|
2422 |
enum TMobilePhoneSelectionMethod
|
|
2423 |
{
|
|
2424 |
/** Network selection function member is unknown.
|
|
2425 |
|
|
2426 |
Modes: Common */
|
|
2427 |
ENetworkSelectionUnknown,
|
|
2428 |
/** Network is selected automatically by phone.
|
|
2429 |
|
|
2430 |
Modes: Common */
|
|
2431 |
ENetworkSelectionAutomatic,
|
|
2432 |
/** Network is selected manually by user.
|
|
2433 |
|
|
2434 |
Modes: GSM/WCDMA */
|
|
2435 |
ENetworkSelectionManual,
|
|
2436 |
/** Network selection is restricted to home network only
|
|
2437 |
|
|
2438 |
Modes: CDMA */
|
|
2439 |
ENetworkSelectionHomeOnly
|
|
2440 |
};
|
|
2441 |
|
|
2442 |
/** The mobile phone band class preferences.
|
|
2443 |
|
|
2444 |
Modes: CDMA */
|
|
2445 |
enum TMobilePhoneBandClass
|
|
2446 |
{
|
|
2447 |
/** Band class selection is unknown. */
|
|
2448 |
ENetworkBandClassUnknown,
|
|
2449 |
/** Phone will select band class A only. */
|
|
2450 |
ENetworkBandClassAOnly,
|
|
2451 |
/** Phone will select band class B only. */
|
|
2452 |
ENetworkBandClassBOnly,
|
|
2453 |
/** Phone will prefer to select band class A. */
|
|
2454 |
ENetworkBandClassAPreferred,
|
|
2455 |
/** Phone will prefer to select band class B. */
|
|
2456 |
ENetworkBandClassBPreferred
|
|
2457 |
};
|
|
2458 |
|
|
2459 |
/** The mobile phone network operation mode preferences.
|
|
2460 |
|
|
2461 |
Modes: CDMA */
|
|
2462 |
enum TMobilePhoneOperation
|
|
2463 |
{
|
|
2464 |
/** Network operation mode is unknown. */
|
|
2465 |
ENetworkOperationUnknown,
|
|
2466 |
/** Phone will select analog operation only. */
|
|
2467 |
ENetworkOperationAnalogOnly,
|
|
2468 |
/** Phone will select digital/CDMA operation only. */
|
|
2469 |
ENetworkOperationDigitalOnly,
|
|
2470 |
/** Phone will prefer to select analog operation. */
|
|
2471 |
ENetworkOperationAnalogPreferred,
|
|
2472 |
/** Phone will prefer to select digital/CDMA operation. */
|
|
2473 |
ENetworkOperationDigitalPreferred
|
|
2474 |
};
|
|
2475 |
|
|
2476 |
class TMobilePhoneNetworkSelectionV1 : public TMultimodeType
|
|
2477 |
/** The mobile phone network selection preferences.
|
|
2478 |
|
|
2479 |
@see GetNetworkSelectionSetting()
|
|
2480 |
@see SetNetworkSelectionSetting()
|
|
2481 |
@see NotifyNetworkSelectionSettingChange()
|
|
2482 |
@publishedPartner
|
|
2483 |
@released */
|
|
2484 |
{
|
|
2485 |
public:
|
|
2486 |
IMPORT_C TMobilePhoneNetworkSelectionV1();
|
|
2487 |
public:
|
|
2488 |
/** Phone's network selection function member.
|
|
2489 |
|
|
2490 |
Modes: Common
|
|
2491 |
|
|
2492 |
@see TMobilePhoneSelectionMethod */
|
|
2493 |
TMobilePhoneSelectionMethod iMethod;
|
|
2494 |
/** Phone's band class setting.
|
|
2495 |
|
|
2496 |
Modes: CDMA
|
|
2497 |
|
|
2498 |
@see TMobilePhoneBandClass */
|
|
2499 |
TMobilePhoneBandClass iBandClass;
|
|
2500 |
/** Phone's CDMA operation mode.
|
|
2501 |
|
|
2502 |
Modes: CDMA
|
|
2503 |
|
|
2504 |
@see TMobilePhoneOperation */
|
|
2505 |
TMobilePhoneOperation iOperationMode;
|
|
2506 |
};
|
|
2507 |
|
|
2508 |
/** A typedef'd packaged TMobilePhoneNetworkSelectionV1 for passing through a generic
|
|
2509 |
API function member. */
|
|
2510 |
typedef TPckg<TMobilePhoneNetworkSelectionV1> TMobilePhoneNetworkSelectionV1Pckg;
|
|
2511 |
|
|
2512 |
IMPORT_C TInt GetNetworkSelectionSetting(TDes8& aSetting) const;
|
|
2513 |
IMPORT_C void SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const;
|
|
2514 |
IMPORT_C void NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const;
|
|
2515 |
|
|
2516 |
struct TMobilePhoneNetworkManualSelection
|
|
2517 |
/** The mobile phone manual network selection parameters.
|
|
2518 |
|
|
2519 |
Modes: GSM/WCDMA
|
|
2520 |
|
|
2521 |
@see TMobilePhoneNetworkCountryCode */
|
|
2522 |
{
|
|
2523 |
/** The MCC of the network
|
|
2524 |
|
|
2525 |
@see TMobilePhoneNetworkCountryCode */
|
|
2526 |
TMobilePhoneNetworkCountryCode iCountry;
|
|
2527 |
/** The MNC of the network
|
|
2528 |
|
|
2529 |
@see TMobilePhoneNetworkIdentity */
|
|
2530 |
TMobilePhoneNetworkIdentity iNetwork;
|
|
2531 |
};
|
|
2532 |
|
|
2533 |
IMPORT_C void SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const;
|
|
2534 |
|
|
2535 |
|
|
2536 |
|
|
2537 |
// Used to indicate which TMobilePhoneNITZ fields are currently available
|
|
2538 |
/** The Phone Network Time Zone Capabilities. */
|
|
2539 |
enum TMobilePhoneNITZCaps
|
|
2540 |
{
|
|
2541 |
/** Universal Time is available in the current network mode. */
|
|
2542 |
KCapsTimeAvailable = 0x00000001,
|
|
2543 |
/** Local time zone is available in the current network mode. */
|
|
2544 |
KCapsTimezoneAvailable = 0x00000002,
|
|
2545 |
/** DST is available in the current network mode. */
|
|
2546 |
KCapsDSTAvailable = 0x00000004,
|
|
2547 |
/** Short name is available in the current network mode. */
|
|
2548 |
KCapsShortNameAvailable = 0x00000008,
|
|
2549 |
/** Long name is available in the current network mode. */
|
|
2550 |
KCapsLongNameAvailable = 0x00000010
|
|
2551 |
};
|
|
2552 |
|
|
2553 |
class TMobilePhoneNITZ : public TDateTime
|
|
2554 |
/** Defines time and date information received from a mobile phone network.
|
|
2555 |
|
|
2556 |
@see GetNITZInfo()
|
|
2557 |
@see NotifyNITZInfoChange()
|
|
2558 |
@publishedPartner
|
|
2559 |
@released */
|
|
2560 |
{
|
|
2561 |
public:
|
|
2562 |
IMPORT_C TMobilePhoneNITZ();
|
|
2563 |
IMPORT_C TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond);
|
|
2564 |
public:
|
|
2565 |
/** Bitwise sum of TMobilePhoneNITZCaps constants used to indicate which NITZ fields
|
|
2566 |
are available.
|
|
2567 |
|
|
2568 |
Modes: Common */
|
|
2569 |
TInt32 iNitzFieldsUsed;
|
|
2570 |
/** Time zone, expressed in +/- 15 minute offsets from GMT.
|
|
2571 |
|
|
2572 |
Modes: Common */
|
|
2573 |
TInt iTimeZone;
|
|
2574 |
/** Daylight Saving Time adjustment for summer time. The adjustment for DST
|
|
2575 |
can be +1h or +2h.
|
|
2576 |
|
|
2577 |
Modes: GSM/WCDMA */
|
|
2578 |
TInt iDST;
|
|
2579 |
/** Network name in "short" representation.
|
|
2580 |
|
|
2581 |
Modes: GSM/WCDMA
|
|
2582 |
|
|
2583 |
@see TMobilePhoneNetworkShortName */
|
|
2584 |
TMobilePhoneNetworkShortName iShortNetworkId;
|
|
2585 |
/** Network name in "long" representation.
|
|
2586 |
|
|
2587 |
Modes: GSM/WCDMA
|
|
2588 |
|
|
2589 |
@see TMobilePhoneNetworkLongName */
|
|
2590 |
TMobilePhoneNetworkLongName iLongNetworkId;
|
|
2591 |
};
|
|
2592 |
|
|
2593 |
IMPORT_C TInt GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const;
|
|
2594 |
IMPORT_C void NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const;
|
|
2595 |
|
|
2596 |
enum { KMaxSPNameSize=16 };
|
|
2597 |
enum { KMaxPLMNFieldSize=251 };
|
|
2598 |
|
|
2599 |
enum TDisplayRequirements
|
|
2600 |
{
|
|
2601 |
KDisplayPLMNNotRequired = 0x00000001,
|
|
2602 |
KDisplayPLMNRequired = 0x00000002,
|
|
2603 |
KDisplaySPNRequired = 0x00000004,
|
|
2604 |
KDisplaySPNNotRequired = 0x00000008
|
|
2605 |
};
|
|
2606 |
|
|
2607 |
typedef TUint32 TDisplayRequirementsFlags;
|
|
2608 |
|
|
2609 |
class TMobilePhoneServiceProviderNameV2 : public TMultimodeType
|
|
2610 |
/** Used to retrieve the Service Provider Name from the ICC. The
|
|
2611 |
SP is actually the entity that provides the service. The SP could have contractual
|
|
2612 |
agreements with several home PLMN that the ME can register to. The display
|
|
2613 |
preference of the registered PLMN and/or the SPN on the ME can be defined
|
|
2614 |
on the UICC.
|
|
2615 |
@publishedPartner
|
|
2616 |
@released */
|
|
2617 |
{
|
|
2618 |
public:
|
|
2619 |
IMPORT_C TMobilePhoneServiceProviderNameV2();
|
|
2620 |
public:
|
|
2621 |
/** This parameter specifies if the display of the registered PLMN is required.
|
|
2622 |
Can contain a number of flags from RMobilePhone::TDisplayRequirements.
|
|
2623 |
*/
|
|
2624 |
TDisplayRequirementsFlags iDisplayReq;
|
|
2625 |
/** The name of the service provider. */
|
|
2626 |
TBuf<KMaxSPNameSize> iSPName;
|
|
2627 |
TBuf<KMaxPLMNFieldSize> iPLMNField;
|
|
2628 |
};
|
|
2629 |
|
|
2630 |
/** A typedef'd packaged TMobilePhoneServiceProviderNameV2 for passing through
|
|
2631 |
a generic API function member. */
|
|
2632 |
typedef TPckg<TMobilePhoneServiceProviderNameV2> TMobilePhoneServiceProviderNameV2Pckg;
|
|
2633 |
|
|
2634 |
IMPORT_C void GetServiceProviderName(TRequestStatus& aReqStatus, TDes8& aName) const;
|
|
2635 |
|
|
2636 |
/**
|
|
2637 |
Network investigation scan settings.
|
|
2638 |
*/
|
|
2639 |
enum TMobilePhoneInvestigationScan
|
|
2640 |
{
|
|
2641 |
/**
|
|
2642 |
Network investigation setting in limited service mode.
|
|
2643 |
*/
|
|
2644 |
KNetworkInvLimited = 0x01,
|
|
2645 |
/**
|
|
2646 |
Network investigation setting after successful PLMN selection.
|
|
2647 |
*/
|
|
2648 |
KNetworkInvAfterPlmnSelection=0x02
|
|
2649 |
};
|
|
2650 |
|
|
2651 |
/**
|
|
2652 |
Network investigation scan events.
|
|
2653 |
*/
|
|
2654 |
enum TMobilePhoneInvestigationScanEvent
|
|
2655 |
{
|
|
2656 |
/**
|
|
2657 |
No investigation scan events available.
|
|
2658 |
*/
|
|
2659 |
ENetworkInvestigationNoEvent,
|
|
2660 |
/**
|
|
2661 |
A higher priority network has been detected, but it does not offer CS Voice.
|
|
2662 |
*/
|
|
2663 |
ENetworkInvestigationHighPriorityPlmn
|
|
2664 |
};
|
|
2665 |
|
|
2666 |
IMPORT_C TInt GetNetworkInvScanSetting(TMobilePhoneInvestigationScan & aSetting) const;
|
|
2667 |
IMPORT_C void NotifyNetworkInvScanChange(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScan& aSetting) const;
|
|
2668 |
IMPORT_C void NotifyNetworkInvScanEvent(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScanEvent& aEvent) const;
|
|
2669 |
|
|
2670 |
|
|
2671 |
/** 251 bytes is the maximum number of octets in an L3 message as defined in3GPP TS 44.006. */
|
|
2672 |
enum { KMaxNetworkNameFieldSize = 251 };
|
|
2673 |
|
|
2674 |
class TMobilePhoneNetworkNameV3 : public TMultimodeType
|
|
2675 |
/**
|
|
2676 |
Class containing short, long network names and location information for a PLMN.
|
|
2677 |
*/
|
|
2678 |
{
|
|
2679 |
public:
|
|
2680 |
IMPORT_C TMobilePhoneNetworkNameV3();
|
|
2681 |
public:
|
|
2682 |
/**
|
|
2683 |
The long name (up to 20 characters) of the network operator.
|
|
2684 |
*/
|
|
2685 |
TMobilePhoneNetworkLongName iLongName;
|
|
2686 |
/**
|
|
2687 |
The short name (up to 10 characters) of the network operator.
|
|
2688 |
*/
|
|
2689 |
TMobilePhoneNetworkShortName iShortName;
|
|
2690 |
/**
|
|
2691 |
This buffer contains other long and short names for the registered PLMN coded as TLV objects.
|
|
2692 |
*/
|
|
2693 |
TBuf<KMaxNetworkNameFieldSize> iOtherNames;
|
|
2694 |
};
|
|
2695 |
|
|
2696 |
/**
|
|
2697 |
Packaging typedef for TMobilePhoneNetworkNameV3 class.
|
|
2698 |
*/
|
|
2699 |
typedef TPckg<TMobilePhoneNetworkNameV3> TMobilePhoneNetworkNameV3Pckg;
|
|
2700 |
|
|
2701 |
|
|
2702 |
class TMobilePhoneOPlmnV3 : public TMultimodeType
|
|
2703 |
/**
|
|
2704 |
Class containing network name information.
|
|
2705 |
*/
|
|
2706 |
{
|
|
2707 |
public:
|
|
2708 |
IMPORT_C TMobilePhoneOPlmnV3();
|
|
2709 |
public:
|
|
2710 |
/**
|
|
2711 |
The MCC of the registered PLMN, with "wild" values specified for the particular digits of the code.
|
|
2712 |
*/
|
|
2713 |
TMobilePhoneNetworkCountryCode iCountryCode;
|
|
2714 |
/**
|
|
2715 |
The MNC of the registered PLMN, with "wild" values specified for the particular digits of the code.
|
|
2716 |
*/
|
|
2717 |
TMobilePhoneNetworkIdentity iNetworkId;
|
|
2718 |
/**
|
|
2719 |
The id of the Network Name to be displayed for the (following) location area codes.
|
|
2720 |
*/
|
|
2721 |
TUint32 iPNNid;
|
|
2722 |
/**
|
|
2723 |
First Location area code for defining the entire range of LACs for the registered PLMN.
|
|
2724 |
*/
|
|
2725 |
TUint iFirstLocationAreaCode;
|
|
2726 |
/**
|
|
2727 |
Last Location area code defining the entire range of LACs for the registered PLMN.
|
|
2728 |
*/
|
|
2729 |
TUint iLastLocationAreaCode;
|
|
2730 |
|
|
2731 |
};
|
|
2732 |
|
|
2733 |
/**
|
|
2734 |
Packaging typedef for TMobilePhoneOPlmnV3 class.
|
|
2735 |
*/
|
|
2736 |
typedef TPckg<TMobilePhoneOPlmnV3> TMobilePhoneOPlmnV3Pckg;
|
|
2737 |
|
|
2738 |
IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName, TDes8& aLocInfo) const;
|
|
2739 |
|
|
2740 |
/**
|
|
2741 |
Identifiers for different access technologies.
|
|
2742 |
*/
|
|
2743 |
enum TMobilePhoneNetworkAccessCaps
|
|
2744 |
{
|
|
2745 |
/**
|
|
2746 |
No network activity.
|
|
2747 |
*/
|
|
2748 |
KNetworkAccessUnknown=0x0000,
|
|
2749 |
/**
|
|
2750 |
Access technology is GSM.
|
|
2751 |
*/
|
|
2752 |
KNetworkAccessGsm=0x8000,
|
|
2753 |
/**
|
|
2754 |
Access technology is GSM COMPACT.
|
|
2755 |
*/
|
|
2756 |
KNetworkAccessGsmCompact=0x4000,
|
|
2757 |
/**
|
|
2758 |
Access technology is UTRAN (UMTS only).
|
|
2759 |
*/
|
|
2760 |
KNetworkAccessUtran=0x0080
|
|
2761 |
};
|
|
2762 |
|
|
2763 |
typedef TUint32 TMobilePhoneNetworkAccessCapsFlags;
|
|
2764 |
|
|
2765 |
class TMobilePreferredNetworkEntryV3 : public TMultimodeType
|
|
2766 |
/**
|
|
2767 |
Defines information for a preferred network.
|
|
2768 |
*/
|
|
2769 |
{
|
|
2770 |
public:
|
|
2771 |
IMPORT_C TMobilePreferredNetworkEntryV3();
|
|
2772 |
public:
|
|
2773 |
void InternalizeL(RReadStream& aStream);
|
|
2774 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
2775 |
public:
|
|
2776 |
/**
|
|
2777 |
Access Technology supported.
|
|
2778 |
Can contain a number of flags from RMobilePhone::TMobilePhoneNetworkAccessCaps.
|
|
2779 |
*/
|
|
2780 |
TMobilePhoneNetworkAccessCapsFlags iAccess;
|
|
2781 |
/**
|
|
2782 |
Editable preferences in the User-controlled Networks List with Access Technology.
|
|
2783 |
*/
|
|
2784 |
TBool iUserDefined;
|
|
2785 |
/**
|
|
2786 |
The MCC of the network.
|
|
2787 |
*/
|
|
2788 |
TMobilePhoneNetworkCountryCode iCountryCode;
|
|
2789 |
/**
|
|
2790 |
The MNC of the network.
|
|
2791 |
*/
|
|
2792 |
TMobilePhoneNetworkIdentity iNetworkId;
|
|
2793 |
};
|
|
2794 |
|
|
2795 |
IMPORT_C void StorePreferredNetworksListL(TRequestStatus& aReqStatus, CMobilePhoneStoredNetworkList* aList) const;
|
|
2796 |
IMPORT_C void NotifyPreferredNetworksListChange(TRequestStatus& aReqStatus) const;
|
|
2797 |
|
|
2798 |
/***********************************************************************************/
|
|
2799 |
//
|
|
2800 |
// Mobile Multimedia Call Settings functional unit
|
|
2801 |
//
|
|
2802 |
/***********************************************************************************/
|
|
2803 |
|
|
2804 |
/** An enumerated list of settings for multimedia calls. */
|
|
2805 |
enum TMobilePhoneMultimediaSettings
|
|
2806 |
{
|
|
2807 |
/** Accept all incoming multimedia calls with the fallback option enabled. (default). */
|
|
2808 |
EAcceptMMCallsVoiceFallback,
|
|
2809 |
/** Accept all incoming multimedia calls, but do not accept voice fallback. */
|
|
2810 |
EAcceptMMCallsNoFallback,
|
|
2811 |
/** Reject all incoming multimedia calls. */
|
|
2812 |
ERejectMMCalls,
|
|
2813 |
/** Reject all incoming multimedia calls, but drop to voice instead. */
|
|
2814 |
EAnswerMMCallsAsVoice
|
|
2815 |
};
|
|
2816 |
|
|
2817 |
IMPORT_C void SetMultimediaCallPreference(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings aMmSettings) const;
|
|
2818 |
IMPORT_C TInt GetMultimediaCallPreference(TMobilePhoneMultimediaSettings& aMmSettings) const;
|
|
2819 |
IMPORT_C void NotifyMultimediaCallPreferenceChange(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings& aMmSettings);
|
|
2820 |
|
|
2821 |
/***********************************************************************************/
|
|
2822 |
//
|
|
2823 |
// MobilePrivacy functional unit
|
|
2824 |
//
|
|
2825 |
/***********************************************************************************/
|
|
2826 |
|
|
2827 |
/** The mobile phone privacy settings.
|
|
2828 |
|
|
2829 |
Modes: CDMA */
|
|
2830 |
enum TMobilePhonePrivacy
|
|
2831 |
{
|
|
2832 |
/** The privacy setting is unspecified. */
|
|
2833 |
EPrivacyUnspecified,
|
|
2834 |
/** The privacy setting is set to ON. */
|
|
2835 |
EPrivacyOn,
|
|
2836 |
/** The privacy setting is set to OFF. */
|
|
2837 |
EPrivacyOff
|
|
2838 |
};
|
|
2839 |
|
|
2840 |
IMPORT_C TInt GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const;
|
|
2841 |
IMPORT_C void SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const;
|
|
2842 |
IMPORT_C void NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const;
|
|
2843 |
|
|
2844 |
/***********************************************************************************/
|
|
2845 |
//
|
|
2846 |
// TSY Capabilities for supplementary call services
|
|
2847 |
//
|
|
2848 |
/***********************************************************************************/
|
|
2849 |
|
|
2850 |
/** The call services.
|
|
2851 |
|
|
2852 |
Modes: GSM/WCDMA */
|
|
2853 |
enum TMobilePhoneCallServiceCaps
|
|
2854 |
{
|
|
2855 |
/** Phone supports retrieval of call forwarding status from a cache on the phone.
|
|
2856 |
|
|
2857 |
Modes: GSM/WCDMA */
|
|
2858 |
KCapsGetCFStatusCache =0x00000001,
|
|
2859 |
/** Phone supports retrieval of call forwarding status from the network.
|
|
2860 |
|
|
2861 |
Modes: GSM/WCDMA */
|
|
2862 |
KCapsGetCFStatusNetwork =0x00000002,
|
|
2863 |
/** Phone supports setting of call forwarding status (and registered information)
|
|
2864 |
in the network. */
|
|
2865 |
KCapsSetCFStatus =0x00000004,
|
|
2866 |
/** Phone supports notification of change in status of any call forwarding service.
|
|
2867 |
|
|
2868 |
Modes: GSM/WCDMA */
|
|
2869 |
KCapsNotifyCFStatus =0x00000008,
|
|
2870 |
/** Phone supports retrieval of CLIP status from either a cache or the network.
|
|
2871 |
|
|
2872 |
Modes: GSM/WCDMA */
|
|
2873 |
KCapsGetClipStatus =0x00000010,
|
|
2874 |
/** Phone supports retrieval of CLIR status from either a cache or the network.
|
|
2875 |
|
|
2876 |
Modes: GSM/WCDMA */
|
|
2877 |
KCapsGetClirStatus =0x00000020,
|
|
2878 |
/** Phone supports retrieval of COLP status from either a cache or the network.
|
|
2879 |
|
|
2880 |
Modes: GSM/WCDMA */
|
|
2881 |
KCapsGetColpStatus =0x00000040,
|
|
2882 |
/** Phone supports retrieval of COLR status from either a cache or the network.
|
|
2883 |
|
|
2884 |
Modes: GSM/WCDMA */
|
|
2885 |
KCapsGetColrStatus =0x00000080,
|
|
2886 |
/** Phone supports retrieval of CNAP status from either a cache or the network.
|
|
2887 |
|
|
2888 |
Modes: GSM/WCDMA */
|
|
2889 |
KCapsGetCnapStatus =0x00000100,
|
|
2890 |
/** Phone supports retrieval of call barring status from a cache on the phone.
|
|
2891 |
|
|
2892 |
Modes: Common */
|
|
2893 |
KCapsGetCBStatusCache =0x00000200,
|
|
2894 |
/** Phone supports retrieval of call barring status from the network.
|
|
2895 |
|
|
2896 |
Modes: GSM/WCDMA */
|
|
2897 |
KCapsGetCBStatusNetwork =0x00000400,
|
|
2898 |
/** Phone supports setting of call barring status in the network.
|
|
2899 |
|
|
2900 |
Modes: Common */
|
|
2901 |
KCapsSetCBStatus =0x00000800,
|
|
2902 |
/** Phone supports notification of change in call barring status for any service.
|
|
2903 |
|
|
2904 |
Modes: Common */
|
|
2905 |
KCapsNotifyCBStatus =0x00001000,
|
|
2906 |
/** Phone supports setting of a password for call barring service.
|
|
2907 |
|
|
2908 |
Modes: Common */
|
|
2909 |
KCapsChangeCBPassword =0x00002000,
|
|
2910 |
/** Phone supports BAIC call barring service.
|
|
2911 |
|
|
2912 |
Modes: Common */
|
|
2913 |
KCapsBarAllIncoming =0x00004000,
|
|
2914 |
/** Phone supports BIC-Roam call barring service.
|
|
2915 |
|
|
2916 |
Modes: Common */
|
|
2917 |
KCapsBarIncomingRoaming =0x00008000,
|
|
2918 |
/** Phone supports BAOC call barring service.
|
|
2919 |
|
|
2920 |
Modes: Common */
|
|
2921 |
KCapsBarAllOutgoing =0x00010000,
|
|
2922 |
/** Phone supports BOIC call barring service.
|
|
2923 |
|
|
2924 |
Modes: Common */
|
|
2925 |
KCapsBarOutgoingInternational =0x00020000,
|
|
2926 |
/** Phone supports BOIC-ExHC call barring service.
|
|
2927 |
|
|
2928 |
Modes: Common */
|
|
2929 |
KCapsBarOutgoingInternationalExHC =0x00040000,
|
|
2930 |
/** Phone supports barring all cases at once.
|
|
2931 |
|
|
2932 |
Modes: Common */
|
|
2933 |
KCapsBarAllCases =0x00080000,
|
|
2934 |
/** Phone supports retrieval of call waiting status from a cache on the phone.
|
|
2935 |
|
|
2936 |
Modes: GSM/WCDMA */
|
|
2937 |
KCapsGetCWStatusCache =0x00100000,
|
|
2938 |
/** Phone supports retrieval of call waiting status from the network.
|
|
2939 |
|
|
2940 |
Modes: GSM/WCDMA */
|
|
2941 |
KCapsGetCWStatusNetwork =0x00200000,
|
|
2942 |
/** Phone supports setting of call waiting status in the network.
|
|
2943 |
|
|
2944 |
Modes: Common */
|
|
2945 |
KCapsSetCWStatus =0x00400000,
|
|
2946 |
/** Phone supports notification of change in call waiting status for any service.
|
|
2947 |
|
|
2948 |
Modes: GSM/WCDMA */
|
|
2949 |
KCapsNotifyCWStatus =0x00800000,
|
|
2950 |
/** Phone supports retrieval of call completion (CCBS) status from a cache on the
|
|
2951 |
phone.
|
|
2952 |
|
|
2953 |
Modes: GSM/WCDMA */
|
|
2954 |
KCapsGetCCBSStatusCache =0x01000000,
|
|
2955 |
/** Phone supports retrieval of call completion (CCBS) status from the network.
|
|
2956 |
|
|
2957 |
Modes: GSM/WCDMA */
|
|
2958 |
KCapsGetCCBSStatusNetwork =0x02000000,
|
|
2959 |
/** Phone supports deactivation of all CCBS requests at once.
|
|
2960 |
|
|
2961 |
Modes: GSM/WCDMA */
|
|
2962 |
KCapsDeactivateAllCCBS =0x04000000,
|
|
2963 |
KCapsDeactivateCCBS =0x08000000,
|
|
2964 |
/** Phone supports retrieval of a list of active CCBS requests.
|
|
2965 |
|
|
2966 |
Modes: GSM/WCDMA */
|
|
2967 |
KCapsRetrieveActiveCCBS =0x10000000,
|
|
2968 |
/** The phone supports programming and retrieval of feature code against a CDMA
|
|
2969 |
network service.
|
|
2970 |
|
|
2971 |
Modes: CDMA */
|
|
2972 |
KCapsFeatureCode =0x20000000,
|
|
2973 |
/** The phone supports sending of generic network service request strings.
|
|
2974 |
|
|
2975 |
Modes: Common */
|
|
2976 |
KCapsNetworkServiceRequest =0x40000000,
|
|
2977 |
/** The phone supports retrieval of called line identification status.
|
|
2978 |
|
|
2979 |
Modes: GSM/WCDMA */
|
|
2980 |
KCapsGetCdipStatus =0x80000000
|
|
2981 |
};
|
|
2982 |
|
|
2983 |
IMPORT_C TInt GetCallServiceCaps(TUint32& aCaps) const;
|
|
2984 |
IMPORT_C void NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
2985 |
|
|
2986 |
/***********************************************************************************/
|
|
2987 |
//
|
|
2988 |
// MobilePhoneUserNetworkAccess functional unit
|
|
2989 |
//
|
|
2990 |
/***********************************************************************************/
|
|
2991 |
|
|
2992 |
/** Mobile Phone network services.
|
|
2993 |
|
|
2994 |
Modes: CDMA */
|
|
2995 |
enum TMobilePhoneNetworkService
|
|
2996 |
{
|
|
2997 |
/** Network service is unspecified. */
|
|
2998 |
ENetworkServiceUnspecified,
|
|
2999 |
/** Feature code applies to call forwarding unconditional service. */
|
|
3000 |
ECFUService,
|
|
3001 |
/** Feature code applies to call forwarding on busy service. */
|
|
3002 |
ECFBService,
|
|
3003 |
/** Feature code applies to call forwarding on no reply service. */
|
|
3004 |
ECFNRyService,
|
|
3005 |
/** Feature code applies to call forwarding on not reachable service. */
|
|
3006 |
ECFNRcService,
|
|
3007 |
/** Feature code applies to user selective call forwarding service - when the
|
|
3008 |
user wishes to forward incoming call to voicemail. */
|
|
3009 |
EDeflectToVoicemail,
|
|
3010 |
/** Feature code applies to user selective call forwarding service - when the
|
|
3011 |
user wishes to forward incoming call to a number supplied within the deflect
|
|
3012 |
request. */
|
|
3013 |
EDeflectToNumber,
|
|
3014 |
/** Feature code applies to user selective call forwarding service - when the
|
|
3015 |
user wishes to forward incoming call to a number pre-registered within the
|
|
3016 |
network. */
|
|
3017 |
EDeflectToRegisteredNumber,
|
|
3018 |
/** Feature code applies to call waiting service. */
|
|
3019 |
ECWService,
|
|
3020 |
ENextCallShowCLI,
|
|
3021 |
/** Feature code applies to caller ID restriction service - when user wishes to
|
|
3022 |
hide their ID for the next call they make. */
|
|
3023 |
ENextCallHideCLI
|
|
3024 |
};
|
|
3025 |
|
|
3026 |
/** Mobile phone service actions.
|
|
3027 |
|
|
3028 |
Modes: Common */
|
|
3029 |
enum TMobilePhoneServiceAction
|
|
3030 |
{
|
|
3031 |
/** The action is unspecified. */
|
|
3032 |
EServiceActionUnspecified,
|
|
3033 |
/** The client is registering new service information. If the service was not active
|
|
3034 |
then this action also activates the service. */
|
|
3035 |
EServiceActionRegister,
|
|
3036 |
/** The client is activating the service. */
|
|
3037 |
EServiceActionActivate,
|
|
3038 |
/** The client is invoking the service. */
|
|
3039 |
EServiceActionInvoke,
|
|
3040 |
/** The client is deactivating the service. */
|
|
3041 |
EServiceActionDeactivate,
|
|
3042 |
/** The client is erasing the currently registered service information. If the service
|
|
3043 |
was active then this action also deactivates the service. */
|
|
3044 |
EServiceActionErase
|
|
3045 |
};
|
|
3046 |
|
|
3047 |
/**
|
|
3048 |
Defines the type of SS operation
|
|
3049 |
*/
|
|
3050 |
enum TMobilePhoneNotifySendSSOperation
|
|
3051 |
{
|
|
3052 |
/**
|
|
3053 |
SS Invoke operation.
|
|
3054 |
*/
|
|
3055 |
ESendSSInvoke,
|
|
3056 |
/**
|
|
3057 |
SS ReturnResult operation.
|
|
3058 |
*/
|
|
3059 |
ESendSSReturnResult,
|
|
3060 |
/**
|
|
3061 |
SS ReturnError operation.
|
|
3062 |
*/
|
|
3063 |
ESendSSReturnError,
|
|
3064 |
/**
|
|
3065 |
SS Reject operation.
|
|
3066 |
*/
|
|
3067 |
ESendSSReject
|
|
3068 |
};
|
|
3069 |
|
|
3070 |
/** Size of additional info buffer. */
|
|
3071 |
enum{ KAdditionalInfoSize = 244 };
|
|
3072 |
|
|
3073 |
class TMobilePhoneSendSSRequestV3 : public TMultimodeType
|
|
3074 |
/**
|
|
3075 |
Contains the operation code and buffer to hold any additional information when receiving a notification
|
|
3076 |
about a network service request.
|
|
3077 |
*/
|
|
3078 |
{
|
|
3079 |
public:
|
|
3080 |
IMPORT_C TMobilePhoneSendSSRequestV3();
|
|
3081 |
public:
|
|
3082 |
/**
|
|
3083 |
This is the Operation Code for a Send SS Invoke or Return result events.
|
|
3084 |
This is the Error or Problem Code for a Send SS Return Error or Reject events.
|
|
3085 |
*/
|
|
3086 |
TUint8 iOpCode;
|
|
3087 |
/**
|
|
3088 |
The additional information (parameters) for a Send SS Invoke or Return result or Return Error events.
|
|
3089 |
This is not used for a Send SS Reject event
|
|
3090 |
*/
|
|
3091 |
TBuf<KAdditionalInfoSize> iAdditionalInfo;
|
|
3092 |
};
|
|
3093 |
|
|
3094 |
/**
|
|
3095 |
Packaging typedef for TMobilePhoneSendSSRequestV3 class.
|
|
3096 |
*/
|
|
3097 |
typedef TPckg<TMobilePhoneSendSSRequestV3> TMobilePhoneSendSSRequestV3Pckg;
|
|
3098 |
|
|
3099 |
// API/TSY internal type
|
|
3100 |
|
|
3101 |
struct TNetworkServiceAndAction
|
|
3102 |
{
|
|
3103 |
TMobilePhoneNetworkService iService;
|
|
3104 |
TMobilePhoneServiceAction iAction;
|
|
3105 |
};
|
|
3106 |
|
|
3107 |
IMPORT_C void ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
|
|
3108 |
IMPORT_C void GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
|
|
3109 |
|
|
3110 |
IMPORT_C void SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
|
|
3111 |
IMPORT_C void SendNetworkServiceRequestNoFdnCheck(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
|
|
3112 |
IMPORT_C void NotifySendNetworkServiceRequest(TRequestStatus& aReqStatus, const TMobilePhoneNotifySendSSOperation aOperation, TDes8& aRequestComplete) const;
|
|
3113 |
|
|
3114 |
/***********************************************************************************/
|
|
3115 |
//
|
|
3116 |
// MobilePhoneCallForwarding functional unit
|
|
3117 |
//
|
|
3118 |
/***********************************************************************************/
|
|
3119 |
|
|
3120 |
/** The Call Forwarding flavours.
|
|
3121 |
|
|
3122 |
Modes: GSM/WCDMA */
|
|
3123 |
enum TMobilePhoneCFCondition
|
|
3124 |
{
|
|
3125 |
/** The call forwarding service is unspecified. */
|
|
3126 |
ECallForwardingUnspecified,
|
|
3127 |
/** All calls to this subscriber are forwarded. */
|
|
3128 |
ECallForwardingUnconditional,
|
|
3129 |
/** Calls are forwarded when this subscriber is busy. */
|
|
3130 |
ECallForwardingBusy,
|
|
3131 |
/** Calls are forwarded when this subscriber does not reply within a time-out period. */
|
|
3132 |
ECallForwardingNoReply,
|
|
3133 |
/** Calls are forwarded when this subscriber is unreachable. */
|
|
3134 |
ECallForwardingNotReachable,
|
|
3135 |
/** All of above CF services. Can be used to check all 4 call forwarding Fs
|
|
3136 |
at once. */
|
|
3137 |
ECallForwardingAllCases, // combination of all four above cases
|
|
3138 |
/** All the conditional (busy, no reply, not reachable) CF services. Can be used
|
|
3139 |
to check all 3 conditional call forwarding conditions at once. */
|
|
3140 |
ECallForwardingAllConditionalCases // combination of CFB, CFNRy and CFNRc
|
|
3141 |
};
|
|
3142 |
|
|
3143 |
/** The Call Forwarding status
|
|
3144 |
|
|
3145 |
Modes: GSM/WCDMA */
|
|
3146 |
enum TMobilePhoneCFStatus
|
|
3147 |
{
|
|
3148 |
/** The CF service is currently active and operative. */
|
|
3149 |
ECallForwardingStatusActive,
|
|
3150 |
/** The CF service is currently deactivated. */
|
|
3151 |
ECallForwardingStatusNotActive,
|
|
3152 |
/** The CF service is not registered. */
|
|
3153 |
ECallForwardingStatusNotRegistered,
|
|
3154 |
/** The CF service is not provisioned. */
|
|
3155 |
ECallForwardingStatusNotProvisioned,
|
|
3156 |
/** The CF service is not available in the serving network. */
|
|
3157 |
ECallForwardingStatusNotAvailable,
|
|
3158 |
/** The phone can not determine CF service status. */
|
|
3159 |
ECallForwardingStatusUnknown,
|
|
3160 |
/** The Call Forwarding service is active and the presentation indicator is set
|
|
3161 |
to allowed */
|
|
3162 |
ECallForwardingStatusActivePIAllowed,
|
|
3163 |
/** The Call Forwarding service is active and the presentation indicator is set
|
|
3164 |
to not available */
|
|
3165 |
ECallForwardingStatusActivePINotAvailable,
|
|
3166 |
/** The Call Forwarding service is active and the presentation indicator is set
|
|
3167 |
to restricted
|
|
3168 |
|
|
3169 |
The Call Forwarding service is active and the presentation indicator is set
|
|
3170 |
to restricted and screening returns "User provided, verified and passed". */
|
|
3171 |
ECallForwardingStatusActivePIClir,
|
|
3172 |
/** The Call Forwarding service is active and the presentation indicator is set
|
|
3173 |
to restricted and screening returns "User provided, not screened". */
|
|
3174 |
ECallForwardingStatusActivePIClirSIVerified,
|
|
3175 |
/** The Call Forwarding service is active and the presentation indicator is set
|
|
3176 |
to "restricted" and screening returns "Network provided". */
|
|
3177 |
ECallForwardingStatusActivePIClirSINotScreened,
|
|
3178 |
/** The Call Forwarding service is active and the presentation indicator is set
|
|
3179 |
to "restricted" and screening returns "Network provided". */
|
|
3180 |
ECallForwardingStatusActivePIClirSINetwork,
|
|
3181 |
/** The CF service is currently in the quiescent state. */
|
|
3182 |
ECallForwardingStatusQuiescent
|
|
3183 |
};
|
|
3184 |
|
|
3185 |
|
|
3186 |
|
|
3187 |
class TMobilePhoneCFInfoEntryV1 : public TMultimodeType
|
|
3188 |
/** Defines information about the call forwarding service.
|
|
3189 |
|
|
3190 |
Modes: GSM/WCDMA
|
|
3191 |
|
|
3192 |
@see CMobilePhoneCFList
|
|
3193 |
@publishedPartner
|
|
3194 |
@released
|
|
3195 |
*/
|
|
3196 |
{
|
|
3197 |
public:
|
|
3198 |
IMPORT_C TMobilePhoneCFInfoEntryV1();
|
|
3199 |
public:
|
|
3200 |
void InternalizeL(RReadStream& aStream);
|
|
3201 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
3202 |
public:
|
|
3203 |
/** The CF service of this list entry.
|
|
3204 |
|
|
3205 |
@see TMobilePhoneCFCondition */
|
|
3206 |
TMobilePhoneCFCondition iCondition;
|
|
3207 |
/** The basic service group associated to this CF service list entry.
|
|
3208 |
|
|
3209 |
@see TMobileService */
|
|
3210 |
TMobileService iServiceGroup;
|
|
3211 |
/** The current status of the call forwarding condition.
|
|
3212 |
|
|
3213 |
@see TMobilePhoneCFStatus */
|
|
3214 |
TMobilePhoneCFStatus iStatus;
|
|
3215 |
/** The "forward-to" telephone number registered for the call forwarding condition.
|
|
3216 |
An empty string if CF service is not registered, not provisioned or not available.
|
|
3217 |
|
|
3218 |
@see TMobileAddress */
|
|
3219 |
TMobileAddress iNumber;
|
|
3220 |
/** The "No Reply" time-out (in seconds) registered for the call forwarding no reply
|
|
3221 |
condition.
|
|
3222 |
|
|
3223 |
Equals to -1 if this value is not applicable. In GSM mode, will be between
|
|
3224 |
5 and 30 and in steps of 5 if this value is applicable. */
|
|
3225 |
TInt iTimeout; // valid for CFRNy only
|
|
3226 |
};
|
|
3227 |
|
|
3228 |
IMPORT_C void NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const;
|
|
3229 |
|
|
3230 |
class TMobilePhoneCFChangeV1 : public TMultimodeType
|
|
3231 |
/** Defines the call forward information.
|
|
3232 |
|
|
3233 |
@see SetCallForwardingStatus()
|
|
3234 |
@publishedPartner
|
|
3235 |
@released
|
|
3236 |
*/
|
|
3237 |
{
|
|
3238 |
public:
|
|
3239 |
IMPORT_C TMobilePhoneCFChangeV1();
|
|
3240 |
public:
|
|
3241 |
/** The basic service group(s) to apply the CF status change to.
|
|
3242 |
|
|
3243 |
@see TMobileService */
|
|
3244 |
TMobileService iServiceGroup;
|
|
3245 |
/** The service action for call forwarding.
|
|
3246 |
|
|
3247 |
@see TMobilePhoneServiceAction */
|
|
3248 |
TMobilePhoneServiceAction iAction;
|
|
3249 |
/** A new "forward-to" number to be registered against the CF condition. This is
|
|
3250 |
applicable if iAction=EServiceActionRegister. In other cases, it is set to
|
|
3251 |
an empty string.
|
|
3252 |
|
|
3253 |
@see TMobileAddress */
|
|
3254 |
TMobileAddress iNumber;
|
|
3255 |
/** The new "No Reply" time-out in seconds to be registered. This is applicable
|
|
3256 |
if the CF condition is CFNRy and iAction=EServiceActionRegister. Equals -1
|
|
3257 |
if this value is not applicable. If applicable, in GSM mode will be between
|
|
3258 |
5 and 30 and in steps of 5. */
|
|
3259 |
TInt iTimeout;
|
|
3260 |
};
|
|
3261 |
|
|
3262 |
IMPORT_C void SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const;
|
|
3263 |
|
|
3264 |
/** Call Forwarding Active Notification
|
|
3265 |
|
|
3266 |
Modes: Common */
|
|
3267 |
enum TMobilePhoneCFActive
|
|
3268 |
{
|
|
3269 |
/** CF Unconditional is currently active. */
|
|
3270 |
ECFUnconditionalActive,
|
|
3271 |
/** CF Busy, CF No Reply or CF Not Reachable is currently active. */
|
|
3272 |
ECFConditionalActive
|
|
3273 |
};
|
|
3274 |
|
|
3275 |
IMPORT_C void NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const;
|
|
3276 |
|
|
3277 |
/**
|
|
3278 |
Current status indicators for unconditional call forwarding.
|
|
3279 |
*/
|
|
3280 |
enum TCFUIndicatorStatus
|
|
3281 |
{
|
|
3282 |
/**
|
|
3283 |
CFU Indicator status unknown.
|
|
3284 |
*/
|
|
3285 |
KCFUIndicatorUnknown = 0x0,
|
|
3286 |
/**
|
|
3287 |
CFU Indicator status for Voice (TMobileServiceGroup EVoice).
|
|
3288 |
*/
|
|
3289 |
KCFUIndicatorVoice=0x01,
|
|
3290 |
/**
|
|
3291 |
CFU Indicator status for Fax (TMobileServiceGroup EFax).
|
|
3292 |
*/
|
|
3293 |
KCFUIndicatorFax=0x02,
|
|
3294 |
/**
|
|
3295 |
CFU Indicator status for Data Teleservices(TMobileServiceGroup EData).
|
|
3296 |
*/
|
|
3297 |
KCFUIndicatorData=0x04,
|
|
3298 |
/**
|
|
3299 |
CFU Indicator status for Sms (TMobileServiceGroup ESms).
|
|
3300 |
*/
|
|
3301 |
KCFUIndicatorSms=0x08,
|
|
3302 |
/**
|
|
3303 |
CFU Indicator status for Data Bearer Services(TMobileServiceGroup EDataBearer).
|
|
3304 |
*/
|
|
3305 |
KCFUIndicatorDataBearer=0x10
|
|
3306 |
};
|
|
3307 |
|
|
3308 |
typedef TUint32 TCFUIndicatorStatusFlags;
|
|
3309 |
|
|
3310 |
class TMobilePhoneCFUIndicatorV3 : public TMultimodeType
|
|
3311 |
/**
|
|
3312 |
Contains indicator parameters for unconditional call forwarding.
|
|
3313 |
*/
|
|
3314 |
{
|
|
3315 |
public:
|
|
3316 |
IMPORT_C TMobilePhoneCFUIndicatorV3();
|
|
3317 |
public:
|
|
3318 |
/**
|
|
3319 |
Current setting for indicator status.
|
|
3320 |
Can contain a number of flags from RMobilePhone::TCFUIndicatorStatus.
|
|
3321 |
*/
|
|
3322 |
TCFUIndicatorStatusFlags iIndicator;
|
|
3323 |
};
|
|
3324 |
|
|
3325 |
typedef TPckg<TMobilePhoneCFUIndicatorV3> TMobilePhoneCFUIndicatorV3Pckg;
|
|
3326 |
|
|
3327 |
/**
|
|
3328 |
The MSP number contains the Profile Identity of the subscriber profile.
|
|
3329 |
The Profile Identity shall be any of the following enlisted.
|
|
3330 |
@see 3GPP TS 31.102 v7.4.1 section 4.2.64
|
|
3331 |
@see 3GPP TS 23.097 [36]
|
|
3332 |
*/
|
|
3333 |
enum TMultipleSubscriberProfileID
|
|
3334 |
{
|
|
3335 |
/**
|
|
3336 |
Profile Identity Unknown
|
|
3337 |
*/
|
|
3338 |
KProfileIdentityUnknown = 0x0,
|
|
3339 |
/**
|
|
3340 |
Profile Identity 1
|
|
3341 |
*/
|
|
3342 |
KProfileIdentityOne = 0x01,
|
|
3343 |
/**
|
|
3344 |
Profile Identity 2
|
|
3345 |
*/
|
|
3346 |
KProfileIdentityTwo = 0x02,
|
|
3347 |
/**
|
|
3348 |
Profile Identity 3
|
|
3349 |
*/
|
|
3350 |
KProfileIdentityThree = 0x04,
|
|
3351 |
/**
|
|
3352 |
Profile Identity 4
|
|
3353 |
*/
|
|
3354 |
KProfileIdentityFour = 0x08
|
|
3355 |
};
|
|
3356 |
|
|
3357 |
class TMobilePhoneCFUIndicatorV6 : public TMobilePhoneCFUIndicatorV3
|
|
3358 |
/**
|
|
3359 |
Contains the indicator parameters for unconditional call forwarding.
|
|
3360 |
The TMobilePhoneCFUIndicatorV6 supports MSP number(Multiple Subscriber Profile) and Call Forwarding Number.
|
|
3361 |
Upto four different profiles can be provisioned against a subscriber using the MSP feature.
|
|
3362 |
@see 3GPP TS 31.102 v7.4.1 section 4.2.64
|
|
3363 |
*/
|
|
3364 |
{
|
|
3365 |
public:
|
|
3366 |
IMPORT_C TMobilePhoneCFUIndicatorV6();
|
|
3367 |
public:
|
|
3368 |
/**
|
|
3369 |
@see RMoblie::TMobileAddress
|
|
3370 |
*/
|
|
3371 |
TMobileAddress iCFNumber;
|
|
3372 |
/**
|
|
3373 |
The profile IDs allow unambiguous identification of each profile.
|
|
3374 |
This will allow the subscriber to select the preferred profile for outgoing calls and for subscriber actions.
|
|
3375 |
For terminating calls the profile ID shall be part of the notification of the profile.
|
|
3376 |
*/
|
|
3377 |
TMultipleSubscriberProfileID iMultipleSubscriberProfileID;
|
|
3378 |
};
|
|
3379 |
|
|
3380 |
typedef TPckg<TMobilePhoneCFUIndicatorV6> TMobilePhoneCFUIndicatorV6Pckg;
|
|
3381 |
|
|
3382 |
IMPORT_C void GetCallForwardingIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const;
|
|
3383 |
|
|
3384 |
/***********************************************************************************/
|
|
3385 |
//
|
|
3386 |
// Mobile Identity Service functional unit
|
|
3387 |
//
|
|
3388 |
/***********************************************************************************/
|
|
3389 |
|
|
3390 |
/** Phone ID services (CLIP/CNIP/CLIR).
|
|
3391 |
|
|
3392 |
Modes: GSM/WCDMA */
|
|
3393 |
enum TMobilePhoneIdService
|
|
3394 |
{
|
|
3395 |
/** The identity service is unspecified */
|
|
3396 |
EIdServiceUnspecified,
|
|
3397 |
/** The caller's ID is presented to the called party. */
|
|
3398 |
EIdServiceCallerPresentation,
|
|
3399 |
/** The caller's ID is restricted to the called party. */
|
|
3400 |
EIdServiceCallerRestriction,
|
|
3401 |
/** The connected party's ID is presented to the calling party. */
|
|
3402 |
EIdServiceConnectedPresentation,
|
|
3403 |
/** The connected party's ID is restricted to the calling party. */
|
|
3404 |
EIdServiceConnectedRestriction,
|
|
3405 |
/** The caller's name is presented to the called party. */
|
|
3406 |
EIdServiceCallerName,
|
|
3407 |
/** The called party is presented with the caller's ID. This command enables a
|
|
3408 |
called subscriber to get the called line identification of the called party
|
|
3409 |
when receiving a mobile terminated call. - maps to +CDIP. */
|
|
3410 |
EIdServiceCalledPresentation
|
|
3411 |
};
|
|
3412 |
|
|
3413 |
/** Service status of the Phone ID services (CLIP/CLIR/CNIP).
|
|
3414 |
|
|
3415 |
Modes: GSM/WCDMA */
|
|
3416 |
enum TMobilePhoneIdServiceStatus
|
|
3417 |
{
|
|
3418 |
/** The interrogated Identity service is provisioned and active. This status is
|
|
3419 |
used for all identity services and in the case of the CLIR service means that
|
|
3420 |
it is permanently active with no subscription option set. */
|
|
3421 |
EIdServiceActivePermanent,
|
|
3422 |
/** This status is used for the CLIR service only and means that the service is
|
|
3423 |
provisioned and active.
|
|
3424 |
|
|
3425 |
The CLIR subscription option is set to "Temporary, default restricted", therefore
|
|
3426 |
identity is always restricted unless over-ridden by the user during a call
|
|
3427 |
set-up. */
|
|
3428 |
EIdServiceActiveDefaultRestricted,
|
|
3429 |
/** This status is used for the CLIR service only and means that the service is
|
|
3430 |
provisioned and active.
|
|
3431 |
|
|
3432 |
The CLIR subscription option is set to "Temporary, default allowed", therefore
|
|
3433 |
identity is always allowed unless over-ridden by the user during a call set-up. */
|
|
3434 |
EIdServiceActiveDefaultAllowed,
|
|
3435 |
/** The interrogated Identity service is not provisioned. */
|
|
3436 |
EIdServiceNotProvisioned,
|
|
3437 |
/** The status of the interrogated Identity service is unknown. */
|
|
3438 |
EIdServiceUnknown
|
|
3439 |
};
|
|
3440 |
|
|
3441 |
// for use by client-side API code and TSY only
|
|
3442 |
|
|
3443 |
struct TIdServiceAndLocation
|
|
3444 |
{
|
|
3445 |
TMobilePhoneIdService iService;
|
|
3446 |
TMobileInfoLocation iLocation;
|
|
3447 |
};
|
|
3448 |
|
|
3449 |
/** This function member retrieves the current status of the identity service specified.
|
|
3450 |
|
|
3451 |
The phone will retrieve this service status information from the location
|
|
3452 |
specified by the client.
|
|
3453 |
|
|
3454 |
If the client has requested EInfoLocationCache but there is no valid status
|
|
3455 |
information in the cache then the request will return KErrNotFound.
|
|
3456 |
|
|
3457 |
If the client has requested EInfoLocationCachePreferred, the network will
|
|
3458 |
be interrogated if the cache is empty. Whenever the network is interrogated,
|
|
3459 |
the cache will be refreshed with the information from the network.
|
|
3460 |
|
|
3461 |
Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneGetIdentityServiceStatus)
|
|
3462 |
to cancel a previously placed asynchronous GetIdentityServiceStatus() request.
|
|
3463 |
|
|
3464 |
@param aReqStatus On return, KErrNone if successful.
|
|
3465 |
@param aService The identity service to be queried.
|
|
3466 |
@param aStatus On return, the service status.
|
|
3467 |
@param aLocation The location to use. */
|
|
3468 |
IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
|
|
3469 |
|
|
3470 |
/**
|
|
3471 |
Identifies default service status for provisioned identity services.
|
|
3472 |
*/
|
|
3473 |
enum TMobilePhoneIdServiceSetting
|
|
3474 |
{
|
|
3475 |
/** Sets the default setting to network default (unknown). */
|
|
3476 |
EIdServiceNetworkDefault,
|
|
3477 |
/** Sets the default setting to presentation restricted. */
|
|
3478 |
EIdServicePresentationRestricted,
|
|
3479 |
/** Sets the default setting to presentation allowed. */
|
|
3480 |
EIdServicePresentationAllowed
|
|
3481 |
};
|
|
3482 |
|
|
3483 |
IMPORT_C void SetIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, const TMobilePhoneIdServiceSetting aSetting) const;
|
|
3484 |
IMPORT_C void NotifyIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus) const;
|
|
3485 |
IMPORT_C void NotifyIdentitySuppressionRejected(TRequestStatus& aReqStatus) const;
|
|
3486 |
|
|
3487 |
/***********************************************************************************/
|
|
3488 |
//
|
|
3489 |
// Mobile Call Barring Functional Unit
|
|
3490 |
//
|
|
3491 |
/***********************************************************************************/
|
|
3492 |
|
|
3493 |
/** Mobile Phone Call Baring Conditions.
|
|
3494 |
|
|
3495 |
Modes: Common */
|
|
3496 |
enum TMobilePhoneCBCondition
|
|
3497 |
{
|
|
3498 |
/** The barring program is unspecified */
|
|
3499 |
EBarUnspecified,
|
|
3500 |
/** All incoming calls to this subscriber are barred (BAIC). */
|
|
3501 |
EBarAllIncoming,
|
|
3502 |
/** All incoming calls to this subscriber are barred when roaming outside the home
|
|
3503 |
PLMN country (BIC-roam). */
|
|
3504 |
EBarIncomingRoaming,
|
|
3505 |
/** All outgoing calls by this subscriber are barred (BAOC). */
|
|
3506 |
EBarAllOutgoing,
|
|
3507 |
/** All outgoing international calls by this subscriber are barred (BOIC). */
|
|
3508 |
EBarOutgoingInternational,
|
|
3509 |
/** All outgoing international calls except those directed to the home PLMN country
|
|
3510 |
by this subscriber are barred (BOIC-ExHC). */
|
|
3511 |
EBarOutgoingInternationalExHC,
|
|
3512 |
/** All of above CB services. */
|
|
3513 |
EBarAllCases,
|
|
3514 |
EBarAllOutgoingServices,
|
|
3515 |
EBarAllIncomingServices
|
|
3516 |
};
|
|
3517 |
|
|
3518 |
/** Mobile Phone Call Barring Status and Information.
|
|
3519 |
|
|
3520 |
Modes: Common */
|
|
3521 |
enum TMobilePhoneCBStatus
|
|
3522 |
{
|
|
3523 |
/** The CB service is currently active and operative. */
|
|
3524 |
ECallBarringStatusActive,
|
|
3525 |
/** The CB service is currently deactivated or quiescent. */
|
|
3526 |
ECallBarringStatusNotActive,
|
|
3527 |
/** In GSM/WCDMA mode, the CB service is not provisioned. In CDMA mode, this value
|
|
3528 |
has no meaning. */
|
|
3529 |
ECallBarringStatusNotProvisioned,
|
|
3530 |
/** In GSM/WCDMA mode, the CB service is not available in serving network. In CDMA
|
|
3531 |
mode, the CB service is not available in the phone. */
|
|
3532 |
ECallBarringStatusNotAvailable,
|
|
3533 |
/** The phone can not determine CB service status. */
|
|
3534 |
ECallBarringStatusUnknown
|
|
3535 |
};
|
|
3536 |
|
|
3537 |
|
|
3538 |
|
|
3539 |
class TMobilePhoneCBInfoEntryV1 : public TMultimodeType
|
|
3540 |
/** Defines information about the call barring service.
|
|
3541 |
|
|
3542 |
@see CMobilePhoneCBList
|
|
3543 |
@publishedPartner
|
|
3544 |
@released
|
|
3545 |
*/
|
|
3546 |
{
|
|
3547 |
public:
|
|
3548 |
void InternalizeL(RReadStream& aStream);
|
|
3549 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
3550 |
public:
|
|
3551 |
IMPORT_C TMobilePhoneCBInfoEntryV1();
|
|
3552 |
public:
|
|
3553 |
/** The CB service of this list entry.
|
|
3554 |
|
|
3555 |
Modes: Common
|
|
3556 |
|
|
3557 |
@see TMobilePhoneCBCondition */
|
|
3558 |
TMobilePhoneCBCondition iCondition;
|
|
3559 |
/** The service group associated to this list entry.
|
|
3560 |
|
|
3561 |
Modes: Common
|
|
3562 |
|
|
3563 |
@see TMobileService */
|
|
3564 |
TMobileService iServiceGroup;
|
|
3565 |
/** The CB service status of this list entry.
|
|
3566 |
|
|
3567 |
Modes: Common
|
|
3568 |
|
|
3569 |
@see TMobilePhoneCBStatus */
|
|
3570 |
TMobilePhoneCBStatus iStatus;
|
|
3571 |
};
|
|
3572 |
|
|
3573 |
class TMobilePhoneCBInfoEntryV3 : public TMobilePhoneCBInfoEntryV1
|
|
3574 |
/**
|
|
3575 |
V3 class extending TMobilePhoneCBInfoEntryV1 to add a comparison method parameter.
|
|
3576 |
*/
|
|
3577 |
{
|
|
3578 |
public:
|
|
3579 |
void InternalizeL(RReadStream& aStream);
|
|
3580 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
3581 |
public:
|
|
3582 |
IMPORT_C TMobilePhoneCBInfoEntryV3();
|
|
3583 |
public:
|
|
3584 |
/**
|
|
3585 |
The comparison method associated with this CB entry.
|
|
3586 |
*/
|
|
3587 |
TUint8 iCompMethod;
|
|
3588 |
};
|
|
3589 |
|
|
3590 |
class TMobilePhoneCBChangeV1 : public TMultimodeType
|
|
3591 |
/** Mobile Phone Call Barring Change.
|
|
3592 |
|
|
3593 |
@see SetCallBarringStatus()
|
|
3594 |
*/
|
|
3595 |
{
|
|
3596 |
public:
|
|
3597 |
IMPORT_C TMobilePhoneCBChangeV1();
|
|
3598 |
public:
|
|
3599 |
/** The basic service group(s) to apply the CB status change to.
|
|
3600 |
|
|
3601 |
@see TMobileService */
|
|
3602 |
TMobileService iServiceGroup;
|
|
3603 |
/** The service action for call barring.
|
|
3604 |
|
|
3605 |
@see TMobilePhoneServiceAction */
|
|
3606 |
TMobilePhoneServiceAction iAction;
|
|
3607 |
/** Password required to perform the call barring service action.
|
|
3608 |
|
|
3609 |
@see TMobilePassword */
|
|
3610 |
TMobilePassword iPassword;
|
|
3611 |
};
|
|
3612 |
|
|
3613 |
IMPORT_C void SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const;
|
|
3614 |
IMPORT_C void NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const;
|
|
3615 |
|
|
3616 |
class TMobilePhonePasswordChangeV1 : public TMultimodeType
|
|
3617 |
/** Mobile phone password change.
|
|
3618 |
|
|
3619 |
@see SetCallBarringPassword()
|
|
3620 |
@see ChangeSecurityCode()
|
|
3621 |
@publishedPartner
|
|
3622 |
@released
|
|
3623 |
*/
|
|
3624 |
{
|
|
3625 |
public:
|
|
3626 |
IMPORT_C TMobilePhonePasswordChangeV1();
|
|
3627 |
public:
|
|
3628 |
/** Old password.
|
|
3629 |
|
|
3630 |
Modes: Common
|
|
3631 |
|
|
3632 |
@see TMobilePassword */
|
|
3633 |
TMobilePassword iOldPassword;
|
|
3634 |
/** New password.
|
|
3635 |
|
|
3636 |
Modes: Common
|
|
3637 |
|
|
3638 |
@see TMobilePassword */
|
|
3639 |
TMobilePassword iNewPassword;
|
|
3640 |
};
|
|
3641 |
|
|
3642 |
IMPORT_C void SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const;
|
|
3643 |
|
|
3644 |
class TMobilePhonePasswordChangeV2 : public TMobilePhonePasswordChangeV1
|
|
3645 |
/** Mobile phone password change version 2.
|
|
3646 |
*/
|
|
3647 |
{
|
|
3648 |
public:
|
|
3649 |
IMPORT_C TMobilePhonePasswordChangeV2();
|
|
3650 |
public:
|
|
3651 |
/** Verified password.
|
|
3652 |
|
|
3653 |
Modes: Common
|
|
3654 |
|
|
3655 |
@see TMobilePassword */
|
|
3656 |
TMobilePassword iVerifiedPassword;
|
|
3657 |
};
|
|
3658 |
|
|
3659 |
/** A typedef'd packaged TMobilePhonePasswordChangeV2 passing through a generic
|
|
3660 |
API function member. */
|
|
3661 |
typedef TPckg<TMobilePhonePasswordChangeV2> TMobilePhonePasswordChangeV2Pckg;
|
|
3662 |
|
|
3663 |
IMPORT_C void SetSSPassword(TRequestStatus& aReqStatus, const TDesC8& aPassword, const TInt aService) const;
|
|
3664 |
|
|
3665 |
IMPORT_C void GetCompMethodName(TRequestStatus& aReqStatus, TDes& aAlphaTag, const TUint8 aCmi) const;
|
|
3666 |
|
|
3667 |
/***********************************************************************************/
|
|
3668 |
//
|
|
3669 |
// Mobile Call Waiting Functional Unit
|
|
3670 |
//
|
|
3671 |
/***********************************************************************************/
|
|
3672 |
|
|
3673 |
/** The mobile phone call waiting status.
|
|
3674 |
|
|
3675 |
Modes: GSM/WCDMA */
|
|
3676 |
enum TMobilePhoneCWStatus
|
|
3677 |
{
|
|
3678 |
/** The CW service is currently active and operative. */
|
|
3679 |
ECallWaitingStatusActive,
|
|
3680 |
/** The CW service is currently deactivated or quiescent. */
|
|
3681 |
ECallWaitingStatusNotActive,
|
|
3682 |
/** The CW service is not provisioned. */
|
|
3683 |
ECallWaitingStatusNotProvisioned,
|
|
3684 |
/** The CW service is not available in the serving network. */
|
|
3685 |
ECallWaitingStatusNotAvailable,
|
|
3686 |
/** The phone can not determine CW service status. */
|
|
3687 |
ECallWaitingStatusUnknown
|
|
3688 |
};
|
|
3689 |
|
|
3690 |
|
|
3691 |
|
|
3692 |
class TMobilePhoneCWInfoEntryV1 : public TMultimodeType
|
|
3693 |
/** Defines information about the call waiting service.
|
|
3694 |
|
|
3695 |
@see CMobilePhoneCWList
|
|
3696 |
*/
|
|
3697 |
{
|
|
3698 |
public:
|
|
3699 |
void InternalizeL(RReadStream& aStream);
|
|
3700 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
3701 |
public:
|
|
3702 |
IMPORT_C TMobilePhoneCWInfoEntryV1();
|
|
3703 |
public:
|
|
3704 |
/** The service group associated to this CW service list entry.
|
|
3705 |
|
|
3706 |
Modes: GSM/WCDMA
|
|
3707 |
|
|
3708 |
@see TMobileService */
|
|
3709 |
TMobileService iServiceGroup;
|
|
3710 |
/** The CW service status of this list entry.
|
|
3711 |
|
|
3712 |
Modes: GSM/WCDMA
|
|
3713 |
|
|
3714 |
@see TMobilePhoneCWStatus */
|
|
3715 |
TMobilePhoneCWStatus iStatus;
|
|
3716 |
};
|
|
3717 |
|
|
3718 |
/** A typedef'd packaged TMobilePhoneCWInfoEntryV1 for passing through a generic
|
|
3719 |
API function member. */
|
|
3720 |
typedef TPckg<TMobilePhoneCWInfoEntryV1> TMobilePhoneCWInfoEntryV1Pckg;
|
|
3721 |
|
|
3722 |
IMPORT_C void SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const;
|
|
3723 |
IMPORT_C void NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const;
|
|
3724 |
|
|
3725 |
/***********************************************************************************/
|
|
3726 |
//
|
|
3727 |
// Mobile Call Completion Unit
|
|
3728 |
//
|
|
3729 |
/***********************************************************************************/
|
|
3730 |
|
|
3731 |
/** The Call Completion Busy Subscriber status of the phone.
|
|
3732 |
|
|
3733 |
Modes: GSM/WCDMA */
|
|
3734 |
enum TMobilePhoneCCBSStatus
|
|
3735 |
{
|
|
3736 |
/** User has CCBS provisioned and there is at least 1 (and up to 5) active CCBS
|
|
3737 |
requests. */
|
|
3738 |
ECcbsActive,
|
|
3739 |
/** User has CCBS provisioned but there are currently no active CCBS requests. */
|
|
3740 |
ECcbsNotActive,
|
|
3741 |
/** User has not subscribed to the CCBS service. */
|
|
3742 |
ECcbsNotProvisioned,
|
|
3743 |
/** The CCBS service is not available in the serving network. */
|
|
3744 |
ECcbsNotAvailable,
|
|
3745 |
/** MS is unable to determine status of the CCBS service. */
|
|
3746 |
ECcbsUnknown
|
|
3747 |
};
|
|
3748 |
|
|
3749 |
/** CCBS recall events.
|
|
3750 |
|
|
3751 |
@see RMobilePhone::TMobilePhoneCCBSEntryV2 */
|
|
3752 |
enum TCCBSRecallEvent
|
|
3753 |
{
|
|
3754 |
/** Recall received. */
|
|
3755 |
ECcbsRecallReceived,
|
|
3756 |
/** Recall accepted. */
|
|
3757 |
ECcbsRecallAccepted,
|
|
3758 |
/** Recall refused. */
|
|
3759 |
ECcbsRecallRefused,
|
|
3760 |
/** Recall reason unspecified. */
|
|
3761 |
ECcbsRecallUnspecified
|
|
3762 |
};
|
|
3763 |
|
|
3764 |
|
|
3765 |
|
|
3766 |
class TMobilePhoneCCBSEntryV1 : public TMultimodeType
|
|
3767 |
/** Defines information about the call completion (CCBS) service.
|
|
3768 |
|
|
3769 |
@see CMobilePhoneCcbsList
|
|
3770 |
@publishedPartner
|
|
3771 |
@released
|
|
3772 |
*/
|
|
3773 |
{
|
|
3774 |
public:
|
|
3775 |
void InternalizeL(RReadStream& aStream);
|
|
3776 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
3777 |
public:
|
|
3778 |
IMPORT_C TMobilePhoneCCBSEntryV1();
|
|
3779 |
public:
|
|
3780 |
/** The CCBS index - a number allocated by the network.
|
|
3781 |
|
|
3782 |
Modes: GSM/WCDMA */
|
|
3783 |
TInt iCcbsIndex;
|
|
3784 |
/** The basic service group (voice/data/fax) this CCBS request is applicable to.
|
|
3785 |
|
|
3786 |
Modes: GSM/WCDMA
|
|
3787 |
|
|
3788 |
@see TMobileService */
|
|
3789 |
TMobileService iServiceGroup;
|
|
3790 |
/** The phone number of the remote party to whom the CCBS request is aimed.
|
|
3791 |
|
|
3792 |
Modes: GSM/WCDMA
|
|
3793 |
|
|
3794 |
@see TMobileAddress */
|
|
3795 |
TMobileAddress iDestination;
|
|
3796 |
|
|
3797 |
};
|
|
3798 |
|
|
3799 |
/** A typedef'd packaged TMobilePhoneCCBSEntryV1 for passing through a generic API
|
|
3800 |
function member. */
|
|
3801 |
typedef TPckg<TMobilePhoneCCBSEntryV1> TMobilePhoneCCBSEntryV1Pckg;
|
|
3802 |
|
|
3803 |
|
|
3804 |
class TMobilePhoneCCBSEntryV2 : public TMobilePhoneCCBSEntryV1
|
|
3805 |
/** Defines information about the call completion (CCBS) service version 2.
|
|
3806 |
*/
|
|
3807 |
{
|
|
3808 |
public:
|
|
3809 |
IMPORT_C TMobilePhoneCCBSEntryV2();
|
|
3810 |
public:
|
|
3811 |
TCCBSRecallEvent iEvent;
|
|
3812 |
};
|
|
3813 |
|
|
3814 |
/** A typedef'd packaged TMobilePhoneCCBSEntryV2 for passing through a generic API
|
|
3815 |
function member. */
|
|
3816 |
typedef TPckg<TMobilePhoneCCBSEntryV2> TMobilePhoneCCBSEntryV2Pckg;
|
|
3817 |
|
|
3818 |
IMPORT_C void GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
|
|
3819 |
IMPORT_C void NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const;
|
|
3820 |
IMPORT_C void DeactivateCCBS(TRequestStatus& aReqStatus, TInt aIndex) const;
|
|
3821 |
IMPORT_C void NotifyCCBSRecall(TRequestStatus& aReqStatus, TDes8& aCCBSEntry) const;
|
|
3822 |
IMPORT_C void AcceptCCBSRecall(TRequestStatus& aReqStatus, TInt aIndex, TName& aCallName) const;
|
|
3823 |
IMPORT_C TInt RefuseCCBSRecall(TInt aIndex) const;
|
|
3824 |
|
|
3825 |
/***********************************************************************************/
|
|
3826 |
//
|
|
3827 |
// Mobile Alternating Call Function Unit
|
|
3828 |
//
|
|
3829 |
/***********************************************************************************/
|
|
3830 |
|
|
3831 |
/** Alternating Call Capabilities
|
|
3832 |
|
|
3833 |
Modes: GSM */
|
|
3834 |
enum TMobilePhoneAlternatingCallCaps
|
|
3835 |
{
|
|
3836 |
/** Phone supports outgoing Voice/Data calls
|
|
3837 |
|
|
3838 |
Modes: GSM */
|
|
3839 |
KCapsMOVoiceData = 0x00000001,
|
|
3840 |
/** Phone supports outgoing Voice Then Data calls.
|
|
3841 |
|
|
3842 |
Modes: GSM */
|
|
3843 |
KCapsMOVoiceThenData = 0x00000002,
|
|
3844 |
/** Phone supports outgoing Voice/Fax calls.
|
|
3845 |
|
|
3846 |
Modes: GSM/WCDMA */
|
|
3847 |
KCapsMOVoiceFax = 0x00000004,
|
|
3848 |
/** Phone supports incoming Voice/Data calls.
|
|
3849 |
|
|
3850 |
Modes: GSM */
|
|
3851 |
KCapsMTVoiceData = 0x00000008,
|
|
3852 |
/** Phone supports incoming Voice Then Data calls.
|
|
3853 |
|
|
3854 |
Modes: GSM */
|
|
3855 |
KCapsMTVoiceThenData = 0x00000010,
|
|
3856 |
/** Phone supports incoming Voice/Fax calls
|
|
3857 |
|
|
3858 |
Modes: GSM/WCDMA */
|
|
3859 |
KCapsMTVoiceFax = 0x00000020
|
|
3860 |
};
|
|
3861 |
|
|
3862 |
IMPORT_C TInt GetAlternatingCallCaps(TUint32& aCaps) const;
|
|
3863 |
IMPORT_C void NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
3864 |
|
|
3865 |
/** Alternating Call Mode.
|
|
3866 |
|
|
3867 |
Modes: Common */
|
|
3868 |
enum TMobilePhoneAlternatingCallMode
|
|
3869 |
{
|
|
3870 |
/** The alternating call mode is unspecified
|
|
3871 |
|
|
3872 |
Modes: Common */
|
|
3873 |
EAlternatingModeUnspecified,
|
|
3874 |
/** Next call will use a single bearer service - default setting
|
|
3875 |
|
|
3876 |
Modes: Common */
|
|
3877 |
EAlternatingModeSingle,
|
|
3878 |
/** Next call will use voice/data alternating bearer service.
|
|
3879 |
|
|
3880 |
Modes: GSM */
|
|
3881 |
EAlternatingModeVoiceData,
|
|
3882 |
/** Next call will use voice then data alternating bearer service.
|
|
3883 |
|
|
3884 |
Modes: GSM */
|
|
3885 |
EAlternatingModeVoiceThenData,
|
|
3886 |
/** Next call will use voice/fax alternating bearer service.
|
|
3887 |
|
|
3888 |
Modes: GSM/WCDMA */
|
|
3889 |
EAlternatingModeVoiceFax
|
|
3890 |
};
|
|
3891 |
|
|
3892 |
IMPORT_C TInt GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const;
|
|
3893 |
IMPORT_C void SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const;
|
|
3894 |
IMPORT_C void NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const;
|
|
3895 |
|
|
3896 |
/***********************************************************************************/
|
|
3897 |
//
|
|
3898 |
// Mobile Alternate Line Service Functional Unit
|
|
3899 |
//
|
|
3900 |
/***********************************************************************************/
|
|
3901 |
|
|
3902 |
/** Alternate Line Primary settings.
|
|
3903 |
|
|
3904 |
Modes: GSM */
|
|
3905 |
enum TMobilePhoneALSLine
|
|
3906 |
{
|
|
3907 |
/** Current ALS line selection is the "Primary" voice line. */
|
|
3908 |
EAlternateLinePrimary,
|
|
3909 |
/** Current ALS line selection is the "Auxiliary" voice line. */
|
|
3910 |
EAlternateLineAuxiliary,
|
|
3911 |
/** ALS is supported by ME and SIM, but the TSY can not determine which line is
|
|
3912 |
currently selected. */
|
|
3913 |
EAlternateLineUnknown,
|
|
3914 |
/** The ME, SIM or serving network does not support ALS. */
|
|
3915 |
EAlternateLineNotAvailable
|
|
3916 |
};
|
|
3917 |
|
|
3918 |
IMPORT_C TInt GetALSLine(TMobilePhoneALSLine& aALSLine) const;
|
|
3919 |
IMPORT_C void SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const;
|
|
3920 |
IMPORT_C void NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const;
|
|
3921 |
|
|
3922 |
/***********************************************************************************/
|
|
3923 |
//
|
|
3924 |
// Mobile Network Security Functional Unit
|
|
3925 |
//
|
|
3926 |
/***********************************************************************************/
|
|
3927 |
|
|
3928 |
/** Enumerated network security types.
|
|
3929 |
|
|
3930 |
Mode: Common */
|
|
3931 |
enum TMobilePhoneNetworkSecurity
|
|
3932 |
{
|
|
3933 |
/** The encryption level is NONE.
|
|
3934 |
|
|
3935 |
Mode: Common */
|
|
3936 |
ECipheringOff,
|
|
3937 |
/** The encryption level is GSM.(standard encryption algorithms for 2nd Generation
|
|
3938 |
Mobile networks).
|
|
3939 |
|
|
3940 |
Mode: GSM */
|
|
3941 |
ECipheringGSM,
|
|
3942 |
/** The encryption level is WCDMA.(standard encryption algorithms for 3rd Generation
|
|
3943 |
Mobile networks).
|
|
3944 |
|
|
3945 |
Mode: WCDMA */
|
|
3946 |
ECipheringWCDMA,
|
|
3947 |
/** The encryption level is CDMA.(standard encryption algorithms for 3rd Generation
|
|
3948 |
Mobile networks).
|
|
3949 |
|
|
3950 |
Mode: CDMA */
|
|
3951 |
ECipheringCDMA
|
|
3952 |
};
|
|
3953 |
|
|
3954 |
IMPORT_C void GetNetworkSecurityLevel(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
|
|
3955 |
IMPORT_C void NotifyNetworkSecurityLevelChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
|
|
3956 |
|
|
3957 |
/**
|
|
3958 |
Indicators for whether encryption status of the current call should be displayed.
|
|
3959 |
*/
|
|
3960 |
enum TMobileCallCipheringIndicator
|
|
3961 |
{
|
|
3962 |
/**
|
|
3963 |
The ME indication displaying the encryption status of the current call should be off.
|
|
3964 |
*/
|
|
3965 |
ECipheringDisplayOff,
|
|
3966 |
/**
|
|
3967 |
The ME indication displaying the encryption status of the current call should be on.
|
|
3968 |
*/
|
|
3969 |
ECipheringDisplayOn
|
|
3970 |
};
|
|
3971 |
|
|
3972 |
IMPORT_C void GetCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
|
|
3973 |
IMPORT_C void NotifyCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
|
|
3974 |
|
|
3975 |
/***********************************************************************************/
|
|
3976 |
//
|
|
3977 |
// Mobile Cost Functional Unit
|
|
3978 |
//
|
|
3979 |
/***********************************************************************************/
|
|
3980 |
|
|
3981 |
/** Call Cost Capabilities.
|
|
3982 |
|
|
3983 |
Modes: GSM/WCDMA */
|
|
3984 |
enum TMobilePhoneCostCaps
|
|
3985 |
{
|
|
3986 |
/** Indicates that the phone supports calculation and display of current and accumulated
|
|
3987 |
call cost on an information-only basis. (The AoCI service in GSM)
|
|
3988 |
|
|
3989 |
Modes: GSM/WCDMA */
|
|
3990 |
KCapsCostInformation = 0x00000001,
|
|
3991 |
/** Indicates that the phone supports calculation and display of current and accumulated
|
|
3992 |
call cost in order to support the charging service. (The AoCC service in GSM).
|
|
3993 |
|
|
3994 |
|
|
3995 |
Modes: Common */
|
|
3996 |
KCapsCostCharging = 0x00000002,
|
|
3997 |
/** Indicates that the phone supports clearing of cost meters (ACM or CCM) to zero.
|
|
3998 |
|
|
3999 |
Modes: Common */
|
|
4000 |
KCapsClearCost = 0x00000004,
|
|
4001 |
/** Indicates that the phone supports setting the maximum allowed cost (ACMmax)
|
|
4002 |
to a non-zero value.
|
|
4003 |
|
|
4004 |
Modes: Common */
|
|
4005 |
KCapsSetMaxCost = 0x00000008,
|
|
4006 |
/** Indicates that the phone supports setting the currency and price per unit.
|
|
4007 |
|
|
4008 |
Modes: GSM/WCDMA */
|
|
4009 |
KCapsSetPuct = 0x00000010,
|
|
4010 |
/** Indicates that the phone currently has call cost information available that
|
|
4011 |
the client can retrieve.
|
|
4012 |
|
|
4013 |
Modes: Common */
|
|
4014 |
KCapsGetCost = 0x00000020,
|
|
4015 |
/** Indicates that the phone can notify the client when the call cost information
|
|
4016 |
changes.
|
|
4017 |
|
|
4018 |
Modes: Common */
|
|
4019 |
KCapsNotifyCostChange = 0x00000040
|
|
4020 |
};
|
|
4021 |
|
|
4022 |
IMPORT_C TInt GetCostCaps(TUint32& aCaps) const;
|
|
4023 |
IMPORT_C void NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
4024 |
|
|
4025 |
/** Clear Cost Meter.
|
|
4026 |
|
|
4027 |
Modes: Common */
|
|
4028 |
enum TMobilePhoneCostMeters
|
|
4029 |
{
|
|
4030 |
/** Clear the Current Call Meter. */
|
|
4031 |
EClearCCM,
|
|
4032 |
/** Clear the Accumulated Charge Meter. */
|
|
4033 |
EClearACM,
|
|
4034 |
/** Clear all cost meters */
|
|
4035 |
EClearAll
|
|
4036 |
};
|
|
4037 |
|
|
4038 |
IMPORT_C void ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const;
|
|
4039 |
IMPORT_C void SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const;
|
|
4040 |
|
|
4041 |
|
|
4042 |
|
|
4043 |
class TMobilePhonePuctV1 : public TMultimodeType
|
|
4044 |
/** Defines the contents of the price/unit and currency table (PUCT) on the SIM.
|
|
4045 |
|
|
4046 |
@see TMobilePhoneCostInfoV1
|
|
4047 |
@see SetPuct()
|
|
4048 |
*/
|
|
4049 |
{
|
|
4050 |
public:
|
|
4051 |
IMPORT_C TMobilePhonePuctV1();
|
|
4052 |
public:
|
|
4053 |
/** The Price per Unit. This floating point value is used to adjust the pricing
|
|
4054 |
units supplied by the network into real currency values.
|
|
4055 |
|
|
4056 |
Modes: GSM/WCDMA */
|
|
4057 |
TReal iPricePerUnit;
|
|
4058 |
/** The three character currency indicator.
|
|
4059 |
|
|
4060 |
Modes: GSM/WCDMA */
|
|
4061 |
TBuf<4> iCurrencyName;
|
|
4062 |
};
|
|
4063 |
|
|
4064 |
/** A typedef'd packaged TMobilePhonePuctV1 for passing through a generic API function
|
|
4065 |
member. */
|
|
4066 |
typedef TPckg<TMobilePhonePuctV1> TMobilePhonePuctV1Pckg;
|
|
4067 |
|
|
4068 |
IMPORT_C void SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const;
|
|
4069 |
|
|
4070 |
/** Cost Information
|
|
4071 |
|
|
4072 |
Modes: GSM/WCDMA */
|
|
4073 |
enum TMobilePhoneCostService
|
|
4074 |
{
|
|
4075 |
/** Phone supports call cost service but no calls are currently in progress so the
|
|
4076 |
network support and user subscription is unknown. */
|
|
4077 |
ECostServiceUnknown,
|
|
4078 |
/** The network or the phone does not support any of the call cost services. The
|
|
4079 |
call can be either in progress or not. If the user is subscribed to AoCI they
|
|
4080 |
will be able to continue to make calls but will not see any charging information.
|
|
4081 |
If the user is subscribed to AoCC then they will be prevented from making
|
|
4082 |
chargeable calls. */
|
|
4083 |
ECostServiceNotAvailable,
|
|
4084 |
/** Call is in progress and a call cost service is active but the phone is unable
|
|
4085 |
to determine whether it is an AoCI or AoCC service. */
|
|
4086 |
ECostServiceAvailable,
|
|
4087 |
/** Call is in progress and the call cost information (AoCI) service is currently
|
|
4088 |
operating.
|
|
4089 |
|
|
4090 |
Modes: GSM/WCDMA */
|
|
4091 |
ECostServiceInformation,
|
|
4092 |
/** Call is in progress and the call cost charging (AoCC) service is currently operating.
|
|
4093 |
|
|
4094 |
Modes: GSM/WCDMA */
|
|
4095 |
ECostServiceCharging
|
|
4096 |
};
|
|
4097 |
|
|
4098 |
|
|
4099 |
|
|
4100 |
class TMobilePhoneCostInfoV1 : public TMultimodeType
|
|
4101 |
/** Defines the information related to current billing costs.
|
|
4102 |
|
|
4103 |
@see GetCostInfo()
|
|
4104 |
@see NotifyCostInfoChange()
|
|
4105 |
*/
|
|
4106 |
{
|
|
4107 |
public:
|
|
4108 |
IMPORT_C TMobilePhoneCostInfoV1();
|
|
4109 |
public:
|
|
4110 |
/** The current status and type of call cost service.
|
|
4111 |
|
|
4112 |
@see TMobilePhoneCostService */
|
|
4113 |
TMobilePhoneCostService iService;
|
|
4114 |
/** The current number of charging units in the Current Call Meter. This is set
|
|
4115 |
to zero if reset by the user or at the start of call set-up attempt. */
|
|
4116 |
TUint iCCM;
|
|
4117 |
/** The current number of charging units in the Accumulated Call Meter. This equals
|
|
4118 |
the accumulation of previous and current calls. */
|
|
4119 |
TUint iACM;
|
|
4120 |
/** The maximum number of charging units that the ACM can rise to before chargeable
|
|
4121 |
calls are stopped. Equals zero if Service != ECostServiceCharging. */
|
|
4122 |
TUint iACMmax;
|
|
4123 |
/** The Price per Unit and Currency Table.
|
|
4124 |
|
|
4125 |
@see TMobilePhonePuctV1 */
|
|
4126 |
TMobilePhonePuctV1 iPuct;
|
|
4127 |
};
|
|
4128 |
|
|
4129 |
/** A typedef'd packaged TMobilePhoneCostInfoV1 for passing through a generic API
|
|
4130 |
function member. */
|
|
4131 |
typedef TPckg<TMobilePhoneCostInfoV1> TMobilePhoneCostInfoV1Pckg;
|
|
4132 |
|
|
4133 |
IMPORT_C void GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
|
|
4134 |
IMPORT_C void NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
|
|
4135 |
|
|
4136 |
/***********************************************************************************/
|
|
4137 |
//
|
|
4138 |
// Mobile Security Functional Unit
|
|
4139 |
//
|
|
4140 |
/***********************************************************************************/
|
|
4141 |
|
|
4142 |
/** Security Capabilities.
|
|
4143 |
|
|
4144 |
Modes: Common */
|
|
4145 |
enum TMobilePhoneSecurityCaps
|
|
4146 |
{
|
|
4147 |
/** The phone supports an overall "phone device lock" which can be enabled or disabled.
|
|
4148 |
If enabled, user must enter phone password before the phone can be used. When
|
|
4149 |
this capability is set the phone will support get lock info, notify lock info
|
|
4150 |
change and set lock setting for phone device lock.
|
|
4151 |
|
|
4152 |
Modes: Common */
|
|
4153 |
KCapsLockPhone = 0x0000001,
|
|
4154 |
/** The phone supports locking the ICC (using the PIN1 security code), which can
|
|
4155 |
be enabled or disabled. If enabled, the user must enter PIN1 code before the
|
|
4156 |
ICC can be used. When this capability is set the phone will support get lock
|
|
4157 |
info, notify lock info change and set lock setting for ICC lock.
|
|
4158 |
|
|
4159 |
Modes: Common */
|
|
4160 |
KCapsLockICC = 0x00000002,
|
|
4161 |
/** The phone supports the "phone to ICC lock" which can be enabled or disabled.
|
|
4162 |
If enabled, at power-up the phone will check whether current ICC is the one
|
|
4163 |
the phone is locked to or not. If not, then the user must enter the phone
|
|
4164 |
password before phone can be used with this ICC. When this capability is set
|
|
4165 |
the phone will support get lock info, notify lock info change and set lock
|
|
4166 |
setting for Phone-ICC lock.
|
|
4167 |
|
|
4168 |
Modes: Common */
|
|
4169 |
KCapsLockPhoneToICC = 0x00000004,
|
|
4170 |
/** The phone supports the "phone to first ICC lock" which can be enabled or disabled.
|
|
4171 |
If enabled, at power-up the phone will check whether current ICC is the one
|
|
4172 |
the phone is first locked to or not. If not, then user must enter the phone
|
|
4173 |
password before the phone can be used with this ICC. When this capability
|
|
4174 |
is set the phone will support get lock info, notify lock info change and set
|
|
4175 |
lock setting for Phone-First ICC lock.
|
|
4176 |
|
|
4177 |
Modes: Common */
|
|
4178 |
KCapsLockPhoneToFirstICC = 0x00000008,
|
|
4179 |
/** The phone supports the "Over The Air" programming lock which can be enabled
|
|
4180 |
or disabled. If enabled, the phone will prevent OTA programming by the network.
|
|
4181 |
If disabled, the phone will allow OTA programming by the network. When this
|
|
4182 |
capability is set the phone will support get lock info, notify lock info change
|
|
4183 |
and set lock setting for OTA lock.
|
|
4184 |
|
|
4185 |
Modes: CDMA */
|
|
4186 |
KCapsLockOTA = 0x00000010,
|
|
4187 |
/** The phone supports access to the PIN 1 security code. When this capability is
|
|
4188 |
set the phone will support verification of PIN1, unblocking PIN1, changing
|
|
4189 |
PIN1 and notification of PIN1 required.
|
|
4190 |
|
|
4191 |
Modes: Common */
|
|
4192 |
KCapsAccessPin1 = 0x00000020,
|
|
4193 |
/** The phone supports access to the PIN 2 security code. When this capability is
|
|
4194 |
set the phone will support verification of PIN2, unblocking PIN2, changing
|
|
4195 |
PIN2 and notification of PIN2 required.
|
|
4196 |
|
|
4197 |
Modes: GSM/WCDMA */
|
|
4198 |
KCapsAccessPin2 = 0x00000040,
|
|
4199 |
/** The phone supports access to the phone password security code. When this capability
|
|
4200 |
is set the phone will support verification of the phone password, changing
|
|
4201 |
the phone password and notification if the phone password is required.
|
|
4202 |
|
|
4203 |
Modes: Common */
|
|
4204 |
KCapsAccessPhonePassword = 0x00000080,
|
|
4205 |
/** The phone supports access to the SPC (Service Programming Code) security code.
|
|
4206 |
This code may need to be verified before OTA can commence.
|
|
4207 |
|
|
4208 |
Modes: CDMA */
|
|
4209 |
KCapsAccessSPC = 0x00000100,
|
|
4210 |
/** The phone supports access to the hidden key. When this capability is set the
|
|
4211 |
phone will support verification of HiddenKey.
|
|
4212 |
|
|
4213 |
Modes: WCDMA */
|
|
4214 |
KCapsAccessHiddenKey=0x00000200,
|
|
4215 |
/** The phone supports access to the USIM Application PIN. An Application PIN allows
|
|
4216 |
access to any file on the UICC where it is referenced in the access rules.
|
|
4217 |
|
|
4218 |
Modes: WCDMA */
|
|
4219 |
KCapsAccessUSIMAppPin=0x00000400,
|
|
4220 |
/** The phone supports access to the second USIM Application PIN. The second Application
|
|
4221 |
PIN allows access to files (where it is referenced in the access rules) within
|
|
4222 |
one USIM Application on the UICC. This is a local PIN.
|
|
4223 |
|
|
4224 |
Modes: WCDMA */
|
|
4225 |
KCapsAccessUSIMAppSecondPin =0x00000800,
|
|
4226 |
/** The phone supports access to the Universal PIN. A Universal PIN is a PIN that
|
|
4227 |
is used in a multi-application UICC environment to allow several USIM applications
|
|
4228 |
to share one common PIN.
|
|
4229 |
|
|
4230 |
Modes: WCDMA */
|
|
4231 |
KCapsAccessUniversalPin =0x00001000
|
|
4232 |
};
|
|
4233 |
|
|
4234 |
IMPORT_C TInt GetSecurityCaps(TUint32& aCaps) const;
|
|
4235 |
IMPORT_C void NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
4236 |
|
|
4237 |
/** Lock Information.
|
|
4238 |
|
|
4239 |
Modes: Common */
|
|
4240 |
enum TMobilePhoneLock
|
|
4241 |
{
|
|
4242 |
/** Lock the whole device. Phone lock password is required to unlock when this lock
|
|
4243 |
is enabled.
|
|
4244 |
|
|
4245 |
Modes: Common */
|
|
4246 |
ELockPhoneDevice,
|
|
4247 |
/** Lock PIN1 on the ICC. PIN1 security code is required to unlock when this lock
|
|
4248 |
is enabled.
|
|
4249 |
|
|
4250 |
Modes: Common */
|
|
4251 |
ELockICC,
|
|
4252 |
/** Lock the phone to the current ICC inserted in the phone Phone lock password
|
|
4253 |
is required to unlock when this lock is enabled.
|
|
4254 |
|
|
4255 |
Modes: Common */
|
|
4256 |
ELockPhoneToICC,
|
|
4257 |
/** Lock the phone to the first ICC inserted in the phone. Phone lock password is
|
|
4258 |
required to unlock when this lock is enabled.
|
|
4259 |
|
|
4260 |
Modes: Common */
|
|
4261 |
ELockPhoneToFirstICC,
|
|
4262 |
/** Lock the OTA facility on the phone. SPC security code may be required to unlock
|
|
4263 |
when this lock is enabled.
|
|
4264 |
|
|
4265 |
Modes: CDMA */
|
|
4266 |
ELockOTA,
|
|
4267 |
/** Lock PIN2 on the ICC. PIN2 security code is required to unlock when this lock
|
|
4268 |
is enabled.
|
|
4269 |
|
|
4270 |
Modes: Common */
|
|
4271 |
ELockPin2,
|
|
4272 |
/** Lock the phonebook hidden entries on the phone. Hidden key security code may
|
|
4273 |
be required to unlock when this lock is enabled.
|
|
4274 |
|
|
4275 |
Modes: WCDMA */
|
|
4276 |
ELockHiddenKey,
|
|
4277 |
/** Lock the associated USIM Application. USIM Application PIN is required to unlock
|
|
4278 |
when this lock is enabled.
|
|
4279 |
|
|
4280 |
Modes: WCDMA */
|
|
4281 |
ELockUSimApp,
|
|
4282 |
/** Lock the associated USIM Application. The second USIM Application PIN is required
|
|
4283 |
to unlock when this lock is enabled.
|
|
4284 |
|
|
4285 |
Modes: WCDMA */
|
|
4286 |
ELockSecondUSimApp,
|
|
4287 |
/** Lock the associated USIM Application(s) that share this common lock. Universal
|
|
4288 |
Pin is required to unlock when this lock is enabled.
|
|
4289 |
|
|
4290 |
Modes: WCDMA */
|
|
4291 |
ELockUniversalPin,
|
|
4292 |
/** Lock for the NAM. The SPC is required to unlock.
|
|
4293 |
|
|
4294 |
Modes: CDMA */
|
|
4295 |
ELockNam
|
|
4296 |
};
|
|
4297 |
|
|
4298 |
/** Phone lock status.
|
|
4299 |
|
|
4300 |
Modes: Common */
|
|
4301 |
enum TMobilePhoneLockStatus
|
|
4302 |
{
|
|
4303 |
/** The status of the lock is unknown. */
|
|
4304 |
EStatusLockUnknown,
|
|
4305 |
/** Lock is closed - user can not access functionality governed by this lock until
|
|
4306 |
user correctly enters associated security code. */
|
|
4307 |
EStatusLocked,
|
|
4308 |
/** Lock is open - user can access functionality governed by this lock */
|
|
4309 |
EStatusUnlocked,
|
|
4310 |
EStatusBlocked
|
|
4311 |
};
|
|
4312 |
|
|
4313 |
/** The phone lock setting.
|
|
4314 |
|
|
4315 |
Modes: Common */
|
|
4316 |
enum TMobilePhoneLockSetting
|
|
4317 |
{
|
|
4318 |
/** The setting of the lock is unknown
|
|
4319 |
|
|
4320 |
Modes: Common */
|
|
4321 |
ELockSetUnknown,
|
|
4322 |
/** Lock is enabled - associated security code will be required to unlock the
|
|
4323 |
lock, the next time the lock's status is EStatusLocked.
|
|
4324 |
|
|
4325 |
Modes: Common */
|
|
4326 |
ELockSetEnabled,
|
|
4327 |
/** Lock is disabled - so its status is always EStatusUnlocked.
|
|
4328 |
|
|
4329 |
Modes: Common */
|
|
4330 |
ELockSetDisabled,
|
|
4331 |
/** Lock of the current Application is replaced by the Universal PIN. Only the
|
|
4332 |
Universal PIN is allowed as a replacement.
|
|
4333 |
|
|
4334 |
Modes: WCDMA */
|
|
4335 |
ELockReplaced
|
|
4336 |
};
|
|
4337 |
|
|
4338 |
|
|
4339 |
|
|
4340 |
class TMobilePhoneLockInfoV1 : public TMultimodeType
|
|
4341 |
/** Defines the status of a phone lock.
|
|
4342 |
|
|
4343 |
@see GetLockInfo()
|
|
4344 |
@see NotifyLockInfoChange()
|
|
4345 |
@publishedPartner
|
|
4346 |
@released
|
|
4347 |
*/
|
|
4348 |
{
|
|
4349 |
public:
|
|
4350 |
IMPORT_C TMobilePhoneLockInfoV1();
|
|
4351 |
public:
|
|
4352 |
/** The current status of the lock.
|
|
4353 |
|
|
4354 |
Modes: Common
|
|
4355 |
|
|
4356 |
@see TMobilePhoneLockStatus */
|
|
4357 |
TMobilePhoneLockStatus iStatus;
|
|
4358 |
/** The current setting of the lock.
|
|
4359 |
|
|
4360 |
Modes: Common
|
|
4361 |
|
|
4362 |
@see TMobilePhoneLockSetting */
|
|
4363 |
TMobilePhoneLockSetting iSetting;
|
|
4364 |
};
|
|
4365 |
|
|
4366 |
/** A typedef'd packaged TMobilePhoneLockInfoV1 for passing through a generic API
|
|
4367 |
function member. */
|
|
4368 |
typedef TPckg<TMobilePhoneLockInfoV1> TMobilePhoneLockInfoV1Pckg;
|
|
4369 |
|
|
4370 |
IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const;
|
|
4371 |
IMPORT_C void NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const;
|
|
4372 |
IMPORT_C void SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const;
|
|
4373 |
|
|
4374 |
/** Change Security Code.
|
|
4375 |
|
|
4376 |
Modes: Common */
|
|
4377 |
enum TMobilePhoneSecurityCode
|
|
4378 |
{
|
|
4379 |
/** PIN 1 code (between 4-8 digits).
|
|
4380 |
|
|
4381 |
Modes: Common */
|
|
4382 |
ESecurityCodePin1,
|
|
4383 |
/** PIN 2 code (between 4-8 digits)
|
|
4384 |
|
|
4385 |
Modes: GSM/WCDMA */
|
|
4386 |
ESecurityCodePin2,
|
|
4387 |
/** PIN 1 unblocking code (always 8 digits).
|
|
4388 |
|
|
4389 |
Modes: Common */
|
|
4390 |
ESecurityCodePuk1,
|
|
4391 |
/** PIN 2 unblocking code (always 8 digits)
|
|
4392 |
|
|
4393 |
Modes: GSM/WCDMA */
|
|
4394 |
ESecurityCodePuk2,
|
|
4395 |
/** Password used for Phone-SIM Lock and Phone Device Lock (up to 8 digits)
|
|
4396 |
|
|
4397 |
Modes: Common */
|
|
4398 |
ESecurityCodePhonePassword,
|
|
4399 |
/** Service Programming Code (SPC)
|
|
4400 |
|
|
4401 |
Modes: CDMA */
|
|
4402 |
ESecurityCodeSPC,
|
|
4403 |
/** Phonebook key to display the hidden entries.
|
|
4404 |
|
|
4405 |
Modes: WCDMA */
|
|
4406 |
ESecurityHiddenKey,
|
|
4407 |
/** USIM Application PIN.
|
|
4408 |
|
|
4409 |
Modes: WCDMA */
|
|
4410 |
ESecurityUSIMAppPin,
|
|
4411 |
/** Second USIM Application PIN.
|
|
4412 |
|
|
4413 |
Modes: WCDMA */
|
|
4414 |
ESecuritySecondUSIMAppPin,
|
|
4415 |
/** Universal PIN.
|
|
4416 |
|
|
4417 |
Modes: WCDMA */
|
|
4418 |
ESecurityUniversalPin,
|
|
4419 |
/** Universal PIN unblocking code (always 8 digits).
|
|
4420 |
|
|
4421 |
Modes: Common */
|
|
4422 |
ESecurityUniversalPuk
|
|
4423 |
};
|
|
4424 |
|
|
4425 |
IMPORT_C void ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const;
|
|
4426 |
|
|
4427 |
/** Defines the status of a security code.
|
|
4428 |
|
|
4429 |
@see GetSecurityCodeInfo()
|
|
4430 |
@see NotifySecurityCodeInfoChange()
|
|
4431 |
@publishedPartner
|
|
4432 |
@released
|
|
4433 |
*/
|
|
4434 |
class TMobilePhoneSecurityCodeInfoV5 : public TMultimodeType
|
|
4435 |
{
|
|
4436 |
public:
|
|
4437 |
IMPORT_C TMobilePhoneSecurityCodeInfoV5();
|
|
4438 |
public:
|
|
4439 |
/** Number of remaining security code entry attempts before the corresponding lock gets blocked
|
|
4440 |
|
|
4441 |
Modes: Common
|
|
4442 |
*/
|
|
4443 |
TInt iRemainingEntryAttempts;
|
|
4444 |
};
|
|
4445 |
|
|
4446 |
/** A typedef'd packaged TMobilePhoneSecurityCodeInfoV5 for passing through a generic API
|
|
4447 |
function member. */
|
|
4448 |
typedef TPckg<TMobilePhoneSecurityCodeInfoV5> TMobilePhoneSecurityCodeInfoV5Pckg;
|
|
4449 |
|
|
4450 |
IMPORT_C void GetSecurityCodeInfo(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aSecurityCode, TDes8& aSecurityCodeInfo) const;
|
|
4451 |
IMPORT_C void NotifySecurityCodeInfoChange(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode& aSecurityCode, TDes8& aSecurityCodeInfo) const;
|
|
4452 |
|
|
4453 |
/** Notify Security Events.
|
|
4454 |
|
|
4455 |
Modes: Common */
|
|
4456 |
enum TMobilePhoneSecurityEvent
|
|
4457 |
{
|
|
4458 |
/** The phone has detected that there is no ICC present.
|
|
4459 |
|
|
4460 |
Modes: Common */
|
|
4461 |
ENoICCFound,
|
|
4462 |
/** The phone has detected that the ICC is unusable.
|
|
4463 |
|
|
4464 |
Modes: Common */
|
|
4465 |
EICCTerminated,
|
|
4466 |
/** The phone requires PIN1 to be entered.
|
|
4467 |
|
|
4468 |
Modes: Common */
|
|
4469 |
EPin1Required,
|
|
4470 |
/** The phone requires PUK1 to be entered.
|
|
4471 |
|
|
4472 |
Modes: Common */
|
|
4473 |
EPuk1Required,
|
|
4474 |
/** The phone requires PIN2 to be entered.
|
|
4475 |
|
|
4476 |
Modes: GSM/WCDMA */
|
|
4477 |
EPin2Required,
|
|
4478 |
/** The phone requires PUK2 to be entered.
|
|
4479 |
|
|
4480 |
Modes: GSM/WCDMA */
|
|
4481 |
EPuk2Required,
|
|
4482 |
/** The phone requires the Phone Password to be entered.
|
|
4483 |
|
|
4484 |
Modes: Common */
|
|
4485 |
EPhonePasswordRequired,
|
|
4486 |
/** The phone requires the SPC to be entered.
|
|
4487 |
|
|
4488 |
Modes: CDMA */
|
|
4489 |
ESPCRequired,
|
|
4490 |
/** The PIN1 verification procedure has passed.
|
|
4491 |
|
|
4492 |
Modes: Common */
|
|
4493 |
EPin1Verified,
|
|
4494 |
/** The PIN2 verification procedure has passed.
|
|
4495 |
|
|
4496 |
Modes: GSM/WCDMA */
|
|
4497 |
EPin2Verified,
|
|
4498 |
/** The PUK1 unblocking procedure has passed.
|
|
4499 |
|
|
4500 |
Modes: Common */
|
|
4501 |
EPuk1Verified,
|
|
4502 |
/** The PUK2 unblocking procedure has passed.
|
|
4503 |
|
|
4504 |
Modes: GSM/WCDMA */
|
|
4505 |
EPuk2Verified,
|
|
4506 |
/** The Phone Password has been verified.
|
|
4507 |
|
|
4508 |
Modes: Common */
|
|
4509 |
EPhonePasswordVerified,
|
|
4510 |
/** The SPC verification procedure has passed.
|
|
4511 |
|
|
4512 |
Modes: CDMA */
|
|
4513 |
ESPCVerified,
|
|
4514 |
/** The phone requires the phonebook hidden key to be entered.
|
|
4515 |
|
|
4516 |
Modes: WCDMA */
|
|
4517 |
EHiddenKeyRequired,
|
|
4518 |
/** The phonebook hidden key procedure has passed.
|
|
4519 |
|
|
4520 |
Modes: WCDMA */
|
|
4521 |
EHiddenKeyVerified,
|
|
4522 |
/** The phone requires the currently active USIM Application PIN to be entered.
|
|
4523 |
|
|
4524 |
Modes: WCDMA */
|
|
4525 |
EUSIMAppPinRequired,
|
|
4526 |
/** The currently active USIM Application PIN procedure has passed.
|
|
4527 |
|
|
4528 |
Modes: WCDMA */
|
|
4529 |
EUSIMAppPinVerified,
|
|
4530 |
/** The phone requires the currently active USIM Application second PIN to be entered.
|
|
4531 |
|
|
4532 |
Modes: WCDMA */
|
|
4533 |
ESecondUSIMAppPinRequired,
|
|
4534 |
/** The currently active USIM Application second PIN procedure has passed.
|
|
4535 |
|
|
4536 |
Modes: WCDMA */
|
|
4537 |
ESecondUSIMAppPinVerified,
|
|
4538 |
/** The phone requires the Universal PIN to be entered.
|
|
4539 |
|
|
4540 |
Modes: WCDMA */
|
|
4541 |
EUniversalPinRequired,
|
|
4542 |
/** The currently active Universal PIN procedure has passed.
|
|
4543 |
|
|
4544 |
Modes: WCDMA */
|
|
4545 |
EUniversalPinVerified,
|
|
4546 |
/** The Service Programming Code has been changed.
|
|
4547 |
|
|
4548 |
Modes: CDMA */
|
|
4549 |
ESPCChanged,
|
|
4550 |
/** The phone requires Universal PUK to be entered.
|
|
4551 |
|
|
4552 |
Modes: WCDMA */
|
|
4553 |
EUniversalPukRequired,
|
|
4554 |
/** The Universal PUK unblocking procedure has passed.
|
|
4555 |
|
|
4556 |
Modes: WCDMA */
|
|
4557 |
EUniversalPukVerified
|
|
4558 |
};
|
|
4559 |
|
|
4560 |
IMPORT_C void NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const;
|
|
4561 |
|
|
4562 |
// for use by client-side API code and TSY only
|
|
4563 |
|
|
4564 |
struct TCodeAndUnblockCode
|
|
4565 |
{
|
|
4566 |
TMobilePassword iCode;
|
|
4567 |
TMobilePassword iUnblockCode;
|
|
4568 |
};
|
|
4569 |
|
|
4570 |
IMPORT_C void VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType,
|
|
4571 |
const TMobilePassword& aCode, const TMobilePassword& aUnblockCode) const;
|
|
4572 |
IMPORT_C TInt AbortSecurityCode(TMobilePhoneSecurityCode aType) const;
|
|
4573 |
|
|
4574 |
/***********************************************************************************/
|
|
4575 |
//
|
|
4576 |
// MobileMessageWaiting
|
|
4577 |
//
|
|
4578 |
/***********************************************************************************/
|
|
4579 |
|
|
4580 |
/** Display indicators. */
|
|
4581 |
enum TMobilePhoneIndicatorDisplay
|
|
4582 |
{
|
|
4583 |
/** Display voicemail active. */
|
|
4584 |
KDisplayVoicemailActive = 0x01,
|
|
4585 |
/** Display fax active. */
|
|
4586 |
KDisplayFaxActive = 0x02,
|
|
4587 |
/** Display E-mail active. */
|
|
4588 |
KDisplayEmailActive = 0x04,
|
|
4589 |
/** Display other active. */
|
|
4590 |
KDisplayOtherActive = 0x08,
|
|
4591 |
/** Display Aux voicemail active. */
|
|
4592 |
KDisplayAuxVoicemailActive = 0x10,
|
|
4593 |
/** Display data active. */
|
|
4594 |
KDisplayDataActive = 0x20
|
|
4595 |
};
|
|
4596 |
|
|
4597 |
class TMobilePhoneMessageWaitingV1 : public TMultimodeType
|
|
4598 |
/** Message Waiting Indicators. See 3GPP TS 31 102.
|
|
4599 |
|
|
4600 |
@see GetIccMessageWaitingIndicators()
|
|
4601 |
@see SetIccMessageWaitingIndicators()
|
|
4602 |
@see NotifyIccMessageWaitingIndicatorsChange()
|
|
4603 |
*/
|
|
4604 |
{
|
|
4605 |
public:
|
|
4606 |
IMPORT_C TMobilePhoneMessageWaitingV1();
|
|
4607 |
public:
|
|
4608 |
/** The flags for each indicator from TMobilePhoneIndicatorDisplay to specify whether
|
|
4609 |
the indicator should be displayed or not. E.g. Messages of the specified type are waiting.
|
|
4610 |
|
|
4611 |
Modes: Common */
|
|
4612 |
TUint8 iDisplayStatus;
|
|
4613 |
/** The number of voicemail messages waiting for the "main" voice line.
|
|
4614 |
|
|
4615 |
Modes: Common */
|
|
4616 |
TUint8 iVoiceMsgs;
|
|
4617 |
/** The number of voicemail messages waiting for the "auxiliary" voice line.
|
|
4618 |
|
|
4619 |
Modes: GSM */
|
|
4620 |
TUint8 iAuxVoiceMsgs;
|
|
4621 |
/** The number of messages waiting for the data line.
|
|
4622 |
|
|
4623 |
Modes: Common */
|
|
4624 |
TUint8 iDataMsgs;
|
|
4625 |
/** The number of messages waiting for the fax line.
|
|
4626 |
|
|
4627 |
Modes: Common */
|
|
4628 |
TUint8 iFaxMsgs;
|
|
4629 |
/** The number of email messages waiting.
|
|
4630 |
|
|
4631 |
Modes: WCDMA */
|
|
4632 |
TUint8 iEmailMsgs;
|
|
4633 |
/** Contains the number of "unspecified" messages waiting.
|
|
4634 |
|
|
4635 |
Modes: WCDMA */
|
|
4636 |
TUint8 iOtherMsgs;
|
|
4637 |
};
|
|
4638 |
|
|
4639 |
/** A typedef'd packaged TMobilePhoneMessageWaitingV1 for passing through a generic
|
|
4640 |
API function member. */
|
|
4641 |
typedef TPckg<TMobilePhoneMessageWaitingV1> TMobilePhoneMessageWaitingV1Pckg;
|
|
4642 |
|
|
4643 |
IMPORT_C void GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
|
|
4644 |
IMPORT_C void SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const;
|
|
4645 |
IMPORT_C void NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
|
|
4646 |
|
|
4647 |
IMPORT_C void NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const;
|
|
4648 |
|
|
4649 |
/***********************************************************************************/
|
|
4650 |
//
|
|
4651 |
// Mobile Fixed Dialling Numbers Functional Unit
|
|
4652 |
//
|
|
4653 |
/***********************************************************************************/
|
|
4654 |
|
|
4655 |
/** Fixed Dialling Numbers Status.
|
|
4656 |
|
|
4657 |
Modes: Common */
|
|
4658 |
enum TMobilePhoneFdnStatus
|
|
4659 |
{
|
|
4660 |
/** Fixed Dialling Number mode is supported but is not currently active. */
|
|
4661 |
EFdnNotActive,
|
|
4662 |
/** Fixed Dialling Number mode is supported and is currently active. Deactivating
|
|
4663 |
FDN mode is supported. */
|
|
4664 |
EFdnActive,
|
|
4665 |
/** Fixed Dialling Number mode is supported and is permanently active. Deactivating
|
|
4666 |
FDN mode is NOT supported with this SIM. */
|
|
4667 |
EFdnPermanentlyActive,
|
|
4668 |
/** Fixed Dialling Number mode is not supported by ME and/or SIM. */
|
|
4669 |
EFdnNotSupported,
|
|
4670 |
/** ME is currently unable to determine the status of FDN mode. */
|
|
4671 |
EFdnUnknown
|
|
4672 |
};
|
|
4673 |
|
|
4674 |
IMPORT_C TInt GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const;
|
|
4675 |
IMPORT_C void GetFdnStatus(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
|
|
4676 |
|
|
4677 |
/** Fixed Dialling Numbers Setting
|
|
4678 |
|
|
4679 |
Modes: Common */
|
|
4680 |
enum TMobilePhoneFdnSetting
|
|
4681 |
{
|
|
4682 |
/** Activate the FDN service. */
|
|
4683 |
EFdnSetOn,
|
|
4684 |
/** Deactivate the FDN service. */
|
|
4685 |
EFdnSetOff
|
|
4686 |
};
|
|
4687 |
|
|
4688 |
IMPORT_C void SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const;
|
|
4689 |
IMPORT_C void NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
|
|
4690 |
|
|
4691 |
/***********************************************************************************/
|
|
4692 |
//
|
|
4693 |
// Multicall bearer settings
|
|
4694 |
//
|
|
4695 |
/***********************************************************************************/
|
|
4696 |
|
|
4697 |
class TMobilePhoneMulticallSettingsV1 : public TMultimodeType
|
|
4698 |
/** Multi call settings for version v1.0.
|
|
4699 |
|
|
4700 |
@see GetMulticallParams()
|
|
4701 |
@see NotifyMulticallParamsChange()
|
|
4702 |
@publishedPartner
|
|
4703 |
@released*/
|
|
4704 |
{
|
|
4705 |
public:
|
|
4706 |
IMPORT_C TMobilePhoneMulticallSettingsV1();
|
|
4707 |
public:
|
|
4708 |
/** Maximum number of simultaneous CS bearers allowed - defined by the user.
|
|
4709 |
|
|
4710 |
Modes: WCDMA */
|
|
4711 |
TInt iUserMaxBearers;
|
|
4712 |
/** Maximum number of simultaneous bearers allowed - defined by the service provider.
|
|
4713 |
|
|
4714 |
Modes: WCDMA */
|
|
4715 |
TInt iServiceProviderMaxBearers;
|
|
4716 |
/** Maximum number of simultaneous CS bearers supported by the network.
|
|
4717 |
|
|
4718 |
Modes: WCDMA */
|
|
4719 |
TInt iNetworkSupportedMaxBearers;
|
|
4720 |
/** Maximum number of simultaneous CS bearers supported by the UE.
|
|
4721 |
|
|
4722 |
Modes: WCDMA */
|
|
4723 |
TInt iUESupportedMaxBearers;
|
|
4724 |
};
|
|
4725 |
|
|
4726 |
/** A typedef'd packaged TMobilePhoneMulticallSettingsV1 for passing through a generic
|
|
4727 |
API function member. */
|
|
4728 |
typedef TPckg<TMobilePhoneMulticallSettingsV1> TMobilePhoneMulticallSettingsV1Pckg;
|
|
4729 |
|
|
4730 |
IMPORT_C void GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
|
|
4731 |
IMPORT_C void SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const;
|
|
4732 |
IMPORT_C void NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
|
|
4733 |
|
|
4734 |
enum TMobilePhoneMulticallIndicator
|
|
4735 |
/**
|
|
4736 |
Indicators for exceeding allowed multiple active bearers.
|
|
4737 |
*/
|
|
4738 |
{
|
|
4739 |
/** The maximum number of multiple active bearers allowed by the service provider has been exceeded. */
|
|
4740 |
EBearerNetworProviderExceeded,
|
|
4741 |
/** The maximum number of multiple active bearers allowed by the mobile user has been exceeded. */
|
|
4742 |
EBearerUserExceeded
|
|
4743 |
};
|
|
4744 |
|
|
4745 |
IMPORT_C void NotifyMulticallIndicatorChange(TRequestStatus& aReqStatus, TMobilePhoneMulticallIndicator& aMulticallIndicator) const;
|
|
4746 |
|
|
4747 |
/***********************************************************************************/
|
|
4748 |
//
|
|
4749 |
// MobileNextIncomingCall Functional Unit
|
|
4750 |
//
|
|
4751 |
/***********************************************************************************/
|
|
4752 |
|
|
4753 |
/** Incoming Call Types.
|
|
4754 |
|
|
4755 |
Modes: Common */
|
|
4756 |
enum TMobilePhoneIncomingCallType
|
|
4757 |
{
|
|
4758 |
/** MS will receive any type of incoming call.
|
|
4759 |
|
|
4760 |
Modes: Common */
|
|
4761 |
EIncomingTypeNotSpecified,
|
|
4762 |
/** MS will request voice bearer for incoming calls.
|
|
4763 |
|
|
4764 |
Modes: Common */
|
|
4765 |
EIncomingVoice,
|
|
4766 |
/** MS will request fax bearer for incoming calls
|
|
4767 |
|
|
4768 |
Modes: Common */
|
|
4769 |
EIncomingFax,
|
|
4770 |
/** MS will request data bearer for incoming calls
|
|
4771 |
|
|
4772 |
Modes: Common */
|
|
4773 |
EIncomingData,
|
|
4774 |
/** MS will request a data bearer for use by a Multimedia CS call (voice fall back
|
|
4775 |
is acceptable) for incoming calls.
|
|
4776 |
|
|
4777 |
Modes: GSM/WCDMA */
|
|
4778 |
EIncomingMultimediaVoiceFallback,
|
|
4779 |
/** MS will request a data bearer for use by a Multimedia CS call (voice fall back
|
|
4780 |
NOT acceptable) for incoming calls
|
|
4781 |
|
|
4782 |
Modes: GSM/WCDMA */
|
|
4783 |
EIncomingMultimediaNoFallback,
|
|
4784 |
/** The single numbering scheme call mode is alternating voice to fax.
|
|
4785 |
|
|
4786 |
Modes: GSM/WCDMA */
|
|
4787 |
EIncomingAlternatingVoiceFax,
|
|
4788 |
/** The single numbering scheme call mode is alternating voice to data.
|
|
4789 |
|
|
4790 |
Modes: GSM */
|
|
4791 |
EIncomingAlternatingVoiceData,
|
|
4792 |
/** The single numbering scheme call mode is alternating fax to voice.
|
|
4793 |
|
|
4794 |
Modes: GSM */
|
|
4795 |
EIncomingAlternatingFaxVoice,
|
|
4796 |
/** The single numbering scheme call mode is alternating data to voice.
|
|
4797 |
|
|
4798 |
Modes: GSM */
|
|
4799 |
EIncomingAlternatingDataVoice,
|
|
4800 |
/** The single numbering scheme call mode is alternating voice then data.
|
|
4801 |
|
|
4802 |
Modes: GSM */
|
|
4803 |
EIncomingAlternatingVoiceThenData
|
|
4804 |
};
|
|
4805 |
|
|
4806 |
IMPORT_C void GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
|
|
4807 |
IMPORT_C void SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const;
|
|
4808 |
IMPORT_C void NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
|
|
4809 |
|
|
4810 |
/***********************************************************************************/
|
|
4811 |
//
|
|
4812 |
// User-To-User Signalling Functional Unit
|
|
4813 |
//
|
|
4814 |
/***********************************************************************************/
|
|
4815 |
|
|
4816 |
/** UUS Settings Requests.
|
|
4817 |
|
|
4818 |
Modes: GSM/WCDMA */
|
|
4819 |
enum TMobilePhoneUUSSetting // UUS settings of the phone
|
|
4820 |
{
|
|
4821 |
/** UUS is not specified. */
|
|
4822 |
EIncomingUUSNotSpecified,
|
|
4823 |
/** MS will accept incoming UUS activation request. */
|
|
4824 |
EIncomingUUSAccepted,
|
|
4825 |
/** MS will reject incoming UUS activation request. */
|
|
4826 |
EIncomingUUSRejected
|
|
4827 |
};
|
|
4828 |
|
|
4829 |
IMPORT_C void GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
|
|
4830 |
IMPORT_C void SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const;
|
|
4831 |
IMPORT_C void NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
|
|
4832 |
|
|
4833 |
/***********************************************************************************/
|
|
4834 |
//
|
|
4835 |
// Mobile Smart Card Applications Functional Unit
|
|
4836 |
//
|
|
4837 |
/***********************************************************************************/
|
|
4838 |
|
|
4839 |
|
|
4840 |
enum { KSmartCardApplicationLabelMaxSize=32 };
|
|
4841 |
|
|
4842 |
/** Smart card application info version v5.0.
|
|
4843 |
Modes: Common
|
|
4844 |
|
|
4845 |
@see GetSmartCardApplicationInfo()
|
|
4846 |
@publishedPartner
|
|
4847 |
@released
|
|
4848 |
*/
|
|
4849 |
class TSmartCardApplicationInfoV5 : public TMultimodeType
|
|
4850 |
{
|
|
4851 |
public:
|
|
4852 |
IMPORT_C TSmartCardApplicationInfoV5();
|
|
4853 |
public:
|
|
4854 |
/**
|
|
4855 |
Smart card application identifier.
|
|
4856 |
*/
|
|
4857 |
TAID iAID;
|
|
4858 |
/**
|
|
4859 |
Smart card application label. 16 bit USC2 characters string provided by the application
|
|
4860 |
provider to be shown to the user for information, e.g. operator name. It is
|
|
4861 |
recommended by ETSI/3GPP spec that the application label does not exceed 32
|
|
4862 |
bytes.
|
|
4863 |
|
|
4864 |
The application label is optional. If no label is provided, the buffer should
|
|
4865 |
be NULL.
|
|
4866 |
*/
|
|
4867 |
TBuf8<KSmartCardApplicationLabelMaxSize> iLabel;
|
|
4868 |
};
|
|
4869 |
|
|
4870 |
/**
|
|
4871 |
A typedef'd packaged TSmartCardApplicationInfoV5 for passing through a generic API
|
|
4872 |
function member.
|
|
4873 |
*/
|
|
4874 |
typedef TPckg<TSmartCardApplicationInfoV5> TSmartCardApplicationInfoV5Pckg;
|
|
4875 |
|
|
4876 |
/**
|
|
4877 |
Specifies the max length of the buffer used to retrieve the smart
|
|
4878 |
card application's supported EAP method list. Value 255 since EAP
|
|
4879 |
type list length fits into one byte (see table 5.1 of ETSI TS
|
|
4880 |
102.310 v6.2.0).
|
|
4881 |
|
|
4882 |
@see RMobilePhone::GetSmartCardApplicationInfo()
|
|
4883 |
@see RMobilePhone::TUiccApplicationEapInfoV6::iEapTypeList
|
|
4884 |
*/
|
|
4885 |
enum { KEapSupportedTypeListSize = 255 };
|
|
4886 |
|
|
4887 |
/**
|
|
4888 |
UICC application info version v6.0. Is a
|
|
4889 |
TSmartCardApplicationInfoV5 object, but has an additional buffer
|
|
4890 |
(iEapTypeList) for retrieving a list supported EAP methods on the
|
|
4891 |
application.
|
|
4892 |
|
|
4893 |
Modes: GSM/WCDMA
|
|
4894 |
|
|
4895 |
@see RMobilePhone::GetSmartCardApplicationInfo()
|
|
4896 |
@publishedPartner
|
|
4897 |
@released
|
|
4898 |
*/
|
|
4899 |
class TUiccApplicationEapInfoV6 : public TSmartCardApplicationInfoV5
|
|
4900 |
{
|
|
4901 |
public:
|
|
4902 |
IMPORT_C TUiccApplicationEapInfoV6();
|
|
4903 |
|
|
4904 |
public:
|
|
4905 |
/**
|
|
4906 |
Application EAP support type list, defining the EAP methods
|
|
4907 |
supported by the UICC application (see RFC 3748 and
|
|
4908 |
http://www.iana.org/assignments/eap-numbers).
|
|
4909 |
|
|
4910 |
As reference, also worth seeing section 5.2 of ETSI TS 102.310
|
|
4911 |
v6.2.0 and section 6.2 of RFC3748.
|
|
4912 |
|
|
4913 |
@see KETelSmartCardEapTypeMD5
|
|
4914 |
@see KETelSmartCardEapTypeTLS
|
|
4915 |
@see KETelSmartCardEapTypeSIM
|
|
4916 |
@see KETelSmartCardEapTypeAKA
|
|
4917 |
@see KETelSmartCardEapTypeTTLS
|
|
4918 |
*/
|
|
4919 |
TBuf8<KEapSupportedTypeListSize> iEapTypeList;
|
|
4920 |
};
|
|
4921 |
|
|
4922 |
/**
|
|
4923 |
A typedef'd packaged TEapUiccApplicationInfoV6 for passing through
|
|
4924 |
a generic API function member.
|
|
4925 |
|
|
4926 |
@see RMobilePhone::GetSmartCardApplicationInfo()
|
|
4927 |
*/
|
|
4928 |
typedef TPckg<TUiccApplicationEapInfoV6> TUiccApplicationEapInfoV6Pckg;
|
|
4929 |
|
|
4930 |
/**
|
|
4931 |
Smart card application notification events
|
|
4932 |
|
|
4933 |
Modes: Common
|
|
4934 |
*/
|
|
4935 |
enum TSmartCardApplicationEvent
|
|
4936 |
{
|
|
4937 |
/**
|
|
4938 |
Smart card application has been installed.
|
|
4939 |
*/
|
|
4940 |
EScApplicationInstalled,
|
|
4941 |
/**
|
|
4942 |
Smart card application has been removed.
|
|
4943 |
*/
|
|
4944 |
EScApplicationRemoved,
|
|
4945 |
/**
|
|
4946 |
Smart card application has been activated.
|
|
4947 |
*/
|
|
4948 |
EScApplicationActivated,
|
|
4949 |
/**
|
|
4950 |
Smart card application has been terminated.
|
|
4951 |
*/
|
|
4952 |
EScApplicationTerminated
|
|
4953 |
};
|
|
4954 |
|
|
4955 |
/**
|
|
4956 |
Smart card application status.
|
|
4957 |
|
|
4958 |
Modes: Common
|
|
4959 |
*/
|
|
4960 |
enum TSmartCardApplicationAction
|
|
4961 |
{
|
|
4962 |
/**
|
|
4963 |
Smart card application will be activated.
|
|
4964 |
*/
|
|
4965 |
EScApplicationActivate,
|
|
4966 |
/**
|
|
4967 |
Smart card application will be terminated.
|
|
4968 |
*/
|
|
4969 |
EScTerminate
|
|
4970 |
};
|
|
4971 |
|
|
4972 |
/**
|
|
4973 |
Smart card application file types. For definitions see TS 102.221.
|
|
4974 |
|
|
4975 |
Modes: Common
|
|
4976 |
*/
|
|
4977 |
enum TScFileType
|
|
4978 |
{
|
|
4979 |
/**
|
|
4980 |
Smart card file type is unknown.
|
|
4981 |
*/
|
|
4982 |
EUnknown,
|
|
4983 |
/**
|
|
4984 |
Smart card file type is linear fixed.
|
|
4985 |
|
|
4986 |
This is a record-based file.
|
|
4987 |
*/
|
|
4988 |
ELinearFixed,
|
|
4989 |
/**
|
|
4990 |
Smart card file type is cyclic.
|
|
4991 |
|
|
4992 |
This is a record-based file.
|
|
4993 |
*/
|
|
4994 |
ECyclic,
|
|
4995 |
/**
|
|
4996 |
Smart card file type is transparent.
|
|
4997 |
|
|
4998 |
This is a binary file.
|
|
4999 |
*/
|
|
5000 |
ETransparent
|
|
5001 |
};
|
|
5002 |
|
|
5003 |
/**
|
|
5004 |
Typedef to hold a 2-byte file identifier.
|
|
5005 |
*/
|
|
5006 |
typedef TUint16 TScFileID;
|
|
5007 |
|
|
5008 |
/** Smart card application file info version v5.0.
|
|
5009 |
Modes: Common
|
|
5010 |
|
|
5011 |
@see GetScFileInfo()
|
|
5012 |
@publishedPartner
|
|
5013 |
@released
|
|
5014 |
*/
|
|
5015 |
class TScFileInfoV5 : public TMultimodeType
|
|
5016 |
{
|
|
5017 |
public:
|
|
5018 |
IMPORT_C TScFileInfoV5();
|
|
5019 |
public:
|
|
5020 |
/**
|
|
5021 |
Smart card file identifier.
|
|
5022 |
*/
|
|
5023 |
TScFileID iFileID;
|
|
5024 |
/**
|
|
5025 |
The type of the smart card file. Options are
|
|
5026 |
Linear Fixed, Cyclic or Transparent.
|
|
5027 |
*/
|
|
5028 |
TScFileType iType;
|
|
5029 |
/**
|
|
5030 |
Total length of the file. As specified in TS 102.221 the maximum length of an EF is 0xFFF bytes.
|
|
5031 |
*/
|
|
5032 |
TInt iTotalLength;
|
|
5033 |
/**
|
|
5034 |
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.
|
|
5035 |
If file type is ETransparent then this value is unused and will be set to 0.
|
|
5036 |
|
|
5037 |
From TS 102.221 the maximum length of a record in an EF is 255 bytes.
|
|
5038 |
*/
|
|
5039 |
TInt iRecordLength;
|
|
5040 |
/**
|
|
5041 |
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.
|
|
5042 |
If file type is ETransparent then this value is unused and will be set to 0.
|
|
5043 |
|
|
5044 |
From TS 102.221 the maximum number of records in an EF is 254.
|
|
5045 |
*/
|
|
5046 |
TInt iNumberRecords;
|
|
5047 |
};
|
|
5048 |
|
|
5049 |
|
|
5050 |
/** A typedef'd packaged TScFileInfoV5 for passing through a generic API
|
|
5051 |
function member.
|
|
5052 |
*/
|
|
5053 |
typedef TPckg<TScFileInfoV5> TScFileInfoV5Pckg;
|
|
5054 |
|
|
5055 |
/**
|
|
5056 |
This based on the maximum number of bytes in a command PDU
|
|
5057 |
as defined in TS 102.221 however the actual path string is very unlikely to ever be this big.
|
|
5058 |
|
|
5059 |
Modes: Common
|
|
5060 |
*/
|
|
5061 |
enum{ KMaxScFilePathLength = 256};
|
|
5062 |
|
|
5063 |
/**
|
|
5064 |
A typedef'd buffer to hold the path to an EF file.
|
|
5065 |
*/
|
|
5066 |
typedef TBuf8<KMaxScFilePathLength> TScFilePathReference;
|
|
5067 |
|
|
5068 |
|
|
5069 |
/**
|
|
5070 |
Class that holds a smart card applications AID and associated file path string.
|
|
5071 |
|
|
5072 |
Modes: Common
|
|
5073 |
|
|
5074 |
@see GetScFileInfo()
|
|
5075 |
@publishedPartner
|
|
5076 |
@released
|
|
5077 |
*/
|
|
5078 |
class TScFilePath
|
|
5079 |
{
|
|
5080 |
public:
|
|
5081 |
IMPORT_C TScFilePath();
|
|
5082 |
public:
|
|
5083 |
/**
|
|
5084 |
AID of application. This may be empty implying the iPath is a path reference starting at the master file (MF).
|
|
5085 |
*/
|
|
5086 |
TAID iAID;
|
|
5087 |
/**
|
|
5088 |
Full path reference to file.
|
|
5089 |
|
|
5090 |
The iPath must define the file path using full path referencing. This is because the client does not know
|
|
5091 |
what is the currently selected EF or DF and it is therefore necessary to select the file by full
|
|
5092 |
path referencing from the master file.
|
|
5093 |
|
|
5094 |
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.
|
|
5095 |
E.g. To reference the EF_DIR - iAID would be empty and iPath would be set to "2F00".
|
|
5096 |
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".
|
|
5097 |
|
|
5098 |
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,
|
|
5099 |
In this situation the path reference may start with the implicit FID of the application DF (7FFF).
|
|
5100 |
E.g. The path to reference to the EF_SMS file in a USIM application using implicit ADF FID would
|
|
5101 |
be "7FFF6F3C".
|
|
5102 |
|
|
5103 |
See TS102.221 section 8.4.2 for more information.
|
|
5104 |
*/
|
|
5105 |
TScFilePathReference iPath;
|
|
5106 |
};
|
|
5107 |
|
|
5108 |
/** Smart card application file identifier and access offsets. This class is used to identify a file and the
|
|
5109 |
location in a file to either read or write. Inherits attributes from TScFilePath which provide the
|
|
5110 |
parent AID and full path reference.
|
|
5111 |
|
|
5112 |
Modes: Common
|
|
5113 |
|
|
5114 |
@see TScFilePath
|
|
5115 |
@see ReadScFile()
|
|
5116 |
@see UpdateScFile()
|
|
5117 |
@publishedPartner
|
|
5118 |
@released
|
|
5119 |
*/
|
|
5120 |
class TScFilePathWithAccessOffsets : public TScFilePath
|
|
5121 |
{
|
|
5122 |
public:
|
|
5123 |
IMPORT_C TScFilePathWithAccessOffsets();
|
|
5124 |
public:
|
|
5125 |
/**
|
|
5126 |
The type of the smart card file. Options are
|
|
5127 |
Linear Fixed, Cyclic or Transparent.
|
|
5128 |
*/
|
|
5129 |
TScFileType iType;
|
|
5130 |
/**
|
|
5131 |
If file type is ELinearFixed or ECyclic then this is the starting record index to read or update.
|
|
5132 |
This must be less than the number of records in the file.
|
|
5133 |
|
|
5134 |
If file type is ETransparent then this is the offset (in bytes) from the start of the transparent file to read or update.
|
|
5135 |
This must be less than the total file size.
|
|
5136 |
*/
|
|
5137 |
TUint iStartOffset;
|
|
5138 |
/**
|
|
5139 |
If the file type is ELinearFixed or ECyclic then this is unused.
|
|
5140 |
NOTE: A call to ReadScFile or UpdateScFile for a record based file type will only read or update
|
|
5141 |
one record as described in TS 102.221 READ RECORD and UPDATE RECORD.
|
|
5142 |
|
|
5143 |
If file type is ETransparent then this is the number of bytes to read or update.
|
|
5144 |
*/
|
|
5145 |
TUint iCount;
|
|
5146 |
};
|
|
5147 |
|
|
5148 |
IMPORT_C void EnumerateSmartCardApplications(TRequestStatus& aReqStatus, TUint& aCount) const;
|
|
5149 |
IMPORT_C void GetSmartCardApplicationInfo(TRequestStatus& aReqStatus, TUint aAppIndex, TDes8& aInfo) const;
|
|
5150 |
IMPORT_C void NotifySmartCardApplicationInfoChange(TRequestStatus& aReqStatus, TAID& aAID, TSmartCardApplicationEvent& aEvent) const;
|
|
5151 |
IMPORT_C void SetSmartCardApplicationStatus(TRequestStatus& aReqStatus, const TAID& aAID, TSmartCardApplicationAction aAppAction) const;
|
|
5152 |
IMPORT_C void GetScFileInfo(TRequestStatus& aReqStatus, const TScFilePath& aFilePathId, TDes8& aInfo) const;
|
|
5153 |
IMPORT_C void ReadScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aReadBuffer) const;
|
|
5154 |
IMPORT_C void UpdateScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aUpdateBuffer) const;
|
|
5155 |
|
|
5156 |
/***********************************************************************************/
|
|
5157 |
//
|
|
5158 |
// Mobile USIM Applications Functional Unit
|
|
5159 |
//
|
|
5160 |
/***********************************************************************************/
|
|
5161 |
|
|
5162 |
enum { KUSimApplicationLabelMaxSize=32 };
|
|
5163 |
|
|
5164 |
IMPORT_C void EnumerateUSimApplications(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
|
|
5165 |
|
|
5166 |
class TUSimApplicationInfoV2 : public TMultimodeType
|
|
5167 |
/** USIM application information for version v2.0.
|
|
5168 |
|
|
5169 |
@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
|
|
5170 |
*/
|
|
5171 |
{
|
|
5172 |
public:
|
|
5173 |
IMPORT_C TUSimApplicationInfoV2();
|
|
5174 |
public:
|
|
5175 |
/** USIM Application identifier.
|
|
5176 |
|
|
5177 |
Modes: WCDMA */
|
|
5178 |
TAID iAID;
|
|
5179 |
/** USIM Application label. 16 bit USC2 characters string provided by the application
|
|
5180 |
provider to be shown to the user for information, e.g. operator name. It is
|
|
5181 |
recommended by ETSI/3GPP spec that the application label does not exceed 32
|
|
5182 |
bytes.
|
|
5183 |
|
|
5184 |
The application label is optional. If no label is provided, the buffer should
|
|
5185 |
be NULL.
|
|
5186 |
|
|
5187 |
Modes: WCDMA */
|
|
5188 |
TBuf8<KUSimApplicationLabelMaxSize> iLabel;
|
|
5189 |
};
|
|
5190 |
|
|
5191 |
/** A typedef'd packaged TUSimApplicationInfoV2 for passing through a generic API
|
|
5192 |
function member.
|
|
5193 |
|
|
5194 |
@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
|
|
5195 |
*/
|
|
5196 |
typedef TPckg<TUSimApplicationInfoV2> TUSimApplicationInfoV2Pckg;
|
|
5197 |
|
|
5198 |
IMPORT_C void GetUSimApplicationInfo(TRequestStatus& aReqStatus, TInt aUSimAppIndex, TDes8& aInfo) const; //deprecated 9.1
|
|
5199 |
IMPORT_C void NotifyUSimApplicationsInfoChange(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
|
|
5200 |
|
|
5201 |
/** USIM Application Status.
|
|
5202 |
|
|
5203 |
Modes: WCDMA
|
|
5204 |
|
|
5205 |
@deprecated 9.1 Use @see TSmartCardApplicationAction instead.
|
|
5206 |
*/
|
|
5207 |
enum TUSimAppAction
|
|
5208 |
{
|
|
5209 |
/** USIM application will be activated.
|
|
5210 |
|
|
5211 |
Modes: WCDMA */
|
|
5212 |
EUSimActivate,
|
|
5213 |
/** USIM application will be terminated.
|
|
5214 |
|
|
5215 |
Modes: WCDMA */
|
|
5216 |
EUSimTerminate
|
|
5217 |
};
|
|
5218 |
|
|
5219 |
IMPORT_C void SetUSimApplicationStatus(TRequestStatus& aReqStatus, const TAID aAID, TUSimAppAction aUsimAppAction) const; //deprecated 9.1
|
|
5220 |
|
|
5221 |
/** USIM Application selection mode.
|
|
5222 |
|
|
5223 |
Mode: WCDMA */
|
|
5224 |
enum TUSimSelectionMode
|
|
5225 |
{
|
|
5226 |
/** USIM application is selected automatically by phone.
|
|
5227 |
|
|
5228 |
Mode: WCDMA */
|
|
5229 |
EUSimSelectionAutomatic,
|
|
5230 |
/** USIM application is selected manually by user.
|
|
5231 |
|
|
5232 |
Mode: WCDMA */
|
|
5233 |
EUSimSelectionManual
|
|
5234 |
};
|
|
5235 |
|
|
5236 |
IMPORT_C TInt SetUSimAppsSelectionMode(TUSimSelectionMode aUSimSelectionMode) const;
|
|
5237 |
IMPORT_C TInt GetUSimAppsSelectionMode(TUSimSelectionMode& aUSimSelectionMode) const;
|
|
5238 |
IMPORT_C void NotifyUSimAppsSelectionModeChange(TRequestStatus& aReqStatus, TUSimSelectionMode& aUSimSelectionMode) const;
|
|
5239 |
IMPORT_C void GetCurrentActiveUSimApplication(TRequestStatus& aReqStatus, TAID& aAID) const;
|
|
5240 |
|
|
5241 |
/***********************************************************************************/
|
|
5242 |
//
|
|
5243 |
// Mobile MMS Functional Unit
|
|
5244 |
//
|
|
5245 |
/***********************************************************************************/
|
|
5246 |
|
|
5247 |
/** max size of MMS notification buffer. */
|
|
5248 |
enum{KMaxMmsNotification = 253};
|
|
5249 |
|
|
5250 |
/**
|
|
5251 |
Identifies current status of MMS.
|
|
5252 |
*/
|
|
5253 |
enum TMmsStatus
|
|
5254 |
{
|
|
5255 |
/**
|
|
5256 |
The MMS has not been retrieved.
|
|
5257 |
*/
|
|
5258 |
EMmsNotRetrieved,
|
|
5259 |
/**
|
|
5260 |
The MMS has been retrieved.
|
|
5261 |
*/
|
|
5262 |
EMmsRetrieved,
|
|
5263 |
/**
|
|
5264 |
The MMS has been rejected.
|
|
5265 |
*/
|
|
5266 |
EMmsRejected,
|
|
5267 |
/**
|
|
5268 |
The MMS has been forwarded.
|
|
5269 |
*/
|
|
5270 |
EMmsforwarded
|
|
5271 |
};
|
|
5272 |
|
|
5273 |
/**
|
|
5274 |
MMS Implementation.
|
|
5275 |
*/
|
|
5276 |
enum TMmsImplementation
|
|
5277 |
{
|
|
5278 |
/**
|
|
5279 |
Unknown implementation for MMS.
|
|
5280 |
*/
|
|
5281 |
KMmsImplUnknwown=0x00,
|
|
5282 |
/**
|
|
5283 |
Wap implementation for MMS.
|
|
5284 |
*/
|
|
5285 |
KWapImplementation=0x01
|
|
5286 |
};
|
|
5287 |
|
|
5288 |
/**
|
|
5289 |
MMS Connectivity settings.
|
|
5290 |
*/
|
|
5291 |
enum TMmsConnParams
|
|
5292 |
{
|
|
5293 |
/**
|
|
5294 |
MMS User Preferences.
|
|
5295 |
*/
|
|
5296 |
EUserPreferences,
|
|
5297 |
/**
|
|
5298 |
MMS Issuer Connectivity Parameters.
|
|
5299 |
*/
|
|
5300 |
EIssuerConnParams,
|
|
5301 |
/**
|
|
5302 |
MMS User Connectivity Parameters.
|
|
5303 |
*/
|
|
5304 |
EUserConnParams
|
|
5305 |
};
|
|
5306 |
|
|
5307 |
/**
|
|
5308 |
MMS field Id tags.
|
|
5309 |
*/
|
|
5310 |
enum TMobileMMSFieldTags
|
|
5311 |
{
|
|
5312 |
/**
|
|
5313 |
Tag id for MMS connectivity parameters.
|
|
5314 |
*/
|
|
5315 |
ETagMmsConnParams=0xAB,
|
|
5316 |
/**
|
|
5317 |
Tag id for MMS Implementation.
|
|
5318 |
*/
|
|
5319 |
ETagMmsImpl=0x80,
|
|
5320 |
/**
|
|
5321 |
Tag id for MMS Relay/Server.
|
|
5322 |
*/
|
|
5323 |
ETagMmsServer=0x81,
|
|
5324 |
/**
|
|
5325 |
Tag id for Interface to Core Network and Bearer.
|
|
5326 |
*/
|
|
5327 |
ETagMmsBearerIE=0x82,
|
|
5328 |
/**
|
|
5329 |
Tag id for Gateway.
|
|
5330 |
*/
|
|
5331 |
ETagMmsGateway=0x83
|
|
5332 |
};
|
|
5333 |
|
|
5334 |
class TMmsNotificationV3 : public TMultimodeType
|
|
5335 |
/**
|
|
5336 |
Class containing MMS notification paramters.
|
|
5337 |
*/
|
|
5338 |
{
|
|
5339 |
public :
|
|
5340 |
IMPORT_C TMmsNotificationV3();
|
|
5341 |
public :
|
|
5342 |
/**
|
|
5343 |
Free/Used space.
|
|
5344 |
*/
|
|
5345 |
TBool iSpace;
|
|
5346 |
/**
|
|
5347 |
Notification read/not read.
|
|
5348 |
*/
|
|
5349 |
TBool iNotification;
|
|
5350 |
/**
|
|
5351 |
MMS status.
|
|
5352 |
*/
|
|
5353 |
TMmsStatus iMmsStatus;
|
|
5354 |
/**
|
|
5355 |
MMS implementation.
|
|
5356 |
*/
|
|
5357 |
TMmsImplementation iImplementation;
|
|
5358 |
/**
|
|
5359 |
MMS notification buffer.
|
|
5360 |
*/
|
|
5361 |
TBuf8<KMaxMmsNotification> iNotify;
|
|
5362 |
};
|
|
5363 |
|
|
5364 |
typedef TPckg<TMmsNotificationV3> TMmsNotificationV3Pckg;
|
|
5365 |
|
|
5366 |
// MMS notification
|
|
5367 |
IMPORT_C void NotifyMmsUpdate(TRequestStatus& aReqStatus, TDes8& aNotification) const;
|
|
5368 |
IMPORT_C void SetMmsUserConnParams(TRequestStatus& aReqStatus, TDes8& aConnectivity) const;
|
|
5369 |
IMPORT_C void SetMmsUserPreferences(TRequestStatus& aReqStatus, TDes8& aPreferences) const;
|
|
5370 |
IMPORT_C void GetMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
|
|
5371 |
IMPORT_C void NotifyMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
|
|
5372 |
|
|
5373 |
/***********************************************************************************/
|
|
5374 |
//
|
|
5375 |
// Mobile MailBox Numbers Functional Unit
|
|
5376 |
//
|
|
5377 |
/***********************************************************************************/
|
|
5378 |
|
|
5379 |
class TMobilePhoneVoicemailIdsV3 : public TMultimodeType
|
|
5380 |
/**
|
|
5381 |
Contains mailbox numbers.
|
|
5382 |
*/
|
|
5383 |
{
|
|
5384 |
public :
|
|
5385 |
IMPORT_C TMobilePhoneVoicemailIdsV3();
|
|
5386 |
public :
|
|
5387 |
/**
|
|
5388 |
Phonebook entry for "voicemail" mailbox number.
|
|
5389 |
*/
|
|
5390 |
TUint8 iVoice;
|
|
5391 |
/**
|
|
5392 |
Phonebook entry for "data" mailbox number.
|
|
5393 |
*/
|
|
5394 |
TUint8 iData;
|
|
5395 |
/**
|
|
5396 |
Phonebook entry for "fax" mailbox number.
|
|
5397 |
*/
|
|
5398 |
TUint8 iFax;
|
|
5399 |
/**
|
|
5400 |
Phonebook entry for "other" mailbox number.
|
|
5401 |
*/
|
|
5402 |
TUint8 iOther;
|
|
5403 |
};
|
|
5404 |
|
|
5405 |
typedef TPckg<TMobilePhoneVoicemailIdsV3> TMobilePhoneVoicemailIdsV3Pckg;
|
|
5406 |
|
|
5407 |
IMPORT_C void GetMailboxNumbers(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
|
|
5408 |
IMPORT_C void NotifyMailboxNumbersChange(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
|
|
5409 |
|
|
5410 |
/***********************************************************************************/
|
|
5411 |
//
|
|
5412 |
// Mobile APN Control List Functional Unit
|
|
5413 |
//
|
|
5414 |
/***********************************************************************************/
|
|
5415 |
|
|
5416 |
enum { KMaxApnName = 100 };
|
|
5417 |
|
|
5418 |
class TAPNEntryV3 : public TMultimodeType
|
|
5419 |
/**
|
|
5420 |
Contains parameters for an Access Point Name (APN) entry contained
|
|
5421 |
within the Access Control List EFacl file in the UICC.
|
|
5422 |
*/
|
|
5423 |
{
|
|
5424 |
public:
|
|
5425 |
IMPORT_C TAPNEntryV3();
|
|
5426 |
public:
|
|
5427 |
/**
|
|
5428 |
GGSN DNS name.
|
|
5429 |
*/
|
|
5430 |
TBuf8<KMaxApnName> iApn;
|
|
5431 |
};
|
|
5432 |
|
|
5433 |
typedef TPckg<TAPNEntryV3> TAPNEntryV3Pckg;
|
|
5434 |
|
|
5435 |
IMPORT_C void EnumerateAPNEntries(TRequestStatus& aReqStatus, TUint32 &aIndex) const;
|
|
5436 |
IMPORT_C void GetAPNname(TRequestStatus& aReqStatus, const TUint32 aIndex, TDes8& aAPN) const;
|
|
5437 |
IMPORT_C void AppendAPNName(TRequestStatus& aReqStatus, const TDes8& aAPN) const;
|
|
5438 |
IMPORT_C void DeleteAPNName(TRequestStatus& aReqStatus, TUint32 aIndex) const;
|
|
5439 |
IMPORT_C void NotifyAPNListChanged(TRequestStatus& aReqStatus) const;
|
|
5440 |
|
|
5441 |
enum TAPNControlListServiceStatus {
|
|
5442 |
/**
|
|
5443 |
The APN control list service is disabled.
|
|
5444 |
*/
|
|
5445 |
EAPNControlListServiceDisabled,
|
|
5446 |
/**
|
|
5447 |
The APN control list service is enabled.
|
|
5448 |
*/
|
|
5449 |
EAPNControlListServiceEnabled
|
|
5450 |
};
|
|
5451 |
|
|
5452 |
IMPORT_C void SetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus aAPNControlListServiceStatus) const;
|
|
5453 |
IMPORT_C void GetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
|
|
5454 |
IMPORT_C void NotifyAPNControlListServiceStatusChange(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
|
|
5455 |
|
|
5456 |
/***********************************************************************************/
|
|
5457 |
//
|
|
5458 |
// Retrieve Total Air Time Duration Functional Unit
|
|
5459 |
//
|
|
5460 |
/***********************************************************************************/
|
|
5461 |
IMPORT_C TInt GetAirTimeDuration(TTimeIntervalSeconds& aTime) const;
|
|
5462 |
IMPORT_C void NotifyAirTimeDurationChange(TRequestStatus& aReqStatus,TTimeIntervalSeconds& aTime) const;
|
|
5463 |
/***********************************************************************************/
|
|
5464 |
//
|
|
5465 |
// Terminate All Calls
|
|
5466 |
//
|
|
5467 |
/***********************************************************************************/
|
|
5468 |
IMPORT_C void TerminateAllCalls(TRequestStatus& aReqStatus) const;
|
|
5469 |
|
|
5470 |
/***********************************************************************************/
|
|
5471 |
//
|
|
5472 |
// Auto Redial Functional Unit
|
|
5473 |
//
|
|
5474 |
/***********************************************************************************/
|
|
5475 |
IMPORT_C void ClearBlacklist(TRequestStatus& aReqStatus) const;
|
|
5476 |
|
|
5477 |
/***********************************************************************************/
|
|
5478 |
//
|
|
5479 |
// Mobile Personalisation Functional Unit
|
|
5480 |
//
|
|
5481 |
/***********************************************************************************/
|
|
5482 |
|
|
5483 |
/**
|
|
5484 |
Indentifies the personalisation scheme capabilities of the UICC/ME.
|
|
5485 |
*/
|
|
5486 |
enum TMobilePhonePersonalisationCaps
|
|
5487 |
{
|
|
5488 |
/**
|
|
5489 |
UICC/ME personalisation based on network (MCC, MNC) information is possible.
|
|
5490 |
*/
|
|
5491 |
KCapsPersonalisedNetwork=0x01,
|
|
5492 |
/**
|
|
5493 |
UICC/ME personalisation based on network (MCC, MNC, IMSI network code group) information is possible.
|
|
5494 |
*/
|
|
5495 |
KCapsPersonalisedNetworkSub=0x02,
|
|
5496 |
/**
|
|
5497 |
UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFCNL) information is possible.
|
|
5498 |
*/
|
|
5499 |
KCapsPersonalisedServiceProvider=0x04,
|
|
5500 |
/**
|
|
5501 |
UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFGID2, EFCNL) information is possible.
|
|
5502 |
*/
|
|
5503 |
KCapsPersonalisedCorporate=0x08,
|
|
5504 |
/**
|
|
5505 |
UICC/ME personalisation based on (IMSI SIM/USIM code group) information is possible.
|
|
5506 |
*/
|
|
5507 |
KCapsPersonalisedUSim=0x10
|
|
5508 |
};
|
|
5509 |
|
|
5510 |
/**
|
|
5511 |
Identifies the current personalisation schemes that are active.
|
|
5512 |
*/
|
|
5513 |
enum TMobilePhonePersonalisationScheme
|
|
5514 |
{
|
|
5515 |
/**
|
|
5516 |
The ME is personalised under the network scheme.
|
|
5517 |
*/
|
|
5518 |
KPersonalisedNetwork=0x01,
|
|
5519 |
/**
|
|
5520 |
The ME is personalised under the network sub scheme.
|
|
5521 |
*/
|
|
5522 |
KPersonalisedNetworkSub=0x02,
|
|
5523 |
/**
|
|
5524 |
The ME is personalised under the service provider scheme.
|
|
5525 |
*/
|
|
5526 |
KPersonalisedServiceProvider=0x04,
|
|
5527 |
/**
|
|
5528 |
The ME is personalised under the corprorate scheme.
|
|
5529 |
*/
|
|
5530 |
KPersonalisedCorporate=0x08,
|
|
5531 |
/**
|
|
5532 |
The ME is personalised under the SIM/USIM scheme.
|
|
5533 |
*/
|
|
5534 |
KPersonalisedUSim=0x10
|
|
5535 |
};
|
|
5536 |
|
|
5537 |
/**
|
|
5538 |
Identifies the personalisation scheme to be set.
|
|
5539 |
*/
|
|
5540 |
enum TMobilePhonePersonalisation
|
|
5541 |
{
|
|
5542 |
/**
|
|
5543 |
Personalise the ME using the network scheme.
|
|
5544 |
*/
|
|
5545 |
EPersonaliseNetwork,
|
|
5546 |
/**
|
|
5547 |
Personalise the ME using the network sub scheme.
|
|
5548 |
*/
|
|
5549 |
EPersonaliseNetworkSub,
|
|
5550 |
/**
|
|
5551 |
Personalise the ME using the service provider scheme.
|
|
5552 |
*/
|
|
5553 |
EPersonaliseServiceProvider,
|
|
5554 |
/**
|
|
5555 |
Personalise the ME using the corporate scheme.
|
|
5556 |
*/
|
|
5557 |
EPersonaliseCorporate,
|
|
5558 |
/**
|
|
5559 |
Personalise the ME using the SIM/USIM scheme.
|
|
5560 |
*/
|
|
5561 |
EPersonaliseUsim
|
|
5562 |
};
|
|
5563 |
|
|
5564 |
IMPORT_C TInt GetPersonalisationCaps(TUint32& aCaps) const;
|
|
5565 |
IMPORT_C void GetPersonalisationStatus(TRequestStatus& aReqStatus, TUint32& aPersSchemes) const;
|
|
5566 |
IMPORT_C void SetPersonalisationStatus(TRequestStatus& aReqStatus, const TMobilePhonePersonalisation aPersSchemes, const TDes& aPersCode) const;
|
|
5567 |
|
|
5568 |
/***********************************************************************************/
|
|
5569 |
//
|
|
5570 |
// Etel 3rd Party v1.0 Parameter classes
|
|
5571 |
//
|
|
5572 |
/***********************************************************************************/
|
|
5573 |
|
|
5574 |
class TEtel3rdPartyMobileNetworkInfoV1 : public TMultimodeType
|
|
5575 |
/**
|
|
5576 |
Defines the parameters used to set-up of a call originated from an ETel 3rd Party client.
|
|
5577 |
|
|
5578 |
TEtel3rdPartyMobileNetworkInfoV1 was used to give an indication to the TSY of where the
|
|
5579 |
request was originating from; i.e. if the request is from an application using the ISV
|
|
5580 |
API or ETel API, which allowed the TSY to make a decision based on the origin. This
|
|
5581 |
data type also provided further protection by not including any location information
|
|
5582 |
parameters. With PlatSec being introduced in v9.0, there was no need to use this data
|
|
5583 |
structure, as each API is policed with the adequate PlatSec capabilities. Therefore,
|
|
5584 |
in v9.0 TEtel3rdPartyMobileNetworkInfoV1 was deprecated and removed from the ETel ISV
|
|
5585 |
(ETel3rdParty) implementation.
|
|
5586 |
|
|
5587 |
TEtel3rdPartyMobileNetworkInfoV1 was only used internally by the ETel ISV API when calls
|
|
5588 |
are made to RMobilePhone::GetCurrentNetwork or RMobilePhone::NotifyCurrentNetworkChange.
|
|
5589 |
The TSY no longer needs to support this as ETel ISV now uses the TMobilePhoneNetworkInfoV2
|
|
5590 |
data structure and no distinction is required for ISV Apps.
|
|
5591 |
|
|
5592 |
@publishedPartner
|
|
5593 |
@deprecated 9.0 This class has been deprecated from 9.0 and should no longer be used.
|
|
5594 |
*/
|
|
5595 |
{
|
|
5596 |
public:
|
|
5597 |
IMPORT_C TEtel3rdPartyMobileNetworkInfoV1();
|
|
5598 |
public:
|
|
5599 |
/** Mode of the network.
|
|
5600 |
Modes: Common
|
|
5601 |
|
|
5602 |
@see TMobilePhoneNetworkMode */
|
|
5603 |
TMobilePhoneNetworkMode iMode;
|
|
5604 |
/** Status of the network
|
|
5605 |
|
|
5606 |
Modes: Common
|
|
5607 |
|
|
5608 |
@see TMobilePhoneNetworkStatus */
|
|
5609 |
TMobilePhoneNetworkStatus iStatus;
|
|
5610 |
/** The band and band class of the CDMA network operator.
|
|
5611 |
|
|
5612 |
Modes: CDMA
|
|
5613 |
|
|
5614 |
@see TMobilePhoneNetworkBandInfo */
|
|
5615 |
TMobilePhoneNetworkBandInfo iBandInfo;
|
|
5616 |
/** The MCC of the network.
|
|
5617 |
|
|
5618 |
Modes: Common
|
|
5619 |
|
|
5620 |
@see TMobilePhoneNetworkCountryCode */
|
|
5621 |
TMobilePhoneNetworkCountryCode iCountryCode;
|
|
5622 |
/** The system identity (SID) of the CDMA network or the system identity (SID) of the AMPS network.
|
|
5623 |
|
|
5624 |
Modes: CDMA
|
|
5625 |
|
|
5626 |
@see TMobilePhoneNetworkIdentity */
|
|
5627 |
TMobilePhoneNetworkIdentity iCdmaSID;
|
|
5628 |
/** The network identity (NID in CDMA and MNC in GSM).
|
|
5629 |
|
|
5630 |
Modes: Common
|
|
5631 |
|
|
5632 |
@see TMobilePhoneNetworkIdentity */
|
|
5633 |
TMobilePhoneNetworkIdentity iNetworkId;
|
|
5634 |
/** The alpha-tag displayed when this is the serving network.
|
|
5635 |
|
|
5636 |
Modes: Common
|
|
5637 |
|
|
5638 |
@see TMobilePhoneNetworkDisplayTag */
|
|
5639 |
TMobilePhoneNetworkDisplayTag iDisplayTag;
|
|
5640 |
/** The short name (up to 10 characters) of the network operator.
|
|
5641 |
|
|
5642 |
Modes: GSM/WCDMA
|
|
5643 |
|
|
5644 |
@see TMobilePhoneNetworkShortName */
|
|
5645 |
TMobilePhoneNetworkShortName iShortName;
|
|
5646 |
/** The long name (up to 20 characters) of the network operator.
|
|
5647 |
|
|
5648 |
Modes: GSM/WCDMA
|
|
5649 |
|
|
5650 |
@see TMobilePhoneNetworkLongName */
|
|
5651 |
TMobilePhoneNetworkLongName iLongName;
|
|
5652 |
/** The type of network access.
|
|
5653 |
|
|
5654 |
@see TMobilePhoneNetworkAccess */
|
|
5655 |
TMobilePhoneNetworkAccess iAccess;
|
|
5656 |
};
|
|
5657 |
|
|
5658 |
/** A typedef'd packaged TEtel3rdPartyMobileNetworkInfoV1 for passing through a generic
|
|
5659 |
API function member.
|
|
5660 |
|
|
5661 |
@deprecated 9.0
|
|
5662 |
*/
|
|
5663 |
typedef TPckg<TEtel3rdPartyMobileNetworkInfoV1> TEtel3rdPartyMobileNetworkInfoV1Pckg;
|
|
5664 |
|
|
5665 |
/** IMS Authenticate constants,in accordance to 3GPP TS 33.102,
|
|
5666 |
section 6.3.7, and RFC 3310*/
|
|
5667 |
enum TMobilePhoneAuthenticate
|
|
5668 |
{
|
|
5669 |
/** length of autn is 128bits - 16octets*/
|
|
5670 |
KAutnLength=16,
|
|
5671 |
/** length of RAND is 16 octets */
|
|
5672 |
KRandLength=16,
|
|
5673 |
/** length of RES is 16 octets*/
|
|
5674 |
KResLength=16,
|
|
5675 |
/** length of IK is 16 octets*/
|
|
5676 |
KIkLength=16,
|
|
5677 |
/** length of CK is 16 octets*/
|
|
5678 |
KCkLength=16,
|
|
5679 |
/** length of Kc (GSM cipher key) is 8 octets*/
|
|
5680 |
KKcLength=8,
|
|
5681 |
/** length of is 112 bits - 14 octets */
|
|
5682 |
KAutsLength=14,
|
|
5683 |
};
|
|
5684 |
|
|
5685 |
/** Maximum size of the record in an EF is 0xff( 255 bytes) according to TS 102.221, section 8.2.2.2
|
|
5686 |
*/
|
|
5687 |
enum TMobilePhoneRelease5EFMaxSize
|
|
5688 |
{
|
|
5689 |
KRelease5EFMaxSize=255,
|
|
5690 |
};
|
|
5691 |
|
|
5692 |
/** typedefs for encapsulation of the buffers that hold authorization data stored on the ISIM/USIM*/
|
|
5693 |
/** typedef for Internet Multimedia Public Identity*/
|
|
5694 |
typedef TBuf8<KRelease5EFMaxSize> TIMPU;
|
|
5695 |
/** typedef for Internet Multimedia Private Identity*/
|
|
5696 |
typedef TBuf8<KRelease5EFMaxSize> TIMPI;
|
|
5697 |
/** typedef for Home Network Domain Name*/
|
|
5698 |
typedef TBuf8<KRelease5EFMaxSize> THNDN;
|
|
5699 |
|
|
5700 |
|
|
5701 |
/** IMS Authenticate API*/
|
|
5702 |
/** Class encapsulates data needed as an input/output for
|
|
5703 |
ISIM/USIM AUTHENTICATE command
|
|
5704 |
|
|
5705 |
@publishedPartner
|
|
5706 |
@released
|
|
5707 |
*/
|
|
5708 |
class TImsAuthenticateDataV5: public TMultimodeType
|
|
5709 |
{
|
|
5710 |
public:
|
|
5711 |
IMPORT_C TImsAuthenticateDataV5();
|
|
5712 |
/** holds value of network challenge AUTN */
|
|
5713 |
TBuf8<KAutnLength> iAUTN;
|
|
5714 |
/** holds value of network challenge RAND */
|
|
5715 |
TBuf8<KRandLength> iRAND;
|
|
5716 |
/** holds result RES of AUTHENTICATE command when it's successfull*/
|
|
5717 |
TBuf8<KResLength> iRES;
|
|
5718 |
/** holds value of session key Integrity Key */
|
|
5719 |
TBuf8<KIkLength> iIK;
|
|
5720 |
/** holds value of session key Cipher Key */
|
|
5721 |
TBuf8<KCkLength> iCK;
|
|
5722 |
/** holds value of Authentication Token when AUTHENTICATE fails*/
|
|
5723 |
TBuf8<KAutsLength> iAUTS;
|
|
5724 |
};
|
|
5725 |
|
|
5726 |
/** packaged version of TImsAuthenticateDataV5, used when this structure has to be passeed via IPC*/
|
|
5727 |
typedef TPckg<TImsAuthenticateDataV5> TImsAuthenticateDataV5Pckg;
|
|
5728 |
friend class CAsyncRetrieveAuthorizationInfo;
|
|
5729 |
|
|
5730 |
/** API that execute ISIM/USIM AUTHENTICATE command*/
|
|
5731 |
IMPORT_C void ImsAuthenticate (TRequestStatus& aReqStatus,TDes8& authenticateDataPckgd) const;
|
|
5732 |
|
|
5733 |
IMPORT_C void NotifyImsAuthorizationInfoChange(TRequestStatus& aReqStatus) const;
|
|
5734 |
|
|
5735 |
/**
|
|
5736 |
Source location of IMS Authorization data.
|
|
5737 |
*/
|
|
5738 |
enum TAuthorizationDataSource
|
|
5739 |
{
|
|
5740 |
/** Authorization data source is USIM. */
|
|
5741 |
EFromUSIM,
|
|
5742 |
/** Authorization data source is ISIM. */
|
|
5743 |
EFromISIM
|
|
5744 |
};
|
|
5745 |
|
|
5746 |
/**
|
|
5747 |
Class encapsulates IMS authorization data stored in the ISIM or USIM
|
|
5748 |
|
|
5749 |
@publishedPartner
|
|
5750 |
@released
|
|
5751 |
*/
|
|
5752 |
class CImsAuthorizationInfoV5 : public CBase
|
|
5753 |
{
|
|
5754 |
public:
|
|
5755 |
IMPORT_C ~CImsAuthorizationInfoV5();
|
|
5756 |
IMPORT_C static CImsAuthorizationInfoV5* NewL();
|
|
5757 |
IMPORT_C virtual void ExternalizeL(HBufC8*& aBuffer);
|
|
5758 |
IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
|
|
5759 |
IMPORT_C TUint ExtensionId() const;
|
|
5760 |
public:
|
|
5761 |
/**Internet Multimedia Private Identity stored on the ISIM/USIM*/
|
|
5762 |
RMobilePhone::TIMPI iIMPI;
|
|
5763 |
/**Internet Multimedia Public Identity(ies) stored on the ISIM/USIM*/
|
|
5764 |
RArray<RMobilePhone::TIMPU> iIMPUArray;
|
|
5765 |
/**Home Network Domain Name stored on the ISIM/USIM*/
|
|
5766 |
RMobilePhone::THNDN iHomeNetworkDomainName;
|
|
5767 |
/**indicates whether authorization data has been retrieved from the ISIM*/
|
|
5768 |
TAuthorizationDataSource iAuthenticationDataSource;
|
|
5769 |
protected:
|
|
5770 |
CImsAuthorizationInfoV5();
|
|
5771 |
/** version of the data supported*/
|
|
5772 |
TUint iExtensionId;
|
|
5773 |
};
|
|
5774 |
|
|
5775 |
/**
|
|
5776 |
Defines the input as well as the ouput parameters used when performing the
|
|
5777 |
(U)ICC AUTHENTICATE command.
|
|
5778 |
|
|
5779 |
@publishedPartner
|
|
5780 |
@released
|
|
5781 |
*/
|
|
5782 |
class TSmartCardAuthenticateDataV6 : public TImsAuthenticateDataV5
|
|
5783 |
{
|
|
5784 |
public:
|
|
5785 |
IMPORT_C TSmartCardAuthenticateDataV6();
|
|
5786 |
|
|
5787 |
public:
|
|
5788 |
TBuf8<KKcLength> iKc;
|
|
5789 |
};
|
|
5790 |
|
|
5791 |
/**
|
|
5792 |
Packaged version of TSmartCardAuthenticateDataV6, used when this
|
|
5793 |
structure has to be passeed via IPC.
|
|
5794 |
*/
|
|
5795 |
typedef TPckg<TSmartCardAuthenticateDataV6> TSmartCardAuthenticateDataV6Pckg;
|
|
5796 |
|
|
5797 |
IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, TDes8& aAuthDataPckgd) const;
|
|
5798 |
IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, const TAID& aAID, TDes8& aAuthDataPckgd) const;
|
|
5799 |
|
|
5800 |
private:
|
|
5801 |
CMobilePhonePtrHolder* iMmPtrHolder;
|
|
5802 |
RMobilePhone(const RMobilePhone& aPhone);
|
|
5803 |
|
|
5804 |
protected:
|
|
5805 |
IMPORT_C void ConstructL();
|
|
5806 |
IMPORT_C void Destruct();
|
|
5807 |
};
|
|
5808 |
|
|
5809 |
|
|
5810 |
/*********************************************************/
|
|
5811 |
//
|
|
5812 |
// Phone Storage functionality (RMobilePhoneStore)
|
|
5813 |
//
|
|
5814 |
/*********************************************************/
|
|
5815 |
|
|
5816 |
|
|
5817 |
|
|
5818 |
class CMobilePhoneStorePtrHolder;
|
|
5819 |
class RMobilePhoneStore : public RTelSubSessionBase
|
|
5820 |
/**
|
|
5821 |
Abstract class used to define common phone storage actions and types
|
|
5822 |
|
|
5823 |
Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore
|
|
5824 |
*/
|
|
5825 |
{
|
|
5826 |
public:
|
|
5827 |
friend class CAsyncRetrieveStoreList;
|
|
5828 |
|
|
5829 |
/** Types of store.
|
|
5830 |
|
|
5831 |
Modes: Common */
|
|
5832 |
enum TMobilePhoneStoreType
|
|
5833 |
{
|
|
5834 |
/** Store type is unknown.
|
|
5835 |
|
|
5836 |
Modes: Common */
|
|
5837 |
EPhoneStoreTypeUnknown,
|
|
5838 |
/** Store contains SMS messages.
|
|
5839 |
|
|
5840 |
Modes: Common */
|
|
5841 |
EShortMessageStore,
|
|
5842 |
/** Store contains NAM entries.
|
|
5843 |
|
|
5844 |
Modes: CDMA */
|
|
5845 |
ENamStore,
|
|
5846 |
/** Store contains PhoneBook entries.
|
|
5847 |
|
|
5848 |
Modes: Common */
|
|
5849 |
EPhoneBookStore,
|
|
5850 |
/** Store contains emergency number entries.
|
|
5851 |
|
|
5852 |
Modes: Common */
|
|
5853 |
EEmergencyNumberStore,
|
|
5854 |
/** Store contains own number entries.
|
|
5855 |
|
|
5856 |
Modes: Common */
|
|
5857 |
EOwnNumberStore
|
|
5858 |
};
|
|
5859 |
|
|
5860 |
/** Store capabilities. */
|
|
5861 |
enum TMobilePhoneStoreCaps
|
|
5862 |
{
|
|
5863 |
/** The store can be accessed as a whole using the ReadAll() and StoreAll() member
|
|
5864 |
functions. */
|
|
5865 |
KCapsWholeStore = 0x80000000,
|
|
5866 |
/** The store can be accessed one entry at a time using the RMobilePhoneStore::Read(),
|
|
5867 |
RMobilePhoneStore::Write() and RMobilePhoneStore::Delete() member functions. */
|
|
5868 |
KCapsIndividualEntry = 0x40000000,
|
|
5869 |
/** The store can be accessed in order to read entries. */
|
|
5870 |
KCapsReadAccess = 0x20000000,
|
|
5871 |
/** The store can be accessed in order to write or delete entries. */
|
|
5872 |
KCapsWriteAccess = 0x10000000,
|
|
5873 |
/** The TSY supports deleting all the store entries at once. */
|
|
5874 |
KCapsDeleteAll = 0x08000000,
|
|
5875 |
/** The TSY supports notification of store events such as entries added, deleted
|
|
5876 |
or store becoming full. */
|
|
5877 |
KCapsNotifyEvent = 0x04000000
|
|
5878 |
};
|
|
5879 |
|
|
5880 |
/** The type of store information. As defined in TMobilePhoneStoreInfoV1::iExtensionId
|
|
5881 |
|
|
5882 |
Modes: Common
|
|
5883 |
|
|
5884 |
@see TMobilePhoneStoreInfoV1
|
|
5885 |
@see RMobilePhone::TMultimodeType */
|
|
5886 |
enum TMobilePhoneStoreInfoExtId
|
|
5887 |
{
|
|
5888 |
/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneStore::TMobilePhoneStoreInfoV1.
|
|
5889 |
Modes: Common */
|
|
5890 |
KETelMobilePhoneStoreV1=KETelExtMultimodeV1,
|
|
5891 |
/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneBookStore::TMobilePhoneBookInfoV1.
|
|
5892 |
Modes: Common */
|
|
5893 |
KETelMobilePhonebookStoreV1,
|
|
5894 |
/** Reserved for SMS store specific information class.
|
|
5895 |
Modes: Common */
|
|
5896 |
KETelMobileSmsStoreV1,
|
|
5897 |
/** The iExtensionId contents indicate that the packaged class is a RMobileNamStore::TMobileNamStoreInfoV1.
|
|
5898 |
Modes: CDMA */
|
|
5899 |
KETelMobileNamStoreV1,
|
|
5900 |
/** The iExtensionId contents indicate that the packaged class is a RMobileONStore::TMobileONStoreInfoV1.
|
|
5901 |
Modes: Common */
|
|
5902 |
KETelMobileONStoreV1,
|
|
5903 |
/** Reserved for Emergency Number store specific infoprmation class.
|
|
5904 |
Modes: Common */
|
|
5905 |
KETelMobileENStoreV1,
|
|
5906 |
/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
|
|
5907 |
Modes: Common */
|
|
5908 |
KETelMobilePhonebookStoreV2=KETelExtMultimodeV2,
|
|
5909 |
|
|
5910 |
/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
|
|
5911 |
Modes: Common */
|
|
5912 |
KETelMobilePhonebookStoreV5=KEtelExtMultimodeV5
|
|
5913 |
};
|
|
5914 |
|
|
5915 |
|
|
5916 |
|
|
5917 |
class TMobilePhoneStoreInfoV1 : public RMobilePhone::TMultimodeType
|
|
5918 |
/** Defines information and capabilities of a phone-side store.
|
|
5919 |
@publishedPartner
|
|
5920 |
@released */
|
|
5921 |
{
|
|
5922 |
public:
|
|
5923 |
IMPORT_C TMobilePhoneStoreInfoV1();
|
|
5924 |
|
|
5925 |
/** The type of entry in the phone-side store.
|
|
5926 |
|
|
5927 |
Modes: Common
|
|
5928 |
|
|
5929 |
@see TMobilePhoneStoreType */
|
|
5930 |
TMobilePhoneStoreType iType;
|
|
5931 |
/** Indicates the total number of entries that may be held in this store. */
|
|
5932 |
TInt iTotalEntries;
|
|
5933 |
/** Indicates the current number of entries held in this store.
|
|
5934 |
|
|
5935 |
Is equal to KIndexNotUsed if the TSY is unable to determine current number
|
|
5936 |
of entries.
|
|
5937 |
|
|
5938 |
Modes: Common */
|
|
5939 |
TInt iUsedEntries;
|
|
5940 |
/** Indicates the capabilities of the store. It is the sum of caps constants defined
|
|
5941 |
in TMobilePhoneStoreCaps and those defined for a specialised phone store.
|
|
5942 |
|
|
5943 |
Modes: Common */
|
|
5944 |
TUint32 iCaps;
|
|
5945 |
/** The name of the phone-side store. A valid list of names is given in the description
|
|
5946 |
of each specialised store.
|
|
5947 |
|
|
5948 |
Modes: Common
|
|
5949 |
|
|
5950 |
@see RMobilePhone::TMobileName */
|
|
5951 |
RMobilePhone::TMobileName iName;
|
|
5952 |
};
|
|
5953 |
|
|
5954 |
/** A typedef'd packaged TMobilePhoneStoreInfoV1 for passing through a generic
|
|
5955 |
API member function. */
|
|
5956 |
typedef TPckg<TMobilePhoneStoreInfoV1> TMobilePhoneStoreInfoV1Pckg;
|
|
5957 |
|
|
5958 |
|
|
5959 |
|
|
5960 |
class TMobilePhoneStoreEntryV1 : public RMobilePhone::TMultimodeType
|
|
5961 |
/** Defines common contents of an entry in a phone-side store.
|
|
5962 |
*/
|
|
5963 |
{
|
|
5964 |
public:
|
|
5965 |
|
|
5966 |
enum
|
|
5967 |
{
|
|
5968 |
KIndexNotUsed = -1
|
|
5969 |
};
|
|
5970 |
|
|
5971 |
protected:
|
|
5972 |
TMobilePhoneStoreEntryV1();
|
|
5973 |
public:
|
|
5974 |
void InternalizeL(RReadStream& aStream);
|
|
5975 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
5976 |
public:
|
|
5977 |
/** The slot location of the entry within phone-side storage.
|
|
5978 |
|
|
5979 |
Modes: Common */
|
|
5980 |
TInt iIndex;
|
|
5981 |
};
|
|
5982 |
|
|
5983 |
IMPORT_C void GetInfo(TRequestStatus& aReqStatus, TDes8& aInfo) const;
|
|
5984 |
|
|
5985 |
IMPORT_C void Read(TRequestStatus& aReqStatus, TDes8& aEntry) const;
|
|
5986 |
IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aEntry) const;
|
|
5987 |
|
|
5988 |
IMPORT_C void Delete(TRequestStatus& aReqStatus, TInt aIndex) const;
|
|
5989 |
IMPORT_C void DeleteAll(TRequestStatus& aReqStatus) const;
|
|
5990 |
|
|
5991 |
/** The store events. It is possible for more than one event to occur at the same
|
|
5992 |
time, therefore the events are a bitmask and should be tested as a bitmask.
|
|
5993 |
|
|
5994 |
Modes: Common
|
|
5995 |
|
|
5996 |
@see NotifyStoreEvent() */
|
|
5997 |
enum TMobileStoreEvent
|
|
5998 |
{
|
|
5999 |
/** The store has become full. This event will trigger after the last possible
|
|
6000 |
entry in a store has been written. */
|
|
6001 |
KStoreFull =0x00000001,
|
|
6002 |
/** The store was full but now has some space. This event will trigger after one
|
|
6003 |
or more entries have been deleted from a full store. */
|
|
6004 |
KStoreHasSpace =0x00000002,
|
|
6005 |
/** The store is empty. This event will trigger after the last entry in a store
|
|
6006 |
has been deleted or if all entries are deleted at once. */
|
|
6007 |
KStoreEmpty =0x00000004,
|
|
6008 |
/** The store has a new entry, placed in the slot indicated by the aIndex parameter. */
|
|
6009 |
KStoreEntryAdded =0x00000008,
|
|
6010 |
/** The store has deleted the entry that was in the slot indicated by the aIndex
|
|
6011 |
parameter. */
|
|
6012 |
KStoreEntryDeleted =0x00000010,
|
|
6013 |
/** The store has changed the entry that was in the slot indicated by the aIndex
|
|
6014 |
parameter. */
|
|
6015 |
KStoreEntryChanged =0x00000020,
|
|
6016 |
/** The store contents have substantially changed and the TSY is recommending that
|
|
6017 |
the client performs a refresh by reading all the contents again. */
|
|
6018 |
KStoreDoRefresh =0x00000040
|
|
6019 |
};
|
|
6020 |
|
|
6021 |
IMPORT_C void NotifyStoreEvent(TRequestStatus& aReqStatus, TUint32& aEvent, TInt& aIndex) const;
|
|
6022 |
|
|
6023 |
protected:
|
|
6024 |
CMobilePhoneStorePtrHolder* iStorePtrHolder;
|
|
6025 |
|
|
6026 |
protected:
|
|
6027 |
RMobilePhoneStore();
|
|
6028 |
IMPORT_C void BaseConstruct(CMobilePhoneStorePtrHolder* aPtrHolder);
|
|
6029 |
IMPORT_C void Destruct();
|
|
6030 |
};
|
|
6031 |
|
|
6032 |
|
|
6033 |
/*********************************************************/
|
|
6034 |
//
|
|
6035 |
// Call based functionality (RMobileCall)
|
|
6036 |
//
|
|
6037 |
/*********************************************************/
|
|
6038 |
|
|
6039 |
|
|
6040 |
|
|
6041 |
class CMobileCallPtrHolder;
|
|
6042 |
|
|
6043 |
class RMobileCall : public RCall
|
|
6044 |
/** Provides access to the functionality associated with a specific mobile call.
|
|
6045 |
|
|
6046 |
RMobileCall encapsulates access to a mobile phone. The functionality of RMobileCall
|
|
6047 |
is divided into a number of functional units, for the purpose of easier documentation
|
|
6048 |
and navigation and selectable support by TSY.
|
|
6049 |
|
|
6050 |
Note: Some RMobileCall function members must be supported by the TSY while
|
|
6051 |
others are part of optional "functional unit" and only need to be supported
|
|
6052 |
if the TSY supports that functional unit. When a functional unit is mandatory
|
|
6053 |
then the TSY should at least support the Get...Caps() member function to indicate
|
|
6054 |
the member functions that are supported for this unit.
|
|
6055 |
*/
|
|
6056 |
{
|
|
6057 |
public:
|
|
6058 |
IMPORT_C RMobileCall();
|
|
6059 |
/***********************************************************************************/
|
|
6060 |
//
|
|
6061 |
// Mobile call parameters - used within Dial/Answer API
|
|
6062 |
//
|
|
6063 |
/***********************************************************************************/
|
|
6064 |
|
|
6065 |
// used to set iExtensionId in RCall::TCallParams
|
|
6066 |
/** The mobile call parameter extension IDs.
|
|
6067 |
|
|
6068 |
Modes: Common */
|
|
6069 |
enum TMobileCallParamsExtensionId
|
|
6070 |
{
|
|
6071 |
/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV1. */
|
|
6072 |
KETelMobileCallParamsV1=KETelExtMultimodeV1,
|
|
6073 |
/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV1.
|
|
6074 |
|
|
6075 |
Modes: Common */
|
|
6076 |
KETelMobileDataCallParamsV1,
|
|
6077 |
/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV1.
|
|
6078 |
|
|
6079 |
Modes: GSM/WCDMA */
|
|
6080 |
KETelMobileHscsdCallParamsV1,
|
|
6081 |
/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV2.
|
|
6082 |
|
|
6083 |
Modes: Common */
|
|
6084 |
KETelMobileCallParamsV2=KETelExtMultimodeV2,
|
|
6085 |
/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV2.
|
|
6086 |
|
|
6087 |
Modes: Common */
|
|
6088 |
KETelMobileDataCallParamsV2,
|
|
6089 |
/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV2.
|
|
6090 |
|
|
6091 |
Modes: GSM/WCDMA */
|
|
6092 |
KETelMobileHscsdCallParamsV2,
|
|
6093 |
/** The iExtensionId contents indicate that the packaged class is a TEtel3rdPartyMobileCallParamsV1.
|
|
6094 |
|
|
6095 |
Modes: Common */
|
|
6096 |
KETel3rdPartyCallParamsV1=KETelExt3rdPartyV1
|
|
6097 |
};
|
|
6098 |
|
|
6099 |
/** Caller Id restriction settings.
|
|
6100 |
|
|
6101 |
Modes: Common
|
|
6102 |
|
|
6103 |
@see TMobileCallParamsV1 */
|
|
6104 |
enum TMobileCallIdRestriction
|
|
6105 |
{
|
|
6106 |
/** The default setting should be used if the user has not explicitly requested
|
|
6107 |
their identity to be restricted/allowed. */
|
|
6108 |
EIdRestrictDefault,
|
|
6109 |
/** The user has explicitly requested their identity to be sent for this call. */
|
|
6110 |
ESendMyId,
|
|
6111 |
/** The user has explicitly requested their identity not to be sent for this call. */
|
|
6112 |
EDontSendMyId
|
|
6113 |
};
|
|
6114 |
|
|
6115 |
class TMobileCallCugV1 : public RMobilePhone::TMultimodeType
|
|
6116 |
/** This class is used to set up a CUG (Closed User Group) call.
|
|
6117 |
|
|
6118 |
TMobileCallCugV1() is valid in GSM/WCDMA mode only. The client application
|
|
6119 |
should set the CUG settings for the call depending on the user's choice. If
|
|
6120 |
the user has not explicitly requested a CUG call then this parameter should
|
|
6121 |
indicate that explicit CUG invoke is false. The TSY ignores this parameter
|
|
6122 |
if in CDMA mode.
|
|
6123 |
*/
|
|
6124 |
{
|
|
6125 |
public:
|
|
6126 |
IMPORT_C TMobileCallCugV1();
|
|
6127 |
public:
|
|
6128 |
/** A boolean indicating whether Closed User Group is being explicitly invoked by
|
|
6129 |
the client or not. If this parameter is false, the other entries in this structure
|
|
6130 |
will be ignored. */
|
|
6131 |
TBool iExplicitInvoke;
|
|
6132 |
/** The Closed User Group index that the user has specified for this call (if no
|
|
6133 |
index has been specified then this element will equal -1). */
|
|
6134 |
TInt iCugIndex;
|
|
6135 |
/** A boolean indicating whether the user has suppressed their Outgoing Access option
|
|
6136 |
or not. */
|
|
6137 |
TBool iSuppressOA;
|
|
6138 |
/** A boolean indicating whether the user has suppressed the use of their preferential
|
|
6139 |
Closed User Group or not. */
|
|
6140 |
TBool iSuppressPrefCug;
|
|
6141 |
};
|
|
6142 |
|
|
6143 |
/** Multicall Operation set-up.
|
|
6144 |
|
|
6145 |
Mode: WCDMA */
|
|
6146 |
enum TMobileCallMulticallBearerMode
|
|
6147 |
{
|
|
6148 |
/** Multicall is not supported. */
|
|
6149 |
EMulticallNotSupported,
|
|
6150 |
/** MS will accept incoming call and establish a connection using an existing bearer. */
|
|
6151 |
EMulticallShareBearer,
|
|
6152 |
/** MS will accept incoming call and establish a connection by creating a new bearer. */
|
|
6153 |
EMulticallNewBearer
|
|
6154 |
};
|
|
6155 |
|
|
6156 |
|
|
6157 |
|
|
6158 |
class TMobileCallParamsV1 : public RCall::TCallParams
|
|
6159 |
/** Defines the parameters used for set-up of a call of any type.
|
|
6160 |
*/
|
|
6161 |
{
|
|
6162 |
public:
|
|
6163 |
IMPORT_C TMobileCallParamsV1();
|
|
6164 |
public:
|
|
6165 |
/** Call Id restriction setting to be used for this call.
|
|
6166 |
|
|
6167 |
@see TMobileCallIdRestriction */
|
|
6168 |
TMobileCallIdRestriction iIdRestrict;
|
|
6169 |
/** Closed User Group setting to be used for this call.
|
|
6170 |
|
|
6171 |
@see TMobileCallCugV1 */
|
|
6172 |
TMobileCallCugV1 iCug;
|
|
6173 |
/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated
|
|
6174 |
redial (ETrue). */
|
|
6175 |
TBool iAutoRedial;
|
|
6176 |
};
|
|
6177 |
|
|
6178 |
/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API function
|
|
6179 |
member. */
|
|
6180 |
typedef TPckg<TMobileCallParamsV1> TMobileCallParamsV1Pckg;
|
|
6181 |
|
|
6182 |
|
|
6183 |
|
|
6184 |
class TMobileCallParamsV2 : public TMobileCallParamsV1
|
|
6185 |
/** Defines the parameters used for set-up of a call of any type
|
|
6186 |
for version v2.0 of the API.
|
|
6187 |
A new parameter (iBearerMode) is required to support Multicall.
|
|
6188 |
@publishedPartner
|
|
6189 |
@released
|
|
6190 |
*/
|
|
6191 |
{
|
|
6192 |
public:
|
|
6193 |
IMPORT_C TMobileCallParamsV2();
|
|
6194 |
public:
|
|
6195 |
/** The bearer mode. */
|
|
6196 |
TMobileCallMulticallBearerMode iBearerMode;
|
|
6197 |
};
|
|
6198 |
|
|
6199 |
/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API
|
|
6200 |
function member. */
|
|
6201 |
typedef TPckg<TMobileCallParamsV2> TMobileCallParamsV2Pckg;
|
|
6202 |
|
|
6203 |
/***********************************************************************************/
|
|
6204 |
//
|
|
6205 |
// Mobile Call Data Functional Unit
|
|
6206 |
//
|
|
6207 |
/***********************************************************************************/
|
|
6208 |
|
|
6209 |
/** In GSM mode, maps to list of supported speeds returned in response to AT+CBST=?.
|
|
6210 |
In CDMA mode, maps to data rates supported by supported service options.
|
|
6211 |
|
|
6212 |
@see TMobileCallDataCapsV1 */
|
|
6213 |
enum TMobileCallDataSpeedCaps
|
|
6214 |
{
|
|
6215 |
/** Call can support autobauding. */
|
|
6216 |
KCapsSpeedAutobauding = 0x00000001,
|
|
6217 |
/** Call can support a speed of 2400bps. */
|
|
6218 |
KCapsSpeed2400 = 0x00000002,
|
|
6219 |
/** Call can support a speed of 4800bps. */
|
|
6220 |
KCapsSpeed4800 = 0x00000004,
|
|
6221 |
/** Call can support a speed of 9600bps. */
|
|
6222 |
KCapsSpeed9600 = 0x00000008,
|
|
6223 |
/** Call can support a speed of 14400bps. */
|
|
6224 |
KCapsSpeed14400 = 0x00000010,
|
|
6225 |
/** Call can support a speed of 19200bps. */
|
|
6226 |
KCapsSpeed19200 = 0x00000020,
|
|
6227 |
/** Call can support a speed of 28800bps. */
|
|
6228 |
KCapsSpeed28800 = 0x00000040,
|
|
6229 |
/** Call can support a speed of 32000bps. */
|
|
6230 |
KCapsSpeed32000 = 0x00000080,
|
|
6231 |
/** Call can support a speed of 33600bps. */
|
|
6232 |
KCapsSpeed33600 = 0x00000100,
|
|
6233 |
/** Call can support a speed of 38400bps. */
|
|
6234 |
KCapsSpeed38400 = 0x00000200,
|
|
6235 |
/** Call can support a speed of 43200bps. */
|
|
6236 |
KCapsSpeed43200 = 0x00000400,
|
|
6237 |
/** Call can support a speed of 48000bps. */
|
|
6238 |
KCapsSpeed48000 = 0x00000800,
|
|
6239 |
/** Call can support a speed of 56000bps. */
|
|
6240 |
KCapsSpeed56000 = 0x00001000,
|
|
6241 |
/** Call can support a speed of 57600bps. */
|
|
6242 |
KCapsSpeed57600 = 0x00002000,
|
|
6243 |
/** Call can support a speed of 64000bps. */
|
|
6244 |
KCapsSpeed64000 = 0x00004000,
|
|
6245 |
/** Call can support extended data speed capabilities. This flag is reserved for
|
|
6246 |
future expansion of API and should always be set to zero. */
|
|
6247 |
KCapsSpeedExtended = 0x80000000
|
|
6248 |
};
|
|
6249 |
|
|
6250 |
/** List of supported values of the <speed> parameter returned in response to AT+CBST=?
|
|
6251 |
|
|
6252 |
Not applicable to CDMA mode
|
|
6253 |
|
|
6254 |
@see TMobileDataCallParamsV1 */
|
|
6255 |
enum TMobileCallDataProtocolCaps
|
|
6256 |
{
|
|
6257 |
/** Call can support V.22bis standard
|
|
6258 |
|
|
6259 |
Modes: COMMON */
|
|
6260 |
KCapsProtocolV22bis = 0x00000001,
|
|
6261 |
/** Call can support V.32 standard.
|
|
6262 |
|
|
6263 |
Modes: COMMON */
|
|
6264 |
KCapsProtocolV32 = 0x00000002,
|
|
6265 |
/** Call can support V.34 standard.
|
|
6266 |
|
|
6267 |
Modes: COMMON */
|
|
6268 |
KCapsProtocolV34 = 0x00000004,
|
|
6269 |
/** Call can support V.110 standard.
|
|
6270 |
|
|
6271 |
Modes: GSM/WCDMA */
|
|
6272 |
KCapsProtocolV110 = 0x00000008,
|
|
6273 |
/** Call can support V.120 standard.
|
|
6274 |
|
|
6275 |
Modes: GSM/WCDMA */
|
|
6276 |
KCapsProtocolV120 = 0x00000010,
|
|
6277 |
/** Call can support bit transparent service.
|
|
6278 |
|
|
6279 |
Modes: GSM/WCDMA */
|
|
6280 |
KCapsProtocolBitTransparent = 0x00000020,
|
|
6281 |
/** Call can support X31 flag stuffing standard.
|
|
6282 |
|
|
6283 |
Modes: GSM/WCDMA */
|
|
6284 |
KCapsProtocolX31FlagStuffing = 0x00000040,
|
|
6285 |
/** Call can support both PIAF standards (32000bps and 64000bps).
|
|
6286 |
|
|
6287 |
Modes: GSM/WCDMA */
|
|
6288 |
KCapsProtocolPIAFS = 0x00000080,
|
|
6289 |
/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
|
|
6290 |
with voice fallback.
|
|
6291 |
|
|
6292 |
Modes: WCDMA */
|
|
6293 |
KCapsPstnMultimediaVoiceFallback = 0x00000100,
|
|
6294 |
/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
|
|
6295 |
without voice fallback
|
|
6296 |
|
|
6297 |
Modes: WCDMA */
|
|
6298 |
KCapsPstnMultimedia = 0x00000200,
|
|
6299 |
/** Call can support request for Multimedia protocol (3G-324M) over a call to ISDN
|
|
6300 |
(voice fallback not possible).
|
|
6301 |
|
|
6302 |
Modes: WCDMA */
|
|
6303 |
KCapsIsdnMultimedia = 0x00000400,
|
|
6304 |
/** Call can support extended data carrier capabilities. This flag is reserved for
|
|
6305 |
future expansion and should always be set to zero for v1.0 of this API.
|
|
6306 |
|
|
6307 |
Modes: COMMON */
|
|
6308 |
KCapsProtocolExtended = 0x80000000
|
|
6309 |
};
|
|
6310 |
|
|
6311 |
/** In GSM mode, maps to list of supported <name> returned in response to AT+CBST=?
|
|
6312 |
In CDMA mode, maps to supported service options.
|
|
6313 |
|
|
6314 |
Modes: COMMON
|
|
6315 |
|
|
6316 |
@see TMobileCallDataCapsV1 */
|
|
6317 |
enum TMobileCallDataServiceCaps
|
|
6318 |
{
|
|
6319 |
KCapsDataCircuitAsynchronous = 0x00000001,
|
|
6320 |
KCapsDataCircuitAsynchronousRDI = 0x00000002,
|
|
6321 |
KCapsDataCircuitSynchronous = 0x00000004,
|
|
6322 |
KCapsDataCircuitSynchronousRDI = 0x00000008,
|
|
6323 |
/** Call can support "PAD Access (asynchronous) (UDI)".
|
|
6324 |
|
|
6325 |
Modes: GSM/WCDMA */
|
|
6326 |
KCapsPADAsyncUDI = 0x00000010,
|
|
6327 |
/** Call can support "PAD Access (asynchronous) (RDI)"
|
|
6328 |
|
|
6329 |
Modes: GSM/WCDMA */
|
|
6330 |
KCapsPADAsyncRDI = 0x00000020,
|
|
6331 |
/** Call can support "Packet Access (synchronous) (UDI)"
|
|
6332 |
|
|
6333 |
Modes: GSM/WCDMA */
|
|
6334 |
KCapsPacketAccessSyncUDI = 0x00000040,
|
|
6335 |
/** Call can support "Packet Access (synchronous) (RDI)".
|
|
6336 |
|
|
6337 |
Modes: GSM/WCDMA */
|
|
6338 |
KCapsPacketAccessSyncRDI = 0x00000080,
|
|
6339 |
/** Call can support extended data service capabilities. This flag is reserved for
|
|
6340 |
future expansion of this API and should always be set to zero for v1.0 of
|
|
6341 |
this API.
|
|
6342 |
|
|
6343 |
Modes: COMMON */
|
|
6344 |
KCapsServiceExtended = 0x80000000
|
|
6345 |
};
|
|
6346 |
|
|
6347 |
/** Maps to list of supported <ce> returned in response to AT+CBST=?
|
|
6348 |
|
|
6349 |
Not applicable to CDMA mode.
|
|
6350 |
|
|
6351 |
@see TMobileCallDataCapsV1 */
|
|
6352 |
enum TMobileCallDataQoSCaps
|
|
6353 |
{
|
|
6354 |
/** Call can support a request for "transparent only" connection. */
|
|
6355 |
KCapsTransparent = 0x00000001,
|
|
6356 |
/** Call can support a request for "non-transparent only" connection. */
|
|
6357 |
KCapsNonTransparent = 0x00000002,
|
|
6358 |
/** Call can support a request for "transparent preferred" connection. */
|
|
6359 |
KCapsTransparentPreferred = 0x00000004,
|
|
6360 |
/** Call can support a request for "non-transparent preferred" connection. */
|
|
6361 |
KCapsNonTransparentPreferred = 0x00000008
|
|
6362 |
};
|
|
6363 |
|
|
6364 |
/** Supported Air Interface User Rates. */
|
|
6365 |
enum TMobileCallAiurCodingCaps
|
|
6366 |
{
|
|
6367 |
/** Air interface user rate of 4.8k is supported. */
|
|
6368 |
KCapsAiurCoding48 = 0x01,
|
|
6369 |
/** Air interface user rate of 9.6k is supported. */
|
|
6370 |
KCapsAiurCoding96 = 0x04,
|
|
6371 |
/** Air interface user rate of 14.4k is supported. */
|
|
6372 |
KCapsAiurCoding144 = 0x08
|
|
6373 |
};
|
|
6374 |
|
|
6375 |
/** HSCSD coding capabilities.
|
|
6376 |
|
|
6377 |
Modes: GSM/WCDMA */
|
|
6378 |
enum TMobileCallTchCodingsCaps
|
|
6379 |
{
|
|
6380 |
/** Call supports HSCSD coding on 4.8K full rate data traffic channel. */
|
|
6381 |
KCapsTchCoding48 = 0x00000001,
|
|
6382 |
/** Call supports HSCSD coding on 9.6K full rate data traffic channel. */
|
|
6383 |
KCapsTchCoding96 = 0x00000004,
|
|
6384 |
/** Call supports HSCSD coding on 14.4K full rate data traffic channel. */
|
|
6385 |
KCapsTchCoding144 = 0x00000008,
|
|
6386 |
/** Call supports HSCSD coding on 28.8K full rate data traffic channel (only possible
|
|
6387 |
when 14.4K is supported). */
|
|
6388 |
KCapsTchCoding288 = 0x00000010,
|
|
6389 |
/** Call supports HSCSD coding on 32.0K full rate data traffic channel (only possible
|
|
6390 |
in a two-timeslot configuration). */
|
|
6391 |
KCapsTchCoding320 = 0x00000020,
|
|
6392 |
/** Call supports HSCSD coding on 43.2K full rate data traffic channel (only possible
|
|
6393 |
when 14.4K is supported). */
|
|
6394 |
KCapsTchCoding432 = 0x00000040
|
|
6395 |
};
|
|
6396 |
|
|
6397 |
/** The call asymmetry capabilities.
|
|
6398 |
|
|
6399 |
Modes: GSM/WCDMA
|
|
6400 |
|
|
6401 |
@see TMobileCallDataCapsV1 */
|
|
6402 |
enum TMobileCallAsymmetryCaps
|
|
6403 |
{
|
|
6404 |
/** Call supports "No Preference" option for asymmetry bias of a Non-Transparent
|
|
6405 |
ECSD call. */
|
|
6406 |
KCapsAsymmetryNoPreference= 0x00000001,
|
|
6407 |
/** Call supports "Downlink bias" option for asymmetry bias of a Non-Transparent
|
|
6408 |
ECSD call.
|
|
6409 |
|
|
6410 |
This means 8-PSK modulation is preferred downlink and GMSK modulation uplink. */
|
|
6411 |
KCapsAsymmetryDownlink = 0x00000002,
|
|
6412 |
/** Call supports "Uplink bias" option for asymmetry bias of a Non-Transparent ECSD
|
|
6413 |
call.
|
|
6414 |
|
|
6415 |
This means 8-PSK modulation is preferred uplink and GMSK modulation downlink. */
|
|
6416 |
KCapsAsymmetryUplink = 0x00000004
|
|
6417 |
};
|
|
6418 |
|
|
6419 |
/** The supported Call RLP versions.
|
|
6420 |
|
|
6421 |
Modes: GSM/WCDMA
|
|
6422 |
|
|
6423 |
@see TMobileCallDataCapsV1 */
|
|
6424 |
enum TMobileCallRLPVersionCaps
|
|
6425 |
{
|
|
6426 |
/** Call supports the single link, basic RLP version 0. */
|
|
6427 |
KCapsRLPSingleLinkVersion0 = 0x00000001,
|
|
6428 |
/** Call supports the single link, extended RLP version 1. */
|
|
6429 |
KCapsRLPSingleLinkVersion1 = 0x00000002,
|
|
6430 |
/** Call supports the multi link, RLP version 2. */
|
|
6431 |
KCapsRLPMultiLinkVersion2 = 0x00000004
|
|
6432 |
};
|
|
6433 |
|
|
6434 |
/** The supported V42bis options.
|
|
6435 |
|
|
6436 |
Modes: GSM/WCDMA
|
|
6437 |
|
|
6438 |
@see TMobileCallDataCapsV1 */
|
|
6439 |
enum TMobileCallV42bisCaps
|
|
6440 |
{
|
|
6441 |
/** Call supports V42bis compression in initiator-responder direction. */
|
|
6442 |
KCapsV42bisTxDirection = 0x00000001,
|
|
6443 |
/** Call supports V42bis compression in responder-initiator direction. */
|
|
6444 |
KCapsV42bisRxDirection = 0x00000002,
|
|
6445 |
/** Call supports V42bis compression in both directions. */
|
|
6446 |
KCapsV42bisBothDirections = 0x00000004
|
|
6447 |
};
|
|
6448 |
|
|
6449 |
|
|
6450 |
|
|
6451 |
class TMobileCallDataCapsV1 : public RMobilePhone::TMultimodeType
|
|
6452 |
/** Defines the capabilities of a circuit switched data call.
|
|
6453 |
@publishedPartner
|
|
6454 |
@released
|
|
6455 |
*/
|
|
6456 |
{
|
|
6457 |
public:
|
|
6458 |
IMPORT_C TMobileCallDataCapsV1();
|
|
6459 |
public:
|
|
6460 |
/** Data speed capabilities - a bit wise sum of the caps defined in TMobileCallDataSpeedCaps. */
|
|
6461 |
TUint32 iSpeedCaps;
|
|
6462 |
/** Data protocol capabilities - a bit wise sum of the caps defined in TMobileCallDataProtocolCaps. */
|
|
6463 |
TUint32 iProtocolCaps;
|
|
6464 |
/** Data service capabilities - a bit wise sum of the caps defined in TMobileCallDataServiceCaps. */
|
|
6465 |
TUint32 iServiceCaps;
|
|
6466 |
/** Data QoS capabilities - a bit wise sum of the caps defined in TMobileCallDataQoSCaps.
|
|
6467 |
|
|
6468 |
Note: Only available in GSM/WCDMA mode. */
|
|
6469 |
TUint32 iQoSCaps;
|
|
6470 |
/** A boolean indicating whether or not the MS supports HSCSD for this call. If
|
|
6471 |
this attribute equals EFalse all the following attributes are invalid.
|
|
6472 |
|
|
6473 |
Note: Only available in GSM/WCDMA mode. */
|
|
6474 |
TBool iHscsdSupport;
|
|
6475 |
/** For HSCSD: The multi-slot class supported. */
|
|
6476 |
TInt iMClass;
|
|
6477 |
/** For HSCSD: The maximum supported number of time-slots in the receive (down-link)
|
|
6478 |
direction. */
|
|
6479 |
TInt iMaxRxTimeSlots;
|
|
6480 |
/** For HSCSD: The maximum supported number of time-slots in the transmit (up-link)
|
|
6481 |
direction. */
|
|
6482 |
TInt iMaxTxTimeSlots;
|
|
6483 |
/** For HSCSD: The maximum supported total number of receive and transmit time-slots
|
|
6484 |
that can be used at same time. */
|
|
6485 |
TInt iTotalRxTxTimeSlots;
|
|
6486 |
/** For HSCSD: A bit-wise sum of the supported air interface channel codings defined
|
|
6487 |
in TMobileCallAiurCodingCaps. */
|
|
6488 |
TUint32 iCodingCaps;
|
|
6489 |
/** For HSCSD: A bit-wise sum of the supported asymmetry bias defined in TMobileCallAsymmetryCaps. */
|
|
6490 |
TUint32 iAsymmetryCaps;
|
|
6491 |
/** For HSCSD: A boolean indicating whether or not the MS supports automatic user
|
|
6492 |
initiated service level upgrading. */
|
|
6493 |
TBool iUserInitUpgrade;
|
|
6494 |
/** For HSCSD and CSD: A bit-wise sum of the supported Radio Link Protocol versions
|
|
6495 |
defined in TMobileCallRLPVersionCaps. */
|
|
6496 |
TUint32 iRLPVersionCaps;
|
|
6497 |
/** For HSCSD and CSD: A bit-wise sum of the supported V42bis compression capabilities
|
|
6498 |
defined in TMobileCallV42bisCaps . */
|
|
6499 |
TUint32 iV42bisCaps;
|
|
6500 |
};
|
|
6501 |
|
|
6502 |
/** A typedef'd packaged TMobileCallDataCapsV1 for passing through a generic API
|
|
6503 |
function member. */
|
|
6504 |
typedef TPckg<TMobileCallDataCapsV1> TMobileCallDataCapsV1Pckg;
|
|
6505 |
|
|
6506 |
IMPORT_C TInt GetMobileDataCallCaps(TDes8& aCaps) const;
|
|
6507 |
IMPORT_C void NotifyMobileDataCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
|
|
6508 |
|
|
6509 |
/** The call setup requested data speed.
|
|
6510 |
|
|
6511 |
@see TMobileDataCallParamsV1 */
|
|
6512 |
enum TMobileCallDataSpeed
|
|
6513 |
{
|
|
6514 |
/** Call set-up will request speed depending on data carrier chosen. */
|
|
6515 |
ESpeedUnspecified,
|
|
6516 |
/** Call set-up will request autobauding. */
|
|
6517 |
ESpeedAutobauding,
|
|
6518 |
/** Call set-up will request 2400bps. */
|
|
6519 |
ESpeed2400,
|
|
6520 |
/** Call set-up will request 4800bps. */
|
|
6521 |
ESpeed4800,
|
|
6522 |
/** Call set-up will request 9600bps. */
|
|
6523 |
ESpeed9600,
|
|
6524 |
/** Call set-up will request 14400bps. */
|
|
6525 |
ESpeed14400,
|
|
6526 |
/** Call set-up will request 19200bps. */
|
|
6527 |
ESpeed19200,
|
|
6528 |
/** Call set-up will request 28800bps. */
|
|
6529 |
ESpeed28800,
|
|
6530 |
/** Call set-up will request 32000bps. */
|
|
6531 |
ESpeed32000,
|
|
6532 |
/** Call set-up will request 33600bps. */
|
|
6533 |
ESpeed33600,
|
|
6534 |
/** Call set-up will request 38400bps. */
|
|
6535 |
ESpeed38400,
|
|
6536 |
/** Call set-up will request 43200bps. */
|
|
6537 |
ESpeed43200,
|
|
6538 |
/** Call set-up will request 48000bps. */
|
|
6539 |
ESpeed48000,
|
|
6540 |
/** Call set-up will request 56000bps. */
|
|
6541 |
ESpeed56000,
|
|
6542 |
/** Call set-up will request 57600bps. */
|
|
6543 |
ESpeed57600,
|
|
6544 |
/** Call set-up will request 64000bps. */
|
|
6545 |
ESpeed64000
|
|
6546 |
};
|
|
6547 |
|
|
6548 |
/** The call set-up requested data protocol.
|
|
6549 |
|
|
6550 |
Modes: GSM/WCDMA */
|
|
6551 |
enum TMobileCallDataProtocol
|
|
6552 |
{
|
|
6553 |
/** Call set-up will request carrier depending on data speed chosen. */
|
|
6554 |
EProtocolUnspecified,
|
|
6555 |
/** Call set-up will request the V.22bis standard. */
|
|
6556 |
EProtocolV22bis,
|
|
6557 |
/** Call set-up will request the V.32 standard. */
|
|
6558 |
EProtocolV32,
|
|
6559 |
/** Call set-up will request the V.34 standard. */
|
|
6560 |
EProtocolV34,
|
|
6561 |
/** Call set-up will request the V.110 standard. */
|
|
6562 |
EProtocolV110,
|
|
6563 |
/** Call set-up will request the V.120 standard. */
|
|
6564 |
EProtocolV120,
|
|
6565 |
/** Call set-up will request the X31FlagStuffing standard. */
|
|
6566 |
EProtocolX31FlagStuffing,
|
|
6567 |
/** Call set-up will request the PIAFS standard. */
|
|
6568 |
EProtocolPIAFS,
|
|
6569 |
/** Call set-up will request the bit transparent service. */
|
|
6570 |
EProtocolBitTransparent,
|
|
6571 |
/** Call set-up will request a PSTN multimedia call with voice fallback if multimedia
|
|
6572 |
fails.
|
|
6573 |
|
|
6574 |
WCDMA mode only. */
|
|
6575 |
EProtocolPstnMultimediaVoiceFallback,
|
|
6576 |
/** Call set-up will request a PSTN multimedia call.
|
|
6577 |
|
|
6578 |
WCDMA mode only. */
|
|
6579 |
EProtocolPstnMultimedia,
|
|
6580 |
/** Call set-up will request a ISDN multimedia call.
|
|
6581 |
|
|
6582 |
WCDMA mode only. */
|
|
6583 |
EProtocolIsdnMultimedia
|
|
6584 |
};
|
|
6585 |
|
|
6586 |
/** The call setup requested data services.
|
|
6587 |
|
|
6588 |
Modes: Common
|
|
6589 |
|
|
6590 |
@see TMobileDataCallParamsV1 */
|
|
6591 |
enum TMobileCallDataService
|
|
6592 |
{
|
|
6593 |
/** Call set-up will request its default service type.
|
|
6594 |
|
|
6595 |
Modes: Common */
|
|
6596 |
EServiceUnspecified,
|
|
6597 |
/** Call set-up will request:
|
|
6598 |
|
|
6599 |
GSM mode - Data circuit asynchronous (UDI or 3.1 KHz, ex PLMN) service
|
|
6600 |
|
|
6601 |
In CDMA mode - Async Data service
|
|
6602 |
|
|
6603 |
Modes: Common */
|
|
6604 |
EServiceDataCircuitAsync,
|
|
6605 |
/** Call set-up will request Data circuit asynchronous (RDI) service.
|
|
6606 |
|
|
6607 |
Modes: GSM/WCDMA */
|
|
6608 |
EServiceDataCircuitAsyncRdi,
|
|
6609 |
/** Call set-up will request Data circuit synchronous (UDI or 3.1 KHz, ex PLMN)
|
|
6610 |
service.
|
|
6611 |
|
|
6612 |
Modes: GSM/WCDMA */
|
|
6613 |
EServiceDataCircuitSync,
|
|
6614 |
/** Call set-up will request Data circuit synchronous (RDI) service.
|
|
6615 |
|
|
6616 |
Modes: GSM/WCDMA */
|
|
6617 |
EServiceDataCircuitSyncRdi,
|
|
6618 |
/** Call set-up will request PAD asynchronous (UDI) service.
|
|
6619 |
|
|
6620 |
Modes: GSM/WCDMA */
|
|
6621 |
EServicePADAsyncUDI,
|
|
6622 |
/** Call set-up will request PAD asynchronous (RDI) service.
|
|
6623 |
|
|
6624 |
Modes: GSM/WCDMA */
|
|
6625 |
EServicePADAsyncRDI,
|
|
6626 |
/** Call set-up will request Packet Access synchronous (UDI) service.
|
|
6627 |
|
|
6628 |
Modes: GSM/WCDMA */
|
|
6629 |
EServicePacketAccessSyncUDI,
|
|
6630 |
/** Call set-up will request Packet Access synchronous (RDI) service.
|
|
6631 |
|
|
6632 |
Modes: GSM/WCDMA */
|
|
6633 |
EServicePacketAccessSyncRDI
|
|
6634 |
};
|
|
6635 |
|
|
6636 |
/** The call set-up requested quality of service (QoS).
|
|
6637 |
|
|
6638 |
Modes: GSM/WCDMA
|
|
6639 |
|
|
6640 |
@see TMobileDataCallParamsV1 */
|
|
6641 |
enum TMobileCallDataQoS
|
|
6642 |
{
|
|
6643 |
/** Call set-up will request its default connection. */
|
|
6644 |
EQoSUnspecified,
|
|
6645 |
/** Call set-up will request a transparent connection. */
|
|
6646 |
EQoSTransparent,
|
|
6647 |
/** Call set-up will request a non-transparent connection. */
|
|
6648 |
EQoSNonTransparent,
|
|
6649 |
/** Call set-up will prefer a transparent connection. */
|
|
6650 |
EQosTransparentPreferred,
|
|
6651 |
/** Call set-up will prefer a non-transparent connection. */
|
|
6652 |
EQosNonTransparentPreferred
|
|
6653 |
};
|
|
6654 |
|
|
6655 |
/** The call set-up requested RLP version.
|
|
6656 |
|
|
6657 |
@see TMobileDataCallParamsV1 */
|
|
6658 |
enum TMobileCallDataRLPVersion
|
|
6659 |
{
|
|
6660 |
/** Call set-up will request no RLP version. */
|
|
6661 |
ERLPNotRequested,
|
|
6662 |
/** Call set-up will request single link basic RLP (version 0). */
|
|
6663 |
ERLPSingleLinkVersion0,
|
|
6664 |
/** Call set-up will request single link extended RLP (version 1). */
|
|
6665 |
ERLPSingleLinkVersion1,
|
|
6666 |
/** Call set-up will prefer multi link RLP (version 2). */
|
|
6667 |
ERLPMultiLinkVersion2
|
|
6668 |
};
|
|
6669 |
|
|
6670 |
/** The V.42bis parameters used in the call set-up of a V.42bis data call.
|
|
6671 |
|
|
6672 |
@see TMobileDataCallParamsV1 */
|
|
6673 |
enum TMobileCallDataV42bis
|
|
6674 |
{
|
|
6675 |
/** Call set-up will not request V.42bis compression. */
|
|
6676 |
EV42bisNeitherDirection,
|
|
6677 |
/** Call set-up will request V.42bis compression in initiator-responder direction
|
|
6678 |
only. */
|
|
6679 |
EV42bisTxDirection,
|
|
6680 |
/** Call set-up will request V.42bis compression in responder-initiator direction
|
|
6681 |
only. */
|
|
6682 |
EV42bisRxDirection,
|
|
6683 |
/** Call set-up will request V.42bis compression in both directions. */
|
|
6684 |
EV42bisBothDirections
|
|
6685 |
};
|
|
6686 |
|
|
6687 |
|
|
6688 |
|
|
6689 |
|
|
6690 |
class TMobileDataCallParamsV1 : public TMobileCallParamsV1
|
|
6691 |
/** Defines the parameters used for setup of a circuit switched data call.
|
|
6692 |
*/
|
|
6693 |
{
|
|
6694 |
public:
|
|
6695 |
IMPORT_C TMobileDataCallParamsV1();
|
|
6696 |
public:
|
|
6697 |
/** The type of data service.
|
|
6698 |
|
|
6699 |
@see TMobileCallDataService */
|
|
6700 |
TMobileCallDataService iService;
|
|
6701 |
/** The data transfer rate.
|
|
6702 |
|
|
6703 |
@see TMobileCallDataSpeed */
|
|
6704 |
TMobileCallDataSpeed iSpeed;
|
|
6705 |
/** The ITU-T standard modulation protocol or higher application protocol. */
|
|
6706 |
TMobileCallDataProtocol iProtocol;
|
|
6707 |
/** The quality of data service.
|
|
6708 |
|
|
6709 |
@see TMobileCallDataQoS */
|
|
6710 |
TMobileCallDataQoS iQoS;
|
|
6711 |
/** The version of Radio Link Protocol.
|
|
6712 |
|
|
6713 |
Modes: GSM/WCDMA
|
|
6714 |
|
|
6715 |
@see TMobileCallDataRLPVersion */
|
|
6716 |
TMobileCallDataRLPVersion iRLPVersion;
|
|
6717 |
/** The IWF to MS windows size.
|
|
6718 |
|
|
6719 |
Modes: GSM/WCDMA */
|
|
6720 |
TInt iModemToMSWindowSize;
|
|
6721 |
/** The MS window to IWF size.
|
|
6722 |
|
|
6723 |
Modes: GSM/WCDMA */
|
|
6724 |
TInt iMSToModemWindowSize;
|
|
6725 |
/** The acknowledgement timer.
|
|
6726 |
|
|
6727 |
Modes: GSM/WCDMA */
|
|
6728 |
TInt iAckTimer;
|
|
6729 |
/** The number of retransmission attempts.
|
|
6730 |
|
|
6731 |
Modes: GSM/WCDMA */
|
|
6732 |
TInt iRetransmissionAttempts;
|
|
6733 |
/** The resequencing period in integer format.
|
|
6734 |
|
|
6735 |
Modes: GSM/WCDMA */
|
|
6736 |
TInt iResequencingPeriod;
|
|
6737 |
/** The V42bis compression request parameter.
|
|
6738 |
|
|
6739 |
@see TMobileCallDataV42bis */
|
|
6740 |
TMobileCallDataV42bis iV42bisReq;
|
|
6741 |
/** The number of codewords in the algorithm. */
|
|
6742 |
TInt iV42bisCodewordsNum;
|
|
6743 |
/** The maximum encodable data string length. */
|
|
6744 |
TInt iV42bisMaxStringLength;
|
|
6745 |
TBool iUseEdge; // True for ECSD
|
|
6746 |
};
|
|
6747 |
|
|
6748 |
/** A typedef'd packaged TMobileDataCallParamsV1 for passing through a generic API
|
|
6749 |
function member. */
|
|
6750 |
typedef TPckg<TMobileDataCallParamsV1> TMobileDataCallParamsV1Pckg;
|
|
6751 |
|
|
6752 |
|
|
6753 |
|
|
6754 |
|
|
6755 |
class TMobileDataCallParamsV2 : public TMobileDataCallParamsV1
|
|
6756 |
/** Defines the parameters used for setup of a circuit switched data call for version
|
|
6757 |
v2.0 of the API.
|
|
6758 |
*/
|
|
6759 |
{
|
|
6760 |
public:
|
|
6761 |
IMPORT_C TMobileDataCallParamsV2();
|
|
6762 |
public:
|
|
6763 |
/** The bearer mode. */
|
|
6764 |
TMobileCallMulticallBearerMode iBearerMode;
|
|
6765 |
};
|
|
6766 |
|
|
6767 |
/** A typedef'd packaged TMobileDataCallParamsV2 for passing through a generic
|
|
6768 |
API function member. */
|
|
6769 |
typedef TPckg<TMobileDataCallParamsV2> TMobileDataCallParamsV2Pckg;
|
|
6770 |
|
|
6771 |
/** The Air interface user rate.
|
|
6772 |
|
|
6773 |
Modes: GSM/WCDMA. */
|
|
6774 |
enum TMobileCallAiur
|
|
6775 |
{
|
|
6776 |
/** Air interface user rate is not set. */
|
|
6777 |
EAiurBpsUnspecified,
|
|
6778 |
/** Air interface user rate of 9.6Kbps. */
|
|
6779 |
EAiurBps9600,
|
|
6780 |
/** Air interface user rate of 14.4Kbps. */
|
|
6781 |
EAiurBps14400,
|
|
6782 |
/** Air interface user rate of 19.2Kbps. */
|
|
6783 |
EAiurBps19200,
|
|
6784 |
/** Air interface user rate of 28.8Kbps. */
|
|
6785 |
EAiurBps28800,
|
|
6786 |
/** Air interface user rate of 38.4Kbps. */
|
|
6787 |
EAiurBps38400,
|
|
6788 |
/** Air interface user rate of 43.2Kbps. */
|
|
6789 |
EAiurBps43200,
|
|
6790 |
/** Air interface user rate of 57.6Kbps. */
|
|
6791 |
EAiurBps57600
|
|
6792 |
};
|
|
6793 |
|
|
6794 |
/** Call Asymmetry preferences.
|
|
6795 |
|
|
6796 |
Modes: GSM/WCDMA
|
|
6797 |
|
|
6798 |
@see TMobileHscsdCallParamsV1 */
|
|
6799 |
enum TMobileCallAsymmetry
|
|
6800 |
{
|
|
6801 |
/** There is no preference for Asymmetry Bias. */
|
|
6802 |
EAsymmetryNoPreference,
|
|
6803 |
/** Downlink Bias is preferred. */
|
|
6804 |
EAsymmetryDownlink,
|
|
6805 |
/** Uplink Bias is preferred. */
|
|
6806 |
EAsymmetryUplink
|
|
6807 |
};
|
|
6808 |
|
|
6809 |
/** The call channel coding used.
|
|
6810 |
|
|
6811 |
Modes: GSM/WCDMA */
|
|
6812 |
enum TMobileCallTchCoding
|
|
6813 |
{
|
|
6814 |
/** Channel coding is unspecified. */
|
|
6815 |
ETchCodingUnspecified,
|
|
6816 |
/** 4.8K full rate data traffic channel is used. */
|
|
6817 |
ETchCoding48,
|
|
6818 |
/** 9.6K full rate data traffic channel is used. */
|
|
6819 |
ETchCoding96,
|
|
6820 |
/** 14.4K full rate data traffic channel is used. */
|
|
6821 |
ETchCoding144,
|
|
6822 |
/** 28.8K full rate data traffic channel is used. */
|
|
6823 |
ETchCoding288,
|
|
6824 |
/** 32.0K full rate data traffic channel is used. */
|
|
6825 |
ETchCoding320,
|
|
6826 |
/** 43.2K full rate data traffic channel is used. */
|
|
6827 |
ETchCoding432
|
|
6828 |
};
|
|
6829 |
|
|
6830 |
|
|
6831 |
|
|
6832 |
class TMobileDataRLPRangesV1 : public RMobilePhone::TMultimodeType
|
|
6833 |
/** Defines the parameters for minimum and maximum RLP parameter ranges.
|
|
6834 |
|
|
6835 |
Modes: GSM/WCDMA
|
|
6836 |
|
|
6837 |
*/
|
|
6838 |
{
|
|
6839 |
public:
|
|
6840 |
IMPORT_C TMobileDataRLPRangesV1();
|
|
6841 |
public:
|
|
6842 |
/** Maximum modem to MS window size value. */
|
|
6843 |
TInt iIWSMax;
|
|
6844 |
/** Minimum modem to MS window size value. */
|
|
6845 |
TInt iIWSMin;
|
|
6846 |
/** Maximum MS to modem window size value. */
|
|
6847 |
TInt iMWSMax;
|
|
6848 |
/** Minimum MS to modem window size value. */
|
|
6849 |
TInt iMWSMin;
|
|
6850 |
/** Maximum acknowledgement timer value. */
|
|
6851 |
TInt iT1Max;
|
|
6852 |
/** Minimum acknowledgement timer value. */
|
|
6853 |
TInt iT1Min;
|
|
6854 |
/** Maximum retransmission attempts value. */
|
|
6855 |
TInt iN2Max;
|
|
6856 |
/** Minimum retransmission attempts value. */
|
|
6857 |
TInt iN2Min;
|
|
6858 |
/** Maximum resequencing period value. */
|
|
6859 |
TInt iT4Max;
|
|
6860 |
/** Minimum resequencing period value. */
|
|
6861 |
TInt iT4Min;
|
|
6862 |
};
|
|
6863 |
|
|
6864 |
/** A typedef'd packaged TMobileDataRLPRangesV1 for passing through a generic API
|
|
6865 |
function member. */
|
|
6866 |
typedef TPckg<TMobileDataRLPRangesV1> TMobileDataRLPRangesV1Pckg;
|
|
6867 |
|
|
6868 |
IMPORT_C void GetMobileDataCallRLPRange(TRequestStatus& aReqStatus, TInt aRLPVersion, TDes8& aRLPRange) const;
|
|
6869 |
|
|
6870 |
class TMobileHscsdCallParamsV1 : public TMobileDataCallParamsV1
|
|
6871 |
/** The High Speed Circuit Switched Data parameters.
|
|
6872 |
*/
|
|
6873 |
{
|
|
6874 |
public:
|
|
6875 |
IMPORT_C TMobileHscsdCallParamsV1();
|
|
6876 |
public:
|
|
6877 |
/** The wanted Air Interface Rate for the HSCSD call being set-up.
|
|
6878 |
|
|
6879 |
Modes: GSM/WCDMA
|
|
6880 |
|
|
6881 |
@see TMobileCallAiur */
|
|
6882 |
TMobileCallAiur iWantedAiur;
|
|
6883 |
/** The wanted number of receive timeslots for the HSCSD call being set-up.
|
|
6884 |
|
|
6885 |
Modes: GSM/WCDMA */
|
|
6886 |
TInt iWantedRxTimeSlots;
|
|
6887 |
TInt iMaxTimeSlots;
|
|
6888 |
/** Bit-wise sum of acceptable air interface channel codings TMobileCallAiurCodingCaps
|
|
6889 |
for the HSCSD call being set-up.
|
|
6890 |
|
|
6891 |
Modes: GSM/WCDMA */
|
|
6892 |
TUint iCodings;
|
|
6893 |
/** The wanted asymmetry bias for the HSCSD call being set-up.
|
|
6894 |
|
|
6895 |
Modes: GSM/WCDMA
|
|
6896 |
|
|
6897 |
@see TMobileCallAsymmetry */
|
|
6898 |
TMobileCallAsymmetry iAsymmetry;
|
|
6899 |
/** A boolean indicating whether or not automatic user initiated service level upgrading
|
|
6900 |
is active for the HSCSD call being set-up. ETrue means enabled, EFalse means
|
|
6901 |
disabled.
|
|
6902 |
|
|
6903 |
Modes: GSM/WCDMA */
|
|
6904 |
TBool iUserInitUpgrade;
|
|
6905 |
};
|
|
6906 |
|
|
6907 |
/** A typedef'd packaged TMobileHscsdCallParamsV1 for passing through a generic
|
|
6908 |
API function member. */
|
|
6909 |
typedef TPckg<TMobileHscsdCallParamsV1> TMobileHscsdCallParamsV1Pckg;
|
|
6910 |
|
|
6911 |
class TMobileHscsdCallParamsV2 : public TMobileHscsdCallParamsV1
|
|
6912 |
/** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v2.0
|
|
6913 |
of the API.
|
|
6914 |
|
|
6915 |
*/
|
|
6916 |
{
|
|
6917 |
public:
|
|
6918 |
IMPORT_C TMobileHscsdCallParamsV2();
|
|
6919 |
public:
|
|
6920 |
/** The bearer mode. */
|
|
6921 |
TMobileCallMulticallBearerMode iBearerMode;
|
|
6922 |
};
|
|
6923 |
|
|
6924 |
/** A typedef'd packaged TMobileHscsdCallParamsV2 for passing through a generic
|
|
6925 |
API function member. */
|
|
6926 |
typedef TPckg<TMobileHscsdCallParamsV2> TMobileHscsdCallParamsV2Pckg;
|
|
6927 |
|
|
6928 |
IMPORT_C void SetDynamicHscsdParams(TRequestStatus& aReqStatus, TMobileCallAiur aAiur, TInt aRxTimeslots) const;
|
|
6929 |
|
|
6930 |
class TMobileCallHscsdInfoV1 : public RMobilePhone::TMultimodeType
|
|
6931 |
/** The HSCSD settings.
|
|
6932 |
|
|
6933 |
Modes: GSM/WCDMA
|
|
6934 |
|
|
6935 |
*/
|
|
6936 |
{
|
|
6937 |
public:
|
|
6938 |
IMPORT_C TMobileCallHscsdInfoV1();
|
|
6939 |
public:
|
|
6940 |
/** Current AIUR for the HSCSD call.
|
|
6941 |
|
|
6942 |
@see TMobileCallAiur */
|
|
6943 |
TMobileCallAiur iAiur;
|
|
6944 |
/** Current number of receive timeslots for the HSCSD call. */
|
|
6945 |
TInt iRxTimeSlots;
|
|
6946 |
/** Current number of transmit time slots for the HSCSD call. */
|
|
6947 |
TInt iTxTimeSlots;
|
|
6948 |
/** Current channel coding for the HSCSD call. */
|
|
6949 |
TMobileCallTchCoding iCodings;
|
|
6950 |
};
|
|
6951 |
|
|
6952 |
/** A typedef'd packaged TMobileCallHscsdInfoV1 for passing through a generic API
|
|
6953 |
function member. */
|
|
6954 |
typedef TPckg<TMobileCallHscsdInfoV1> TMobileCallHscsdInfoV1Pckg;
|
|
6955 |
|
|
6956 |
IMPORT_C TInt GetCurrentHscsdInfo(TDes8& aHSCSDInfo) const;
|
|
6957 |
IMPORT_C void NotifyHscsdInfoChange(TRequestStatus& aReqStatus, TDes8& aHSCSDInfo) const;
|
|
6958 |
|
|
6959 |
/***********************************************************************************/
|
|
6960 |
//
|
|
6961 |
// Multimedia Calls
|
|
6962 |
//
|
|
6963 |
/***********************************************************************************/
|
|
6964 |
|
|
6965 |
IMPORT_C void AnswerMultimediaCallAsVoice(TRequestStatus& aReqStatus, const TDesC8& aCallParams, TName& aCallName) const;
|
|
6966 |
IMPORT_C void NotifyVoiceFallback(TRequestStatus& aReqStatus, TName& aCallName) const;
|
|
6967 |
|
|
6968 |
//
|
|
6969 |
// Mobile Alternating Call Functional Unit
|
|
6970 |
//
|
|
6971 |
|
|
6972 |
IMPORT_C void SwitchAlternatingCall(TRequestStatus& aReqStatus) const;
|
|
6973 |
IMPORT_C void NotifyAlternatingCallSwitch(TRequestStatus& aReqStatus) const;
|
|
6974 |
|
|
6975 |
/***********************************************************************************/
|
|
6976 |
//
|
|
6977 |
// MobileCallControl functional unit
|
|
6978 |
//
|
|
6979 |
/***********************************************************************************/
|
|
6980 |
|
|
6981 |
/** Mobile call control capabilites.
|
|
6982 |
|
|
6983 |
Modes: Common */
|
|
6984 |
enum TMobileCallControlCaps
|
|
6985 |
{
|
|
6986 |
//KCapsData=0x00000001, // taken from etel.h
|
|
6987 |
//KCapsFax=0x00000002,
|
|
6988 |
//KCapsVoice=0x00000004,
|
|
6989 |
//KCapsDial=0x00000008,
|
|
6990 |
//KCapsConnect=0x00000010,
|
|
6991 |
//KCapsHangUp=0x00000020,
|
|
6992 |
//KCapsAnswer=0x00000040,
|
|
6993 |
//KCapsLoanDataPort=0x00000080,
|
|
6994 |
//KCapsRecoverDataPort=0x00000100
|
|
6995 |
/** Indicates that this call can be put on hold. This implies that the call is currently
|
|
6996 |
active and that there is no other held call. */
|
|
6997 |
KCapsHold = 0x00000200,
|
|
6998 |
/** Indicates that this call can be resumed. This implies that the call is currently
|
|
6999 |
on hold and that there is no other active call.
|
|
7000 |
|
|
7001 |
Modes: Common */
|
|
7002 |
KCapsResume = 0x00000400,
|
|
7003 |
/** Indicates that this call's state can be swapped to the opposite state. This
|
|
7004 |
implies that this call is either active or held. There may be another call
|
|
7005 |
in the opposite state and if this is the case then both calls will be simultaneously
|
|
7006 |
swapped to their opposite state.
|
|
7007 |
|
|
7008 |
Modes: Common */
|
|
7009 |
KCapsSwap = 0x00000800,
|
|
7010 |
/** Indicates that this incoming call can be deflected to another destination.
|
|
7011 |
|
|
7012 |
Modes: GSM/WCDMA */
|
|
7013 |
KCapsDeflect = 0x00001000,
|
|
7014 |
/** Indicates that this call can be transferred to the remote party of another call.
|
|
7015 |
For this capability to be set there must be one active call and one held or
|
|
7016 |
dialing call.
|
|
7017 |
|
|
7018 |
Modes: GSM/WCDMA */
|
|
7019 |
KCapsTransfer = 0x00002000,
|
|
7020 |
/** Indicates that this call can be joined either to another single call to form
|
|
7021 |
a conference call or to an existing conference call.
|
|
7022 |
|
|
7023 |
Modes: Common */
|
|
7024 |
KCapsJoin = 0x00004000,
|
|
7025 |
/** Indicates that this call (within a conference call) can go into One to One mode.
|
|
7026 |
This action would put the rest of the conference call on hold.
|
|
7027 |
|
|
7028 |
Modes: GSM/WCDMA */
|
|
7029 |
KCapsOneToOne = 0x00008000,
|
|
7030 |
/** Indicates that the user can activate a CCBS request on this failed call set-up.
|
|
7031 |
|
|
7032 |
Modes: GSM/WCDMA */
|
|
7033 |
KCapsActivateCCBS = 0x00010000,
|
|
7034 |
/** Indicates that this call is part of an alternating call and the client can call
|
|
7035 |
SwitchAlternatingCall() on this call in order to switch it to its other mode.
|
|
7036 |
|
|
7037 |
Modes: GSM/WCDMA */
|
|
7038 |
KCapsSwitchAlternatingCall = 0x00020000,
|
|
7039 |
/** Indicates that this call can use/create a new bearer. This means that multiple
|
|
7040 |
calls (multicall) can be active at the same time using no more that 7 bearers
|
|
7041 |
simultaneously. The other option is to swap with an active call, therefore
|
|
7042 |
it becomes held and shares the same bearer.
|
|
7043 |
|
|
7044 |
Modes: WCDMA */
|
|
7045 |
KCapsMulticall = 0x00040000
|
|
7046 |
};
|
|
7047 |
|
|
7048 |
|
|
7049 |
/** Mobile call events capabilities.
|
|
7050 |
|
|
7051 |
Modes: Common */
|
|
7052 |
enum TMobileCallEventCaps
|
|
7053 |
{
|
|
7054 |
/** Indicates that local hold notifications are supported.
|
|
7055 |
|
|
7056 |
Modes: Common */
|
|
7057 |
KCapsLocalHold = 0x00000001,
|
|
7058 |
/** Indicates that local resume notifications are supported.
|
|
7059 |
|
|
7060 |
Modes: Common */
|
|
7061 |
KCapsLocalResume = 0x00000002,
|
|
7062 |
/** Indicates that local deflect transfer notifications are supported.
|
|
7063 |
|
|
7064 |
Modes: GSM/WCDMA */
|
|
7065 |
KCapsLocalDeflectCall = 0x00000004,
|
|
7066 |
/** Indicates that local explicit transfer notifications are supported.
|
|
7067 |
|
|
7068 |
Modes: GSM/WCDMA */
|
|
7069 |
KCapsLocalTransfer = 0x00000008,
|
|
7070 |
/** Indicates that remote hold notifications are supported.
|
|
7071 |
|
|
7072 |
Modes: GSM/WCDMA */
|
|
7073 |
KCapsRemoteHold = 0x00000010,
|
|
7074 |
/** Indicates that remote resume notifications are supported.
|
|
7075 |
|
|
7076 |
Modes: GSM/WCDMA */
|
|
7077 |
KCapsRemoteResume = 0x00000020,
|
|
7078 |
/** Indicates that remote termination notifications are supported.
|
|
7079 |
|
|
7080 |
Modes: Common */
|
|
7081 |
KCapsRemoteTerminate = 0x00000040,
|
|
7082 |
/** Indicates that remote conference invocation notifications are supported.
|
|
7083 |
|
|
7084 |
Modes: GSM/WCDMA */
|
|
7085 |
KCapsRemoteConferenceCreate = 0x00000080
|
|
7086 |
};
|
|
7087 |
|
|
7088 |
|
|
7089 |
|
|
7090 |
class TMobileCallCapsV1 : public RMobilePhone::TMultimodeType
|
|
7091 |
/** Defines the dynamic capabilities of a mobile call.
|
|
7092 |
*/
|
|
7093 |
{
|
|
7094 |
public:
|
|
7095 |
IMPORT_C TMobileCallCapsV1();
|
|
7096 |
public:
|
|
7097 |
/** Call control capability information - a bit wise sum of TMobileCallControlCaps
|
|
7098 |
constants */
|
|
7099 |
TUint32 iCallControlCaps;
|
|
7100 |
/** Call event capability information - a bit wise sum of TMobileCallEventCaps constants. */
|
|
7101 |
TUint32 iCallEventCaps;
|
|
7102 |
};
|
|
7103 |
|
|
7104 |
/** A typedef'd packaged TMobileCallCapsV1 for passing through a generic API function
|
|
7105 |
member. */
|
|
7106 |
typedef TPckg<TMobileCallCapsV1> TMobileCallCapsV1Pckg;
|
|
7107 |
|
|
7108 |
IMPORT_C TInt GetMobileCallCaps(TDes8& aCaps) const;
|
|
7109 |
IMPORT_C void NotifyMobileCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
|
|
7110 |
|
|
7111 |
IMPORT_C void Hold(TRequestStatus& aReqStatus) const;
|
|
7112 |
IMPORT_C void Resume(TRequestStatus& aReqStatus) const;
|
|
7113 |
IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
|
|
7114 |
IMPORT_C void DialISV(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);
|
|
7115 |
IMPORT_C void AnswerIncomingCallISV(TRequestStatus& aStatus,const TDesC8& aCallParams);
|
|
7116 |
|
|
7117 |
/** The type of call deflection requested.
|
|
7118 |
|
|
7119 |
@see Deflect() */
|
|
7120 |
enum TMobileCallDeflect
|
|
7121 |
{
|
|
7122 |
/** Destination is not specified. */
|
|
7123 |
EDeflectUnspecified,
|
|
7124 |
/** Call will be deflected to voicemail. */
|
|
7125 |
EDeflectVoicemail,
|
|
7126 |
/** Call will be deflected to the pre-registered number for the call forwarding
|
|
7127 |
service. */
|
|
7128 |
EDeflectRegisteredNumber,
|
|
7129 |
/** Call will be deflected to the number supplied in the aDestination parameter. */
|
|
7130 |
EDeflectSuppliedNumber
|
|
7131 |
};
|
|
7132 |
|
|
7133 |
IMPORT_C void Deflect(TRequestStatus& aReqStatus, TMobileCallDeflect aDeflectType, const RMobilePhone::TMobileAddress& aDestination) const;
|
|
7134 |
IMPORT_C void Transfer(TRequestStatus& aReqStatus) const;
|
|
7135 |
IMPORT_C void GoOneToOne(TRequestStatus& aReqStatus) const;
|
|
7136 |
|
|
7137 |
/** The mobile call events.
|
|
7138 |
|
|
7139 |
Modes: Common */
|
|
7140 |
enum TMobileCallEvent
|
|
7141 |
{
|
|
7142 |
/** The call has been placed on hold as a result of a local action.
|
|
7143 |
|
|
7144 |
Modes: Common */
|
|
7145 |
ELocalHold,
|
|
7146 |
/** The call has been resumed as a result of a local action.
|
|
7147 |
|
|
7148 |
Modes: Common */
|
|
7149 |
ELocalResume,
|
|
7150 |
/** The call has been deflected to another remote party as a result of a local action.
|
|
7151 |
|
|
7152 |
|
|
7153 |
Modes: GSM/WCDMA */
|
|
7154 |
ELocalDeflectCall,
|
|
7155 |
/** The call has been transferred to another remote party as a result of a local
|
|
7156 |
action.
|
|
7157 |
|
|
7158 |
Modes: Common */
|
|
7159 |
ELocalTransfer,
|
|
7160 |
/** The call has been placed on hold by the remote connected party.
|
|
7161 |
|
|
7162 |
Modes: GSM/WCDMA */
|
|
7163 |
ERemoteHold,
|
|
7164 |
/** The call has been resumed by the remote connected party.
|
|
7165 |
|
|
7166 |
Modes: GSM/WCDMA */
|
|
7167 |
ERemoteResume,
|
|
7168 |
/** The call has been terminated by the remote party.
|
|
7169 |
|
|
7170 |
Modes: Common */
|
|
7171 |
ERemoteTerminated,
|
|
7172 |
/** The call has been joined by the remote connected party to other call(s) to create/add
|
|
7173 |
to a conference call.
|
|
7174 |
|
|
7175 |
Modes: GSM/WCDMA */
|
|
7176 |
ERemoteConferenceCreate,
|
|
7177 |
ERemoteTransferring,
|
|
7178 |
ERemoteTransferAlerting,
|
|
7179 |
/** The outgoing call has been barred by the remote party.
|
|
7180 |
|
|
7181 |
Modes: GSM/WCDMA */
|
|
7182 |
ERemoteBarred,
|
|
7183 |
/** The call is being forwarded by the remote party.
|
|
7184 |
|
|
7185 |
Modes: GSM/WCDMA */
|
|
7186 |
ERemoteForwarding,
|
|
7187 |
/** The call is waiting at the remote end.
|
|
7188 |
|
|
7189 |
Modes: GSM/WCDMA */
|
|
7190 |
ERemoteWaiting,
|
|
7191 |
/** The outgoing call has been barred by the local party.
|
|
7192 |
|
|
7193 |
Modes: GSM/WCDMA */
|
|
7194 |
ELocalBarred
|
|
7195 |
};
|
|
7196 |
|
|
7197 |
IMPORT_C void NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) const;
|
|
7198 |
|
|
7199 |
/** Describes the possible call states. */
|
|
7200 |
enum TMobileCallStatus
|
|
7201 |
{
|
|
7202 |
/** Indicates that the call status is unknown. */
|
|
7203 |
EStatusUnknown, // same as RCall::EStatusUnknown
|
|
7204 |
/** Indicates that the call is idle. */
|
|
7205 |
EStatusIdle, // same as RCall::EStatusIdle
|
|
7206 |
EStatusDialling, // same as RCall::EStatusDialling
|
|
7207 |
/** Indicates that the MT call is ringing but not answered yet by the local user. */
|
|
7208 |
EStatusRinging, // same as RCall::EStatusRinging
|
|
7209 |
/** Indicates that the local user has answered the MT call but the network has not
|
|
7210 |
acknowledged the call connection yet. */
|
|
7211 |
EStatusAnswering, // same as RCall::EStatusAnswering
|
|
7212 |
/** MO Call: the network notifies to the MS that the remote party is now ringing. */
|
|
7213 |
EStatusConnecting, // same as RCall::EStatusConnecting
|
|
7214 |
/** Indicates that call is connected and active. */
|
|
7215 |
EStatusConnected, // same as RCall::EStatusConnected
|
|
7216 |
/** Indicates that call is disconnecting. */
|
|
7217 |
EStatusDisconnecting, // same as RCall::EStatusHangingUp
|
|
7218 |
/** Indicates that the call is disconnecting with inband data (to enable the network
|
|
7219 |
to send an audio tone), signifying that the call is not to be released until
|
|
7220 |
the user terminates the call. */
|
|
7221 |
EStatusDisconnectingWithInband,
|
|
7222 |
/** Indicates that call is undergoing temporary channel loss and it may or may not
|
|
7223 |
be reconnected. */
|
|
7224 |
EStatusReconnectPending,
|
|
7225 |
/** Indicates that the call is connected but on hold. */
|
|
7226 |
EStatusHold,
|
|
7227 |
/** Indicates that the call is the non-active half of an alternating call. This
|
|
7228 |
call is waiting for its active half or the remote end to switch alternating
|
|
7229 |
call mode. */
|
|
7230 |
EStatusWaitingAlternatingCallSwitch,
|
|
7231 |
EStatusTransferring,
|
|
7232 |
EStatusTransferAlerting
|
|
7233 |
};
|
|
7234 |
|
|
7235 |
IMPORT_C TInt GetMobileCallStatus(TMobileCallStatus& aStatus) const;
|
|
7236 |
IMPORT_C void NotifyMobileCallStatusChange(TRequestStatus& aReqStatus, TMobileCallStatus& aStatus) const;
|
|
7237 |
|
|
7238 |
IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC& aTelNumber) const;
|
|
7239 |
IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC8& aCallParams,const TDesC& aTelNumber) const;
|
|
7240 |
|
|
7241 |
/**
|
|
7242 |
Contains audio tone events.
|
|
7243 |
*/
|
|
7244 |
enum TMobileCallAudioToneEvent
|
|
7245 |
{
|
|
7246 |
/**
|
|
7247 |
Stop audio tone.
|
|
7248 |
*/
|
|
7249 |
EAudioStop,
|
|
7250 |
/**
|
|
7251 |
Start audio tone.
|
|
7252 |
*/
|
|
7253 |
EAudioStart
|
|
7254 |
};
|
|
7255 |
|
|
7256 |
/**
|
|
7257 |
List of 3GPP defined supervisory audio tones taken from technical specification 3GPP TS 22.001 v4.0.0 Annex F.
|
|
7258 |
|
|
7259 |
This enumeration is based on the signal information element specified in Table 10.5.130/3GPP TS 24.008 v5.15.0
|
|
7260 |
*/
|
|
7261 |
enum TMobileCallAudioTones
|
|
7262 |
{
|
|
7263 |
/**
|
|
7264 |
No tone. Not defined in specification used for initialisation of
|
|
7265 |
iTone class member variable during TAudioToneV3 construction.
|
|
7266 |
*/
|
|
7267 |
ENoTone,
|
|
7268 |
/**
|
|
7269 |
Dial tone.
|
|
7270 |
*/
|
|
7271 |
EDialTone,
|
|
7272 |
/**
|
|
7273 |
Subscriber busy tone.
|
|
7274 |
*/
|
|
7275 |
ESubscriberBusyTone,
|
|
7276 |
/**
|
|
7277 |
Congestion tone.
|
|
7278 |
*/
|
|
7279 |
ECongestionTone,
|
|
7280 |
/**
|
|
7281 |
Radio path acknowledgement tone.
|
|
7282 |
*/
|
|
7283 |
ERadioPathAcknowledgement,
|
|
7284 |
/**
|
|
7285 |
Radio path not available tone.
|
|
7286 |
*/
|
|
7287 |
ERadioPathNotAvailable,
|
|
7288 |
/**
|
|
7289 |
Call dropped (Mobile Originated only).
|
|
7290 |
*/
|
|
7291 |
EMOCallDropped,
|
|
7292 |
/**
|
|
7293 |
Error special information.
|
|
7294 |
*/
|
|
7295 |
EErrorSpecialInformation,
|
|
7296 |
/**
|
|
7297 |
Number unobtainable.
|
|
7298 |
*/
|
|
7299 |
ENumberUnobtainable,
|
|
7300 |
/**
|
|
7301 |
Authentication failure.
|
|
7302 |
*/
|
|
7303 |
EAuthenticationFailure,
|
|
7304 |
/**
|
|
7305 |
Call waiting.
|
|
7306 |
*/
|
|
7307 |
ECallWaiting,
|
|
7308 |
/**
|
|
7309 |
Ringback tone.
|
|
7310 |
*/
|
|
7311 |
ERingback
|
|
7312 |
};
|
|
7313 |
|
|
7314 |
class TAudioToneV3 : public RMobilePhone::TMultimodeType
|
|
7315 |
/**
|
|
7316 |
Audio tone version 1 class. Contains information relating to the call control playing of audio tones.
|
|
7317 |
Tones maybe generated by the network (in-band) or signalled to be played locally by the ME.
|
|
7318 |
@publishedPartner
|
|
7319 |
@released
|
|
7320 |
*/
|
|
7321 |
{
|
|
7322 |
public:
|
|
7323 |
IMPORT_C TAudioToneV3();
|
|
7324 |
|
|
7325 |
public:
|
|
7326 |
/**
|
|
7327 |
Indicates whether the tone is starting or stopping playing.
|
|
7328 |
*/
|
|
7329 |
TMobileCallAudioToneEvent iEvent;
|
|
7330 |
/**
|
|
7331 |
Indicates which tone is to be played.
|
|
7332 |
*/
|
|
7333 |
TMobileCallAudioTones iTone;
|
|
7334 |
/**
|
|
7335 |
Indicates whether the tone is played by the network or is to be played locally by the ME.
|
|
7336 |
*/
|
|
7337 |
TBool iPlayedLocally;
|
|
7338 |
};
|
|
7339 |
|
|
7340 |
/**
|
|
7341 |
Packaging typedef for TAudioToneV3 class.
|
|
7342 |
*/
|
|
7343 |
typedef TPckg<TAudioToneV3> TAudioToneV3Pckg;
|
|
7344 |
|
|
7345 |
IMPORT_C void NotifyAudioToneEvent(TRequestStatus& aReqStatus, TDes8& aToneInfo) const;
|
|
7346 |
|
|
7347 |
/***********************************************************************************/
|
|
7348 |
//
|
|
7349 |
// MobilePrivacy functional unit
|
|
7350 |
//
|
|
7351 |
/***********************************************************************************/
|
|
7352 |
|
|
7353 |
IMPORT_C TInt SetPrivacy(RMobilePhone::TMobilePhonePrivacy aPrivacySetting) const;
|
|
7354 |
IMPORT_C void NotifyPrivacyConfirmation(TRequestStatus& aReqStatus, RMobilePhone::TMobilePhonePrivacy& aPrivacySetting) const;
|
|
7355 |
|
|
7356 |
/***********************************************************************************/
|
|
7357 |
//
|
|
7358 |
// MobileTrafficChannel function unit
|
|
7359 |
//
|
|
7360 |
/***********************************************************************************/
|
|
7361 |
|
|
7362 |
/** Call traffic channels.
|
|
7363 |
|
|
7364 |
Modes: CDMA */
|
|
7365 |
enum TMobileCallTch
|
|
7366 |
{
|
|
7367 |
/** The traffic channel of the call is unknown. */
|
|
7368 |
ETchUnknown,
|
|
7369 |
/** The call has a digital traffic channel */
|
|
7370 |
ETchDigital,
|
|
7371 |
/** The call has an analog traffic channel */
|
|
7372 |
ETchAnalog
|
|
7373 |
};
|
|
7374 |
|
|
7375 |
IMPORT_C TInt SetTrafficChannel(TMobileCallTch aTchRequest) const;
|
|
7376 |
IMPORT_C void NotifyTrafficChannelConfirmation(TRequestStatus& aReqStatus, TMobileCallTch& aTchType) const;
|
|
7377 |
|
|
7378 |
/***********************************************************************************/
|
|
7379 |
//
|
|
7380 |
// MobileCallInformation functional unit
|
|
7381 |
//
|
|
7382 |
/***********************************************************************************/
|
|
7383 |
|
|
7384 |
/**
|
|
7385 |
Remote party Identity status.
|
|
7386 |
|
|
7387 |
Modes: Common
|
|
7388 |
|
|
7389 |
@see TMobileCallRemotePartyInfoV1
|
|
7390 |
*/
|
|
7391 |
enum TMobileCallRemoteIdentityStatus
|
|
7392 |
{
|
|
7393 |
/**
|
|
7394 |
The remote party's identity can not be determined. Calling
|
|
7395 |
party's Binary Coded Decimal (BCD) number is not available.
|
|
7396 |
Cause of No CLI is "unavailable".
|
|
7397 |
*/
|
|
7398 |
ERemoteIdentityUnknown,
|
|
7399 |
|
|
7400 |
/**
|
|
7401 |
The remote party's identity, or BCD number, is available.
|
|
7402 |
However, cause of No CLI has not been set.
|
|
7403 |
*/
|
|
7404 |
ERemoteIdentityAvailable,
|
|
7405 |
|
|
7406 |
/**
|
|
7407 |
The remote party has suppressed the transmission of its
|
|
7408 |
identity; i.e. their BCD number is not available. Cause of No
|
|
7409 |
CLI is "reject by user".
|
|
7410 |
*/
|
|
7411 |
ERemoteIdentitySuppressed,
|
|
7412 |
/**
|
|
7413 |
The remote party's identity, or BCD number, is available. The
|
|
7414 |
cause of No CLI is "reject by user".
|
|
7415 |
|
|
7416 |
To be used where the network has specified that displaying of
|
|
7417 |
CLI information of the remote party has been rejected by the
|
|
7418 |
caller but the TMobileCallRemotePartyInfoV1::iRemoteNumber
|
|
7419 |
parameter has been populated with some other string which may
|
|
7420 |
be of use to the client.
|
|
7421 |
*/
|
|
7422 |
ERemoteIdentityAvailableNoCliRejectedByUser,
|
|
7423 |
|
|
7424 |
/**
|
|
7425 |
The remote party's identity is available; a BCD number is
|
|
7426 |
available. The cause of No CLI is "Interaction with other
|
|
7427 |
service".
|
|
7428 |
|
|
7429 |
To be used where the network has specified that CLI information
|
|
7430 |
of the remote party is not available due to ineraction with
|
|
7431 |
another service. However, the
|
|
7432 |
TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
|
|
7433 |
populated with some other string which may be of use to the
|
|
7434 |
client.
|
|
7435 |
*/
|
|
7436 |
ERemoteIdentityAvailableNoCliInteractionWithOtherService,
|
|
7437 |
/**
|
|
7438 |
The remote party's identity, or BCD number, is unavailable.
|
|
7439 |
Cause of No CLI is "interaction with other service".
|
|
7440 |
*/
|
|
7441 |
ERemoteIdentityUnavailableNoCliInteractionWithOtherService,
|
|
7442 |
|
|
7443 |
/**
|
|
7444 |
The remote party's identity, or BCD number, is available.
|
|
7445 |
Cause of No CLI is "Coin Line/ Payphone".
|
|
7446 |
|
|
7447 |
To be used where the network has specified that CLI information
|
|
7448 |
of the remote party is not available as the caller is calling
|
|
7449 |
from a coin/ payphone. However, the
|
|
7450 |
TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
|
|
7451 |
populated with some other string which may be of use to the
|
|
7452 |
client.
|
|
7453 |
*/
|
|
7454 |
ERemoteIdentityAvailableNoCliCoinOrPayphone,
|
|
7455 |
/**
|
|
7456 |
The remote party's identity, or BCD number, is not available.
|
|
7457 |
Cause of No CLI is "Coin Line/ Payphone".
|
|
7458 |
*/
|
|
7459 |
ERemoteIdentityUnavailableNoCliCoinOrPayphone,
|
|
7460 |
|
|
7461 |
/**
|
|
7462 |
The remote party's identity, or BCD number, is available.
|
|
7463 |
Cause of No CLI is "unavailable".
|
|
7464 |
|
|
7465 |
To be used where the network has specified that the CLI
|
|
7466 |
information of the remote party is not available but the
|
|
7467 |
TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
|
|
7468 |
populated with some other string which may be of use to the
|
|
7469 |
client.
|
|
7470 |
*/
|
|
7471 |
ERemoteIdentityAvailableNoCliUnavailable
|
|
7472 |
};
|
|
7473 |
|
|
7474 |
|
|
7475 |
/**
|
|
7476 |
The direction of the mobile call.
|
|
7477 |
|
|
7478 |
Modes: Common
|
|
7479 |
|
|
7480 |
@see TMobileCallRemotePartyInfoV1
|
|
7481 |
*/
|
|
7482 |
enum TMobileCallDirection
|
|
7483 |
{
|
|
7484 |
/** The direction of the call is unknown. */
|
|
7485 |
EDirectionUnknown,
|
|
7486 |
/** The call was originated by this phone, i.e. it is an outgoing call. */
|
|
7487 |
EMobileOriginated,
|
|
7488 |
/** The call was terminated by this phone, i.e. it is an incoming call. */
|
|
7489 |
EMobileTerminated
|
|
7490 |
};
|
|
7491 |
|
|
7492 |
enum { KCallingNameSize=80 };
|
|
7493 |
|
|
7494 |
|
|
7495 |
|
|
7496 |
class TMobileCallRemotePartyInfoV1 : public RMobilePhone::TMultimodeType
|
|
7497 |
/** Defines information about the remote party of a mobile call.
|
|
7498 |
*/
|
|
7499 |
{
|
|
7500 |
public:
|
|
7501 |
IMPORT_C TMobileCallRemotePartyInfoV1();
|
|
7502 |
public:
|
|
7503 |
/** Indicates whether the remote party information in the rest of this structure
|
|
7504 |
is valid or not.
|
|
7505 |
|
|
7506 |
Modes: Common
|
|
7507 |
|
|
7508 |
@see TMobileCallRemoteIdentityStatus */
|
|
7509 |
TMobileCallRemoteIdentityStatus iRemoteIdStatus;
|
|
7510 |
/** The direction of the call and hence the role of the remote party, i.e. if the
|
|
7511 |
call is mobile originated then the remote party is the called party whereas
|
|
7512 |
if the call is mobile terminated then the remote party is the calling party.
|
|
7513 |
|
|
7514 |
Modes: Common
|
|
7515 |
|
|
7516 |
@see TMobileCallDirection */
|
|
7517 |
static TMobileCallDirection iDirection;
|
|
7518 |
/** The phone number of the remote party if available.
|
|
7519 |
|
|
7520 |
Modes: Common
|
|
7521 |
|
|
7522 |
@see RMobilePhone::TMobileAddress */
|
|
7523 |
RMobilePhone::TMobileAddress iRemoteNumber;
|
|
7524 |
/** Calling party name available through the CNAP supplementary service (if provisioned).
|
|
7525 |
|
|
7526 |
|
|
7527 |
Modes: Common */
|
|
7528 |
TBuf<KCallingNameSize> iCallingName;
|
|
7529 |
};
|
|
7530 |
|
|
7531 |
/** A typedef'd packaged TMobileCallRemotePartyInfoV1 for passing through a generic
|
|
7532 |
API function member. */
|
|
7533 |
typedef TPckg<TMobileCallRemotePartyInfoV1> TMobileCallRemotePartyInfoV1Pckg;
|
|
7534 |
|
|
7535 |
IMPORT_C void NotifyRemotePartyInfoChange(TRequestStatus& aReqStatus, TDes8& aRemotePartyInfo) const;
|
|
7536 |
|
|
7537 |
/** Determines which fields in the class are valid.
|
|
7538 |
|
|
7539 |
@see TMobileCallInfoV1 */
|
|
7540 |
enum TMobileCallInfoFlags
|
|
7541 |
{
|
|
7542 |
/** The iStartTime field is valid in the call info class.
|
|
7543 |
|
|
7544 |
Modes: COMMON */
|
|
7545 |
KCallStartTime = 0x00000001,
|
|
7546 |
/** The iDuration field is valid in the call info class.
|
|
7547 |
|
|
7548 |
Modes: COMMON */
|
|
7549 |
KCallDuration = 0x00000002,
|
|
7550 |
/** The iCallId field is valid in the call info class.
|
|
7551 |
|
|
7552 |
Modes: COMMON */
|
|
7553 |
KCallId = 0x00000004,
|
|
7554 |
/** The iRemoteParty field is valid in the call info class.
|
|
7555 |
|
|
7556 |
Modes: COMMON */
|
|
7557 |
KCallRemoteParty = 0x00000008,
|
|
7558 |
/** The iDialledParty field is valid in the call info class.
|
|
7559 |
|
|
7560 |
Modes: COMMON */
|
|
7561 |
KCallDialledParty = 0x00000010,
|
|
7562 |
/** The iExitCode field is valid in the call info class.
|
|
7563 |
|
|
7564 |
Modes: COMMON */
|
|
7565 |
KCallExitCode = 0x00000020,
|
|
7566 |
/** The iEmergency field is valid in the call info class.
|
|
7567 |
|
|
7568 |
Modes: COMMON */
|
|
7569 |
KCallEmergency = 0x00000040,
|
|
7570 |
/** The iForwarded field is valid in the call info class.
|
|
7571 |
|
|
7572 |
Modes: COMMON */
|
|
7573 |
KCallForwarded = 0x00000080,
|
|
7574 |
/** The iPrivacy field is valid in the call info class.
|
|
7575 |
|
|
7576 |
Modes: CDMA */
|
|
7577 |
KCallPrivacy = 0x00000100,
|
|
7578 |
/** The iTch field is valid in the call info class.
|
|
7579 |
|
|
7580 |
Modes: CDMA */
|
|
7581 |
KCallTch = 0x00000200,
|
|
7582 |
/** The iAlternatingCall field is valid in the call info class.
|
|
7583 |
|
|
7584 |
Modes: GSM/WCDMA */
|
|
7585 |
KCallAlternating = 0x00000400,
|
|
7586 |
KCallSecurity = 0x00000800
|
|
7587 |
};
|
|
7588 |
|
|
7589 |
|
|
7590 |
|
|
7591 |
class TMobileCallInfoV1 : public RMobilePhone::TMultimodeType
|
|
7592 |
/** Defines general information about a mobile call.
|
|
7593 |
*/
|
|
7594 |
{
|
|
7595 |
public:
|
|
7596 |
IMPORT_C TMobileCallInfoV1();
|
|
7597 |
public:
|
|
7598 |
/** A bit-wise sum of TMobileCallInfoFlags indicating which of the following optional
|
|
7599 |
fields contain valid data. */
|
|
7600 |
TUint32 iValid;
|
|
7601 |
/** The call service (voice, data, fax, aux. voice) that this call provides.
|
|
7602 |
|
|
7603 |
@see RMobilePhone::TMobileService */
|
|
7604 |
RMobilePhone::TMobileService iService;
|
|
7605 |
/** The mobile call status.
|
|
7606 |
|
|
7607 |
@see TMobileCallStatus */
|
|
7608 |
static TMobileCallStatus iStatus;
|
|
7609 |
/** The call ID number assigned to an ongoing call. Will equal -1 if the call does
|
|
7610 |
not have an allocated ID. */
|
|
7611 |
TInt iCallId;
|
|
7612 |
/** The reason for termination of a finished call. Will equal KErrNone if the call
|
|
7613 |
ended normally and KErrNotFound if the call has not ended. */
|
|
7614 |
TInt iExitCode;
|
|
7615 |
/** ETrue if the call is an emergency call or EFalse if it is not. */
|
|
7616 |
static TBool iEmergency;
|
|
7617 |
/** For a MT call, this attribute equals ETrue if the call has been forwarded to
|
|
7618 |
this phone or EFalse if it has not. For a MO call, this attribute equals ETrue
|
|
7619 |
if the call has been forwarded to another destination or EFalse if it has
|
|
7620 |
not. If the phone can not determine whether the call has been forwarded or
|
|
7621 |
not then the attribute will return EFalse. */
|
|
7622 |
TBool iForwarded;
|
|
7623 |
/** This attribute indicates whether privacy is on or off for this call.
|
|
7624 |
|
|
7625 |
@see RMobilePhone::TMobilePhonePrivacy */
|
|
7626 |
RMobilePhone::TMobilePhonePrivacy iPrivacy;
|
|
7627 |
/** This attribute indicates whether this call is an alternating call or not.
|
|
7628 |
|
|
7629 |
@see RMobilePhone::TMobilePhoneAlternatingCallMode */
|
|
7630 |
RMobilePhone::TMobilePhoneAlternatingCallMode iAlternatingCall;
|
|
7631 |
/** The current duration of the call.
|
|
7632 |
|
|
7633 |
@see TTimeIntervalSeconds */
|
|
7634 |
TTimeIntervalSeconds iDuration;
|
|
7635 |
/** This attribute indicates whether a digital or analog traffic channel is being
|
|
7636 |
used for this call.
|
|
7637 |
|
|
7638 |
@see TMobileCallTch */
|
|
7639 |
TMobileCallTch iTch;
|
|
7640 |
/** Information about remote party of a connected call.
|
|
7641 |
|
|
7642 |
@see TMobileCallRemotePartyInfoV1 */
|
|
7643 |
TMobileCallRemotePartyInfoV1 iRemoteParty;
|
|
7644 |
/** The original number (including DTMF) dialled for an outgoing call.
|
|
7645 |
|
|
7646 |
@see RMobilePhone::TMobileAddress */
|
|
7647 |
RMobilePhone::TMobileAddress iDialledParty;
|
|
7648 |
/** The time and date the call started.
|
|
7649 |
|
|
7650 |
@see TDateTime */
|
|
7651 |
TDateTime iStartTime;
|
|
7652 |
/** The name of the call.
|
|
7653 |
|
|
7654 |
@see TName */
|
|
7655 |
TName iCallName;
|
|
7656 |
/** The name of the line on which the call is open.
|
|
7657 |
|
|
7658 |
@see TName */
|
|
7659 |
TName iLineName;
|
|
7660 |
};
|
|
7661 |
|
|
7662 |
/** A typedef'd packaged TMobileCallInfoV1 for passing through a generic API function
|
|
7663 |
member. */
|
|
7664 |
typedef TPckg<TMobileCallInfoV1> TMobileCallInfoV1Pckg;
|
|
7665 |
|
|
7666 |
class TMobileCallInfoV3 : public TMobileCallInfoV1
|
|
7667 |
/**
|
|
7668 |
Extends the TMobileCallInfoV1 claass to include extra call info parameter relating to network security.
|
|
7669 |
@publishedPartner
|
|
7670 |
@released
|
|
7671 |
*/
|
|
7672 |
{
|
|
7673 |
public:
|
|
7674 |
IMPORT_C TMobileCallInfoV3();
|
|
7675 |
public:
|
|
7676 |
/**
|
|
7677 |
Indicates whether Ciphering Status of a call is enabled or disabled.
|
|
7678 |
*/
|
|
7679 |
RMobilePhone::TMobilePhoneNetworkSecurity iSecurity;
|
|
7680 |
};
|
|
7681 |
|
|
7682 |
typedef TPckg<TMobileCallInfoV3> TMobileCallInfoV3Pckg;
|
|
7683 |
|
|
7684 |
IMPORT_C TInt GetMobileCallInfo(TDes8& aCallInfo) const;
|
|
7685 |
|
|
7686 |
/***********************************************************************************/
|
|
7687 |
//
|
|
7688 |
// MobileCallEmergency functional unit
|
|
7689 |
//
|
|
7690 |
/***********************************************************************************/
|
|
7691 |
|
|
7692 |
IMPORT_C void DialEmergencyCall(TRequestStatus& aReqStatus, const TDesC& aNumber) const;
|
|
7693 |
|
|
7694 |
/***********************************************************************************/
|
|
7695 |
//
|
|
7696 |
// MobileCallCompletion
|
|
7697 |
//
|
|
7698 |
/***********************************************************************************/
|
|
7699 |
|
|
7700 |
IMPORT_C void ActivateCCBS(TRequestStatus& aReqStatus, TInt& aIndex) const;
|
|
7701 |
IMPORT_C TInt RejectCCBS() const;
|
|
7702 |
//
|
|
7703 |
// User-To-User Signalling Functional Unit
|
|
7704 |
//
|
|
7705 |
/***********************************************************************************/
|
|
7706 |
|
|
7707 |
/** The UUS capabilities of the call.
|
|
7708 |
|
|
7709 |
Modes: GSM/WCDMA. */
|
|
7710 |
enum TMobileCallUUSCaps // UUS capabilities of the call
|
|
7711 |
{
|
|
7712 |
/** Indicates that MS supports UUS1 implicit request. */
|
|
7713 |
KCapsSetupUUS1Implicit=0x00000001,
|
|
7714 |
/** Indicates that MS supports UUS1 explicit request. */
|
|
7715 |
KCapsSetupUUS1Explicit=0x00000002,
|
|
7716 |
/** Indicates that MS supports UUS2 request. */
|
|
7717 |
KCapsSetupUUS2=0x00000004,
|
|
7718 |
/** Indicates that MS supports UUS3 request. */
|
|
7719 |
KCapsSetupUUS3=0x00000008,
|
|
7720 |
/** Indicates that MS supports activating more than one UUS request at a time. */
|
|
7721 |
KCapsSetupMultipleUUS=0x00000010,
|
|
7722 |
/** Indicates that UUS1 is active for this call. */
|
|
7723 |
KCapsActiveUUS1=0x00000020,
|
|
7724 |
/** Indicates that UUS2 is active for this call. */
|
|
7725 |
KCapsActiveUUS2=0x00000040,
|
|
7726 |
/** Indicates that UUS3 is active for this call. */
|
|
7727 |
KCapsActiveUUS3=0x00000080
|
|
7728 |
};
|
|
7729 |
|
|
7730 |
IMPORT_C TInt GetUUSCaps(TUint32& aCaps) const;
|
|
7731 |
IMPORT_C void NotifyUUSCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
7732 |
|
|
7733 |
/** UUS Service requests.
|
|
7734 |
|
|
7735 |
Modes: GSM/WCDMA */
|
|
7736 |
enum TMobileCallUUSReqs // UUS Service requests
|
|
7737 |
{
|
|
7738 |
/** UUS1 is implicitly requested. */
|
|
7739 |
KUUS1Implicit=0x00000001,
|
|
7740 |
/** UUS1 is explicitly requested, but it is not mandatory for this call to proceed. */
|
|
7741 |
KUUS1ExplicitRequested=0x00000002,
|
|
7742 |
/** UUS1 is explicitly requested and it is mandatory for this call to proceed. */
|
|
7743 |
KUUS1ExplicitRequired=0x00000004,
|
|
7744 |
/** UUS2 is (explicitly) requested, but it is not mandatory for this call to proceed. */
|
|
7745 |
KUUS2Requested=0x00000008,
|
|
7746 |
/** UUS2 is (explicitly) requested and it is mandatory for this call to proceed. */
|
|
7747 |
KUUS2Required=0x00000010,
|
|
7748 |
/** UUS3 is (explicitly) requested, but it is not mandatory for this call to proceed. */
|
|
7749 |
KUUS3Requested=0x00000020,
|
|
7750 |
/** UUS3 is (explicitly) requested and it is mandatory for this call to proceed. */
|
|
7751 |
KUUS3Required=0x00000040
|
|
7752 |
};
|
|
7753 |
|
|
7754 |
enum
|
|
7755 |
{
|
|
7756 |
KMaxUUISize = 129,
|
|
7757 |
};
|
|
7758 |
|
|
7759 |
/** Buffer for the UUI element. */
|
|
7760 |
typedef TBuf<KMaxUUISize> TMobileCallUUI;
|
|
7761 |
|
|
7762 |
class TMobileCallUUSRequestV1 : public RMobilePhone::TMultimodeType
|
|
7763 |
/** The mobile Call User-to-User Signaling request.
|
|
7764 |
*/
|
|
7765 |
{
|
|
7766 |
public:
|
|
7767 |
IMPORT_C TMobileCallUUSRequestV1();
|
|
7768 |
public:
|
|
7769 |
/** This field indicates whether the specified service is requested or required
|
|
7770 |
for the call. */
|
|
7771 |
TUint iServiceReq;
|
|
7772 |
/** The UUI element. This field only contains data if iServiceReq indicates UUS1.
|
|
7773 |
|
|
7774 |
@see TMobileCallUUI */
|
|
7775 |
TMobileCallUUI iUUI;
|
|
7776 |
};
|
|
7777 |
|
|
7778 |
/** A typedef'd packaged TMobileCallUUSRequestV1 for passing through a generic API
|
|
7779 |
function member. */
|
|
7780 |
typedef TPckg<TMobileCallUUSRequestV1> TMobileCallUUSRequestV1Pckg;
|
|
7781 |
|
|
7782 |
IMPORT_C void ActivateUUS(TRequestStatus& aReqStatus, const TDesC8& aUUSRequest) const;
|
|
7783 |
IMPORT_C void SendUUI(TRequestStatus& aReqStatus, TBool aMore, const TMobileCallUUI& aUUI) const;
|
|
7784 |
IMPORT_C void ReceiveUUI(TRequestStatus& aReqStatus, TMobileCallUUI& aUUI) const;
|
|
7785 |
IMPORT_C void HangupWithUUI(TRequestStatus& aReqStatus, const TMobileCallUUI& aUUI) const;
|
|
7786 |
IMPORT_C void AnswerIncomingCallWithUUI(TRequestStatus& aReqStatus, const TDesC8& aCallParams, const TMobileCallUUI& aUUI) const;
|
|
7787 |
|
|
7788 |
/***********************************************************************************/
|
|
7789 |
//
|
|
7790 |
// Etel 3rd Party v1.0 Parameter classes
|
|
7791 |
//
|
|
7792 |
/***********************************************************************************/
|
|
7793 |
|
|
7794 |
class TEtel3rdPartyMobileCallParamsV1 : public RCall::TCallParams
|
|
7795 |
/** Defines the parameters used to set-up of a call originated from an ETel 3rd Party client.
|
|
7796 |
@publishedPartner
|
|
7797 |
@released
|
|
7798 |
*/
|
|
7799 |
{
|
|
7800 |
public:
|
|
7801 |
IMPORT_C TEtel3rdPartyMobileCallParamsV1();
|
|
7802 |
public:
|
|
7803 |
/** Call Id restriction setting to be used for this call.
|
|
7804 |
|
|
7805 |
@see TMobileCallIdRestriction */
|
|
7806 |
TMobileCallIdRestriction iIdRestrict;
|
|
7807 |
/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated
|
|
7808 |
redial (ETrue). */
|
|
7809 |
TBool iAutoRedial;
|
|
7810 |
};
|
|
7811 |
|
|
7812 |
/** A typedef'd packaged TEtel3rdPartyMobileCallParamsV1 for passing through a generic API
|
|
7813 |
function member. */
|
|
7814 |
typedef TPckg<TEtel3rdPartyMobileCallParamsV1>TEtel3rdPartyMobileCallParamsV1Pckg;
|
|
7815 |
|
|
7816 |
|
|
7817 |
private:
|
|
7818 |
RMobileCall(const RMobileCall& aCall);
|
|
7819 |
CMobileCallPtrHolder* iMmPtrHolder;
|
|
7820 |
protected:
|
|
7821 |
IMPORT_C void ConstructL();
|
|
7822 |
IMPORT_C void Destruct();
|
|
7823 |
};
|
|
7824 |
|
|
7825 |
|
|
7826 |
/*********************************************************/
|
|
7827 |
//
|
|
7828 |
// Line based functionality (RMobileLine)
|
|
7829 |
//
|
|
7830 |
/*********************************************************/
|
|
7831 |
|
|
7832 |
|
|
7833 |
|
|
7834 |
class CMobileLinePtrHolder;
|
|
7835 |
|
|
7836 |
class RMobileLine : public RLine
|
|
7837 |
/** Provides access to the functionality associated with a specific mobile line.
|
|
7838 |
*/
|
|
7839 |
{
|
|
7840 |
public:
|
|
7841 |
IMPORT_C RMobileLine();
|
|
7842 |
|
|
7843 |
/***********************************************************************************/
|
|
7844 |
//
|
|
7845 |
// MobileLineStatus functional unit
|
|
7846 |
//
|
|
7847 |
/***********************************************************************************/
|
|
7848 |
|
|
7849 |
IMPORT_C TInt GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const;
|
|
7850 |
IMPORT_C void NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const;
|
|
7851 |
|
|
7852 |
//
|
|
7853 |
// Additional Caps
|
|
7854 |
//
|
|
7855 |
/** Enumerated auxiliary capabilities. */
|
|
7856 |
enum TMobileLineAdditionalCaps
|
|
7857 |
{
|
|
7858 |
/** Indicates whether the line is a Primary or Auxiliary voice line offset added
|
|
7859 |
so that core Etel and additional line caps can be returned in one TUint. */
|
|
7860 |
KCapsAuxVoice=0x00000008
|
|
7861 |
};
|
|
7862 |
|
|
7863 |
private:
|
|
7864 |
RMobileLine(const RMobileLine& aLine);
|
|
7865 |
CMobileLinePtrHolder* iMmPtrHolder;
|
|
7866 |
protected:
|
|
7867 |
IMPORT_C void ConstructL();
|
|
7868 |
IMPORT_C void Destruct();
|
|
7869 |
};
|
|
7870 |
|
|
7871 |
|
|
7872 |
/*********************************************************/
|
|
7873 |
//
|
|
7874 |
// SMS Messaging (RMobileSmsMessaging)
|
|
7875 |
//
|
|
7876 |
/*********************************************************/
|
|
7877 |
|
|
7878 |
|
|
7879 |
|
|
7880 |
class CMobilePhoneSmspList;
|
|
7881 |
class CSmsMessagingPtrHolder;
|
|
7882 |
|
|
7883 |
class RMobileSmsMessaging : public RTelSubSessionBase
|
|
7884 |
/** Provides client access to SMS messaging functionality provided by TSY.
|
|
7885 |
@publishedPartner
|
|
7886 |
@released
|
|
7887 |
*/
|
|
7888 |
{
|
|
7889 |
public:
|
|
7890 |
|
|
7891 |
friend class CRetrieveMobilePhoneSmspList;
|
|
7892 |
|
|
7893 |
IMPORT_C RMobileSmsMessaging();
|
|
7894 |
|
|
7895 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
7896 |
IMPORT_C void Close();
|
|
7897 |
|
|
7898 |
/** Defines capabilities of SMS messaging.
|
|
7899 |
|
|
7900 |
Modes: GSM/WCDMA */
|
|
7901 |
enum TMobileSmsModeCaps
|
|
7902 |
{
|
|
7903 |
/** SMS is supported in GSM and WCDMA modes. SMS are sent across MM ETel API in
|
|
7904 |
a GSM 03.40 TPDU format.
|
|
7905 |
|
|
7906 |
Modes: GSM/WCDMA */
|
|
7907 |
KCapsGsmSms=0x00000001,
|
|
7908 |
/** SMS is supported in CDMA mode. SMS are sent across MM ETel API in a IS-637
|
|
7909 |
Teleservice message PDU format.
|
|
7910 |
|
|
7911 |
Modes: CDMA */
|
|
7912 |
KCapsCdmaSms=0x00000002
|
|
7913 |
};
|
|
7914 |
|
|
7915 |
/** Defines SMS control capabilities.
|
|
7916 |
|
|
7917 |
Modes: Common */
|
|
7918 |
enum TMobileSmsControlCaps
|
|
7919 |
{
|
|
7920 |
/** TSY supports receiving incoming SMS that have been stored and acknowledged
|
|
7921 |
by the phone prior to forwarding to the TSY. If this flag is set then KCapsReceiveEither
|
|
7922 |
will not be set and the client can receive stored messages only while the
|
|
7923 |
TSY-phone link is in "receive stored" mode.
|
|
7924 |
|
|
7925 |
Modes: Common */
|
|
7926 |
KCapsReceiveStored=0x00000001,
|
|
7927 |
/** TSY supports receiving incoming SMS that have been acknowledged by the phone
|
|
7928 |
but have NOT already been stored. It is the client's responsibility to do
|
|
7929 |
the storage. If this flag is set then KCapsReceiveEither will not be set and
|
|
7930 |
the client can receive unstored messages only while the TSY-phone link is
|
|
7931 |
in "receive unstored with phone ack" mode.
|
|
7932 |
|
|
7933 |
Modes: Common */
|
|
7934 |
KCapsReceiveUnstoredPhoneAck=0x00000002,
|
|
7935 |
/** TSY supports receiving incoming SMS that have NOT already been stored and acknowledged
|
|
7936 |
by the phone. It is the client's responsibility to do both the storage and
|
|
7937 |
the acknowledgment or rejection. If this flag is set then KCapsReceiveEither
|
|
7938 |
will not be set and the client can receive unstored messages only while the
|
|
7939 |
TSY-phone link is in "receive unstored with client ack" mode.
|
|
7940 |
|
|
7941 |
Modes: Common */
|
|
7942 |
KCapsReceiveUnstoredClientAck=0x00000004,
|
|
7943 |
/** TSY supports receiving either stored or unstored incoming SMS at any time.
|
|
7944 |
If this flag is set then any other KCapsReceive... flags will not be set and
|
|
7945 |
the client can receive stored or unstored messages while the TSY-phone link
|
|
7946 |
is in "receive either" mode.
|
|
7947 |
|
|
7948 |
Modes: Common */
|
|
7949 |
KCapsReceiveEither=0x00000008,
|
|
7950 |
/** TSY supports creating a default acknowledgment or rejection TPDU using only
|
|
7951 |
a "cause code" supplied by the client. If this flag is not set then the client
|
|
7952 |
must supply the full ack or nack TPDU if it calls RMobileSmsMessaging::AckSmsStored()
|
|
7953 |
or RMobileSmsMessaging::NackSmsStored().
|
|
7954 |
|
|
7955 |
Modes: Common */
|
|
7956 |
KCapsCreateAck=0x00000010,
|
|
7957 |
/** TSY supports sending SMS messages but does not support returning the service
|
|
7958 |
centre's acknowledgment of the submitted message to the client.
|
|
7959 |
|
|
7960 |
Modes: Common */
|
|
7961 |
KCapsSendNoAck=0x00000020,
|
|
7962 |
/** TSY supports sending SMS messages and also supports returning the service centre's
|
|
7963 |
acknowledgment of the submitted message to the client.
|
|
7964 |
|
|
7965 |
Modes: GSM/WCDMA */
|
|
7966 |
KCapsSendWithAck=0x00000040,
|
|
7967 |
/** TSY supports retrieval of the SMS parameter list.
|
|
7968 |
|
|
7969 |
Modes: GSM/WCDMA */
|
|
7970 |
KCapsGetSmspList=0x00000080,
|
|
7971 |
/** TSY supports storage of the SMS parameter list
|
|
7972 |
|
|
7973 |
Modes: GSM/WCDMA */
|
|
7974 |
KCapsSetSmspList=0x00000100
|
|
7975 |
};
|
|
7976 |
|
|
7977 |
class TMobileSmsCapsV1 : public RMobilePhone::TMultimodeType
|
|
7978 |
/** Defines capabilities of SMS messaging.
|
|
7979 |
*/
|
|
7980 |
{
|
|
7981 |
public:
|
|
7982 |
IMPORT_C TMobileSmsCapsV1();
|
|
7983 |
|
|
7984 |
/** Sum of TMobileSmsModeCaps constants.
|
|
7985 |
|
|
7986 |
Modes: Common */
|
|
7987 |
TUint32 iSmsMode;
|
|
7988 |
/** Sum of TMobileSmsControlCaps constants.
|
|
7989 |
|
|
7990 |
Modes: Common */
|
|
7991 |
TUint32 iSmsControl;
|
|
7992 |
};
|
|
7993 |
|
|
7994 |
/** A typedef'd packaged TMobileSmsCapsV1 for passing through a generic API member
|
|
7995 |
function. */
|
|
7996 |
typedef TPckg<TMobileSmsCapsV1> TMobileSmsCapsV1Pckg;
|
|
7997 |
|
|
7998 |
IMPORT_C TInt GetCaps(TDes8& aCaps) const;
|
|
7999 |
|
|
8000 |
// Definitions for sizes of TPDU and User Data fields
|
|
8001 |
enum
|
|
8002 |
{
|
|
8003 |
KGsmTpduSize = 165, // 140 bytes user data + 25 bytes TPDU header
|
|
8004 |
KCdmaTpduSize = 256 // Max size of Bearer Data in Transport Layer message
|
|
8005 |
};
|
|
8006 |
|
|
8007 |
/** A typedef'd buffer for GSM or WCDMA message data. */
|
|
8008 |
typedef TBuf8<KGsmTpduSize> TMobileSmsGsmTpdu;
|
|
8009 |
/** A typedef'd buffer for CDMA message data. */
|
|
8010 |
typedef TBuf8<KCdmaTpduSize> TMobileSmsCdmaTpdu;
|
|
8011 |
|
|
8012 |
/***********************************************************************************/
|
|
8013 |
//
|
|
8014 |
// Enum used by TSY to distinguish which SMS attribute class is used by client
|
|
8015 |
//
|
|
8016 |
/***********************************************************************************/
|
|
8017 |
|
|
8018 |
/** Used by TSY to distinguish which SMS attribute class is used by client.
|
|
8019 |
|
|
8020 |
Modes: Common
|
|
8021 |
|
|
8022 |
@see RMobileSmsMessaging::TMobileSmsSendAttributesV1 */
|
|
8023 |
enum TMobileSmsAttributeExtensionId
|
|
8024 |
{
|
|
8025 |
/** The iExtensionId contents indicate that the packaged class is a TMobileSmsAttributesV1. */
|
|
8026 |
KETelMobileSmsAttributesV1=KETelExtMultimodeV1,
|
|
8027 |
/** The iExtensionId contents indicate that the packaged class is a TMobileSmsReceiveAttributesV1. */
|
|
8028 |
KETelMobileSmsReceiveAttributesV1,
|
|
8029 |
/** The iExtensionId contents indicate that the packaged class is a TMobileSmsSendAttributesV1. */
|
|
8030 |
KETelMobileSmsSendAttributesV1,
|
|
8031 |
/** The iExtensionId contents indicate that the packaged class is a TMobileSmsCdmaSendAttributesV4. */
|
|
8032 |
KETelMobileSmsCdmaSendAttributesV4=KETelExtMultimodeV4
|
|
8033 |
};
|
|
8034 |
|
|
8035 |
/** Defines common attributes of all SMS messages.
|
|
8036 |
|
|
8037 |
Modes: CDMA
|
|
8038 |
|
|
8039 |
@see TMobileSmsAttributesV1 */
|
|
8040 |
enum TMobileSmsAttributeFlags
|
|
8041 |
{
|
|
8042 |
/** The iCdmaTeleservice field is valid in the attribute class.
|
|
8043 |
|
|
8044 |
Modes: CDMA */
|
|
8045 |
KCdmaTeleservice = 0x00000001,
|
|
8046 |
/** The iCdmaServiceCategory field is valid in the attribute class.
|
|
8047 |
|
|
8048 |
Modes: CDMA */
|
|
8049 |
KCdmaServiceCategory = 0x00000002,
|
|
8050 |
/** The iGsmServiceCentre field is valid in the attribute class.
|
|
8051 |
|
|
8052 |
Modes: GSM/WCDMA */
|
|
8053 |
KGsmServiceCentre = 0x00000004,
|
|
8054 |
/** The iDataFormat field is valid in the attribute class.
|
|
8055 |
|
|
8056 |
Modes: Common */
|
|
8057 |
KSmsDataFormat = 0x00000008,
|
|
8058 |
/** The iOriginator or iDestination field is valid in the attribute class.
|
|
8059 |
|
|
8060 |
Modes: Common */
|
|
8061 |
KRemotePartyInfo = 0x00000010,
|
|
8062 |
/** The iStatus field is valid in the attribute class.
|
|
8063 |
|
|
8064 |
Modes: Common */
|
|
8065 |
KIncomingStatus = 0x00000020,
|
|
8066 |
/** The iStore and iStoreIndex fields are valid in the attribute class.
|
|
8067 |
|
|
8068 |
Modes: Common */
|
|
8069 |
KStorageLocation = 0x00000040,
|
|
8070 |
/** The iMsgRef field is valid in the attribute class.
|
|
8071 |
|
|
8072 |
Modes: Common */
|
|
8073 |
KMessageReference = 0x00000080,
|
|
8074 |
/** The iSubmitReport field is valid in the attribute class.
|
|
8075 |
|
|
8076 |
Modes: GSM/WCDMA */
|
|
8077 |
KGsmSubmitReport = 0x00000100,
|
|
8078 |
/** The iMore field is valid in the attribute class.
|
|
8079 |
|
|
8080 |
Modes: Common */
|
|
8081 |
KMoreToSend = 0x00000200,
|
|
8082 |
/** Indicates to the TSY that it should keep the traffic channel open since there is
|
|
8083 |
another message ready to be sent immediately after this one (typically used when
|
|
8084 |
sending messages to multiple recipients). TSY should then keep the channel open
|
|
8085 |
until a message is sent with this bit cleared.
|
|
8086 |
|
|
8087 |
Modes: CDMA */
|
|
8088 |
KCdmaKeepChannelOpen = 0x00000400,
|
|
8089 |
/** Indicates to the TSY that it must wait for the Transport Layer Acknowledgement from the network
|
|
8090 |
|
|
8091 |
Modes: CDMA */
|
|
8092 |
KCdmaTLAckRequired = 0x00000800,
|
|
8093 |
/** The iAddressAuthentication field is valid in the attribute class.
|
|
8094 |
|
|
8095 |
Modes: CDMA */
|
|
8096 |
KCdmaAddressAuthentication = 0x00001000
|
|
8097 |
};
|
|
8098 |
|
|
8099 |
/** Defines the SMS data format.
|
|
8100 |
|
|
8101 |
Modes: Common */
|
|
8102 |
enum TMobileSmsDataFormat
|
|
8103 |
{
|
|
8104 |
/** The format is not specified.
|
|
8105 |
|
|
8106 |
Modes: Common */
|
|
8107 |
EFormatUnspecified,
|
|
8108 |
/** The message data format complies to a SMS TPDU coded as octets according to
|
|
8109 |
GSM 03.40.
|
|
8110 |
|
|
8111 |
Modes: GSM/WCDMA */
|
|
8112 |
EFormatGsmTpdu,
|
|
8113 |
/** The message data format complies to a SMS Teleservice PDU coded as octets according
|
|
8114 |
to IS-637.
|
|
8115 |
|
|
8116 |
Modes: CDMA */
|
|
8117 |
EFormatCdmaTpdu
|
|
8118 |
};
|
|
8119 |
|
|
8120 |
class TMobileSmsAttributesV1 : public RMobilePhone::TMultimodeType
|
|
8121 |
/** Defines common attributes of all SMS messages.
|
|
8122 |
@publishedPartner
|
|
8123 |
@released
|
|
8124 |
*/
|
|
8125 |
{
|
|
8126 |
protected:
|
|
8127 |
TMobileSmsAttributesV1();
|
|
8128 |
public:
|
|
8129 |
/** The bit-mask flags from TMobileSmsAttributeFlags indicating which attributes
|
|
8130 |
are present in this instance.
|
|
8131 |
|
|
8132 |
Modes: Common */
|
|
8133 |
TUint32 iFlags;
|
|
8134 |
/** The format of the message data buffer .
|
|
8135 |
|
|
8136 |
Modes: Common
|
|
8137 |
|
|
8138 |
@see TMobileSmsDataFormat */
|
|
8139 |
TMobileSmsDataFormat iDataFormat;
|
|
8140 |
/** The teleservice this message belongs to, coded according to SMS teleservice
|
|
8141 |
identifier values table in TIA/EIA-41-D.
|
|
8142 |
|
|
8143 |
Modes: CDMA */
|
|
8144 |
TInt iCdmaTeleservice;
|
|
8145 |
/** The service category this message belongs to.
|
|
8146 |
|
|
8147 |
Modes: CDMA */
|
|
8148 |
TInt iCdmaServiceCategory;
|
|
8149 |
/** The GSM service centre used for this SMS.
|
|
8150 |
|
|
8151 |
Modes: GSM/WCDMA
|
|
8152 |
|
|
8153 |
@see RMobilePhone::TMobileAddress */
|
|
8154 |
RMobilePhone::TMobileAddress iGsmServiceCentre;
|
|
8155 |
};
|
|
8156 |
|
|
8157 |
/** A typedef'd packaged TMobileSmsAttributesV1 for passing through a generic
|
|
8158 |
API member function. */
|
|
8159 |
typedef TPckg<TMobileSmsAttributesV1> TMobileSmsAttributesV1Pckg;
|
|
8160 |
|
|
8161 |
/** Defines attributes of incoming SMS messages.
|
|
8162 |
|
|
8163 |
Modes: Common */
|
|
8164 |
enum TMobileSmsIncomingStatus
|
|
8165 |
{
|
|
8166 |
/** The status of the incoming SMS is unknown. */
|
|
8167 |
EMtMessageUnknownStatus,
|
|
8168 |
/** The incoming SMS is not stored phone-side but has already been acknowledged
|
|
8169 |
by the phone. */
|
|
8170 |
EMtMessageUnstoredPhoneAck,
|
|
8171 |
/** The incoming SMS is not stored phone-side and needs to be acknowledged by the
|
|
8172 |
client. */
|
|
8173 |
EMtMessageUnstoredClientAck,
|
|
8174 |
/** The incoming SMS is stored phone-side. */
|
|
8175 |
EMtMessageStored
|
|
8176 |
};
|
|
8177 |
|
|
8178 |
class TMobileSmsReceiveAttributesV1 : public TMobileSmsAttributesV1
|
|
8179 |
/** Defines attributes of incoming SMS messages.
|
|
8180 |
@publishedPartner
|
|
8181 |
@released
|
|
8182 |
*/
|
|
8183 |
{
|
|
8184 |
public:
|
|
8185 |
IMPORT_C TMobileSmsReceiveAttributesV1();
|
|
8186 |
public:
|
|
8187 |
/** Indicates the status of the incoming message -whether it is stored phone-side
|
|
8188 |
or has been acknowledged by the phone.
|
|
8189 |
|
|
8190 |
Modes: Common
|
|
8191 |
|
|
8192 |
@see TMobileSmsIncomingStatus */
|
|
8193 |
TMobileSmsIncomingStatus iStatus; // indicates if MT message is stored phone-side
|
|
8194 |
/** If the message is stored phone-side, indicates the index (within the phone-side
|
|
8195 |
store) where the message is stored.
|
|
8196 |
|
|
8197 |
Modes: Common */
|
|
8198 |
TInt iStoreIndex;// used if MT message is stored phone-side
|
|
8199 |
/** If the message is stored phone-side, indicates the name of the appropriate
|
|
8200 |
phone-side store.
|
|
8201 |
|
|
8202 |
Modes: Common
|
|
8203 |
|
|
8204 |
@see RMobilePhone::TMobileName */
|
|
8205 |
RMobilePhone::TMobileName iStore; // used if MT message is stored phone-side
|
|
8206 |
/** The address of the originator of the SMS.
|
|
8207 |
|
|
8208 |
Modes: Common
|
|
8209 |
|
|
8210 |
@see RMobilePhone::TMobileAddress */
|
|
8211 |
RMobilePhone::TMobileAddress iOriginator;
|
|
8212 |
};
|
|
8213 |
|
|
8214 |
/** A typedef'd packaged TMobileSmsReceiveAttributesV1 for passing through a generic
|
|
8215 |
API member function. */
|
|
8216 |
typedef TPckg<TMobileSmsReceiveAttributesV1> TMobileSmsReceiveAttributesV1Pckg;
|
|
8217 |
|
|
8218 |
|
|
8219 |
|
|
8220 |
class TMobileSmsSendAttributesV1 : public TMobileSmsAttributesV1
|
|
8221 |
/** Defines attributes of sent SMS messages.
|
|
8222 |
@publishedPartner
|
|
8223 |
@released */
|
|
8224 |
{
|
|
8225 |
public:
|
|
8226 |
IMPORT_C TMobileSmsSendAttributesV1();
|
|
8227 |
public:
|
|
8228 |
/** The message reference assigned to a sent message.
|
|
8229 |
|
|
8230 |
Modes: Common */
|
|
8231 |
TUint16 iMsgRef;
|
|
8232 |
/** A boolean indicating whether the client is going to send another SMS immediately
|
|
8233 |
after this one. Equals ETrue if this is the case, EFalse if it is not.
|
|
8234 |
|
|
8235 |
Modes: Common */
|
|
8236 |
TBool iMore;
|
|
8237 |
/** The SMS-SUBMIT-REPORT TPDU received from network in response to a sent message.
|
|
8238 |
|
|
8239 |
Modes: GSM/WCDMA
|
|
8240 |
|
|
8241 |
@see TMobileSmsGsmTpdu */
|
|
8242 |
TMobileSmsGsmTpdu iSubmitReport;
|
|
8243 |
/** The address of the destination of the SMS.
|
|
8244 |
|
|
8245 |
Modes: Common
|
|
8246 |
|
|
8247 |
@see RMobilePhone::TMobileAddress */
|
|
8248 |
RMobilePhone::TMobileAddress iDestination;
|
|
8249 |
};
|
|
8250 |
|
|
8251 |
/** A typedef'd packaged TMobileSmsSendAttributesV1 for passing through a generic
|
|
8252 |
API member function. */
|
|
8253 |
typedef TPckg<TMobileSmsSendAttributesV1> TMobileSmsSendAttributesV1Pckg;
|
|
8254 |
|
|
8255 |
class TMobileSmsCdmaSendAttributesV4 : public TMobileSmsAttributesV1
|
|
8256 |
/**
|
|
8257 |
Defines attributes of sent SMS messages (CDMA only).
|
|
8258 |
|
|
8259 |
@publishedPartner
|
|
8260 |
@released
|
|
8261 |
*/
|
|
8262 |
{
|
|
8263 |
public:
|
|
8264 |
IMPORT_C TMobileSmsCdmaSendAttributesV4();
|
|
8265 |
public:
|
|
8266 |
/**
|
|
8267 |
The message id allocated by the SMS stack. The TSY should
|
|
8268 |
retrieve the value from iCdmaTeleserviceId to determine
|
|
8269 |
which teleservice this message id corresponds to.
|
|
8270 |
*/
|
|
8271 |
TUint16 iMsgRef;
|
|
8272 |
/** Indicates whether the client is going to send another
|
|
8273 |
PDU immediately after this one (typically used when sending
|
|
8274 |
messages of more than one PDU). Equals ETrue if at least
|
|
8275 |
one more PDU is needed to complete the message and EFalse
|
|
8276 |
otherwise.
|
|
8277 |
*/
|
|
8278 |
TBool iMore;
|
|
8279 |
/** TPDU received from network in response to a sent message */
|
|
8280 |
TMobileSmsCdmaTpdu iTLAck;
|
|
8281 |
/** The address of the destination of the SMS. */
|
|
8282 |
RMobilePhone::TMobileAddress iDestination;
|
|
8283 |
/** Transport layer authentication parameter */
|
|
8284 |
TUint32 iAddressAuthentication;
|
|
8285 |
};
|
|
8286 |
|
|
8287 |
/** A typedef'd packaged TMobileSmsCdmaSendAttributesV4 for passing through a generic
|
|
8288 |
API member function. */
|
|
8289 |
typedef TPckg<TMobileSmsCdmaSendAttributesV4> TMobileSmsCdmaSendAttributesV4Pckg;
|
|
8290 |
|
|
8291 |
//
|
|
8292 |
// Setting up the storage & acknowledgement mode
|
|
8293 |
//
|
|
8294 |
|
|
8295 |
/** Defines the SMS receive modes.
|
|
8296 |
|
|
8297 |
Modes: Common */
|
|
8298 |
enum TMobileSmsReceiveMode
|
|
8299 |
{
|
|
8300 |
/** Receive mode is unspecified and phone will use its default. */
|
|
8301 |
EReceiveModeUnspecified,
|
|
8302 |
/** Phone will store and acknowledge all incoming messages before passing them
|
|
8303 |
onto TSY. */
|
|
8304 |
EReceiveUnstoredPhoneAck, // client stores but phone acknowledges message
|
|
8305 |
/** Phone will acknowledge but NOT store all incoming messages before passing them
|
|
8306 |
onto TSY. It is client's responsibility to store the message. */
|
|
8307 |
EReceiveUnstoredClientAck, // client acknowledges and stores message
|
|
8308 |
/** Phone will NOT acknowledge or store any incoming messages before passing them
|
|
8309 |
onto TSY. It is client's responsibility to attempt storage and then either
|
|
8310 |
acknowledge or reject the message. */
|
|
8311 |
EReceiveStored, // phone acknowledges and store message
|
|
8312 |
/** Phone may pass on either stored or unstored messages to TSY. It is client's
|
|
8313 |
responsibility to check RMobileSmsMessaging::TMobileSmsReceiveAttributesV1::iStatus
|
|
8314 |
to determine what action(s) the client needs to take for a message. */
|
|
8315 |
EReceiveEither // client deals with stored & unstored messages
|
|
8316 |
};
|
|
8317 |
|
|
8318 |
IMPORT_C void SetReceiveMode(TRequestStatus& aReqStatus, TMobileSmsReceiveMode aReceiveMode) const;
|
|
8319 |
IMPORT_C TInt GetReceiveMode(TMobileSmsReceiveMode& aReceiveMode) const;
|
|
8320 |
IMPORT_C void NotifyReceiveModeChange(TRequestStatus& aStatus, TMobileSmsReceiveMode& aReceiveMode);
|
|
8321 |
|
|
8322 |
/***********************************************************************************/
|
|
8323 |
//
|
|
8324 |
// Incoming SMS
|
|
8325 |
//
|
|
8326 |
/***********************************************************************************/
|
|
8327 |
|
|
8328 |
IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
|
|
8329 |
|
|
8330 |
/***********************************************************************************/
|
|
8331 |
//
|
|
8332 |
// Responding to incoming SMS
|
|
8333 |
//
|
|
8334 |
/***********************************************************************************/
|
|
8335 |
|
|
8336 |
IMPORT_C void AckSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TBool aFull=EFalse) const;
|
|
8337 |
IMPORT_C void NackSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TInt aRpCause) const;
|
|
8338 |
IMPORT_C void ResumeSmsReception(TRequestStatus& aReqStatus) const;
|
|
8339 |
|
|
8340 |
/***********************************************************************************/
|
|
8341 |
//
|
|
8342 |
// Outgoing SMS
|
|
8343 |
//
|
|
8344 |
/***********************************************************************************/
|
|
8345 |
|
|
8346 |
IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
|
|
8347 |
IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
|
|
8348 |
|
|
8349 |
/** Defines the SMS bearer.
|
|
8350 |
|
|
8351 |
Modes: GSM */
|
|
8352 |
enum TMobileSmsBearer
|
|
8353 |
{
|
|
8354 |
/** SMS messages will only be sent over a packet-switched (GPRS) network. */
|
|
8355 |
ESmsBearerPacketOnly,
|
|
8356 |
/** SMS messages will only be sent over a circuit-switched (GSM) network. */
|
|
8357 |
ESmsBearerCircuitOnly,
|
|
8358 |
/** SMS messages will be sent over the packet-switched (GPRS) network if possible,
|
|
8359 |
otherwise over circuit-switched (GSM) network. */
|
|
8360 |
ESmsBearerPacketPreferred,
|
|
8361 |
/** SMS messages will be sent over the circuit-switched (GSM) network if possible,
|
|
8362 |
otherwise over packet-switched (GPRS) network. */
|
|
8363 |
ESmsBearerCircuitPreferred
|
|
8364 |
};
|
|
8365 |
|
|
8366 |
IMPORT_C void SetMoSmsBearer(TRequestStatus& aReqStatus, TMobileSmsBearer aBearer) const;
|
|
8367 |
IMPORT_C TInt GetMoSmsBearer(TMobileSmsBearer& aBearer) const;
|
|
8368 |
IMPORT_C void NotifyMoSmsBearerChange(TRequestStatus& aReqStatus, TMobileSmsBearer& aBearer);
|
|
8369 |
|
|
8370 |
/***********************************************************************************/
|
|
8371 |
//
|
|
8372 |
// Get information on phone-side SMS storage
|
|
8373 |
//
|
|
8374 |
/***********************************************************************************/
|
|
8375 |
|
|
8376 |
IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const;
|
|
8377 |
IMPORT_C void GetMessageStoreInfo(TRequestStatus& aReqStatus, TInt aIndex, TDes8& aInfo) const;
|
|
8378 |
|
|
8379 |
/***********************************************************************************/
|
|
8380 |
//
|
|
8381 |
// Read/Write SMS parameters to phone-side storage
|
|
8382 |
//
|
|
8383 |
/***********************************************************************************/
|
|
8384 |
|
|
8385 |
enum { KMaxSmspTextSize=30 };
|
|
8386 |
|
|
8387 |
/** Defines the valid SMS parameters store.
|
|
8388 |
|
|
8389 |
Modes: GSM/WCDMA
|
|
8390 |
|
|
8391 |
@see TMobileSmspEntryV1 */
|
|
8392 |
enum TMobileSmspStoreValidParams
|
|
8393 |
{
|
|
8394 |
/** The entry includes a valid iDestination field. */
|
|
8395 |
KDestinationIncluded=0x00000001,
|
|
8396 |
/** The entry includes a valid iServiceCentre field. */
|
|
8397 |
KSCAIncluded=0x00000002,
|
|
8398 |
/** The entry includes a valid iProtocolId field. */
|
|
8399 |
KProtocolIdIncluded=0x00000004,
|
|
8400 |
/** The entry includes a valid iDcs field. */
|
|
8401 |
KDcsIncluded=0x00000008,
|
|
8402 |
/** The entry includes a valid iValidityPeriod field. */
|
|
8403 |
KValidityPeriodIncluded=0x00000010
|
|
8404 |
};
|
|
8405 |
|
|
8406 |
class TMobileSmspEntryV1 : public RMobilePhone::TMultimodeType
|
|
8407 |
|
|
8408 |
/** Defines a set of SMS parameters.
|
|
8409 |
@publishedPartner
|
|
8410 |
@released
|
|
8411 |
*/
|
|
8412 |
{
|
|
8413 |
public:
|
|
8414 |
IMPORT_C TMobileSmspEntryV1();
|
|
8415 |
public:
|
|
8416 |
void InternalizeL(RReadStream& aStream);
|
|
8417 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
8418 |
public:
|
|
8419 |
/** The slot index where this SMSP entry is stored in the SIM's SMSP file. */
|
|
8420 |
TInt iIndex;
|
|
8421 |
/** A bit-wise sum of the constants defined in TMobileSmspStoreValidParams, that
|
|
8422 |
specifies which parameters are valid within this entry. */
|
|
8423 |
TUint32 iValidParams;
|
|
8424 |
/** Default protocol ID. Coded according to GSM 03.40. */
|
|
8425 |
TUint8 iProtocolId;
|
|
8426 |
/** Default data coding scheme. Coded according to GSM 03.40. */
|
|
8427 |
TUint8 iDcs;
|
|
8428 |
/** Default validity period, in relative format and coded on 8 bits as defined
|
|
8429 |
by GSM 03.40. */
|
|
8430 |
TUint8 iValidityPeriod;
|
|
8431 |
/** Reserved for future use. */
|
|
8432 |
TUint8 iReservedFiller;
|
|
8433 |
/** Default destination for outgoing SMS.
|
|
8434 |
|
|
8435 |
@see RMobilePhone::TMobileAddress */
|
|
8436 |
RMobilePhone::TMobileAddress iDestination;
|
|
8437 |
/** Default service centre for outgoing SMS.
|
|
8438 |
|
|
8439 |
@see RMobilePhone::TMobileAddress */
|
|
8440 |
RMobilePhone::TMobileAddress iServiceCentre;
|
|
8441 |
/** The alpha-tag associated with this SMSP entry, expressed as Unicode characters. */
|
|
8442 |
TBuf<KMaxSmspTextSize> iText;
|
|
8443 |
};
|
|
8444 |
|
|
8445 |
/** A typedef'd packaged TMobileSmspEntryV1 for passing through a generic API member
|
|
8446 |
function. */
|
|
8447 |
typedef TPckg<TMobileSmspEntryV1> TMobileSmspEntryV1Pckg;
|
|
8448 |
IMPORT_C void StoreSmspListL(TRequestStatus& aReqStatus, CMobilePhoneSmspList* aSmspList) const;
|
|
8449 |
IMPORT_C void NotifySmspListChange(TRequestStatus& aReqStatus) const;
|
|
8450 |
|
|
8451 |
private:
|
|
8452 |
RMobileSmsMessaging(const RMobileSmsMessaging&);
|
|
8453 |
CSmsMessagingPtrHolder* iSmsMessagingPtrHolder;
|
|
8454 |
protected:
|
|
8455 |
IMPORT_C void ConstructL();
|
|
8456 |
IMPORT_C void Destruct();
|
|
8457 |
};
|
|
8458 |
|
|
8459 |
|
|
8460 |
/*********************************************************/
|
|
8461 |
//
|
|
8462 |
// Broadcast Messaging (RMobileBroadcastMessaging)
|
|
8463 |
//
|
|
8464 |
/*********************************************************/
|
|
8465 |
|
|
8466 |
|
|
8467 |
|
|
8468 |
class CMobilePhoneBroadcastIdList;
|
|
8469 |
|
|
8470 |
class CCbsMessagingPtrHolder;
|
|
8471 |
class RMobileBroadcastMessaging : public RTelSubSessionBase
|
|
8472 |
/** This sub-session provides access to the broadcast message services provided
|
|
8473 |
by GSM/WCDMA and CDMA networks.
|
|
8474 |
|
|
8475 |
Clients will open a RMobileBroadcastMessaging sub-session and then wait for
|
|
8476 |
incoming broadcast messages. The broadcast messages received can depend upon
|
|
8477 |
a "message filter" which defines the languages and/or identifiers of acceptable
|
|
8478 |
(or unacceptable) messages. This sub-session and the function members within
|
|
8479 |
this section must be supported if the TSY indicates that it supports the MobileBroadcastMessaging
|
|
8480 |
functional unit.
|
|
8481 |
|
|
8482 |
@publishedPartner
|
|
8483 |
@released*/
|
|
8484 |
{
|
|
8485 |
public:
|
|
8486 |
|
|
8487 |
friend class CRetrieveMobilePhoneBroadcastIdList;
|
|
8488 |
|
|
8489 |
IMPORT_C RMobileBroadcastMessaging();
|
|
8490 |
|
|
8491 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
8492 |
IMPORT_C void Close();
|
|
8493 |
|
|
8494 |
/***********************************************************************************/
|
|
8495 |
//
|
|
8496 |
// Broadcast messaging capabilities
|
|
8497 |
//
|
|
8498 |
/***********************************************************************************/
|
|
8499 |
|
|
8500 |
/** Broadcast capabilities.
|
|
8501 |
|
|
8502 |
Modes:GSM/WCDMA */
|
|
8503 |
enum TMobileBroadcastModeCaps
|
|
8504 |
{
|
|
8505 |
/** GSM 03.41 cell broadcast messages are supported.
|
|
8506 |
|
|
8507 |
Modes:GSM/WCDMA */
|
|
8508 |
KCapsGsmTpduFormat = 0x00000001,
|
|
8509 |
/** IS-637-A broadcast messages are supported.
|
|
8510 |
|
|
8511 |
Modes:CDMA */
|
|
8512 |
KCapsCdmaTpduFormat = 0x00000002,
|
|
8513 |
/** 3GPP 25.324 Release 4 cell broadcast messages are supported.
|
|
8514 |
|
|
8515 |
Modes: WCDMA */
|
|
8516 |
KCapsWcdmaTpduFormat = 0x00000004
|
|
8517 |
};
|
|
8518 |
|
|
8519 |
/** Broadcast message filter capabilities.
|
|
8520 |
|
|
8521 |
Modes: Common
|
|
8522 |
|
|
8523 |
@see RMobileBroadcastMessaging::GetLanguageFilter() */
|
|
8524 |
enum TBroadcastMessagingFilterCaps
|
|
8525 |
{
|
|
8526 |
/** Phone supports switching broadcast messages on or off. This means the EbroadcastAcceptNone
|
|
8527 |
and EBroadcastAcceptAll settings of TMobilePhoneBroadcastFilter are supported.
|
|
8528 |
|
|
8529 |
Modes: Common */
|
|
8530 |
KCapsSimpleFilter = 0x00000001,
|
|
8531 |
/** Phone supports filtering of broadcast messages depending upon their language.
|
|
8532 |
The language filter is a list of languages used only for broadcast filtering.
|
|
8533 |
|
|
8534 |
Modes: Common
|
|
8535 |
|
|
8536 |
@see RMobileBroadcastMessaging::GetLanguageFilter() */
|
|
8537 |
KCapsLangFilter = 0x00000002,
|
|
8538 |
/** Phone supports filtering of broadcast messages depending upon their subject.
|
|
8539 |
The subject of a message is identified in GSM/WCDMA mode by the Cell Broadcast
|
|
8540 |
Message Identifier (CBMI) and in CDMA mode by the Service Category.
|
|
8541 |
|
|
8542 |
Modes: Common */
|
|
8543 |
KCapsIdFilter = 0x00000004
|
|
8544 |
};
|
|
8545 |
|
|
8546 |
|
|
8547 |
|
|
8548 |
class TMobileBroadcastCapsV1 : public RMobilePhone::TMultimodeType
|
|
8549 |
/** Defines capabilities of Broadcast messaging.
|
|
8550 |
@publishedPartner
|
|
8551 |
@released
|
|
8552 |
*/
|
|
8553 |
{
|
|
8554 |
public:
|
|
8555 |
IMPORT_C TMobileBroadcastCapsV1();
|
|
8556 |
public:
|
|
8557 |
/** Sum of TMobileBroadcastModeCaps constants.
|
|
8558 |
|
|
8559 |
Modes: GSM/WCDMA */
|
|
8560 |
TUint32 iModeCaps;
|
|
8561 |
/** Sum of TBroadcastMessagingFilterCaps constants.
|
|
8562 |
|
|
8563 |
Modes: GSM/WCDMA */
|
|
8564 |
TUint32 iFilterCaps;
|
|
8565 |
};
|
|
8566 |
|
|
8567 |
/** A typedef'd packaged TMobileBroadcastCapsV1 for passing through a generic API
|
|
8568 |
function member. */
|
|
8569 |
typedef TPckg<TMobileBroadcastCapsV1> TMobileBroadcastCapsV1Pckg;
|
|
8570 |
|
|
8571 |
IMPORT_C TInt GetCaps(TDes8& aCaps) const;
|
|
8572 |
|
|
8573 |
/** Defines the broadcast attributes.
|
|
8574 |
|
|
8575 |
Modes: Common */
|
|
8576 |
enum TMobileBroadcastAttributeFlags
|
|
8577 |
{
|
|
8578 |
/** The iFormat field is valid in the attribute class.
|
|
8579 |
|
|
8580 |
Modes: Common */
|
|
8581 |
KBroadcastDataFormat = 0x00000001,
|
|
8582 |
/** The iServiceCategory field is valid in the attribute class.
|
|
8583 |
|
|
8584 |
Modes: CDMA */
|
|
8585 |
KCdmaServiceCategory = 0x00000002
|
|
8586 |
};
|
|
8587 |
|
|
8588 |
/** The mobile broadcast data format, used byTMobileBroadcastAttributesV1.
|
|
8589 |
|
|
8590 |
Modes: Common */
|
|
8591 |
enum TMobileBroadcastDataFormat
|
|
8592 |
{
|
|
8593 |
/** The message data format is not specified.
|
|
8594 |
|
|
8595 |
Modes: Common */
|
|
8596 |
EFormatUnspecified,
|
|
8597 |
/** The message data format complies to a Cell Broadcast TPDU coded as 88 octets
|
|
8598 |
(6 for header and 82 for message data) according to GSM 03.41.
|
|
8599 |
|
|
8600 |
Modes: GSM/WCDMA */
|
|
8601 |
EFormatGsmTpdu,
|
|
8602 |
/** The message data format complies to IS-637-A encoding of the Bearer Data parameter
|
|
8603 |
within the Transport Layer's SMS-Broadcast message.
|
|
8604 |
|
|
8605 |
Modes: CDMA */
|
|
8606 |
EFormatCdmaTpdu,
|
|
8607 |
/** The message data format complies to a Cell Broadcast TPDU coded as 1252 octets
|
|
8608 |
(6 for header and a maximum of 1246 for message data) according to 3GPP 25.324.
|
|
8609 |
|
|
8610 |
Modes: WCDMA */
|
|
8611 |
EFormatWcdmaTpdu
|
|
8612 |
};
|
|
8613 |
|
|
8614 |
|
|
8615 |
|
|
8616 |
class TMobileBroadcastAttributesV1 : public RMobilePhone::TMultimodeType
|
|
8617 |
/** Defines attributes of a Broadcast message.
|
|
8618 |
@publishedPartner
|
|
8619 |
@released
|
|
8620 |
*/
|
|
8621 |
{
|
|
8622 |
public:
|
|
8623 |
IMPORT_C TMobileBroadcastAttributesV1();
|
|
8624 |
public:
|
|
8625 |
/** The bit-mask flags indicating which attributes are present in this instance.
|
|
8626 |
|
|
8627 |
Modes: Common
|
|
8628 |
|
|
8629 |
@see TMobileBroadcastAttributeFlags */
|
|
8630 |
TUint32 iFlags;
|
|
8631 |
/** Format of the message data buffer.
|
|
8632 |
|
|
8633 |
Modes: Common
|
|
8634 |
|
|
8635 |
@see TMobileBroadcastDataFormat */
|
|
8636 |
TMobileBroadcastDataFormat iFormat;
|
|
8637 |
/** Service category of the message.
|
|
8638 |
|
|
8639 |
Modes: CDMA */
|
|
8640 |
TInt iServiceCategory;
|
|
8641 |
};
|
|
8642 |
|
|
8643 |
/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic
|
|
8644 |
API function member. */
|
|
8645 |
typedef TPckg<TMobileBroadcastAttributesV1> TMobileBroadcastAttributesV1Pckg;
|
|
8646 |
|
|
8647 |
|
|
8648 |
|
|
8649 |
|
|
8650 |
class TMobileBroadcastAttributesV2 : public TMobileBroadcastAttributesV1
|
|
8651 |
/** Defines attributes of a UMTS Broadcast message for version v2.0 of the API.
|
|
8652 |
@publishedPartner
|
|
8653 |
@released
|
|
8654 |
*/
|
|
8655 |
{
|
|
8656 |
public:
|
|
8657 |
IMPORT_C TMobileBroadcastAttributesV2();
|
|
8658 |
public:
|
|
8659 |
/** The number of pages that the current broadcast message consists of. The maximum
|
|
8660 |
number of pages for WCDMA Broadcast messages is 15. */
|
|
8661 |
TInt iNumberOfPages;
|
|
8662 |
/** This parameter is used to store the message type for this broadcast message. */
|
|
8663 |
TUint8 iMessageType;
|
|
8664 |
/** This parameter is used to store the message id for this broadcast message.
|
|
8665 |
|
|
8666 |
This parameter is used to store the serial number for this broadcast message.
|
|
8667 |
|
|
8668 |
This parameter is used to store the data coding scheme for this broadcast
|
|
8669 |
message. */
|
|
8670 |
TUint16 iMessageId;
|
|
8671 |
/** This parameter is used to store the serial number for this broadcast message. */
|
|
8672 |
TUint16 iSerialNum;
|
|
8673 |
/** This parameter is used to store the data coding scheme for this broadcast message. */
|
|
8674 |
TUint8 iDCS;
|
|
8675 |
};
|
|
8676 |
|
|
8677 |
/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic
|
|
8678 |
API function member. */
|
|
8679 |
typedef TPckg<TMobileBroadcastAttributesV2> TMobileBroadcastAttributesV2Pckg;
|
|
8680 |
|
|
8681 |
/***********************************************************************************/
|
|
8682 |
//
|
|
8683 |
// Receiving broadcast messages
|
|
8684 |
//
|
|
8685 |
/***********************************************************************************/
|
|
8686 |
|
|
8687 |
/** A constant which defines the length of the buffer to be passed to ReceiveMessage.
|
|
8688 |
|
|
8689 |
This constant should be used for all message types: GSM, CDMA and WCDMA.*/
|
|
8690 |
enum
|
|
8691 |
{
|
|
8692 |
KBroadcastPageSize = 88
|
|
8693 |
};
|
|
8694 |
|
|
8695 |
/** Buffer for received messages.
|
|
8696 |
|
|
8697 |
This buffer should be used for all message types: GSM, CDMA and WCDMA.*/
|
|
8698 |
typedef TBuf8<KBroadcastPageSize> TBroadcastPageData;
|
|
8699 |
|
|
8700 |
/** Old buffer sizes. KBroadcastPageSize should be used instead. */
|
|
8701 |
enum
|
|
8702 |
{
|
|
8703 |
KGsmBroadcastDataSize = KBroadcastPageSize,
|
|
8704 |
KCdmaBroadcastDataSize = KBroadcastPageSize,
|
|
8705 |
KWCdmaBroadcastPageSize = KBroadcastPageSize
|
|
8706 |
};
|
|
8707 |
|
|
8708 |
/** Buffer for GSM messages. TBroadcastPageData should be used instead. */
|
|
8709 |
typedef TBuf8<KGsmBroadcastDataSize> TGsmBroadcastMessageData;
|
|
8710 |
/** Buffer for CDMA messages. TBroadcastPageData should be used instead. */
|
|
8711 |
typedef TBuf8<KCdmaBroadcastDataSize> TCdmaBroadcastMessageData;
|
|
8712 |
/** Buffer for WCDMA messages. TBroadcastPageData should be used instead. */
|
|
8713 |
typedef TBuf8<KWCdmaBroadcastPageSize> TWCdmaBroadcastPageData;
|
|
8714 |
|
|
8715 |
IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
|
|
8716 |
|
|
8717 |
/***********************************************************************************/
|
|
8718 |
//
|
|
8719 |
// Filters
|
|
8720 |
//
|
|
8721 |
/***********************************************************************************/
|
|
8722 |
|
|
8723 |
/** The filter settings of the mobile phone.
|
|
8724 |
|
|
8725 |
Modes: Common */
|
|
8726 |
enum TMobilePhoneBroadcastFilter
|
|
8727 |
{
|
|
8728 |
/** The phone does not have a filter setting. */
|
|
8729 |
EBroadcastFilterUnspecified,
|
|
8730 |
/** The phone is not accepting any broadcast messages. */
|
|
8731 |
EBroadcastAcceptNone,
|
|
8732 |
/** The phone is accepting all broadcast messages. */
|
|
8733 |
EBroadcastAcceptAll,
|
|
8734 |
/** The phone is accepting those broadcast messages included within the language
|
|
8735 |
and identifier filters. */
|
|
8736 |
EBroadcastAcceptFilter,
|
|
8737 |
/** The phone is rejecting those broadcast messages included within the language
|
|
8738 |
or identifier filters. */
|
|
8739 |
EBroadcastRejectFilter
|
|
8740 |
};
|
|
8741 |
|
|
8742 |
IMPORT_C TInt GetFilterSetting(TMobilePhoneBroadcastFilter& aSetting) const;
|
|
8743 |
IMPORT_C void SetFilterSetting(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter aSetting) const;
|
|
8744 |
IMPORT_C void NotifyFilterSettingChange(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter& aSetting) const;
|
|
8745 |
|
|
8746 |
IMPORT_C void GetLanguageFilter(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
|
|
8747 |
IMPORT_C void SetLanguageFilter(TRequestStatus& aReqStatus, const TDesC16& aLangFilter) const;
|
|
8748 |
IMPORT_C void NotifyLanguageFilterChange(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
|
|
8749 |
|
|
8750 |
class TMobileBroadcastIdEntryV1 : public RMobilePhone::TMultimodeType
|
|
8751 |
/** In GSM - defines a Cell Broadcast Message Identifier (CBMI) list entry. In
|
|
8752 |
CDMA - defines a Service Category list entry.
|
|
8753 |
@publishedPartner
|
|
8754 |
@released
|
|
8755 |
*/
|
|
8756 |
{
|
|
8757 |
public:
|
|
8758 |
void InternalizeL(RReadStream& aStream);
|
|
8759 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
8760 |
IMPORT_C TMobileBroadcastIdEntryV1();
|
|
8761 |
public:
|
|
8762 |
/** The value of the message identifier. */
|
|
8763 |
TUint16 iId;
|
|
8764 |
};
|
|
8765 |
|
|
8766 |
/** Defines the broadcast types. */
|
|
8767 |
enum TMobileBroadcastIdType
|
|
8768 |
{
|
|
8769 |
/** GSM broadcast. */
|
|
8770 |
EGsmBroadcastId,
|
|
8771 |
/** CDMA broadcast. */
|
|
8772 |
ECdmaBroadcastId
|
|
8773 |
};
|
|
8774 |
|
|
8775 |
IMPORT_C void StoreBroadcastIdListL(TRequestStatus& aReqStatus, CMobilePhoneBroadcastIdList* aIdList, TMobileBroadcastIdType aIdType);
|
|
8776 |
IMPORT_C void NotifyBroadcastIdListChange(TRequestStatus& aReqStatus) const;
|
|
8777 |
|
|
8778 |
private:
|
|
8779 |
RMobileBroadcastMessaging(const RMobileBroadcastMessaging&);
|
|
8780 |
CCbsMessagingPtrHolder* iCbsMessagingPtrHolder;
|
|
8781 |
protected:
|
|
8782 |
IMPORT_C void ConstructL();
|
|
8783 |
IMPORT_C void Destruct();
|
|
8784 |
};
|
|
8785 |
|
|
8786 |
/*********************************************************/
|
|
8787 |
//
|
|
8788 |
// USSD Messaging (RMobileUssdMessaging)
|
|
8789 |
//
|
|
8790 |
/*********************************************************/
|
|
8791 |
|
|
8792 |
|
|
8793 |
|
|
8794 |
class CUssdMessagingPtrHolder;
|
|
8795 |
class RMobileUssdMessaging : public RTelSubSessionBase
|
|
8796 |
/** Provides client access to USSD functionality provided by TSY.
|
|
8797 |
*/
|
|
8798 |
{
|
|
8799 |
public:
|
|
8800 |
IMPORT_C RMobileUssdMessaging();
|
|
8801 |
|
|
8802 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
8803 |
IMPORT_C void Close();
|
|
8804 |
|
|
8805 |
/** Defines the USSD Messaging Format Capabilities.
|
|
8806 |
|
|
8807 |
Modes: GSM/WCDMA */
|
|
8808 |
enum TMobileUssdFormatCaps
|
|
8809 |
{
|
|
8810 |
/** USSD messages coded as a packed string within 160 octets, as defined for a
|
|
8811 |
ussd-String within GSM 04.80 and GSM 03.38.
|
|
8812 |
|
|
8813 |
Modes: GSM/WCDMA */
|
|
8814 |
KCapsPackedString=0x00000001
|
|
8815 |
};
|
|
8816 |
|
|
8817 |
/** Defines the USSD Messaging Type Capabilities.
|
|
8818 |
|
|
8819 |
Modes: GSM/WCDMA */
|
|
8820 |
enum TMobileUssdTypeCaps
|
|
8821 |
{
|
|
8822 |
/** Outgoing USSD messages are supported.
|
|
8823 |
|
|
8824 |
Modes: GSM/WCDMA */
|
|
8825 |
KCapsMOUssd=0x00000001,
|
|
8826 |
/** Incoming USSD messages are supported.
|
|
8827 |
|
|
8828 |
Modes: GSM/WCDMA */
|
|
8829 |
KCapsMTUssd=0x00000002
|
|
8830 |
};
|
|
8831 |
|
|
8832 |
|
|
8833 |
|
|
8834 |
class TMobileUssdCapsV1 : public RMobilePhone::TMultimodeType
|
|
8835 |
/** Defines capabilities of USSD messaging.
|
|
8836 |
@publishedPartner
|
|
8837 |
@released
|
|
8838 |
*/
|
|
8839 |
{
|
|
8840 |
public:
|
|
8841 |
IMPORT_C TMobileUssdCapsV1();
|
|
8842 |
/** Sum of TMobileUssdFormatCaps constants.
|
|
8843 |
|
|
8844 |
Modes: GSM/WCDMA
|
|
8845 |
|
|
8846 |
@see TMobileUssdFormatCaps */
|
|
8847 |
TUint32 iUssdFormat;
|
|
8848 |
/** Sum of TMobileUssdTypeCaps constants.
|
|
8849 |
|
|
8850 |
Modes: GSM/WCDMA
|
|
8851 |
|
|
8852 |
@see TMobileUssdTypeCaps */
|
|
8853 |
TUint32 iUssdTypes;
|
|
8854 |
};
|
|
8855 |
|
|
8856 |
/** A typedef'd packaged TMobileUssdCapsV1 for passing through a generic API member
|
|
8857 |
function. */
|
|
8858 |
typedef TPckg<TMobileUssdCapsV1> TMobileUssdCapsV1Pckg;
|
|
8859 |
|
|
8860 |
IMPORT_C TInt GetCaps(TDes8& aCaps) const;
|
|
8861 |
|
|
8862 |
/** Defines the USSD Messaging Attributes.
|
|
8863 |
|
|
8864 |
Modes: GSM/WCDMA
|
|
8865 |
|
|
8866 |
@see TMobileUssdAttributesV1 */
|
|
8867 |
enum TMobileUssdAttributeFlags
|
|
8868 |
{
|
|
8869 |
/** The iFormat field is valid in the attribute class. */
|
|
8870 |
KUssdDataFormat = 0x00000001,
|
|
8871 |
/** The iType field is valid in the attribute class. */
|
|
8872 |
KUssdMessageType = 0x00000002,
|
|
8873 |
/** The iDcs field is valid in the attribute class. */
|
|
8874 |
KUssdMessageDcs = 0x00000004
|
|
8875 |
};
|
|
8876 |
|
|
8877 |
/** Defines the USSD Data Formats.
|
|
8878 |
|
|
8879 |
Modes: Common */
|
|
8880 |
enum TMobileUssdDataFormat
|
|
8881 |
{
|
|
8882 |
/** The message data format is unspecified.
|
|
8883 |
|
|
8884 |
Modes: Common */
|
|
8885 |
EFormatUnspecified,
|
|
8886 |
/** The message data format complies to a USSD coded as 160 octets as defined for
|
|
8887 |
a ussd-String within GSM 04.80 and GSM 03.38.
|
|
8888 |
|
|
8889 |
Modes: GSM/WCDMA */
|
|
8890 |
EFormatPackedString
|
|
8891 |
};
|
|
8892 |
|
|
8893 |
/** Defines the USSD Message Types.
|
|
8894 |
|
|
8895 |
Modes: GSM/WCDMA */
|
|
8896 |
enum TMobileUssdMessageType
|
|
8897 |
{
|
|
8898 |
/** Message is an unknown type. */
|
|
8899 |
EUssdUnknown,
|
|
8900 |
/** Message is a mobile originated USSD request. The MS expects the network to
|
|
8901 |
send a USSD MT reply. */
|
|
8902 |
EUssdMORequest,
|
|
8903 |
/** Message is a reply to a previously received network initiated USSD request.
|
|
8904 |
It is a USSD MO reply. */
|
|
8905 |
EUssdMOReply,
|
|
8906 |
/** Message is a one-off network initiated USSD notification. The network expects the MS to
|
|
8907 |
send a USSD MO acknowledgement with empty message content. */
|
|
8908 |
EUssdMTNotify,
|
|
8909 |
/** Message is a network initiated USSD request. The network expects
|
|
8910 |
the MS to send a USSD MO reply. */
|
|
8911 |
EUssdMTRequest,
|
|
8912 |
/** Message is a network initiated reply to a previously sent MO USSD request. */
|
|
8913 |
EUssdMTReply,
|
|
8914 |
/** For acknowledging MT USSD notifications (empty message content). */
|
|
8915 |
EUssdMOAcknowledgement
|
|
8916 |
};
|
|
8917 |
|
|
8918 |
|
|
8919 |
|
|
8920 |
class TMobileUssdAttributesV1 : public RMobilePhone::TMultimodeType
|
|
8921 |
/** Defines attributes of a USSD message.
|
|
8922 |
@publishedPartner
|
|
8923 |
@released
|
|
8924 |
*/
|
|
8925 |
{
|
|
8926 |
public:
|
|
8927 |
IMPORT_C TMobileUssdAttributesV1();
|
|
8928 |
public:
|
|
8929 |
/** The TMobileUssdAttributeFlags bit-mask flags indicating which attributes are
|
|
8930 |
present in this instance.
|
|
8931 |
|
|
8932 |
Modes: GSM/WCDMA
|
|
8933 |
|
|
8934 |
@see TMobileUssdAttributeFlags */
|
|
8935 |
TUint32 iFlags;
|
|
8936 |
/** Format of the message data buffer.
|
|
8937 |
|
|
8938 |
Modes: GSM/WCDMA
|
|
8939 |
|
|
8940 |
@see TMobileUssdDataFormat */
|
|
8941 |
TMobileUssdDataFormat iFormat;
|
|
8942 |
/** The type of USSD message.
|
|
8943 |
|
|
8944 |
Modes: GSM/WCDMA
|
|
8945 |
|
|
8946 |
@see TMobileUssdMessageType */
|
|
8947 |
TMobileUssdMessageType iType;
|
|
8948 |
/** The Data Coding Scheme of the USSD message.
|
|
8949 |
|
|
8950 |
Modes: GSM/WCDMA */
|
|
8951 |
TUint8 iDcs;
|
|
8952 |
};
|
|
8953 |
|
|
8954 |
/** A typedef'd packaged TMobileUssdAttributesV1 for passing through a generic
|
|
8955 |
API member function. */
|
|
8956 |
typedef TPckg<TMobileUssdAttributesV1> TMobileUssdAttributesV1Pckg;
|
|
8957 |
|
|
8958 |
/***********************************************************************************/
|
|
8959 |
//
|
|
8960 |
// Receiving USSD messages
|
|
8961 |
//
|
|
8962 |
/***********************************************************************************/
|
|
8963 |
|
|
8964 |
enum
|
|
8965 |
{
|
|
8966 |
KGsmUssdDataSize = 160
|
|
8967 |
};
|
|
8968 |
|
|
8969 |
/** A typedef'd buffer to hold the message data. */
|
|
8970 |
typedef TBuf8<KGsmUssdDataSize> TGsmUssdMessageData;
|
|
8971 |
|
|
8972 |
IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
|
|
8973 |
|
|
8974 |
/***********************************************************************************/
|
|
8975 |
//
|
|
8976 |
// Sending USSD messages
|
|
8977 |
//
|
|
8978 |
/***********************************************************************************/
|
|
8979 |
|
|
8980 |
IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
|
|
8981 |
IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
|
|
8982 |
|
|
8983 |
IMPORT_C void SendRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
|
|
8984 |
IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
|
|
8985 |
IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
|
|
8986 |
|
|
8987 |
private:
|
|
8988 |
RMobileUssdMessaging(const RMobileUssdMessaging&);
|
|
8989 |
CUssdMessagingPtrHolder* iUssdMessagingPtrHolder;
|
|
8990 |
protected:
|
|
8991 |
IMPORT_C void ConstructL();
|
|
8992 |
IMPORT_C void Destruct();
|
|
8993 |
};
|
|
8994 |
|
|
8995 |
|
|
8996 |
|
|
8997 |
/*********************************************************/
|
|
8998 |
//
|
|
8999 |
// SMS Message Storage (RMobileSmsStore)
|
|
9000 |
//
|
|
9001 |
/*********************************************************/
|
|
9002 |
|
|
9003 |
|
|
9004 |
|
|
9005 |
class CSmsStorePtrHolder;
|
|
9006 |
class CMobilePhoneSmsList;
|
|
9007 |
class RMobileSmsStore : public RMobilePhoneStore
|
|
9008 |
/** Provides client access to SMS storage functionality provided by TSY.
|
|
9009 |
@publishedPartner
|
|
9010 |
@released
|
|
9011 |
*/
|
|
9012 |
{
|
|
9013 |
public:
|
|
9014 |
|
|
9015 |
IMPORT_C RMobileSmsStore();
|
|
9016 |
IMPORT_C TInt Open(RMobileSmsMessaging& aMessaging, const TDesC& aStoreName);
|
|
9017 |
IMPORT_C void Close();
|
|
9018 |
|
|
9019 |
/** Defines the SMS Store Capabilities.
|
|
9020 |
|
|
9021 |
Modes: Common */
|
|
9022 |
enum TMobileSmsStoreCaps
|
|
9023 |
{
|
|
9024 |
/** The store contains unread, incoming SMS entries.
|
|
9025 |
|
|
9026 |
Modes: Common */
|
|
9027 |
KCapsUnreadMessages = 0x00000001,
|
|
9028 |
/** The store contains read, incoming SMS entries.
|
|
9029 |
|
|
9030 |
Modes: Common */
|
|
9031 |
KCapsReadMessages = 0x00000002,
|
|
9032 |
/** The store contains sent SMS entries.
|
|
9033 |
|
|
9034 |
Modes: Common */
|
|
9035 |
KCapsSentMessages = 0x00000004,
|
|
9036 |
/** The store contains un sent SMS entries. */
|
|
9037 |
KCapsUnsentMessages = 0x00000008,
|
|
9038 |
/** The store contains GSM SMS message entries – so TMobileGsmSmsEntryV1 class
|
|
9039 |
should be used.
|
|
9040 |
|
|
9041 |
Modes: GSM/WCDMA */
|
|
9042 |
KCapsGsmMessages = 0x00000010,
|
|
9043 |
/** The store contains CDMA SMS message entries – so TMobileCdmaSmsEntryV1 class
|
|
9044 |
should be used.
|
|
9045 |
|
|
9046 |
Modes: CDMA */
|
|
9047 |
KCapsCdmaMessages = 0x00000020
|
|
9048 |
};
|
|
9049 |
|
|
9050 |
/** Defines contents of a fixed-size, stored SMS entry.
|
|
9051 |
|
|
9052 |
Modes: Common */
|
|
9053 |
enum TMobileSmsStoreStatus
|
|
9054 |
{
|
|
9055 |
/** The status of the SMS is unknown. */
|
|
9056 |
EStoredMessageUnknownStatus,
|
|
9057 |
/** The SMS is stored phone-side. It is an incoming message that has not been read
|
|
9058 |
yet. */
|
|
9059 |
EStoredMessageUnread,
|
|
9060 |
/** The SMS is stored phone-side. It is an incoming message that has already been
|
|
9061 |
read. */
|
|
9062 |
EStoredMessageRead,
|
|
9063 |
/** The SMS is stored phone-side. It is an outgoing message that has not been sent
|
|
9064 |
yet. */
|
|
9065 |
EStoredMessageUnsent,
|
|
9066 |
/** The SMS is stored phone-side. It is an outgoing message that has already been
|
|
9067 |
sent but a delivery/status report has either not been received yet or was
|
|
9068 |
not requested in the first place. */
|
|
9069 |
EStoredMessageSent,
|
|
9070 |
/** The SMS is stored phone-side. It is an outgoing message that has already been
|
|
9071 |
sent and a delivery/status report has been received */
|
|
9072 |
EStoredMessageDelivered
|
|
9073 |
};
|
|
9074 |
|
|
9075 |
//
|
|
9076 |
// Enum used by TSY to distinguish which SMS entry class is used by client
|
|
9077 |
//
|
|
9078 |
|
|
9079 |
/** Used by TSY to distinguish which SMS entry class is used by client. */
|
|
9080 |
enum TMobileSmsEntryExtensionId
|
|
9081 |
{
|
|
9082 |
/** Type is unknown. */
|
|
9083 |
KETelMobileSmsEntryV1=KETelExtMultimodeV1,
|
|
9084 |
/** The iExtensionId contents indicate that the packaged class is a TMobileGsmSmsEntryV1.
|
|
9085 |
|
|
9086 |
Also used to indicate that GSM SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
|
|
9087 |
KETelMobileGsmSmsEntryV1,
|
|
9088 |
/** The iExtensionId contents indicate that the packaged class is a TMobileCdmaSmsEntryV1.
|
|
9089 |
|
|
9090 |
Also used to indicate that CDMA SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
|
|
9091 |
KETelMobileCdmaSmsEntryV1
|
|
9092 |
};
|
|
9093 |
|
|
9094 |
class TMobileSmsEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
|
|
9095 |
/** Defines contents of a fixed-size, stored SMS entry.
|
|
9096 |
@publishedPartner
|
|
9097 |
@released
|
|
9098 |
*/
|
|
9099 |
{
|
|
9100 |
public:
|
|
9101 |
void InternalizeL(RReadStream& aStream);
|
|
9102 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9103 |
protected:
|
|
9104 |
TMobileSmsEntryV1();
|
|
9105 |
public:
|
|
9106 |
/** The status of the stored message.
|
|
9107 |
|
|
9108 |
Modes: Common
|
|
9109 |
|
|
9110 |
@see TMobileSmsStoreStatus */
|
|
9111 |
TMobileSmsStoreStatus iMsgStatus;
|
|
9112 |
};
|
|
9113 |
|
|
9114 |
/** A typedef'd packaged TMobileSmsEntryV1 for passing through a generic API
|
|
9115 |
member function. */
|
|
9116 |
typedef TPckg<TMobileSmsEntryV1> TMobileSmsEntryV1Pckg;
|
|
9117 |
|
|
9118 |
class TMobileGsmSmsEntryV1 : public TMobileSmsEntryV1
|
|
9119 |
/** Defines contents of a fixed-size, stored GSM SMS entry.
|
|
9120 |
@publishedPartner
|
|
9121 |
@released */
|
|
9122 |
{
|
|
9123 |
public:
|
|
9124 |
void InternalizeL(RReadStream& aStream);
|
|
9125 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9126 |
public:
|
|
9127 |
IMPORT_C TMobileGsmSmsEntryV1();
|
|
9128 |
public:
|
|
9129 |
/** The service centre to use (or used) for the message.
|
|
9130 |
|
|
9131 |
Modes: GSM/WCDMA
|
|
9132 |
|
|
9133 |
@see RMobilePhone::TMobileAddress */
|
|
9134 |
RMobilePhone::TMobileAddress iServiceCentre;
|
|
9135 |
/** The GSM 03.40 TPDU.
|
|
9136 |
|
|
9137 |
Modes: GSM/WCDMA
|
|
9138 |
|
|
9139 |
@see RMobileSmsMessaging::TMobileSmsGsmTpdu */
|
|
9140 |
RMobileSmsMessaging::TMobileSmsGsmTpdu iMsgData;
|
|
9141 |
};
|
|
9142 |
|
|
9143 |
/** A typedef'd packaged TMobileGsmSmsEntryV1 for passing through a generic API
|
|
9144 |
member function. */
|
|
9145 |
typedef TPckg<TMobileGsmSmsEntryV1> TMobileGsmSmsEntryV1Pckg;
|
|
9146 |
|
|
9147 |
class TMobileCdmaSmsEntryV1 : public TMobileSmsEntryV1
|
|
9148 |
/** Defines contents of a fixed-size, stored CDMA SMS entry.
|
|
9149 |
@publishedPartner
|
|
9150 |
@released
|
|
9151 |
*/
|
|
9152 |
{
|
|
9153 |
public:
|
|
9154 |
void InternalizeL(RReadStream& aStream);
|
|
9155 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9156 |
public:
|
|
9157 |
IMPORT_C TMobileCdmaSmsEntryV1();
|
|
9158 |
public:
|
|
9159 |
/** The teleservice identifier of the stored message.
|
|
9160 |
|
|
9161 |
Modes: CDMA */
|
|
9162 |
TInt iTeleservice;
|
|
9163 |
/** The service category of the stored message.
|
|
9164 |
|
|
9165 |
Modes: CDMA */
|
|
9166 |
TInt iServiceCategory;
|
|
9167 |
/** The remote party (destination or originator) of the stored message.
|
|
9168 |
|
|
9169 |
Modes: CDMA
|
|
9170 |
|
|
9171 |
@see RMobilePhone::TMobileAddress */
|
|
9172 |
RMobilePhone::TMobileAddress iRemoteParty;
|
|
9173 |
/** The teleservice layer bearer data of the stored message.
|
|
9174 |
|
|
9175 |
Modes: CDMA
|
|
9176 |
|
|
9177 |
@see RMobileSmsMessaging::TMobileSmsCdmaTpdu */
|
|
9178 |
RMobileSmsMessaging::TMobileSmsCdmaTpdu iMsgData;
|
|
9179 |
};
|
|
9180 |
|
|
9181 |
/** A typedef'd packaged TMobileCdmaSmsEntryV1 for passing through a generic API
|
|
9182 |
member function. */
|
|
9183 |
typedef TPckg<TMobileCdmaSmsEntryV1> TMobileCdmaSmsEntryV1Pckg;
|
|
9184 |
|
|
9185 |
protected:
|
|
9186 |
IMPORT_C void ConstructL();
|
|
9187 |
private:
|
|
9188 |
RMobileSmsStore(const RMobileSmsStore&);
|
|
9189 |
};
|
|
9190 |
|
|
9191 |
/*********************************************************/
|
|
9192 |
//
|
|
9193 |
// NAM Storage (RMobileNamStore)
|
|
9194 |
//
|
|
9195 |
/*********************************************************/
|
|
9196 |
|
|
9197 |
|
|
9198 |
|
|
9199 |
class CNamStorePtrHolder;
|
|
9200 |
class CMobilePhoneNamList;
|
|
9201 |
class CMobilePhoneNamListV4;
|
|
9202 |
|
|
9203 |
class RMobileNamStore : public RMobilePhoneStore
|
|
9204 |
/**
|
|
9205 |
Provides client access to NAM storage functionality provided by TSY
|
|
9206 |
|
|
9207 |
*/
|
|
9208 |
{
|
|
9209 |
public:
|
|
9210 |
IMPORT_C RMobileNamStore();
|
|
9211 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
9212 |
IMPORT_C void Close();
|
|
9213 |
|
|
9214 |
|
|
9215 |
|
|
9216 |
class TMobileNamStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
|
|
9217 |
/**
|
|
9218 |
Defines information about a NAM store
|
|
9219 |
|
|
9220 |
@publishedPartner
|
|
9221 |
@released
|
|
9222 |
*/
|
|
9223 |
{
|
|
9224 |
public:
|
|
9225 |
IMPORT_C TMobileNamStoreInfoV1();
|
|
9226 |
public:
|
|
9227 |
/** The number of enabled NAMs within the NAM store.
|
|
9228 |
|
|
9229 |
Modes: CDMA */
|
|
9230 |
TInt iNamCount;
|
|
9231 |
/** The index of the NAM that is currently the active NAM, will be between 0 and
|
|
9232 |
iNamCount-1.
|
|
9233 |
|
|
9234 |
Modes: CDMA */
|
|
9235 |
TInt iActiveNam;
|
|
9236 |
};
|
|
9237 |
|
|
9238 |
/** A typedef'd packaged TMobileNamStoreInfoV1 for passing through a generic API
|
|
9239 |
member function. */
|
|
9240 |
typedef TPckg<TMobileNamStoreInfoV1> TMobileNamStoreInfoV1Pckg;
|
|
9241 |
|
|
9242 |
IMPORT_C void SetActiveNam(TRequestStatus& aReqStatus, TInt aNamId) const;
|
|
9243 |
|
|
9244 |
enum
|
|
9245 |
{
|
|
9246 |
/* The original maximum NAM parameter size for a TMobileNamEntryV1 */
|
|
9247 |
KMaxNamParamSize = 64,
|
|
9248 |
/* Updated maximum NAM parameter size for TMobileNamEntryV4 */
|
|
9249 |
KMaxNamParamSizeV4 = 256
|
|
9250 |
};
|
|
9251 |
|
|
9252 |
class TMobileNamEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
|
|
9253 |
/**
|
|
9254 |
Defines contents of a NAM store entry
|
|
9255 |
|
|
9256 |
@publishedPartner
|
|
9257 |
@released
|
|
9258 |
*/
|
|
9259 |
{
|
|
9260 |
public:
|
|
9261 |
IMPORT_C TMobileNamEntryV1();
|
|
9262 |
public:
|
|
9263 |
void InternalizeL(RReadStream& aStream);
|
|
9264 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9265 |
public:
|
|
9266 |
/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfoV1::iNamCount-1.
|
|
9267 |
|
|
9268 |
Modes: CDMA */
|
|
9269 |
TInt iNamId;
|
|
9270 |
/** The identifier of the NAM parameter to be accessed.
|
|
9271 |
|
|
9272 |
TSY must define values of parameter identifiers.
|
|
9273 |
|
|
9274 |
Modes: CDMA */
|
|
9275 |
TInt iParamIdentifier;
|
|
9276 |
/** The data contents of the selected parameter.
|
|
9277 |
|
|
9278 |
Modes: CDMA
|
|
9279 |
|
|
9280 |
@see KMaxNamParamSize */
|
|
9281 |
TBuf8<KMaxNamParamSize> iData;
|
|
9282 |
};
|
|
9283 |
|
|
9284 |
/** A typedef'd packaged TMobileNamEntryV1 for passing through a generic API member
|
|
9285 |
function. */
|
|
9286 |
typedef TPckg<TMobileNamEntryV1> TMobileNamEntryV1Pckg;
|
|
9287 |
|
|
9288 |
/** Enumeration for the standard NAM parameters (see 3GPP2 C.S0005-A appendix F.3)
|
|
9289 |
Modes: CDMA */
|
|
9290 |
enum TStandardNamParameters
|
|
9291 |
{
|
|
9292 |
/** The 64-bit pattern stored in the Mobile Station and
|
|
9293 |
Home Location Register/Authentication Centre used to generate/update the
|
|
9294 |
mobile station’s Shared Secret Data
|
|
9295 |
Corresponds to NAM Indicator 'A_KEY' */
|
|
9296 |
EAKey,
|
|
9297 |
/** 64-bit key used for authentication
|
|
9298 |
Corresponds to NAM Indicator 'SSD_A(s-p)' */
|
|
9299 |
ESharedSecretDataA,
|
|
9300 |
/** 64-bit key used as input to generate encryption mask and long code
|
|
9301 |
Corresponds to NAM Indicator 'SSD_B(s-p)' */
|
|
9302 |
ESharedSecretDataB,
|
|
9303 |
/** Modulo-64 event counter maintained by the mobile station and Authentication Center
|
|
9304 |
used for clone detection
|
|
9305 |
Corresponds to NAM Indicator 'COUNT(s-p)' */
|
|
9306 |
EParameterUpdateReceivedCount,
|
|
9307 |
/** Class of the International Mobile Station Identity (IMSI) containing a MIN as
|
|
9308 |
the lower 10 digits
|
|
9309 |
Corresponds to NAM Indicator 'IMSI_M_CLASS(p)' */
|
|
9310 |
EMinBasedImsiClass,
|
|
9311 |
/** The class of the International Mobile Station Identity (IMSI) not containing a MIN as
|
|
9312 |
the lower 10 digits
|
|
9313 |
Corresponds to NAM Indicator 'IMSI_T_CLASS(p)' */
|
|
9314 |
ETrueImsiClass,
|
|
9315 |
/** 34-bit number derived from the IMSI M used as input for authentication
|
|
9316 |
Corresponds to NAM Indicator 'IMSI_M_S(p)' */
|
|
9317 |
EMinBasedImsiS,
|
|
9318 |
/** 34-bit number derived from the IMSI T used as input for authentication
|
|
9319 |
Corresponds to NAM Indicator 'IMSI_T_S(p)' */
|
|
9320 |
ETrueImsiS,
|
|
9321 |
/** Number of digits in the IMSI M minus 4
|
|
9322 |
Corresponds to NAM Indicator 'IMSI_M_ADDR_NUM(p)' */
|
|
9323 |
EMinBasedImsiAddressNum,
|
|
9324 |
/** The number of digits in the IMSI T minus 4
|
|
9325 |
Corresponds to NAM Indicator 'IMSI_T_ADDR_NUM(p)' */
|
|
9326 |
ETrueImsiAddressNum,
|
|
9327 |
/** The 11th and 12th digits in the IMSI M
|
|
9328 |
Corresponds to NAM Indicator 'IMSI_M_11_12(p)' */
|
|
9329 |
EMinBasedImsiDigits11and12,
|
|
9330 |
/** The 11th and 12th digits in the IMSI T
|
|
9331 |
Corresponds to NAM Indicator 'IMSI_T_11_12(p)' */
|
|
9332 |
ETrueImsiDigits11and12,
|
|
9333 |
/** The country code for the IMSI M
|
|
9334 |
Corresponds to NAM Indicator 'MCC_M(p)' */
|
|
9335 |
EMinBasedMobileCountryCode,
|
|
9336 |
/** The country code for the IMSI T
|
|
9337 |
Corresponds to NAM Indicator 'MCC_T(p)' */
|
|
9338 |
ETrueMobileCountryCode,
|
|
9339 |
/** Up to 15 digit dialable number associated with the mobile station through a service
|
|
9340 |
subscription
|
|
9341 |
Corresponds to NAM Indicator 'MDN(p)' */
|
|
9342 |
EMobileDirectoryNumber,
|
|
9343 |
/** 4-bit number giving the length of the assigning Temporary Mobile Station Identity (TMSI) zone
|
|
9344 |
(can range from 1 to 8 octets)
|
|
9345 |
Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE_LEN(s-p)' */
|
|
9346 |
EAssigningTmsiZoneLen,
|
|
9347 |
/** Temporary Mobile Station Identity (TMSI) zone is an arbitrary set of base stations
|
|
9348 |
for the administrative assignment of TMSI
|
|
9349 |
Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE(s-p)' */
|
|
9350 |
EAssigningTmsiZone,
|
|
9351 |
/** The uniquely assigned number to a mobile station inside a TMSI zone
|
|
9352 |
Corresponds to NAM Indicator 'TMSI_CODE(s-p)' */
|
|
9353 |
ETmsiCode,
|
|
9354 |
/** The expiration time used to automatically delete the assigned TMSI
|
|
9355 |
Corresponds to NAM Indicator 'TMSI_EXP_TIME(s-p)' */
|
|
9356 |
ETmsiExpTime,
|
|
9357 |
/** Mobile station's home System Id for 800MHz analog operation
|
|
9358 |
Corresponds to NAM Indicator 'HOME_SID(p)' */
|
|
9359 |
EHomeSystemIdAnalog,
|
|
9360 |
/** Mobile station's home System Id
|
|
9361 |
Corresponds to NAM Indicator 'SID(p)' */
|
|
9362 |
EHomeSystemId,
|
|
9363 |
/** Mobile station's home Network Id
|
|
9364 |
Corresponds to NAM Indicator 'NID(p)' */
|
|
9365 |
EHomeNetworkId,
|
|
9366 |
/** Mobile station is configured to receive mobile station terminated calls when
|
|
9367 |
using a home (SID, NID) pair
|
|
9368 |
Corresponds to NAM Indicator 'MOB_TERM_HOME(p)' */
|
|
9369 |
EReceiveCallsHome,
|
|
9370 |
/** The mobile station is configured to receive mobile station terminated calls when
|
|
9371 |
it is a foreign SID roamer
|
|
9372 |
Corresponds to NAM Indicator 'MOB_TERM_FOR_SID(p)' */
|
|
9373 |
EReceiveCallsForeignSystem,
|
|
9374 |
/** The mobile station is configured to receive mobile station terminated calls when
|
|
9375 |
it is a foreign NID roamer
|
|
9376 |
Corresponds to NAM Indicator 'MOB_TERM_FOR_NID(p)' */
|
|
9377 |
EReceiveCallsForeignNetwork,
|
|
9378 |
/** A TSY may use this as the first TSY-defined non-standard NAM parameter */
|
|
9379 |
ENumStandardNamParameters
|
|
9380 |
};
|
|
9381 |
|
|
9382 |
class TMobileNamEntryV4 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
|
|
9383 |
/**
|
|
9384 |
Defines contents of a NAM store entry
|
|
9385 |
|
|
9386 |
The differences between the original TMobileNamEntryV1, and updated TMobileNamEntryV4 are:
|
|
9387 |
- the maximum mobile NAM parameter size is KMaxNamParamSize(64) for TMobileNamEntryV1
|
|
9388 |
and KMaxNamParamSizeV4(256) for TMobileNamEntryV4
|
|
9389 |
- TMobileNamEntryV4 defines a set of standard NAM parameters for the iParamIdentifier as
|
|
9390 |
described in 3GPP2 C.S0005-A appendix F.3
|
|
9391 |
|
|
9392 |
@publishedPartner
|
|
9393 |
@released
|
|
9394 |
*/
|
|
9395 |
{
|
|
9396 |
public:
|
|
9397 |
IMPORT_C TMobileNamEntryV4();
|
|
9398 |
public:
|
|
9399 |
void InternalizeL(RReadStream& aStream);
|
|
9400 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9401 |
public:
|
|
9402 |
/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfo::iNamCount-1.
|
|
9403 |
|
|
9404 |
Modes: CDMA */
|
|
9405 |
TInt iNamId;
|
|
9406 |
|
|
9407 |
/** The identifier of the NAM parameter to be accessed.
|
|
9408 |
iParamIdentifier will be a TStandardNamParameters value if a standard NAM parameter is being accessed,
|
|
9409 |
however a TSY may support and define NAM parameters in addition to those given by TStandardNamParameters
|
|
9410 |
Modes: CDMA */
|
|
9411 |
TInt iParamIdentifier;
|
|
9412 |
|
|
9413 |
/** The data contents of the selected parameter.
|
|
9414 |
|
|
9415 |
Modes: CDMA
|
|
9416 |
|
|
9417 |
@see KMaxNamParamSizeV4 */
|
|
9418 |
TBuf8<KMaxNamParamSizeV4> iData;
|
|
9419 |
};
|
|
9420 |
|
|
9421 |
/** A typedef'd packaged TMobileNamEntryV4 for passing through a generic API member
|
|
9422 |
function. */
|
|
9423 |
typedef TPckg<TMobileNamEntryV4> TMobileNamEntryV4Pckg;
|
|
9424 |
|
|
9425 |
IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamList* aNamList) const;
|
|
9426 |
IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamListV4* aNamList) const;
|
|
9427 |
|
|
9428 |
protected:
|
|
9429 |
IMPORT_C void ConstructL();
|
|
9430 |
private:
|
|
9431 |
RMobileNamStore(const RMobileNamStore&);
|
|
9432 |
};
|
|
9433 |
|
|
9434 |
|
|
9435 |
/*********************************************************/
|
|
9436 |
//
|
|
9437 |
// Own Number Storage (RMobileONStore)
|
|
9438 |
//
|
|
9439 |
/*********************************************************/
|
|
9440 |
|
|
9441 |
|
|
9442 |
|
|
9443 |
class CONStorePtrHolder;
|
|
9444 |
class CMobilePhoneONList;
|
|
9445 |
|
|
9446 |
class RMobileONStore : public RMobilePhoneStore
|
|
9447 |
/**
|
|
9448 |
Provides client access to Own Number storage functionality provided by TSY
|
|
9449 |
|
|
9450 |
*/
|
|
9451 |
{
|
|
9452 |
public:
|
|
9453 |
IMPORT_C RMobileONStore();
|
|
9454 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
9455 |
IMPORT_C void Close();
|
|
9456 |
|
|
9457 |
|
|
9458 |
|
|
9459 |
class TMobileONStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
|
|
9460 |
/**
|
|
9461 |
Defines information about an Own Number store
|
|
9462 |
|
|
9463 |
@publishedPartner
|
|
9464 |
@released
|
|
9465 |
*/
|
|
9466 |
{
|
|
9467 |
public:
|
|
9468 |
IMPORT_C TMobileONStoreInfoV1();
|
|
9469 |
public:
|
|
9470 |
/** The maximum length of the own phone number can be. */
|
|
9471 |
TInt iNumberLen;
|
|
9472 |
/** The maximum length the text field can be. */
|
|
9473 |
TInt iTextLen;
|
|
9474 |
};
|
|
9475 |
|
|
9476 |
/** A typedef'd packaged TMobileONStoreInfoV1 for passing through a generic API
|
|
9477 |
member function. */
|
|
9478 |
typedef TPckg<TMobileONStoreInfoV1> TMobileONStoreInfoV1Pckg;
|
|
9479 |
|
|
9480 |
enum
|
|
9481 |
{
|
|
9482 |
KOwnNumberTextSize = 20
|
|
9483 |
};
|
|
9484 |
|
|
9485 |
|
|
9486 |
|
|
9487 |
class TMobileONEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
|
|
9488 |
/**
|
|
9489 |
Defines contents of a Own Number store entry
|
|
9490 |
|
|
9491 |
@publishedPartner
|
|
9492 |
@released
|
|
9493 |
*/
|
|
9494 |
{
|
|
9495 |
public:
|
|
9496 |
IMPORT_C TMobileONEntryV1();
|
|
9497 |
public:
|
|
9498 |
void InternalizeL(RReadStream& aStream);
|
|
9499 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9500 |
public:
|
|
9501 |
/** Network mode. */
|
|
9502 |
RMobilePhone::TMobilePhoneNetworkMode iMode;
|
|
9503 |
/** Mobile call service type.
|
|
9504 |
|
|
9505 |
@see RMobilePhone::TMobileService */
|
|
9506 |
RMobilePhone::TMobileService iService;
|
|
9507 |
/** Own number.
|
|
9508 |
|
|
9509 |
@see RMobilePhone::TMobileAddress */
|
|
9510 |
RMobilePhone::TMobileAddress iNumber;
|
|
9511 |
/** The name-tag associated with own number (e.g. "Voice Number"). */
|
|
9512 |
TBuf<KOwnNumberTextSize> iText;
|
|
9513 |
};
|
|
9514 |
|
|
9515 |
/** A typedef'd packaged TMobileONEntryV1 for passing through a generic API member
|
|
9516 |
function. */
|
|
9517 |
typedef TPckg<TMobileONEntryV1> TMobileONEntryV1Pckg;
|
|
9518 |
|
|
9519 |
IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, CMobilePhoneONList* aONList) const;
|
|
9520 |
|
|
9521 |
protected:
|
|
9522 |
IMPORT_C void ConstructL();
|
|
9523 |
private:
|
|
9524 |
RMobileONStore(const RMobileONStore&);
|
|
9525 |
};
|
|
9526 |
|
|
9527 |
/*********************************************************/
|
|
9528 |
//
|
|
9529 |
// Emergency Number Storage (RMobileENStore)
|
|
9530 |
//
|
|
9531 |
/*********************************************************/
|
|
9532 |
|
|
9533 |
|
|
9534 |
|
|
9535 |
class CMobilePhoneENList;
|
|
9536 |
|
|
9537 |
class RMobileENStore : public RMobilePhoneStore
|
|
9538 |
/**
|
|
9539 |
Provides client access to Emergency Number storage functionality provided by TSY
|
|
9540 |
|
|
9541 |
*/
|
|
9542 |
{
|
|
9543 |
public:
|
|
9544 |
IMPORT_C RMobileENStore();
|
|
9545 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
9546 |
IMPORT_C void Close();
|
|
9547 |
|
|
9548 |
enum
|
|
9549 |
{
|
|
9550 |
KEmergencyNumberSize = 6,
|
|
9551 |
KEmergencyAlphaTagSize = 20
|
|
9552 |
};
|
|
9553 |
|
|
9554 |
/** Enumerated list of Emergency Number entries.
|
|
9555 |
|
|
9556 |
Mode: WCDMA */
|
|
9557 |
enum TMobilePhoneENServiceCategory
|
|
9558 |
{
|
|
9559 |
/** This number provides emergency care by the police department. */
|
|
9560 |
KServiceCatPolice =0x0001,
|
|
9561 |
/** This number provides emergency care by the ambulance department. */
|
|
9562 |
KServiceCatAmbulance =0x0002,
|
|
9563 |
/** This number provides emergency care by the fire brigade department. */
|
|
9564 |
KServiceCatFireBrigade =0x0004,
|
|
9565 |
/** This number provides emergency care by the marine guard department. */
|
|
9566 |
KServiceCatMarineGuard =0x0008,
|
|
9567 |
/** This number provides emergency care by the mountain rescue department. */
|
|
9568 |
KServiceCatMountainRescue =0x0010
|
|
9569 |
// Reserved types: 0x0020,0x0040,
|
|
9570 |
};
|
|
9571 |
|
|
9572 |
|
|
9573 |
|
|
9574 |
/** Buffer to hold the emergency number in. */
|
|
9575 |
typedef TBuf<KEmergencyNumberSize> TEmergencyNumber;
|
|
9576 |
|
|
9577 |
class TMobileENEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
|
|
9578 |
/**
|
|
9579 |
Defines contents of a Emergency Number store entry
|
|
9580 |
@publishedPartner
|
|
9581 |
@released
|
|
9582 |
*/
|
|
9583 |
{
|
|
9584 |
public:
|
|
9585 |
IMPORT_C TMobileENEntryV1();
|
|
9586 |
public:
|
|
9587 |
void InternalizeL(RReadStream& aStream);
|
|
9588 |
void ExternalizeL(RWriteStream& aStream) const;
|
|
9589 |
public:
|
|
9590 |
/** Indicates whether the emergency number is applicable in all situations (=EFalse)
|
|
9591 |
or only when the MS is registered to a specific GSM or CDMA network (=ETrue). */
|
|
9592 |
TBool iNetworkSpecific;
|
|
9593 |
/** The network mode. Only applicable if iNetworkSpecific equals ETrue.
|
|
9594 |
|
|
9595 |
Modes: Common
|
|
9596 |
|
|
9597 |
@see RMobilePhone::TMobilePhoneNetworkMode */
|
|
9598 |
RMobilePhone::TMobilePhoneNetworkMode iMode;
|
|
9599 |
/** Country code. Only applicable if iNetworkSpecific equals ETrue.
|
|
9600 |
|
|
9601 |
Modes: Common
|
|
9602 |
|
|
9603 |
@see RMobilePhone::TMobilePhoneNetworkCountryCode */
|
|
9604 |
RMobilePhone::TMobilePhoneNetworkCountryCode iCountryCode;
|
|
9605 |
/** Network identity. Only applicable if iNetworkSpecific equals ETrue.
|
|
9606 |
|
|
9607 |
Modes: Common
|
|
9608 |
|
|
9609 |
@see RMobilePhone::TMobilePhoneNetworkIdentity */
|
|
9610 |
RMobilePhone::TMobilePhoneNetworkIdentity iIdentity;
|
|
9611 |
/** Emergency number.
|
|
9612 |
|
|
9613 |
Modes: Common
|
|
9614 |
|
|
9615 |
@see TEmergencyNumber */
|
|
9616 |
TEmergencyNumber iNumber;
|
|
9617 |
/** Emergency call number type. It is used to display information about the dialed
|
|
9618 |
emergency number (e.g. "Police", "Ambulance", "Fire brigade", etc.)
|
|
9619 |
|
|
9620 |
Modes: WCDMA */
|
|
9621 |
TBuf<KEmergencyAlphaTagSize> iAlphaId;
|
|
9622 |
//TInt should map to TMobilePhoneENServiceCategory.
|
|
9623 |
//It was not changed to maintain source compatibility
|
|
9624 |
|
|
9625 |
/** Emergency call type indicator, which contains information to be sent to the
|
|
9626 |
network indicating the type of emergency call.
|
|
9627 |
|
|
9628 |
The field is for future reference only and it is set to RFU (Reserved for
|
|
9629 |
Future Use) as it is currently not being used, as specified in section 4.2.21
|
|
9630 |
TS 31.102 v3.3.0 Rel 99.
|
|
9631 |
|
|
9632 |
Modes: WCDMA */
|
|
9633 |
TInt iCallType;
|
|
9634 |
};
|
|
9635 |
|
|
9636 |
typedef TPckg<TMobileENEntryV1> TMobileENEntryV1Pckg;
|
|
9637 |
|
|
9638 |
protected:
|
|
9639 |
IMPORT_C void ConstructL();
|
|
9640 |
private:
|
|
9641 |
RMobileENStore(const RMobileENStore&);
|
|
9642 |
};
|
|
9643 |
|
|
9644 |
|
|
9645 |
/*********************************************************/
|
|
9646 |
//
|
|
9647 |
// RMobilePhoneBookStore
|
|
9648 |
//
|
|
9649 |
/*********************************************************/
|
|
9650 |
|
|
9651 |
|
|
9652 |
|
|
9653 |
class CPhoneBookStorePtrHolder;
|
|
9654 |
class CMobilePhoneBookList;
|
|
9655 |
|
|
9656 |
class RMobilePhoneBookStore : public RMobilePhoneStore
|
|
9657 |
/** Provides member functions for clients to access phone
|
|
9658 |
books that are stored in ICC memory or in non-volatile memory on the phone
|
|
9659 |
itself. This sub-session and the member functions within this section must
|
|
9660 |
be supported if the TSY indicates that it supports the MobilePhonebookStore
|
|
9661 |
functional unit.
|
|
9662 |
@publishedPartner
|
|
9663 |
@released
|
|
9664 |
*/
|
|
9665 |
{
|
|
9666 |
public:
|
|
9667 |
IMPORT_C RMobilePhoneBookStore();
|
|
9668 |
IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore);
|
|
9669 |
IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore, const TDesC& aMode);
|
|
9670 |
IMPORT_C void Close();
|
|
9671 |
|
|
9672 |
/** Describes the specialized phone book capabilities.
|
|
9673 |
|
|
9674 |
Modes: Common */
|
|
9675 |
enum TMobilePhoneBookCaps
|
|
9676 |
{
|
|
9677 |
/** New entries can only be written to (or deleted from) the phone book with the
|
|
9678 |
PIN2 password or equivalent.
|
|
9679 |
|
|
9680 |
Modes: Common */
|
|
9681 |
KCapsRestrictedWriteAccess = 0x00000001,
|
|
9682 |
/** The phonebook supports the second name field.
|
|
9683 |
|
|
9684 |
Modes: WCDMA */
|
|
9685 |
KCapsSecondNameUsed = 0x00000002,
|
|
9686 |
/** The phonebook supports the additional number (with optional Text, TON, NPI
|
|
9687 |
and Bearer Capability) field.
|
|
9688 |
|
|
9689 |
Modes: WCDMA */
|
|
9690 |
KCapsAdditionalNumUsed = 0x00000004,
|
|
9691 |
/** The phonebook supports the group name field.
|
|
9692 |
|
|
9693 |
Modes: WCDMA */
|
|
9694 |
KCapsGroupingUsed = 0x00000008,
|
|
9695 |
/** The phonebook supports entry control and hidden flag fields.
|
|
9696 |
|
|
9697 |
Modes: WCDMA */
|
|
9698 |
KCapsEntryControlUsed = 0x00000010,
|
|
9699 |
/** The phonebook supports the email address field.
|
|
9700 |
|
|
9701 |
Modes: WCDMA */
|
|
9702 |
KCapsEmailAddressUsed = 0x00000020,
|
|
9703 |
/** The phonebook supports the bearer capability IE field.
|
|
9704 |
|
|
9705 |
Modes: WCDMA */
|
|
9706 |
KCapsBearerCapUsed = 0x00000040,
|
|
9707 |
/** The phonebook supports retrieval of the phonebook's PBID and Change Counter
|
|
9708 |
- and for each entry its UID field.
|
|
9709 |
|
|
9710 |
Modes: WCDMA */
|
|
9711 |
KCapsSynchronisationUsed = 0x00000080
|
|
9712 |
};
|
|
9713 |
|
|
9714 |
/** Described the location of the phone book.
|
|
9715 |
|
|
9716 |
Modes: Common for all */
|
|
9717 |
enum TMobilePhoneBookLocation
|
|
9718 |
{
|
|
9719 |
/** The phonebook's location is unknown. */
|
|
9720 |
ELocationUnknown,
|
|
9721 |
/** The phonebook is located in ICC (SIM/R-UIM) memory. */
|
|
9722 |
ELocationIccMemory,
|
|
9723 |
/** The phonebook is located in Phone (ME) memory. */
|
|
9724 |
ELocationPhoneMemory,
|
|
9725 |
/** The phonebook is located in an external memory. */
|
|
9726 |
ELocationExternalMemory,
|
|
9727 |
/** The phonebook entries are dispersed over a combination of memory locations. */
|
|
9728 |
ELocationCombinedMemory
|
|
9729 |
};
|
|
9730 |
|
|
9731 |
enum
|
|
9732 |
{
|
|
9733 |
KMaxPBIDSize=15
|
|
9734 |
};
|
|
9735 |
|
|
9736 |
/** Defines a modifiable buffer descriptor to contain the phone book identity.
|
|
9737 |
Used in TMobilePhoneBookInfoV1. */
|
|
9738 |
typedef TBuf8<KMaxPBIDSize> TMobilePhoneBookIdentity;
|
|
9739 |
|
|
9740 |
|
|
9741 |
|
|
9742 |
class TMobilePhoneBookInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
|
|
9743 |
/**
|
|
9744 |
Defines information about a Phonebook store.
|
|
9745 |
@publishedPartner
|
|
9746 |
@released
|
|
9747 |
*/
|
|
9748 |
{
|
|
9749 |
public:
|
|
9750 |
/** Trivial constructor. Initializes iMaxNumLength=-1; iMaxTextLength=-1; iLocation=ELocationUnknown;
|
|
9751 |
iChangeCounter=0; iExtensionId=KETelMobilePhonebookStoreV1; */
|
|
9752 |
IMPORT_C TMobilePhoneBookInfoV1();
|
|
9753 |
public:
|
|
9754 |
/** The maximum number of characters for the number in a phonebook entry.
|
|
9755 |
|
|
9756 |
Modes: Common */
|
|
9757 |
TInt iMaxNumLength;
|
|
9758 |
/** The maximum number of characters for the text tag in a phonebook entry.
|
|
9759 |
|
|
9760 |
Modes: Common */
|
|
9761 |
TInt iMaxTextLength;
|
|
9762 |
/** The memory location of this phonebook.
|
|
9763 |
|
|
9764 |
Modes: Common
|
|
9765 |
|
|
9766 |
@see TMobilePhoneBookLocation */
|
|
9767 |
TMobilePhoneBookLocation iLocation;
|
|
9768 |
/** The contents of the Change Counter file in a USIM phonebook.
|
|
9769 |
|
|
9770 |
Modes: WCDMA */
|
|
9771 |
TUint16 iChangeCounter;
|
|
9772 |
/** A unique identity for this type of phonebook.
|
|
9773 |
|
|
9774 |
If this is a SIM or R-UIM phonebook then it will equal the ICCID of the card.
|
|
9775 |
|
|
9776 |
If this is a USIM phonebook then it will equal the PBID of the phonebook.
|
|
9777 |
|
|
9778 |
Modes: Common
|
|
9779 |
|
|
9780 |
@see TMobilePhoneBookIdentity */
|
|
9781 |
TMobilePhoneBookIdentity iIdentity;
|
|
9782 |
};
|
|
9783 |
|
|
9784 |
/** Packages the TMobilePhoneBookInfoV1 into a TMobilePhoneBookInfoV1Pckg. */
|
|
9785 |
typedef TPckg<TMobilePhoneBookInfoV1> TMobilePhoneBookInfoV1Pckg;
|
|
9786 |
|
|
9787 |
|
|
9788 |
class TMobilePhoneBookInfoV2 : public TMobilePhoneBookInfoV1
|
|
9789 |
/** Defines information about a Phonebook store for version v2.0 of the API.
|
|
9790 |
@publishedPartner
|
|
9791 |
@released */
|
|
9792 |
{
|
|
9793 |
public:
|
|
9794 |
IMPORT_C TMobilePhoneBookInfoV2();
|
|
9795 |
public:
|
|
9796 |
/** The type of the phonebook which relates to its location (ICC/UICC/CDMA).
|
|
9797 |
|
|
9798 |
Mode: Common */
|
|
9799 |
TName iPhBkMode;
|
|
9800 |
};
|
|
9801 |
|
|
9802 |
/** Packages the TMobilePhoneBookInfoV2 into a TMobilePhoneBookInfoV1Pckg. */
|
|
9803 |
typedef TPckg<TMobilePhoneBookInfoV2> TMobilePhoneBookInfoV2Pckg;
|
|
9804 |
|
|
9805 |
|
|
9806 |
/** Defines information about a Phonebook store for version v5.0 of the API.
|
|
9807 |
|
|
9808 |
Extends the v2.0 API to allow additional information about the phonebook
|
|
9809 |
(Maximum number of second name fields, Maximum number of additional number fields,
|
|
9810 |
Maximum number of additional group name fields, Maximum number of email address fields)
|
|
9811 |
to be retieved where available.
|
|
9812 |
|
|
9813 |
@publishedPartner
|
|
9814 |
@released*/
|
|
9815 |
class TMobilePhoneBookInfoV5 : public TMobilePhoneBookInfoV2
|
|
9816 |
{
|
|
9817 |
public:
|
|
9818 |
IMPORT_C TMobilePhoneBookInfoV5();
|
|
9819 |
public:
|
|
9820 |
/** The maximum number of Second Name fields that can be used. */
|
|
9821 |
TInt iMaxSecondNames;
|
|
9822 |
|
|
9823 |
/** The maximum text length for Second Name fields. */
|
|
9824 |
TInt iMaxTextLengthSecondName;
|
|
9825 |
|
|
9826 |
/** The maximum number of additional number fields that can be used. */
|
|
9827 |
TInt iMaxAdditionalNumbers;
|
|
9828 |
|
|
9829 |
/** The maximum number length for Additional Number fields. */
|
|
9830 |
TInt iMaxNumLengthAdditionalNumber;
|
|
9831 |
|
|
9832 |
/** The maximum text length for Additonal Number fields. */
|
|
9833 |
TInt iMaxTextLengthAdditionalNumber;
|
|
9834 |
|
|
9835 |
/** The maximum number of additional Group Name fields that can be used. */
|
|
9836 |
TInt iMaxGroupNames;
|
|
9837 |
|
|
9838 |
/** The maximum text length for Group Name fields. */
|
|
9839 |
TInt iMaxTextLengthGroupName;
|
|
9840 |
|
|
9841 |
/** The maximum number of additional E-Mail address fields that can be used. */
|
|
9842 |
TInt iMaxEmailAddr;
|
|
9843 |
|
|
9844 |
/** The maximum text length for Email Address fields. */
|
|
9845 |
TInt iMaxTextLengthEmailAddr;
|
|
9846 |
};
|
|
9847 |
|
|
9848 |
/** Packages the TMobilePhoneBookInfoV5 into a TMobilePhoneBookInfoV5Pckg. */
|
|
9849 |
typedef TPckg<TMobilePhoneBookInfoV5> TMobilePhoneBookInfoV5Pckg;
|
|
9850 |
|
|
9851 |
|
|
9852 |
// check these fields - not sure all are correct
|
|
9853 |
/** The following Tag IDs are used to encode/decode the phonebook entries to/from
|
|
9854 |
the TLV format. Each field will have a unique identifier and will be followed
|
|
9855 |
by the field length. The type of data associated with the field is also specified
|
|
9856 |
below.
|
|
9857 |
|
|
9858 |
Some fields do not have any data and just serve as separators within the buffer
|
|
9859 |
- in these cases the Data Type column is set to not applicable (n/a).
|
|
9860 |
|
|
9861 |
Modes: Common */
|
|
9862 |
enum TMobilePBFieldTags
|
|
9863 |
{
|
|
9864 |
/** Tag id for the beginning of a new phonebook entry.
|
|
9865 |
|
|
9866 |
Data type: n/a.
|
|
9867 |
|
|
9868 |
Modes: Common */
|
|
9869 |
ETagPBNewEntry =0xA0,
|
|
9870 |
/** Tag id for the Unique ID field.
|
|
9871 |
|
|
9872 |
Data type: TUint16
|
|
9873 |
|
|
9874 |
Modes: WCDMA */
|
|
9875 |
ETagPBUniqueId =0xB0,
|
|
9876 |
/** Tag id for the Index within the ADN record.
|
|
9877 |
|
|
9878 |
Data type: TUint16
|
|
9879 |
|
|
9880 |
Modes: Common */
|
|
9881 |
ETagPBAdnIndex =0xC0,
|
|
9882 |
/** Tag id for a Text field within the ADN/ANR record.
|
|
9883 |
|
|
9884 |
Data type: TDes16
|
|
9885 |
|
|
9886 |
Modes: Common */
|
|
9887 |
ETagPBText =0xC1,
|
|
9888 |
/** Tag id for a Number field within the ADN/ANR record.
|
|
9889 |
|
|
9890 |
Data type: TDes16
|
|
9891 |
|
|
9892 |
Modes: Common */
|
|
9893 |
ETagPBNumber =0xC2,
|
|
9894 |
/** Tag id for a TON/NPI byte within the ADN/ANR record.
|
|
9895 |
|
|
9896 |
Data type: TUint8
|
|
9897 |
|
|
9898 |
Modes: Common */
|
|
9899 |
ETagPBTonNpi =0xC3,
|
|
9900 |
/** Tag id for a Bearer Capability IE associated to the ADN/ANR record.
|
|
9901 |
|
|
9902 |
Data type: TDes8
|
|
9903 |
|
|
9904 |
Modes: GSM/WCDMA */
|
|
9905 |
ETagPBBearerCap =0xC4,
|
|
9906 |
/** Tag id for the beginning of an Additional Number entry within the phonebook
|
|
9907 |
entry.
|
|
9908 |
|
|
9909 |
Data type: n/a
|
|
9910 |
|
|
9911 |
Modes: WCDMA */
|
|
9912 |
ETagPBAnrStart =0xC5,
|
|
9913 |
/** Tag id for the Second Name associated to the ADN record.
|
|
9914 |
|
|
9915 |
Data type: TDes16
|
|
9916 |
|
|
9917 |
Modes: WCDMA */
|
|
9918 |
ETagPBSecondName =0xC6,
|
|
9919 |
/** Tag id for a Group Name associated to the ADN record.
|
|
9920 |
|
|
9921 |
Data type:TDes16
|
|
9922 |
|
|
9923 |
Modes: WCDMA */
|
|
9924 |
ETagPBGroupName =0xC7,
|
|
9925 |
/** Tag id for an Email Address associated to the ADN record.
|
|
9926 |
|
|
9927 |
Data type: TDes16
|
|
9928 |
|
|
9929 |
Modes: WCDMA */
|
|
9930 |
ETagPBEmailAddress =0xC8,
|
|
9931 |
/** Tag id for the Entry Control byte associated to the ADN record.
|
|
9932 |
|
|
9933 |
Data type: TUint8
|
|
9934 |
|
|
9935 |
Modes: WCDMA */
|
|
9936 |
ETagPBEntryControl =0xC9,
|
|
9937 |
/** Tag id for the Hidden Information byte associated to the ADN record.
|
|
9938 |
|
|
9939 |
Data type: TUint8
|
|
9940 |
|
|
9941 |
Modes: WCDMA */
|
|
9942 |
ETagPBHiddenInfo =0xCA,
|
|
9943 |
ETagPBDateTime =0xCB,
|
|
9944 |
ETagPBDuration =0xCC,
|
|
9945 |
ETagPBCallStatus =0xCD,
|
|
9946 |
ETagPBEntryStatus =0xCE
|
|
9947 |
};
|
|
9948 |
|
|
9949 |
|
|
9950 |
// API/TSY internal type
|
|
9951 |
struct TPBIndexAndNumEntries
|
|
9952 |
/** A structure to hold the phone book index and number of entries. */
|
|
9953 |
{
|
|
9954 |
/** Index for the phone book. */
|
|
9955 |
TInt iIndex;
|
|
9956 |
TInt iNumSlots;
|
|
9957 |
};
|
|
9958 |
|
|
9959 |
IMPORT_C void Read(TRequestStatus& aReqStatus, TInt aIndex, TInt aNumSlots, TDes8& aPBData) const;
|
|
9960 |
IMPORT_C void Write(TRequestStatus& aReqStatus, const TDesC8& aPBData, TInt& aIndex) const;
|
|
9961 |
|
|
9962 |
protected:
|
|
9963 |
IMPORT_C void ConstructL();
|
|
9964 |
private:
|
|
9965 |
RMobilePhoneBookStore(const RMobilePhoneBookStore&);
|
|
9966 |
};
|
|
9967 |
|
|
9968 |
/*********************************************************/
|
|
9969 |
//
|
|
9970 |
// RMobileConferenceCall
|
|
9971 |
//
|
|
9972 |
/*********************************************************/
|
|
9973 |
|
|
9974 |
|
|
9975 |
|
|
9976 |
class CMobileConferenceCallPtrHolder;
|
|
9977 |
|
|
9978 |
class RMobileConferenceCall : public RTelSubSessionBase
|
|
9979 |
/** Provides access to conference call functionality provided by TSY.
|
|
9980 |
|
|
9981 |
Conference calls allow users to conduct multi-connection voice calls, for example
|
|
9982 |
simultaneous communication to more than one remote party. All participants
|
|
9983 |
within a conference call can hear and speak to each other. There is a controlling
|
|
9984 |
party that initiates and manages the conference.
|
|
9985 |
|
|
9986 |
Conference calling is possible in both GSM and CDMA mode and the actions to
|
|
9987 |
initiate a 3-way conference are the same in either mode. However, GSM conference
|
|
9988 |
calls offer more functionality and the number of remote parties is limited
|
|
9989 |
in CDMA mode to 2 and in GSM mode to 5.
|
|
9990 |
|
|
9991 |
The Multimode ETel API uses a new sub-session called RMobileConferenceCall
|
|
9992 |
as a model for a conference call. The conference call object will be an aggregation
|
|
9993 |
of all the RMobileCall objects that are part of the conference call. It will
|
|
9994 |
be possible for clients to manipulate both the conference call as a whole
|
|
9995 |
and individual calls within a conference call depending on the dynamic capabilities
|
|
9996 |
of each of these objects.
|
|
9997 |
|
|
9998 |
Please note that RMobileConferenceCall is replacing the RCallGroup abstraction
|
|
9999 |
used in the GSM API. This was an optimisation decision. The call group abstraction
|
|
10000 |
placed a large burden on a TSY to create call groups, monitor the calls in
|
|
10001 |
each group and trigger notification when calls were added or moved, probably
|
|
10002 |
even when a conference call was not ongoing. Clients will probably only open
|
|
10003 |
a RMobileConferenceCall when the user has decided to make a conference call
|
|
10004 |
and by having just one object replace three call groups it will also reduce
|
|
10005 |
the number of notifications that would trigger in response to conference call
|
|
10006 |
events. With a view to the future, without call groups there are also no longer
|
|
10007 |
any restrictions to the allowed types of active calls (simultaneous, separate
|
|
10008 |
voice and data calls are possible).
|
|
10009 |
|
|
10010 |
The methods within this section must be supported if the TSY supports MobileConferenceCall
|
|
10011 |
functional unit.
|
|
10012 |
|
|
10013 |
*/
|
|
10014 |
{
|
|
10015 |
public:
|
|
10016 |
IMPORT_C RMobileConferenceCall();
|
|
10017 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
10018 |
IMPORT_C void Close();
|
|
10019 |
|
|
10020 |
/** Conference call capabilities. */
|
|
10021 |
enum TMobileConferenceCallCaps
|
|
10022 |
{
|
|
10023 |
/** Indicates that a conference call can be created. */
|
|
10024 |
KCapsCreate = 0x00000001,
|
|
10025 |
/** Indicates that a conference call can be terminated. */
|
|
10026 |
KCapsHangUp = 0x00000002,
|
|
10027 |
/** Indicates that a conference call exists and can be swapped to the opposite
|
|
10028 |
state (active or hold). */
|
|
10029 |
KCapsSwap = 0x00000004
|
|
10030 |
};
|
|
10031 |
|
|
10032 |
IMPORT_C TInt GetCaps(TUint32& aCaps) const;
|
|
10033 |
IMPORT_C void NotifyCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
|
|
10034 |
|
|
10035 |
IMPORT_C void CreateConference(TRequestStatus& aReqStatus) const;
|
|
10036 |
IMPORT_C void AddCall(TRequestStatus& aReqStatus, const TName& aCallName) const;
|
|
10037 |
IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
|
|
10038 |
IMPORT_C void HangUp(TRequestStatus& aReqStatus) const;
|
|
10039 |
IMPORT_C TInt EnumerateCalls(TInt& aCount) const;
|
|
10040 |
IMPORT_C TInt GetMobileCallInfo(TInt aIndex, TDes8& aCallInfo) const;
|
|
10041 |
|
|
10042 |
/** Conference call status. */
|
|
10043 |
enum TMobileConferenceStatus
|
|
10044 |
{
|
|
10045 |
/** The conference call is in the idle state. */
|
|
10046 |
EConferenceIdle,
|
|
10047 |
/** The conference call is in the active, connected state. */
|
|
10048 |
EConferenceActive,
|
|
10049 |
/** The conference call is in the held, connected state. */
|
|
10050 |
EConferenceHold
|
|
10051 |
};
|
|
10052 |
|
|
10053 |
IMPORT_C TInt GetConferenceStatus(TMobileConferenceStatus& aStatus) const;
|
|
10054 |
IMPORT_C void NotifyConferenceStatusChange(TRequestStatus& aReqStatus, TMobileConferenceStatus& aStatus) const;
|
|
10055 |
|
|
10056 |
/** Conference events. */
|
|
10057 |
enum TMobileConferenceEvent
|
|
10058 |
{
|
|
10059 |
/** A call has been added to the conference. */
|
|
10060 |
EConferenceCallAdded, // Name of the call added returned in aCallName
|
|
10061 |
/** A call has been removed from the conference. */
|
|
10062 |
EConferenceCallRemoved, // Name of the call terminated returned in aCallName
|
|
10063 |
/** Names of the two calls used to build the conference call returned in aCallName. */
|
|
10064 |
EConferenceBuilt, // Names of the two calls used to build the conference call returned in aCallName
|
|
10065 |
/** No name provided */
|
|
10066 |
EConferenceTerminated, // No name provided
|
|
10067 |
/** No name provided. */
|
|
10068 |
EConferenceSwapped, // No name provided
|
|
10069 |
/** Name of the call being seperated. */
|
|
10070 |
EConferenceSplit // Name of the call being seperated
|
|
10071 |
};
|
|
10072 |
|
|
10073 |
IMPORT_C void NotifyConferenceEvent(TRequestStatus& aReqStatus, TMobileConferenceEvent& aEvent, TName& aCallName) const;
|
|
10074 |
|
|
10075 |
private:
|
|
10076 |
CMobileConferenceCallPtrHolder* iMmPtrHolder;
|
|
10077 |
RMobileConferenceCall(const RMobileConferenceCall&);
|
|
10078 |
protected:
|
|
10079 |
IMPORT_C void ConstructL();
|
|
10080 |
IMPORT_C void Destruct();
|
|
10081 |
};
|
|
10082 |
|
|
10083 |
|
|
10084 |
/////////////////////////////////////////////////////////////////////////////////////
|
|
10085 |
//
|
|
10086 |
// EAP-SIM Authentication functional unit
|
|
10087 |
//
|
|
10088 |
/////////////////////////////////////////////////////////////////////////////////////
|
|
10089 |
|
|
10090 |
class CMobileSmartCardEapPtrHolder;
|
|
10091 |
|
|
10092 |
/**
|
|
10093 |
This sub-session opens under RMobilePhone.
|
|
10094 |
|
|
10095 |
RMobileSmartCardEap provides the client with access to a Smart Card
|
|
10096 |
Application's EAP-capability (if one exists).
|
|
10097 |
|
|
10098 |
(See ETSI TS 102.310 v6.2.0 and RFC3748)
|
|
10099 |
|
|
10100 |
To submit authentication challenges or requests, a client must use
|
|
10101 |
CAsyncSmartCardEapAuthentication in conjunction with this sub-session.
|
|
10102 |
|
|
10103 |
@see CAsyncSmartCardEapAuthentication
|
|
10104 |
@publishedPartner
|
|
10105 |
@prototype
|
|
10106 |
*/
|
|
10107 |
class RMobileSmartCardEap : public RTelSubSessionBase
|
|
10108 |
{
|
|
10109 |
friend class CAsyncSmartCardEapAuthentication;
|
|
10110 |
|
|
10111 |
public:
|
|
10112 |
/**
|
|
10113 |
Class encapsulates EAP request packet data for authentication.
|
|
10114 |
|
|
10115 |
@see CAsyncSmartCardEapAuthentication
|
|
10116 |
|
|
10117 |
@publishedPartner
|
|
10118 |
@prototype
|
|
10119 |
*/
|
|
10120 |
class CEapAuthenticateRequestDataV6 : public CBase
|
|
10121 |
{
|
|
10122 |
public:
|
|
10123 |
IMPORT_C static CEapAuthenticateRequestDataV6* NewL();
|
|
10124 |
IMPORT_C virtual void ExternalizeL(TPtr8& aBuffer);
|
|
10125 |
IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
|
|
10126 |
IMPORT_C TUint VersionId() const;
|
|
10127 |
IMPORT_C TPtr8 GetEapReqPacket() const;
|
|
10128 |
IMPORT_C void SetEapReqPacketL(const TDesC8& aData);
|
|
10129 |
IMPORT_C ~CEapAuthenticateRequestDataV6();
|
|
10130 |
|
|
10131 |
private:
|
|
10132 |
CEapAuthenticateRequestDataV6();
|
|
10133 |
void ConstructL();
|
|
10134 |
|
|
10135 |
protected:
|
|
10136 |
/**
|
|
10137 |
ETelMM's supported version.
|
|
10138 |
*/
|
|
10139 |
TUint iVersionId;
|
|
10140 |
|
|
10141 |
public:
|
|
10142 |
/**
|
|
10143 |
EAP-request packet in a flat buffer.
|
|
10144 |
*/
|
|
10145 |
CBufFlat* iEapReqPacket;
|
|
10146 |
};
|
|
10147 |
|
|
10148 |
IMPORT_C RMobileSmartCardEap();
|
|
10149 |
|
|
10150 |
/**
|
|
10151 |
EAP types are represented by one byte for standard EAP methods, and
|
|
10152 |
eight bytes for extended methods. Each byte specified in the
|
|
10153 |
TEapType buffer should represent one semi-octet. Therefore, a
|
|
10154 |
maximum of 16-chars are needed for representing any possible EAP
|
|
10155 |
type. (See section 5.2 of ETSI TS 102.310 v6.2.0.)
|
|
10156 |
|
|
10157 |
@see RMobileSmartCardEap::TEapType
|
|
10158 |
|
|
10159 |
@publishedPartner
|
|
10160 |
@prototype
|
|
10161 |
*/
|
|
10162 |
enum { KEapTypeSize = 16 };
|
|
10163 |
|
|
10164 |
/**
|
|
10165 |
A typedef'd buffer to hold the EAP type for the subsequent
|
|
10166 |
authentication that will be carried out on the Smart Card
|
|
10167 |
Application.
|
|
10168 |
|
|
10169 |
The value specified must correspond to the pre-allocated type
|
|
10170 |
identifiers for various EAPs (see
|
|
10171 |
http://www.iana.org/assignments/eap-numbers). Some known values
|
|
10172 |
are given in etelmm.h.
|
|
10173 |
|
|
10174 |
The type must be specified in hexadecimal format, where each
|
|
10175 |
character represents one semi-octet.
|
|
10176 |
|
|
10177 |
@see KETelSmartCardEapTypeMD5
|
|
10178 |
@see KETelSmartCardEapTypeTLS
|
|
10179 |
@see KETelSmartCardEapTypeSIM
|
|
10180 |
@see KETelSmartCardEapTypeAKA
|
|
10181 |
@see KETelSmartCardEapTypeTTLS
|
|
10182 |
@see RMobileSmartCardEap::Open()
|
|
10183 |
|
|
10184 |
@publishedPartner
|
|
10185 |
@prototype
|
|
10186 |
*/
|
|
10187 |
typedef TBuf8<KEapTypeSize> TEapType;
|
|
10188 |
|
|
10189 |
IMPORT_C TInt Open(RMobilePhone& aPhone, const RMobilePhone::TAID& aAID, const TEapType& aEapType);
|
|
10190 |
IMPORT_C void InitialiseEapMethod(TRequestStatus& aReqStatus);
|
|
10191 |
IMPORT_C void Close();
|
|
10192 |
|
|
10193 |
/**
|
|
10194 |
Authentication status of the EAP supporting UICC application (See
|
|
10195 |
section 7.2 of ETSI TS 102.310 v6.2.0). One of these values is
|
|
10196 |
returned on completion of an
|
|
10197 |
RMobileSmartCardEap::GetAuthenticationStatus() request.
|
|
10198 |
|
|
10199 |
@see RMobileSmartCardEap::GetAuthenticationStatus()
|
|
10200 |
|
|
10201 |
@publishedPartner
|
|
10202 |
@prototype
|
|
10203 |
*/
|
|
10204 |
enum TEapAuthStatus
|
|
10205 |
{
|
|
10206 |
/**
|
|
10207 |
No authentication started
|
|
10208 |
*/
|
|
10209 |
ENoAuthStarted, // 0
|
|
10210 |
/**
|
|
10211 |
Authenticating
|
|
10212 |
*/
|
|
10213 |
EAuthenticating, // 1
|
|
10214 |
/**
|
|
10215 |
Authentication complete
|
|
10216 |
*/
|
|
10217 |
EAuthenticated, // 2
|
|
10218 |
/**
|
|
10219 |
Held (authentication failure)
|
|
10220 |
*/
|
|
10221 |
EHeld // 3
|
|
10222 |
};
|
|
10223 |
|
|
10224 |
IMPORT_C void GetAuthenticationStatus(TRequestStatus& aReqStatus, TEapAuthStatus& aAuthStatus);
|
|
10225 |
|
|
10226 |
/**
|
|
10227 |
TEapUserIdType should be used to request an identity from EF_PUId
|
|
10228 |
or EF_Ps, when making an RMobileSmartCardEap::GetUserIdentity()
|
|
10229 |
request.
|
|
10230 |
(See sections 7.3 and 7.4, respectively, of ETSI TS 102.310 v6.2.0,
|
|
10231 |
and RFC2486 - The Network Access Identifier).
|
|
10232 |
|
|
10233 |
@see RMobileSmartCardEap::GetUserIdentity()
|
|
10234 |
@see RMobileSmartCardEap::TEapUserIdentityV6
|
|
10235 |
|
|
10236 |
@publishedPartner
|
|
10237 |
@prototype
|
|
10238 |
*/
|
|
10239 |
enum TEapUserIdType
|
|
10240 |
{
|
|
10241 |
/** Identity is permanent type */
|
|
10242 |
EPermanentIdentity, // 0
|
|
10243 |
/** Identity is pseudonym type */
|
|
10244 |
EPseudonymIdentity // 1
|
|
10245 |
};
|
|
10246 |
|
|
10247 |
/**
|
|
10248 |
Maximum permitted size of identity data.
|
|
10249 |
*/
|
|
10250 |
enum { KEapIdentityMaxSize = 255 };
|
|
10251 |
|
|
10252 |
/**
|
|
10253 |
EAP User Identity data. Ids are stored in EF_PUId or EF_Ps
|
|
10254 |
(specified in sections 7.3 and 7.4, respectively, of ETSI TS
|
|
10255 |
102.310 v6.2.0).
|
|
10256 |
|
|
10257 |
@see RMobileSmartCardEap::GetUserIdentity()
|
|
10258 |
|
|
10259 |
@publishedPartner
|
|
10260 |
@prototype
|
|
10261 |
*/
|
|
10262 |
class TEapUserIdentityV6 : public RMobilePhone::TMultimodeType
|
|
10263 |
{
|
|
10264 |
public:
|
|
10265 |
IMPORT_C TEapUserIdentityV6();
|
|
10266 |
public:
|
|
10267 |
/**
|
|
10268 |
EAP-IDENTITY Data.
|
|
10269 |
*/
|
|
10270 |
TBuf8<KEapIdentityMaxSize> iEapId;
|
|
10271 |
};
|
|
10272 |
|
|
10273 |
/**
|
|
10274 |
A typedef'd packaged TEapUserIdentityV6 for passing through a
|
|
10275 |
generic API method.
|
|
10276 |
|
|
10277 |
@publishedPartner
|
|
10278 |
@prototype
|
|
10279 |
*/
|
|
10280 |
typedef TPckg<TEapUserIdentityV6> TEapUserIdentityV6Pckg;
|
|
10281 |
|
|
10282 |
IMPORT_C void GetUserIdentity(TRequestStatus& aReqStatus,
|
|
10283 |
TEapUserIdType aRequestedIdType,
|
|
10284 |
TDes8& aUserId);
|
|
10285 |
|
|
10286 |
/**
|
|
10287 |
TEapKeyV6 should be used to request one of (currently) two keys
|
|
10288 |
available on the EF_EAPKEYS of the UICC application (see section
|
|
10289 |
7.1 of ETSI TS 102.310 v6.2.0). This enumeration type should be
|
|
10290 |
used in RMobileSmartCardEap::GetEapKey() to specify the key to be
|
|
10291 |
retrieved.
|
|
10292 |
|
|
10293 |
@see RMobileSmartCardEap::TEapKeyV6
|
|
10294 |
@see RMobileSmartCardEap::GetEapKey()
|
|
10295 |
|
|
10296 |
@publishedPartner
|
|
10297 |
@prototype
|
|
10298 |
*/
|
|
10299 |
enum TEapKeyTag
|
|
10300 |
{
|
|
10301 |
/**
|
|
10302 |
Used to request Master Session Key.
|
|
10303 |
*/
|
|
10304 |
EEapKeyMSK = 0x80,
|
|
10305 |
/**
|
|
10306 |
Used to request Extended Master Session Key.
|
|
10307 |
*/
|
|
10308 |
EEapKeyEMSK = 0x81
|
|
10309 |
};
|
|
10310 |
|
|
10311 |
/**
|
|
10312 |
Maximum size of an EAP Key stored on the DF_EAP's EF_EAPKEYS.
|
|
10313 |
255 as each key has a length that can be specified by exactly one
|
|
10314 |
byte (see section 7.1 of ETSI TS 102.310 v6.2.0).
|
|
10315 |
|
|
10316 |
@publishedPartner
|
|
10317 |
@prototype
|
|
10318 |
*/
|
|
10319 |
enum { KEapKeyMaxSize = 255 };
|
|
10320 |
|
|
10321 |
/**
|
|
10322 |
EAP authentication key data.
|
|
10323 |
|
|
10324 |
@see RMobileSmartCardEap::GetEapKey()
|
|
10325 |
|
|
10326 |
@publishedPartner
|
|
10327 |
@prototype
|
|
10328 |
*/
|
|
10329 |
class TEapKeyV6 : public RMobilePhone::TMultimodeType
|
|
10330 |
{
|
|
10331 |
public:
|
|
10332 |
IMPORT_C TEapKeyV6();
|
|
10333 |
public:
|
|
10334 |
/**
|
|
10335 |
EAP-KEY Data.
|
|
10336 |
*/
|
|
10337 |
TBuf8<KEapKeyMaxSize> iEapKey;
|
|
10338 |
};
|
|
10339 |
|
|
10340 |
/**
|
|
10341 |
A typedef'd packaged TEapKeyV6 for passing through a generic API
|
|
10342 |
method.
|
|
10343 |
|
|
10344 |
@publishedPartner
|
|
10345 |
@prototype
|
|
10346 |
*/
|
|
10347 |
typedef TPckg<TEapKeyV6> TEapKeyV6Pckg;
|
|
10348 |
|
|
10349 |
IMPORT_C void GetEapKey(TRequestStatus& aReqStatus, const TEapKeyTag aRequestedKey, TDes8& aKey);
|
|
10350 |
|
|
10351 |
/**
|
|
10352 |
Status of the DF_EAP this subsession refers to. The status is
|
|
10353 |
basically an indication of whether the DF is in use by another sub-
|
|
10354 |
session client instance.
|
|
10355 |
|
|
10356 |
NotifyEapMethodAccessStatusChange() will give a notification when
|
|
10357 |
the status changes.
|
|
10358 |
|
|
10359 |
Status will change when the first client calls
|
|
10360 |
InitialiseEapMethod() on this sub-session. When the same client
|
|
10361 |
calls ReleaseEapMethod() (or Close()), the status will change
|
|
10362 |
again. This allows mutually exclusive access to the DF_EAP. All
|
|
10363 |
other RMobileSmartCardEap hanles will get an error if they attempt
|
|
10364 |
to make requests that access the same DF_EAP.
|
|
10365 |
|
|
10366 |
@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
|
|
10367 |
@see RMobileSmartCardEap::ReleaseEapMethod()
|
|
10368 |
@see RMobileSmartCardEap::InitialiseEapMethod()
|
|
10369 |
|
|
10370 |
@publishedPartner
|
|
10371 |
@prototype
|
|
10372 |
*/
|
|
10373 |
enum TEapMethodAccessStatus
|
|
10374 |
{
|
|
10375 |
/**
|
|
10376 |
AID/DF_EAP has been reset, and the DF_EAP has not been
|
|
10377 |
initialised by any other instance of RMobileSmartCardEap.
|
|
10378 |
*/
|
|
10379 |
EEapMethodAvailable,
|
|
10380 |
/**
|
|
10381 |
Another instance of RMobileSmartCardEap has initialised first
|
|
10382 |
and taken ownership of the DF_EAP. The DF_EAP is currently
|
|
10383 |
active and EAP requests can be made.
|
|
10384 |
*/
|
|
10385 |
EEapMethodInUseApplicationActive,
|
|
10386 |
/**
|
|
10387 |
This instance of RMobileSmartCardEap still owns the lock on the
|
|
10388 |
DF_EAP, but the application has been deactivated elsewhere.
|
|
10389 |
The client should re-initialise before making further EAP
|
|
10390 |
requests.
|
|
10391 |
|
|
10392 |
@see RMobileSmartCardEap::InitialiseEapMethod()
|
|
10393 |
*/
|
|
10394 |
EEapMethodInUseApplicationInactive,
|
|
10395 |
/**
|
|
10396 |
Lock on the DF_EAP has been released, but another DF_EAP method
|
|
10397 |
is in use under the same AID, thus, cannot reset/initialise
|
|
10398 |
this subsessions EAP method. Client can only post a
|
|
10399 |
notification and wait till status changes to
|
|
10400 |
EEapMethodAvailable.
|
|
10401 |
|
|
10402 |
@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
|
|
10403 |
*/
|
|
10404 |
EEapMethodUnableToInitialise
|
|
10405 |
};
|
|
10406 |
|
|
10407 |
IMPORT_C TInt ReleaseEapMethod();
|
|
10408 |
IMPORT_C TInt GetEapMethodAccessStatus(TEapMethodAccessStatus& aEapMethodStatus);
|
|
10409 |
IMPORT_C void NotifyEapMethodAccessStatusChange(TRequestStatus& aReqStatus, TEapMethodAccessStatus& aEapMethodStatus);
|
|
10410 |
IMPORT_C TBool IsEapMethodOwner() const;
|
|
10411 |
|
|
10412 |
protected:
|
|
10413 |
IMPORT_C void ConstructL();
|
|
10414 |
IMPORT_C void Destruct();
|
|
10415 |
|
|
10416 |
private:
|
|
10417 |
RMobileSmartCardEap(const RMobileSmartCardEap&);
|
|
10418 |
|
|
10419 |
TChar SeptChar(TInt aDigit);
|
|
10420 |
void ConvertBinToText(const TDesC8& aBinData, TDes& aText);
|
|
10421 |
|
|
10422 |
private:
|
|
10423 |
/**
|
|
10424 |
Pointer Holder for the RMobileSmartCardEap sub-session requests.
|
|
10425 |
*/
|
|
10426 |
CMobileSmartCardEapPtrHolder* iMmPtrHolder;
|
|
10427 |
/**
|
|
10428 |
True if this object is the first to request InitialiseEapMethod()
|
|
10429 |
on its <AID,EAPType> when the status is EEapMethodAvailable.
|
|
10430 |
I.e. True only for the instance of RMobileSmartCardEap that
|
|
10431 |
successfully passes the Wait() on iSemaphore.
|
|
10432 |
*/
|
|
10433 |
TBool iOwnsEapMethodLock;
|
|
10434 |
/**
|
|
10435 |
Semaphore is actually owned by TSY, and used by all instances of
|
|
10436 |
RMobileSmartCardEap to stop multiple access to the same EAP method
|
|
10437 |
on any one application.
|
|
10438 |
*/
|
|
10439 |
RSemaphore iSemaphore;
|
|
10440 |
|
|
10441 |
}; // RMobileSmartCardEap
|
|
10442 |
|
|
10443 |
/////////////////////////////////////////////////////////////////////////////////////
|
|
10444 |
//
|
|
10445 |
// LCS-MO-LR AND LCS-MT-LR
|
|
10446 |
//
|
|
10447 |
/////////////////////////////////////////////////////////////////////////////////////
|
|
10448 |
class CMobileLocationServicesPtrHolder;
|
|
10449 |
|
|
10450 |
/**
|
|
10451 |
This sub-session opens under RMobilePhone.
|
|
10452 |
|
|
10453 |
A new RMobileLocationServices class is used to add the ETelMM Support for Mobile Terminating Location Request,
|
|
10454 |
Mobile Originating Location Requests, A-Gps assistance data for the LBS Framework.
|
|
10455 |
|
|
10456 |
RMobileLocationServices is derived from RTelSubSessionBase.RMobileLocationServices lists the
|
|
10457 |
APIs,which provided the support for Mtlr, Molr, A-Gps assistance data requests.
|
|
10458 |
*/
|
|
10459 |
class RMobileLocationServices : public RTelSubSessionBase
|
|
10460 |
{
|
|
10461 |
public:
|
|
10462 |
|
|
10463 |
IMPORT_C RMobileLocationServices();
|
|
10464 |
IMPORT_C TInt Open(RMobilePhone& aPhone);
|
|
10465 |
IMPORT_C void Close();
|
|
10466 |
/**
|
|
10467 |
Maximum length of the array used for TLcsRequestorIdString.
|
|
10468 |
*/
|
|
10469 |
enum { KLcsMaxRequestorIdStringSize = 256 };
|
|
10470 |
/**
|
|
10471 |
Maximum length of the array used for TLcsClientBufferName.
|
|
10472 |
*/
|
|
10473 |
enum { KLcsMaxClientNameBufferSize = 256 };
|
|
10474 |
/**
|
|
10475 |
Maximum length of the array used for TLcsClientExternalID.
|
|
10476 |
*/
|
|
10477 |
enum { KLcsMaxClientExternalIdSize = 64 };
|
|
10478 |
/**
|
|
10479 |
Maximum length of the array used for TLcsLocationEstimate.
|
|
10480 |
*/
|
|
10481 |
enum { KLcsMaxLocationEstimateSize = 64 };
|
|
10482 |
/**
|
|
10483 |
Maximum length of the array used for TLcsVelocityEstimate.
|
|
10484 |
*/
|
|
10485 |
enum { KLcsMaxVelocityEstimateSize = 64 };
|
|
10486 |
/**
|
|
10487 |
Maximum length of the array used for TLcsGpsAssistanceData.
|
|
10488 |
*/
|
|
10489 |
enum { KLcsMaxGpsAssistanceDataSize = 64 };
|
|
10490 |
/**
|
|
10491 |
A typedef'd buffer which holds the External ClientName Buffer.
|
|
10492 |
@see KLcsMaxClientNameBufferSize
|
|
10493 |
*/
|
|
10494 |
typedef TBuf8<KLcsMaxClientNameBufferSize> TLcsClientNameBuffer;
|
|
10495 |
/**
|
|
10496 |
A typedef'd buffer which holds the RequestorId String.
|
|
10497 |
@see KLcsMaxRequestorIdStringSize
|
|
10498 |
*/
|
|
10499 |
typedef TBuf8<KLcsMaxRequestorIdStringSize> TLcsRequestorIdString;
|
|
10500 |
/**
|
|
10501 |
A typedef'd buffer which holds the Gps Assistance Data.
|
|
10502 |
@see KLcsMaxGpsAssistanceDataSize
|
|
10503 |
*/
|
|
10504 |
typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
|
|
10505 |
/**
|
|
10506 |
A typedef'd buffer which holds the External ClientId.
|
|
10507 |
@see KLcsMaxClientExternalIdSize
|
|
10508 |
*/
|
|
10509 |
typedef TBuf8<KLcsMaxClientExternalIdSize> TLcsClientExternalID;
|
|
10510 |
/**
|
|
10511 |
A typedef'd TUint8 which holds the Data Coding Scheme information.
|
|
10512 |
*/
|
|
10513 |
typedef TUint8 TLcsDataCodingScheme;
|
|
10514 |
/**
|
|
10515 |
A typedef'd buffer which holds the Location Estimate.
|
|
10516 |
@see KLcsMaxLocationEstimateSize
|
|
10517 |
*/
|
|
10518 |
typedef TBuf8<KLcsMaxLocationEstimateSize> TLcsLocationEstimate;
|
|
10519 |
/**
|
|
10520 |
A typedef'd buffer which holds the Velocity Estimate.
|
|
10521 |
@see KLcsMaxVelocityEstimateSize
|
|
10522 |
*/
|
|
10523 |
typedef TBuf8<KLcsMaxVelocityEstimateSize> TLcsVelocityEstimate;
|
|
10524 |
/**
|
|
10525 |
A typedef'd buffer which holds the GpsAssistanceData type.
|
|
10526 |
@see KLcsMaxGpsAssistanceDataSize
|
|
10527 |
*/
|
|
10528 |
typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
|
|
10529 |
typedef TUint8 TTransactionIdentifier;
|
|
10530 |
typedef TUint8 TGPSI;
|
|
10531 |
/**
|
|
10532 |
Note:Refer to 3GPP TS 23.271(Functional stage 2 description of Location Services (LCS)),
|
|
10533 |
3GPP TS 24.030(Location Services (LCS); Supplementary service operations - Stage 3) and
|
|
10534 |
3GPP TS 24.080(Mobile radio interface layer 3 supplementary services specification; Formats and coding)
|
|
10535 |
for further details of MTLR and MOLR member data.
|
|
10536 |
*/
|
|
10537 |
/*********************************************************************/
|
|
10538 |
// MTLR //
|
|
10539 |
/*********************************************************************/
|
|
10540 |
/**
|
|
10541 |
TNotificationType lists the various types of Notification
|
|
10542 |
that can be expected from any MTLR-Location Notification coming from the Network,
|
|
10543 |
These types depend on the Subscription Profile of the UE.
|
|
10544 |
|
|
10545 |
One of the TNotificationType is expected to be retrieved from the Network,
|
|
10546 |
when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
|
|
10547 |
@internalAll
|
|
10548 |
*/
|
|
10549 |
enum TNotificationType
|
|
10550 |
{
|
|
10551 |
/**
|
|
10552 |
Notification Type Unknown
|
|
10553 |
*/
|
|
10554 |
ENotificationTypeUnknown,
|
|
10555 |
/**
|
|
10556 |
The Location Request is accepted by default
|
|
10557 |
*/
|
|
10558 |
ENotifyLocationAllowed,
|
|
10559 |
/**
|
|
10560 |
This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request,
|
|
10561 |
and that the user is expected to respond by granting/denying the request. By defualt, if the user
|
|
10562 |
does not provide a response, the request is granted
|
|
10563 |
*/
|
|
10564 |
ENotifyAndVerify_LocationAllowedIfNoResponse,
|
|
10565 |
/**
|
|
10566 |
This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request,
|
|
10567 |
and that the user is expected to respond by granting/denying the request. By defualt, if the
|
|
10568 |
user does not provide a response, the request is denied.
|
|
10569 |
*/
|
|
10570 |
ENotifyAndVerify_LocationNotAllowedIfNoResponse,
|
|
10571 |
/**
|
|
10572 |
The network sends the information to the UE that the external client has privacy overide capability,
|
|
10573 |
This indicator is received when an authenticated or emergency client had sent the request.
|
|
10574 |
*/
|
|
10575 |
ELocationPrivacyOverride,
|
|
10576 |
/**
|
|
10577 |
This enum is used to notify the UE that an incoming MTLR request was denied by the network for any of various
|
|
10578 |
reasons.
|
|
10579 |
*/
|
|
10580 |
ELocationNotAllowed
|
|
10581 |
};
|
|
10582 |
|
|
10583 |
|
|
10584 |
/**
|
|
10585 |
TLocationEstimateType lists the various types of LocationEstimate
|
|
10586 |
that can be expected from any MTLR-Location Notification request coming from the Network,
|
|
10587 |
These types depend on the Subscription Profile of the UE.
|
|
10588 |
|
|
10589 |
One of the TLocationEstimateType is expected to be retrieved from the Network,
|
|
10590 |
when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
|
|
10591 |
@internalAll
|
|
10592 |
*/
|
|
10593 |
enum TLocationEstimateType
|
|
10594 |
{
|
|
10595 |
/**
|
|
10596 |
Location Estimate Type Unknown.
|
|
10597 |
*/
|
|
10598 |
ELocationEstimateTypeUnknown,
|
|
10599 |
/**
|
|
10600 |
The External Client has requested for the Current Location of
|
|
10601 |
the UE.
|
|
10602 |
*/
|
|
10603 |
ECurrentLocation,
|
|
10604 |
/**
|
|
10605 |
The External Client has requested for the Current Location of
|
|
10606 |
the UE.Incase,if the request is accepted,But still it fails to
|
|
10607 |
generate the Location report because of Measurement Control Failure.
|
|
10608 |
The Client receives the Last Known Location.
|
|
10609 |
*/
|
|
10610 |
ECurrentOrLastKnownLocation,
|
|
10611 |
/**
|
|
10612 |
The External Client has requested for the initial location of the UE. The current
|
|
10613 |
location of the UE may or may not be the initial location.
|
|
10614 |
*/
|
|
10615 |
EInitialLocation
|
|
10616 |
};
|
|
10617 |
|
|
10618 |
/**
|
|
10619 |
TLcsClientNameV1 holds the details of the name of the External client,
|
|
10620 |
who is making the request via Network.
|
|
10621 |
TLcsClientNameV1 is used by RMobileLocationServices::NotifyMtlr() request.
|
|
10622 |
@see TLcsDataCodingScheme
|
|
10623 |
@see TLcsClientNameBuffer
|
|
10624 |
@internalAll
|
|
10625 |
*/
|
|
10626 |
class TLcsClientNameV1
|
|
10627 |
{
|
|
10628 |
public:
|
|
10629 |
/**
|
|
10630 |
TLcsDataCodingScheme holds the Data Coding Scheme information which is used
|
|
10631 |
to extract the ExternalClient name.
|
|
10632 |
*/
|
|
10633 |
TLcsDataCodingScheme iLcsDataCodingScheme;
|
|
10634 |
/**
|
|
10635 |
TLcsClientNameBuffer holds the Client name
|
|
10636 |
*/
|
|
10637 |
TLcsClientNameBuffer iLcsClientNameBuffer;
|
|
10638 |
};
|
|
10639 |
|
|
10640 |
/**
|
|
10641 |
TLcsRequestorIDV1 holds the details of the RequestorId i.e the details of the
|
|
10642 |
Network,Which is carrying the request of External Client to UE
|
|
10643 |
TLcsRequestorIDV1 is used by RMobileLocationServices::NotifyMtlr() request.
|
|
10644 |
@see TLcsDataCodingScheme
|
|
10645 |
@see TLcsRequestorIdString
|
|
10646 |
@internalAll
|
|
10647 |
*/
|
|
10648 |
class TLcsRequestorIDV1
|
|
10649 |
{
|
|
10650 |
public:
|
|
10651 |
/**
|
|
10652 |
TLcsDataCodingScheme holds the Data Coding Scheme information which is used
|
|
10653 |
to extract the RequestorId String.
|
|
10654 |
*/
|
|
10655 |
TLcsDataCodingScheme iLcsDataCodingScheme;
|
|
10656 |
/**
|
|
10657 |
TLcsRequestorIdString holds the RequestorId String
|
|
10658 |
*/
|
|
10659 |
TLcsRequestorIdString iLcsRequestorIdString;
|
|
10660 |
};
|
|
10661 |
|
|
10662 |
/**
|
|
10663 |
TLocationExternalInfoV1 holds the details of the External client and the Requestor
|
|
10664 |
TLocationExternalInfoV1 is used by RMobileLocationServices::NotifyMtlr() request
|
|
10665 |
@see TLcsClientExternalID
|
|
10666 |
@see TLcsClientNameV1
|
|
10667 |
@see TLcsRequestorIDV1
|
|
10668 |
@internalAll
|
|
10669 |
*/
|
|
10670 |
class TLocationExternalInfoV1
|
|
10671 |
{
|
|
10672 |
public:
|
|
10673 |
/**
|
|
10674 |
TLcsClientExternalID gives the id of the External client.
|
|
10675 |
*/
|
|
10676 |
TLcsClientExternalID iLcsClientID;
|
|
10677 |
/**
|
|
10678 |
TLcsClientNameV1 holds the name of the External Client.
|
|
10679 |
*/
|
|
10680 |
TLcsClientNameV1 iLcsClientName;
|
|
10681 |
/**
|
|
10682 |
TLcsRequestorIDV1 gives the details of requestor id
|
|
10683 |
*/
|
|
10684 |
TLcsRequestorIDV1 iLcsRequestorID;
|
|
10685 |
};
|
|
10686 |
|
|
10687 |
/**
|
|
10688 |
TNotifyMtlrV7 holds the details of the MTLR request made by the External client.
|
|
10689 |
TNotifyMtlrV7 is used by RMobileLocationServices::NotifyMtlr() request
|
|
10690 |
@see TNotificationType
|
|
10691 |
@see TLocationEstimateType
|
|
10692 |
@see TLocationExternalInfoV1
|
|
10693 |
@internalAll
|
|
10694 |
*/
|
|
10695 |
class TNotifyMtlrV7: public RMobilePhone::TMultimodeType
|
|
10696 |
{
|
|
10697 |
public:
|
|
10698 |
IMPORT_C TNotifyMtlrV7();
|
|
10699 |
public:
|
|
10700 |
/**
|
|
10701 |
TNotificationType holds the type of notification request being made
|
|
10702 |
*/
|
|
10703 |
TNotificationType iNotificationType;
|
|
10704 |
/**
|
|
10705 |
TLocationEstimateType holds the type of LocationEstimate is requested
|
|
10706 |
*/
|
|
10707 |
TLocationEstimateType iMtlrLocationEstimateType;
|
|
10708 |
/**
|
|
10709 |
TLocationExternalInfoV7 holds the details of the External client.
|
|
10710 |
*/
|
|
10711 |
TLocationExternalInfoV1 iLocationInfo;
|
|
10712 |
};
|
|
10713 |
|
|
10714 |
/**
|
|
10715 |
A typedef'd packaged TNotifyMtlrV7 for passing through a
|
|
10716 |
generic API method.
|
|
10717 |
|
|
10718 |
@internalAll
|
|
10719 |
*/
|
|
10720 |
typedef TPckg<TNotifyMtlrV7> TNotifyMtlrV7Pckg;
|
|
10721 |
|
|
10722 |
//MTLR-RESPONSE
|
|
10723 |
/**
|
|
10724 |
TMtlrResponse is used by the OverLoaded RMobileLocationServices::SendMtlrResponse() API
|
|
10725 |
It holds the type of response being sent back for the MTLR request made.
|
|
10726 |
@internalAll
|
|
10727 |
*/
|
|
10728 |
|
|
10729 |
enum TMtlrResponse
|
|
10730 |
{
|
|
10731 |
/**
|
|
10732 |
Mtlr Response Unknown.
|
|
10733 |
*/
|
|
10734 |
EMtlrResponseUnknown,
|
|
10735 |
/**
|
|
10736 |
The UE has denied the Location Request of the External client.
|
|
10737 |
@see RMobileLocationServices::SendMtlrResponse()
|
|
10738 |
*/
|
|
10739 |
EPermissionDenied ,
|
|
10740 |
/**
|
|
10741 |
The UE has granted the Location Request of the External client.
|
|
10742 |
@see RMobileLocationServices::SendMtlrResponse()
|
|
10743 |
*/
|
|
10744 |
EPermissionGranted
|
|
10745 |
};
|
|
10746 |
|
|
10747 |
/**
|
|
10748 |
TMtlrError is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
|
|
10749 |
It holds the type of Error response being sent back for the MTLR request made.
|
|
10750 |
@internalAll
|
|
10751 |
*/
|
|
10752 |
enum TMtlrError
|
|
10753 |
{
|
|
10754 |
/**
|
|
10755 |
Mtlr Error Unknown.
|
|
10756 |
*/
|
|
10757 |
EMtlrErrorUnknown,
|
|
10758 |
/**
|
|
10759 |
This response is sent back to the network when System has failed to
|
|
10760 |
do the privacy check due to some Miscellaneous reasons
|
|
10761 |
*/
|
|
10762 |
ESystemFailure ,
|
|
10763 |
/**
|
|
10764 |
The response is sent when the privacy verification has failed because of Unexpected data
|
|
10765 |
values retrieved from the Location Notification request generated by the Network.
|
|
10766 |
This generates an Error-Prone response from UE
|
|
10767 |
*/
|
|
10768 |
EUnexpectedDataValue
|
|
10769 |
};
|
|
10770 |
|
|
10771 |
/**
|
|
10772 |
TMtlrReject is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
|
|
10773 |
It holds the details of the Response being rejected due to one of the problems reported to the UE
|
|
10774 |
for the MTLR request being made.
|
|
10775 |
@internalAll
|
|
10776 |
*/
|
|
10777 |
enum TMtlrReject
|
|
10778 |
{
|
|
10779 |
/**
|
|
10780 |
Mtlr Reject Unknown.
|
|
10781 |
*/
|
|
10782 |
EMtlrRejectUnknown,
|
|
10783 |
/**
|
|
10784 |
This indication is given under a scenario where the UE wants to reject a request,
|
|
10785 |
It is done by invoking Duplicate ID's.
|
|
10786 |
*/
|
|
10787 |
EDuplicateInvokeID,
|
|
10788 |
/**
|
|
10789 |
This indication is given under a scenario where the UE wants to reject a request,
|
|
10790 |
It is done by saying the operation is not recognized
|
|
10791 |
*/
|
|
10792 |
EUnrecognizedOperation,
|
|
10793 |
/**
|
|
10794 |
This invokes a problem indicating Resource Limitation.
|
|
10795 |
*/
|
|
10796 |
EResourceLimitation,
|
|
10797 |
/**
|
|
10798 |
This Invokes a problem initiating release.
|
|
10799 |
*/
|
|
10800 |
EInitiatingRelease,
|
|
10801 |
/**
|
|
10802 |
This invokes a problem indicating that the ID linked with the Client information
|
|
10803 |
is unrecognized
|
|
10804 |
*/
|
|
10805 |
EUnrecognizedLinkedID,
|
|
10806 |
/**
|
|
10807 |
This invokes a problem of Linked Response Unexpected
|
|
10808 |
*/
|
|
10809 |
ELinkedResponseUnexpected,
|
|
10810 |
/**
|
|
10811 |
This invokes a problem of Unexpected Linked Operation
|
|
10812 |
*/
|
|
10813 |
EUnexpectedLinkedOperation,
|
|
10814 |
/**
|
|
10815 |
This invokes a problem of Mistyped Parameter.
|
|
10816 |
*/
|
|
10817 |
EMistypedParameter
|
|
10818 |
};
|
|
10819 |
|
|
10820 |
/**************************************************************/
|
|
10821 |
// MOLR //
|
|
10822 |
/**************************************************************/
|
|
10823 |
|
|
10824 |
/**
|
|
10825 |
TMolrType is used by the SendMolr() API.
|
|
10826 |
This gives an indication of type of Molr request the UE wants to invoke
|
|
10827 |
@internalAll
|
|
10828 |
*/
|
|
10829 |
enum TMolrType
|
|
10830 |
{
|
|
10831 |
/**
|
|
10832 |
MolrType UnKnown
|
|
10833 |
*/
|
|
10834 |
EMolrTypeUnknown,
|
|
10835 |
/**
|
|
10836 |
UE is requesting the Network for its Location Estimate
|
|
10837 |
*/
|
|
10838 |
ELocationEstimate,
|
|
10839 |
/**
|
|
10840 |
UE is requesting the Network for GPS Assistance data
|
|
10841 |
*/
|
|
10842 |
EAssistanceData,
|
|
10843 |
/**
|
|
10844 |
UE is requesting the Network for DecipheringKeys
|
|
10845 |
*/
|
|
10846 |
EDecipheringKeys
|
|
10847 |
};
|
|
10848 |
|
|
10849 |
/**
|
|
10850 |
TResponseTime is used by SendMolr() API
|
|
10851 |
This enum holds the various types of delay that an UE is expecting.
|
|
10852 |
@internalAll
|
|
10853 |
*/
|
|
10854 |
enum TResponseTime
|
|
10855 |
{
|
|
10856 |
/**
|
|
10857 |
Response Time Unknown.
|
|
10858 |
*/
|
|
10859 |
EResponseTimeunknown,
|
|
10860 |
/**
|
|
10861 |
This enum value indicates that the UE expects a Less Time Delay
|
|
10862 |
from Network in responding to its request
|
|
10863 |
*/
|
|
10864 |
ELowDelay,
|
|
10865 |
/**
|
|
10866 |
This enum value indicates that the UE expects a Long Time Delay
|
|
10867 |
from Network in responding to its request and is tolerant to it.
|
|
10868 |
*/
|
|
10869 |
EDelayTolerant
|
|
10870 |
};
|
|
10871 |
|
|
10872 |
/**
|
|
10873 |
TLocationMethod is used by SendMolr() API
|
|
10874 |
This is an enum which lists out all different types of Location methods that an UE can request
|
|
10875 |
@internalAll
|
|
10876 |
*/
|
|
10877 |
enum TLocationMethod
|
|
10878 |
{
|
|
10879 |
/**
|
|
10880 |
Location Method Unknown
|
|
10881 |
*/
|
|
10882 |
ELocationMethodunknown,
|
|
10883 |
/**
|
|
10884 |
This indication is given under a scenario where the UE wants a MS (Mobile Station) Based Location Fix.
|
|
10885 |
This can be termed as UE Assisted Location Fix(EOTD-Enhanced observed time difference).
|
|
10886 |
*/
|
|
10887 |
EMSBasedEOTD,
|
|
10888 |
/**
|
|
10889 |
This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted Location Fix.
|
|
10890 |
This can be termed out as UE based location fix.
|
|
10891 |
*/
|
|
10892 |
EMSAssistedEOTD,
|
|
10893 |
/**
|
|
10894 |
This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted GPS data.
|
|
10895 |
*/
|
|
10896 |
EMSAssistedGPS,
|
|
10897 |
/**
|
|
10898 |
This indication is given under a scenario where the UE wants a MS (Mobile Station) based location fix
|
|
10899 |
(OTDOA-Observed time difference of arrival).
|
|
10900 |
*/
|
|
10901 |
EMSBasedOTDOA
|
|
10902 |
};
|
|
10903 |
|
|
10904 |
/**
|
|
10905 |
TQosV1 is used by SendMolr() API
|
|
10906 |
This is a class with details of accuracy of Position information, Response Time,
|
|
10907 |
expected to be received from the network.
|
|
10908 |
@see TResponseTime
|
|
10909 |
@internalAll
|
|
10910 |
*/
|
|
10911 |
class TQosV1
|
|
10912 |
{
|
|
10913 |
public:
|
|
10914 |
/**
|
|
10915 |
This gives an information of the amount of Horizontal accuracy that the UE is expecting.
|
|
10916 |
*/
|
|
10917 |
TUint8 iHorizontalAccuracy;
|
|
10918 |
/**
|
|
10919 |
This gives an information of the amount of Vertical accuracy that the UE is expecting.
|
|
10920 |
*/
|
|
10921 |
TUint8 iVerticalAccuracy;
|
|
10922 |
/**
|
|
10923 |
This enum indicates the Response Time expected by the UE to receive a response for its MOlr request.
|
|
10924 |
*/
|
|
10925 |
TResponseTime iResponseTime;
|
|
10926 |
};
|
|
10927 |
|
|
10928 |
/**
|
|
10929 |
TMolrErrors is used by SendMolr() API
|
|
10930 |
This is an enum which lists out all the possible errors that can be
|
|
10931 |
reported to UE by an External Client or the Network.
|
|
10932 |
@internalAll
|
|
10933 |
*/
|
|
10934 |
enum TMolrErrors
|
|
10935 |
{
|
|
10936 |
/**
|
|
10937 |
Molr Error Unknown
|
|
10938 |
*/
|
|
10939 |
EMolrErrorUnknown,
|
|
10940 |
/**
|
|
10941 |
This indication is given to the UE when the Location Report is unable to reach the
|
|
10942 |
External Client due to some failure in the Network Connections.
|
|
10943 |
*/
|
|
10944 |
EMolrSystemFailure,
|
|
10945 |
/**
|
|
10946 |
This indication is given back to the UE by the Network to the UE or by the
|
|
10947 |
External Client to the UE,where the UE generated MOLR has some unexpected values.
|
|
10948 |
*/
|
|
10949 |
EMolrUnexpectedDataValue,
|
|
10950 |
/**
|
|
10951 |
This indication is given back to the UE by the Network to the UE or by the
|
|
10952 |
External Client to the UE,where the UE generated MOLR had a data discrepancy
|
|
10953 |
*/
|
|
10954 |
EMolrDataMissing,
|
|
10955 |
/**
|
|
10956 |
This indication is given by the Network to the UE,
|
|
10957 |
when the UE is not given a facility to make a MOLR request
|
|
10958 |
*/
|
|
10959 |
EMolrFacilityNotSupported,
|
|
10960 |
/**
|
|
10961 |
This indication is given by the Network to the UE,
|
|
10962 |
when the subscription profile of the UE doesn't match with the requests made by it.
|
|
10963 |
*/
|
|
10964 |
EMolrSS_SubscriptionViolation,
|
|
10965 |
/**
|
|
10966 |
This indication is given by the Network to the UE,
|
|
10967 |
when the UE or the Network failed to generate the Location estimate
|
|
10968 |
*/
|
|
10969 |
EMolrPositionMethodFailure
|
|
10970 |
};
|
|
10971 |
|
|
10972 |
/**
|
|
10973 |
TStartMolrV7 is used by SendMolr() API
|
|
10974 |
This class lists the details send by UE to Network when a Molr request is being made.
|
|
10975 |
@see TMolrType
|
|
10976 |
@see TQosV1
|
|
10977 |
@see TLocationEstimateType
|
|
10978 |
@see TLcsClientExternalID
|
|
10979 |
@see TGpsAssistanceData
|
|
10980 |
@see TLocationMethod
|
|
10981 |
@internalAll
|
|
10982 |
*/
|
|
10983 |
class TStartMolrV7: public RMobilePhone::TMultimodeType
|
|
10984 |
{
|
|
10985 |
public:
|
|
10986 |
IMPORT_C TStartMolrV7();
|
|
10987 |
public:
|
|
10988 |
/**
|
|
10989 |
TMolrType holds the type of Molr request being made
|
|
10990 |
*/
|
|
10991 |
TMolrType iMolrType;
|
|
10992 |
/**
|
|
10993 |
TQosV1 lists out the Quality of Service expected by UE
|
|
10994 |
*/
|
|
10995 |
TQosV1 iQos;
|
|
10996 |
/**
|
|
10997 |
Type of Location Estimate requested
|
|
10998 |
*/
|
|
10999 |
TLocationEstimateType iMolrLocationEstimateType;
|
|
11000 |
/**
|
|
11001 |
Id of the External client
|
|
11002 |
*/
|
|
11003 |
TLcsClientExternalID iLcsClientExternalID;
|
|
11004 |
/**
|
|
11005 |
Type of GpsAssistanceData
|
|
11006 |
*/
|
|
11007 |
TGpsAssistanceData iGpsAssistanceData;
|
|
11008 |
/**
|
|
11009 |
Type of Location method requested
|
|
11010 |
*/
|
|
11011 |
TLocationMethod iLocationMethod ;
|
|
11012 |
/**
|
|
11013 |
Type of Service requested
|
|
11014 |
*/
|
|
11015 |
TUint8 iLcsServiceTypeID;
|
|
11016 |
};
|
|
11017 |
/**
|
|
11018 |
A typedef'd packaged TStartMolrV7 for passing through a
|
|
11019 |
generic API method.
|
|
11020 |
|
|
11021 |
@internalAll
|
|
11022 |
*/
|
|
11023 |
typedef TPckg<TStartMolrV7> TStartMolrV7Pckg;
|
|
11024 |
|
|
11025 |
/**
|
|
11026 |
TMolrReturnResultV7 is used by SendMolr() API
|
|
11027 |
This class lists all the Molr return results that can be expected for the Molr request
|
|
11028 |
being made.
|
|
11029 |
@see TLcsLocationEstimate
|
|
11030 |
@see TLcsVelocityEstimate
|
|
11031 |
@see TMolrErrors
|
|
11032 |
@internalAll
|
|
11033 |
*/
|
|
11034 |
class TMolrReturnResultV7: public RMobilePhone::TMultimodeType
|
|
11035 |
{
|
|
11036 |
public:
|
|
11037 |
IMPORT_C TMolrReturnResultV7();
|
|
11038 |
public:
|
|
11039 |
/**
|
|
11040 |
This gives the Location Estimate of the UE
|
|
11041 |
*/
|
|
11042 |
TLcsLocationEstimate iLocationEstimate;
|
|
11043 |
/**
|
|
11044 |
This gives the Velocity Estimate of the UE
|
|
11045 |
*/
|
|
11046 |
TLcsVelocityEstimate iVelocityEstimate;
|
|
11047 |
/**
|
|
11048 |
This gives the indication of the type of error occured
|
|
11049 |
*/
|
|
11050 |
TMolrErrors iMolrErrors;
|
|
11051 |
};
|
|
11052 |
|
|
11053 |
/**
|
|
11054 |
A typedef'd packaged TMolrReturnResultV7 for passing through a
|
|
11055 |
generic API method.
|
|
11056 |
|
|
11057 |
@internalAll
|
|
11058 |
*/
|
|
11059 |
typedef TPckg<TMolrReturnResultV7> TMolrReturnResultV7Pckg;
|
|
11060 |
|
|
11061 |
//**************************************//
|
|
11062 |
// Measurement Control Data structures //
|
|
11063 |
//**************************************//
|
|
11064 |
|
|
11065 |
enum
|
|
11066 |
{
|
|
11067 |
/**Maximum number of monitored cells RACH*/
|
|
11068 |
KMaxMonitoredCells = 8,
|
|
11069 |
/**Maximum number of satellites*/
|
|
11070 |
KMaxSat = 16,
|
|
11071 |
/**GlobalHealth size. 364 bits =46 bytes (Rounded) */
|
|
11072 |
KGlobalHealthSize = 46
|
|
11073 |
};
|
|
11074 |
|
|
11075 |
/**This enum contains the possible types of measurement commands.*/
|
|
11076 |
enum TMeasurementCmd
|
|
11077 |
{
|
|
11078 |
/**Measurement Command Unknown*/
|
|
11079 |
EMeasCommandUnknown,
|
|
11080 |
/**Setup a new measurement*/
|
|
11081 |
ESetup,
|
|
11082 |
/**Modify a previously defined measurement, e.g. to change the reporting criteria*/
|
|
11083 |
EModify,
|
|
11084 |
/**Indicates to stop a measurement and clear all information in the UE that are related to that measurement */
|
|
11085 |
ERelease,
|
|
11086 |
};
|
|
11087 |
|
|
11088 |
/**This enum contains the possible positioning method types*/
|
|
11089 |
enum TUePosMethodType
|
|
11090 |
{
|
|
11091 |
/**Positioning Method Type unknown*/
|
|
11092 |
EPosMethodTypeUnknown,
|
|
11093 |
/**UE Assisted : The network computes the location of the UE.*/
|
|
11094 |
EUeAssisted,
|
|
11095 |
/**UE Based : The UE computes the location of itself*/
|
|
11096 |
EUeBased,
|
|
11097 |
};
|
|
11098 |
|
|
11099 |
/**This enum contains the possible positioning methods*/
|
|
11100 |
enum TPosMethod
|
|
11101 |
{
|
|
11102 |
/**Positioning Method unknown*/
|
|
11103 |
EPosMethodUnknown,
|
|
11104 |
/**OTDOA may be selected by the SRNC as the method to be used on receipt of an LCS positioning request from the CN */
|
|
11105 |
EOtdoa,
|
|
11106 |
/**These methods make use of UEs, which are equipped with radio receivers capable of receiving GPS signals*/
|
|
11107 |
EGps,
|
|
11108 |
/**Use either OTDOA or GPS positioning method.*/
|
|
11109 |
EOtdoaOrGps,
|
|
11110 |
/**
|
|
11111 |
In the cell ID based (i.e. cell coverage) method, the position of an UE is
|
|
11112 |
estimated with the knowledge of its serving Node B. The information about the serving
|
|
11113 |
Node B and cell may be obtained by paging,locating area update, cell update, URA update, or routing area update.
|
|
11114 |
*/
|
|
11115 |
ECellID
|
|
11116 |
};
|
|
11117 |
|
|
11118 |
/**
|
|
11119 |
This class contains the information which is part of the Navigation Model.
|
|
11120 |
This can be requested by the UE as part of additional request.
|
|
11121 |
*/
|
|
11122 |
class TSatDataV1
|
|
11123 |
{
|
|
11124 |
public:
|
|
11125 |
/**Satellite identity*/
|
|
11126 |
TUint8 iSatID;
|
|
11127 |
/**Issue of Data Ephemeris for SatID*/
|
|
11128 |
TUint8 iIode;
|
|
11129 |
};
|
|
11130 |
|
|
11131 |
/**
|
|
11132 |
This class contains the additional information that can be requested by the UE.
|
|
11133 |
*/
|
|
11134 |
class TNavModelAddlDataReqV1
|
|
11135 |
{
|
|
11136 |
public:
|
|
11137 |
/**GPS time in weeks*/
|
|
11138 |
TUint16 iGpsWeek;
|
|
11139 |
/**GPS time of ephemeris in hours of the latest ephemeris set contained by the UE.*/
|
|
11140 |
TUint8 iGpsToe;
|
|
11141 |
/**Ephemeris age tolerance of the UE to UTRAN in hours.*/
|
|
11142 |
TUint8 iTToeLimit;
|
|
11143 |
/**Satellite Identities
|
|
11144 |
@see TSatDataV1*/
|
|
11145 |
TSatDataV1 iSatData[KMaxSat];
|
|
11146 |
};
|
|
11147 |
|
|
11148 |
/**This class contains the indicators to request for additional assistance data from the network.*/
|
|
11149 |
class TGpsAddlAssistDataReqV1
|
|
11150 |
{
|
|
11151 |
public:
|
|
11152 |
/**ETrue indicates Almanac Data is requested
|
|
11153 |
@see TAlmanacV1*/
|
|
11154 |
TBool iAlmanacRequest;
|
|
11155 |
/**ETrue indicates UTC model Data is requested
|
|
11156 |
@see TUtcModelV1*/
|
|
11157 |
TBool iUtcModelRequest;
|
|
11158 |
/**ETrue indicates Ionospheric Model Data is requested
|
|
11159 |
@see TUtcModelV1*/
|
|
11160 |
TBool iIonosphericModelRequest;
|
|
11161 |
/**ETrue indicates Navigation model Data is requested
|
|
11162 |
@see TIonosphericModelV1*/
|
|
11163 |
TBool iNavigationModelRequest;
|
|
11164 |
/**ETrue indicates DGPS corrections Data is requested
|
|
11165 |
@see TNavigationModelSatInfoV1*/
|
|
11166 |
TBool iDgpsCorrectionsRequest;
|
|
11167 |
/**ETrue indicates Reference location Data is requested
|
|
11168 |
@see TDgpsCorrectionsV1*/
|
|
11169 |
TBool iReferenceLocationRequest;
|
|
11170 |
/**ETrue indicates Reference time Data is requested
|
|
11171 |
@see TReferenceLocationV1*/
|
|
11172 |
TBool iReferenceTimeRequest;
|
|
11173 |
/**ETrue indicates Acquisition assistance Data is requested
|
|
11174 |
@see TReferenceTimeV1*/
|
|
11175 |
TBool iAcquisitionAssistanceReq;
|
|
11176 |
/**ETrue indicates Realtime integrity Data is requested
|
|
11177 |
@see TAcquisitionAssistanceV1*/
|
|
11178 |
TBool iRealTimeIntegrityRequest;
|
|
11179 |
/**This member is included only if Navigagion Model Data is requested (iNavigationModelRequest is ETrue).
|
|
11180 |
@see TNavModelAddlDataReqV1*/
|
|
11181 |
TNavModelAddlDataReqV1 iNavModelAddlDataReq;
|
|
11182 |
};
|
|
11183 |
|
|
11184 |
/**This class contains the UE positioning reporting quantity*/
|
|
11185 |
class TUePosReportingQuantityV1
|
|
11186 |
{
|
|
11187 |
public:
|
|
11188 |
/**Holds the positioning method type*/
|
|
11189 |
TUePosMethodType iUePosMethodType;
|
|
11190 |
/**Holds the positioning method*/
|
|
11191 |
TPosMethod iPosMethod;
|
|
11192 |
/**Holds the horizontal accuracy*/
|
|
11193 |
TInt8 iHorzAccuracy;
|
|
11194 |
/**Holds the vertical accuracy*/
|
|
11195 |
TInt8 iVertAccuracy;
|
|
11196 |
/**If true the SRNC wants the UE to report the SFN-GPS timing of the reference cell.*/
|
|
11197 |
TBool iGpsTimingOfCellWanted;
|
|
11198 |
/**ETrue indicates that the UE is requested to send the IE "Additional assistance Data Request"
|
|
11199 |
when the IE "UE positioning Error" is present in the UE positioning measured results.
|
|
11200 |
EFalse indicates that the UE shall use the assistance data available.
|
|
11201 |
*/
|
|
11202 |
TBool iAddlAssistanceDataReq;
|
|
11203 |
};
|
|
11204 |
|
|
11205 |
/**This enum contains the states in which measurements are valid*/
|
|
11206 |
enum TMeasurementValidity
|
|
11207 |
{
|
|
11208 |
/**Measurement Validity Unknown*/
|
|
11209 |
EMeasValidityUnknown,
|
|
11210 |
/**Indicates measurement is valid in CellDCH state*/
|
|
11211 |
ECellDCH,
|
|
11212 |
/**Indicates measurement is valid except in CellDCH state*/
|
|
11213 |
EAllButCellDCH,
|
|
11214 |
/**Indicates measurement is valid in all state*/
|
|
11215 |
EAllStates
|
|
11216 |
};
|
|
11217 |
|
|
11218 |
/**This enum list the SfnTow uncertainity*/
|
|
11219 |
enum TSfnTowUncertainity
|
|
11220 |
{
|
|
11221 |
/**Sfn Tow Uncertainity unknown*/
|
|
11222 |
ESfnTowUncertainityUnknown,
|
|
11223 |
/**SfnTowUncertainity < 10*/
|
|
11224 |
ELessThan10,
|
|
11225 |
/**SfnTowUncertainity > 10*/
|
|
11226 |
EMoreThan10
|
|
11227 |
};
|
|
11228 |
|
|
11229 |
/**This enum lists the different GPS drift rates*/
|
|
11230 |
enum TUtranGpsDriftRate
|
|
11231 |
{
|
|
11232 |
/**GPS Drift rate unknown*/
|
|
11233 |
EDriftRateUnknown,
|
|
11234 |
/**Drift = 0*/
|
|
11235 |
EUtranGpsDrift0,
|
|
11236 |
/**Drift = 1*/
|
|
11237 |
EUtranGpsDrift1,
|
|
11238 |
/**Drift = 2*/
|
|
11239 |
EUtranGpsDrift2,
|
|
11240 |
/**Drift = 5*/
|
|
11241 |
EUtranGpsDrift5,
|
|
11242 |
/**Drift = 10*/
|
|
11243 |
EUtranGpsDrift10,
|
|
11244 |
/**Drift = 15*/
|
|
11245 |
EUtranGpsDrift15,
|
|
11246 |
/**Drift = 25*/
|
|
11247 |
EUtranGpsDrift25,
|
|
11248 |
/**Drift = 50*/
|
|
11249 |
EUtranGpsDrift50,
|
|
11250 |
/**Drift = -1*/
|
|
11251 |
EUtranGpsDriftMinus1,
|
|
11252 |
/**Drift = -2*/
|
|
11253 |
EUtranGpsDriftMinus2,
|
|
11254 |
/**Drift = -5*/
|
|
11255 |
EUtranGpsDriftMinus5,
|
|
11256 |
/**Drift = -10*/
|
|
11257 |
EUtranGpsDriftMinus10,
|
|
11258 |
/**Drift = -15*/
|
|
11259 |
EUtranGpsDriftMinus15,
|
|
11260 |
/**Drift = -25*/
|
|
11261 |
EUtranGpsDriftMinus25,
|
|
11262 |
/**Drift = -50*/
|
|
11263 |
EUtranGpsDriftMinus50,
|
|
11264 |
};
|
|
11265 |
|
|
11266 |
/**This enum lists the different Udre values*/
|
|
11267 |
enum TDiffCorrectionsStatus
|
|
11268 |
{
|
|
11269 |
/**Diff Corrections Status unknown*/
|
|
11270 |
ECorrectionStatusUnknown,
|
|
11271 |
/**UDRE 1.0 */
|
|
11272 |
EUdre1Point0,
|
|
11273 |
/**UDRE 0.75 */
|
|
11274 |
EUdre0Point75,
|
|
11275 |
/**UDRE 0.5 */
|
|
11276 |
EUdre0Point5,
|
|
11277 |
/**UDRE 0.3 */
|
|
11278 |
EUdre0Point3,
|
|
11279 |
/**UDRE 0.2 */
|
|
11280 |
EUdre0Point2,
|
|
11281 |
/**UDRE 0.1 */
|
|
11282 |
EUdre0Point1,
|
|
11283 |
/**UDRE No Data */
|
|
11284 |
ENoData,
|
|
11285 |
/**UDRE Invalid Data */
|
|
11286 |
EInvalidData
|
|
11287 |
};
|
|
11288 |
|
|
11289 |
/**This class reserves members for future use*/
|
|
11290 |
class TSubFrame1ReservedV1
|
|
11291 |
{
|
|
11292 |
public:
|
|
11293 |
/**Reserve member 1*/
|
|
11294 |
TUint iReserved1;
|
|
11295 |
/**Reserve member 2*/
|
|
11296 |
TUint iReserved2;
|
|
11297 |
/**Reserve member 3*/
|
|
11298 |
TUint iReserved3;
|
|
11299 |
/**Reserve member 4*/
|
|
11300 |
TUint iReserved4;
|
|
11301 |
};
|
|
11302 |
|
|
11303 |
/**This class contains information for GPS ephemeris and clock correction.*/
|
|
11304 |
class TEphemerisParameterV1
|
|
11305 |
{
|
|
11306 |
public:
|
|
11307 |
/**Code(s) on L2 Channel */
|
|
11308 |
TUint8 iCodeOnL2;
|
|
11309 |
/**User Range Accuracy */
|
|
11310 |
TUint8 iUraIndex;
|
|
11311 |
/**Health of Satellite*/
|
|
11312 |
TUint8 iSatHealth;
|
|
11313 |
/**Issue of Data, Clock */
|
|
11314 |
TUint16 iIodc;
|
|
11315 |
/**L2 channel flag*/
|
|
11316 |
TUint8 iL2Flag;
|
|
11317 |
TSubFrame1ReservedV1 iSubFrame1Reserved;
|
|
11318 |
/**Estimated group delay differential */
|
|
11319 |
TUint8 iTGd;
|
|
11320 |
/**Apparent clock correction*/
|
|
11321 |
TUint16 iTOc;
|
|
11322 |
/**Apparent clock correction*/
|
|
11323 |
TUint8 iAf2;
|
|
11324 |
/**Apparent clock correction*/
|
|
11325 |
TUint16 iAf1;
|
|
11326 |
/**Apparent clock correction*/
|
|
11327 |
TUint iAf0;
|
|
11328 |
/**Amplitude of the Sine Harmonic Correction Term to the Orbit Radius (meters)*/
|
|
11329 |
TUint16 iCRs;
|
|
11330 |
/**Mean Motion Difference From Computed Value (semi-circles/sec)*/
|
|
11331 |
TUint16 iDeltaN;
|
|
11332 |
/**Mean Anomaly at Reference Time (semi-circles)*/
|
|
11333 |
TUint iM0;
|
|
11334 |
/**Amplitude of the Cosine Harmonic Correction Term To The Argument Of Latitude (radians)*/
|
|
11335 |
TUint16 iCUc;
|
|
11336 |
/**Eccentricity*/
|
|
11337 |
TUint iE;
|
|
11338 |
/**Amplitude of the Sine Harmonic Correction Term To The Argument Of Latitude (radians)*/
|
|
11339 |
TUint16 iCUs;
|
|
11340 |
/**Semi-Major Axis in squareroot(meters) */
|
|
11341 |
TUint iASqrt;
|
|
11342 |
/**Reference Time Ephemeris */
|
|
11343 |
TUint16 iTOe;
|
|
11344 |
/**
|
|
11345 |
Fit interval flag
|
|
11346 |
@see ICD-GPS-200
|
|
11347 |
*/
|
|
11348 |
TUint8 iFitInterval;
|
|
11349 |
/**Age Of Data Offset */
|
|
11350 |
TUint8 iAodo;
|
|
11351 |
/**Amplitude of the Cosine Harmonic Correction Term To The Angle Of Inclination (radians)*/
|
|
11352 |
TUint16 iCIc;
|
|
11353 |
/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
|
|
11354 |
TUint iOmega0;
|
|
11355 |
/**Amplitude of the Sine Harmonic Correction Term To The Angle Of Inclination (radians) */
|
|
11356 |
TUint16 iCIs;
|
|
11357 |
/**Inclination Angle at Reference Time (semi-circles) */
|
|
11358 |
TUint i0;
|
|
11359 |
/**Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius (meters) */
|
|
11360 |
TUint16 iCRc;
|
|
11361 |
/**Argument of Perigee (semi-circles) */
|
|
11362 |
TUint iOmega;
|
|
11363 |
/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
|
|
11364 |
TUint iOmegaDot;
|
|
11365 |
/**Rate of Inclination Angle (semi-circles/sec) */
|
|
11366 |
TUint16 iDot;
|
|
11367 |
};
|
|
11368 |
|
|
11369 |
/**This enum specifies the possible status of a satellite*/
|
|
11370 |
enum TSatelliteStatus
|
|
11371 |
{
|
|
11372 |
/**Satellite Status unknown*/
|
|
11373 |
ESatStatusUnknown,
|
|
11374 |
/**New satellite, new Navigation Model*/
|
|
11375 |
ENsNnU,
|
|
11376 |
/**Existing satellite, same Navigation Model*/
|
|
11377 |
EEsSn,
|
|
11378 |
/**Existing satellite, new Navigation Model*/
|
|
11379 |
EEsNnU,
|
|
11380 |
/**Reserved*/
|
|
11381 |
ERev2,
|
|
11382 |
/**Reserved*/
|
|
11383 |
ERev
|
|
11384 |
};
|
|
11385 |
|
|
11386 |
/**This class contains the navigation model satellite information*/
|
|
11387 |
class TNavigationModelSatInfoV1
|
|
11388 |
{
|
|
11389 |
public:
|
|
11390 |
/**Satellite identification*/
|
|
11391 |
TUint8 iSatID;
|
|
11392 |
/**Status of the satellite*/
|
|
11393 |
TSatelliteStatus iSatelliteStatus;
|
|
11394 |
/**Contains information for GPS ephemeris and clock correction.*/
|
|
11395 |
TEphemerisParameterV1 iEphemerisParameter;
|
|
11396 |
};
|
|
11397 |
|
|
11398 |
/**
|
|
11399 |
This class contains the ionospheric model information needed to model
|
|
11400 |
the propagation delays of the GPS signals through the ionosphere
|
|
11401 |
*/
|
|
11402 |
class TIonosphericModelV1
|
|
11403 |
{
|
|
11404 |
public:
|
|
11405 |
/**
|
|
11406 |
The parameters *n are the coefficients of a cubic equation
|
|
11407 |
representing the amplitude of the vertical delay.
|
|
11408 |
@see ICD-GPS-200
|
|
11409 |
*/
|
|
11410 |
/**Alfa = 0*/
|
|
11411 |
TUint8 iAlfa0;
|
|
11412 |
/**Alfa = 1*/
|
|
11413 |
TUint8 iAlfa1;
|
|
11414 |
/**Alfa = 2*/
|
|
11415 |
TUint8 iAlfa2;
|
|
11416 |
/**Alfa = 3*/
|
|
11417 |
TUint8 iAlfa3;
|
|
11418 |
/**
|
|
11419 |
The parameters *n are the coefficients of a cubic equation
|
|
11420 |
representing the period of the ionospheric model
|
|
11421 |
@see ICD-GPS-200
|
|
11422 |
*/
|
|
11423 |
/**Beta = 0*/
|
|
11424 |
TUint8 iBeta0;
|
|
11425 |
/**Beta = 1*/
|
|
11426 |
TUint8 iBeta1;
|
|
11427 |
/**Beta = 2*/
|
|
11428 |
TUint8 iBeta2;
|
|
11429 |
/**Beta = 3*/
|
|
11430 |
TUint8 iBeta3;
|
|
11431 |
};
|
|
11432 |
|
|
11433 |
/**
|
|
11434 |
This class contains the UTC model information needed to relate GPS time to Universal Time Coordinate (UTC)
|
|
11435 |
@see ICD-GPS-200
|
|
11436 |
*/
|
|
11437 |
class TUtcModelV1
|
|
11438 |
{
|
|
11439 |
public:
|
|
11440 |
/**
|
|
11441 |
Time in seconds.
|
|
11442 |
@see ICD-GPS-200.
|
|
11443 |
*/
|
|
11444 |
TUint iA1;
|
|
11445 |
/**
|
|
11446 |
Time in seconds.
|
|
11447 |
@see ICD-GPS-200.
|
|
11448 |
*/
|
|
11449 |
TUint iA2;
|
|
11450 |
/**Time in seconds
|
|
11451 |
@see ICD-GPS-200
|
|
11452 |
*/
|
|
11453 |
TUint8 iTOt;
|
|
11454 |
/**weeks
|
|
11455 |
@see ICD-GPS-200
|
|
11456 |
*/
|
|
11457 |
TUint8 iWnT;
|
|
11458 |
/**Time in seconds
|
|
11459 |
@see ICD-GPS-200
|
|
11460 |
*/
|
|
11461 |
TUint8 iDeltaTLs;
|
|
11462 |
/**Weeks
|
|
11463 |
@see ICD-GPS-200
|
|
11464 |
*/
|
|
11465 |
TUint8 iWnLsf;
|
|
11466 |
/**Days
|
|
11467 |
@see ICD-GPS-200
|
|
11468 |
*/
|
|
11469 |
TUint8 iDn;
|
|
11470 |
/**Seconds
|
|
11471 |
@see ICD-GPS-200
|
|
11472 |
*/
|
|
11473 |
TUint8 iDeltaTLsf;
|
|
11474 |
};
|
|
11475 |
|
|
11476 |
/**This class contains a reduced-precision subset of the ephemeris and clock correction parameters.*/
|
|
11477 |
class TAlmanacSatInfoV1
|
|
11478 |
{
|
|
11479 |
public:
|
|
11480 |
/**Data identification*/
|
|
11481 |
TUint8 iDataID;
|
|
11482 |
/**Eccentricity*/
|
|
11483 |
TUint16 iE;
|
|
11484 |
/**Reference Time of Almanac */
|
|
11485 |
TUint8 iTOa;
|
|
11486 |
/**@see ICD-GPS-200*/
|
|
11487 |
TUint16 iDeltaI;
|
|
11488 |
/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
|
|
11489 |
TUint16 iOmegaDot;
|
|
11490 |
/**Satellite health*/
|
|
11491 |
TUint8 iSatHealth;
|
|
11492 |
/**Semi-Major Axis in squareroot(meters)*/
|
|
11493 |
TUint iASqrt;
|
|
11494 |
/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
|
|
11495 |
TUint iOmega0;
|
|
11496 |
/**Mean Anomaly at Reference Time (semi-circles) */
|
|
11497 |
TUint iM0;
|
|
11498 |
/**Argument of Perigee (semi-circles) */
|
|
11499 |
TUint iOmega;
|
|
11500 |
/**Apparent clock correction */
|
|
11501 |
TUint16 iAf0;
|
|
11502 |
/**Apparent clock correction */
|
|
11503 |
TUint16 iAf1;
|
|
11504 |
};
|
|
11505 |
|
|
11506 |
/**This class holds the coarse, long-term model of the satellite positions and clocks.*/
|
|
11507 |
class TAlmanacV1
|
|
11508 |
{
|
|
11509 |
public:
|
|
11510 |
/**Almanac Reference Week */
|
|
11511 |
TUint8 iWnA;
|
|
11512 |
TAlmanacSatInfoV1 iAlmanacSatInfoList[KMaxSat];
|
|
11513 |
/**This enables GPS time recovery and possibly extended GPS correlation intervals.*/
|
|
11514 |
TUint16 iSvGlobalHealth[KGlobalHealthSize];
|
|
11515 |
};
|
|
11516 |
|
|
11517 |
/**This union contains the information specific to mode - FDD/TDD*/
|
|
11518 |
union TModeSpecificInfoV1
|
|
11519 |
{
|
|
11520 |
/**Used in FDD mode*/
|
|
11521 |
TUint16 iPrimaryScramblingCode;
|
|
11522 |
/**Used in TDD mode*/
|
|
11523 |
TUint16 iCellParametersID;
|
|
11524 |
};
|
|
11525 |
|
|
11526 |
/**This class contains parameters that enable fast acquisition of the GPS
|
|
11527 |
signals in UE-assisted GPS positioning.*/
|
|
11528 |
class TAcquisitionAssistanceV1
|
|
11529 |
{
|
|
11530 |
public:
|
|
11531 |
/**Specifies GPS reference time*/
|
|
11532 |
TUint iGpsReferenceTime;
|
|
11533 |
/**Specifies GPS reference time specific to mode - FDD/TDD*/
|
|
11534 |
TModeSpecificInfoV1 iUtranGpsReferenceTime;
|
|
11535 |
/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode.
|
|
11536 |
EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
|
|
11537 |
TBool iUtranGpsRefTimeStatus;
|
|
11538 |
};
|
|
11539 |
|
|
11540 |
/**
|
|
11541 |
The UDRE provides an estimate of the uncertainty (1-*) in the corrections for
|
|
11542 |
the particular satellite. The value in this field shall be multiplied by the
|
|
11543 |
UDRE Scale Factor in the common Corrections Status/Health field to determine the
|
|
11544 |
final UDRE estimate for the particular satellite.
|
|
11545 |
@see 3GPP TS 25.305
|
|
11546 |
*/
|
|
11547 |
enum TUdre
|
|
11548 |
{
|
|
11549 |
/**Udre unknown*/
|
|
11550 |
EUdreUnknown,
|
|
11551 |
/** UDRE < 1*/
|
|
11552 |
ELessThan1,
|
|
11553 |
/** 1> UDRE < 4*/
|
|
11554 |
EBtw1And4,
|
|
11555 |
/** 1> UDRE < 8*/
|
|
11556 |
EBtw1And8,
|
|
11557 |
/** UDRE > 8*/
|
|
11558 |
EOver8
|
|
11559 |
};
|
|
11560 |
|
|
11561 |
/**This class contains DGPS corrections to be used by the UE*/
|
|
11562 |
class TDgpsCorrectionSatInfoV1
|
|
11563 |
{
|
|
11564 |
public:
|
|
11565 |
/**Satellite identification*/
|
|
11566 |
TUint8 iSatID;
|
|
11567 |
/**Issue of Data Ephemeris for SatID.*/
|
|
11568 |
TUint8 iIode;
|
|
11569 |
/**
|
|
11570 |
The UDRE provides an estimate of the uncertainty (1-*) in the corrections for
|
|
11571 |
the particular satellite. The value in this field shall be multiplied by the
|
|
11572 |
UDRE Scale Factor in the common Corrections Status/Health field to determine the
|
|
11573 |
final UDRE estimate for the particular satellite.
|
|
11574 |
@see 3GPP TS 25.305
|
|
11575 |
*/
|
|
11576 |
TUdre iUdre;
|
|
11577 |
/**The PRC indicates the correction to the pseudorange for the particular satellite at the GPS Reference Time*/
|
|
11578 |
TInt16 iPrc;
|
|
11579 |
/**
|
|
11580 |
This information indicates the rate-of-change of the pseudorange correction for the particular satellite,
|
|
11581 |
using the satellite ephemeris identified by the IODE IE
|
|
11582 |
*/
|
|
11583 |
TInt8 iRrc;
|
|
11584 |
/**For future use*/
|
|
11585 |
TInt8 iDummy1;
|
|
11586 |
/**For future use*/
|
|
11587 |
TInt8 iDummy2;
|
|
11588 |
};
|
|
11589 |
|
|
11590 |
/**This class contains the DGPS corrections information*/
|
|
11591 |
class TDgpsCorrectionsV1
|
|
11592 |
{
|
|
11593 |
public:
|
|
11594 |
/**GPS time of week*/
|
|
11595 |
TUint16 iGpsTow;
|
|
11596 |
/**This information indicates the status of the differential corrections contained in the message.*/
|
|
11597 |
TDiffCorrectionsStatus iStatusHealth;
|
|
11598 |
/**This member data contains DGPS corrections of the satellites to be used by the UE*/
|
|
11599 |
TDgpsCorrectionSatInfoV1 iDgpsCorrectionSatInfoList[KMaxSat];
|
|
11600 |
};
|
|
11601 |
|
|
11602 |
/**This enum containst the possible signs of latitude*/
|
|
11603 |
enum TLatitudeSign
|
|
11604 |
{
|
|
11605 |
/**Latitude Sign Unknown*/
|
|
11606 |
ELatitudeSignUnknown,
|
|
11607 |
/**Latitude sign is north*/
|
|
11608 |
ENorth,
|
|
11609 |
/**Latitude sign is south*/
|
|
11610 |
ESouth
|
|
11611 |
};
|
|
11612 |
|
|
11613 |
/**This enum contains the possible directions of altitudes for reference location*/
|
|
11614 |
enum TAltDirection
|
|
11615 |
{
|
|
11616 |
/**Altitude Direction Unknown*/
|
|
11617 |
EAltDirectionUnknown,
|
|
11618 |
/**Indicates Altitude direction is height-wise*/
|
|
11619 |
EHeight,
|
|
11620 |
/**Indicates Altitude direction is depth-wise*/
|
|
11621 |
EDepth
|
|
11622 |
};
|
|
11623 |
|
|
11624 |
/**This class contains a 3-D location (with uncertainty)*/
|
|
11625 |
class TReferenceLocationV1
|
|
11626 |
{
|
|
11627 |
public:
|
|
11628 |
/**Specifies the sign - North/South*/
|
|
11629 |
TLatitudeSign iLatitudeSign;
|
|
11630 |
/**Degree of latitude*/
|
|
11631 |
TUint16 iLatitude;
|
|
11632 |
/**Degree of longitude*/
|
|
11633 |
TInt16 iLongitude;
|
|
11634 |
/**Direction of altitude*/
|
|
11635 |
TAltDirection iAltDirection;
|
|
11636 |
/**Degree of altitude*/
|
|
11637 |
TUint16 iAltitude;
|
|
11638 |
/**Uncertainty semi major axis*/
|
|
11639 |
TUint8 iUncertainitySemiMajor;
|
|
11640 |
/**Uncertainty semi minor axis*/
|
|
11641 |
TUint8 iUncertainitySemiMinor;
|
|
11642 |
/**Orientation of major axis*/
|
|
11643 |
TUint8 iOrientationMajorAxis;
|
|
11644 |
/**The uncertainty in altitude, h, expressed in metres*/
|
|
11645 |
TUint8 iUncertainityAltitude;
|
|
11646 |
/**The confidence by which the position of a target entity is known to be within the shape description*/
|
|
11647 |
TUint8 iConfidence;
|
|
11648 |
};
|
|
11649 |
|
|
11650 |
/**
|
|
11651 |
Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW)
|
|
11652 |
that are currently being broadcast by the respective GPS satellites. Combining this information
|
|
11653 |
with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
|
|
11654 |
*/
|
|
11655 |
class TGpsTowAssistV1
|
|
11656 |
{
|
|
11657 |
public:
|
|
11658 |
/**Satellite identification*/
|
|
11659 |
TUint8 iSatID;
|
|
11660 |
/**
|
|
11661 |
Contains a 14-bit value representing the Telemetry Message (TLM)
|
|
11662 |
being broadcast by the GPS satellite identified by the particular SatID,
|
|
11663 |
with the MSB occurring first in the satellite transmission.
|
|
11664 |
*/
|
|
11665 |
TUint16 iTlmMsg;
|
|
11666 |
/**
|
|
11667 |
Contains the two reserved bits in the TLM Word
|
|
11668 |
being broadcast by the GPS satellite identified by SatID,
|
|
11669 |
with the MSB occurring first in the satellite transmission.
|
|
11670 |
*/
|
|
11671 |
TUint8 iTlmReserved;
|
|
11672 |
/**Contain the Alert flags that are being broadcast by the GPS satellite identified by SatID.*/
|
|
11673 |
TBool iAlert;
|
|
11674 |
/**Contain the Anti-Spoof that are being broadcast by the GPS satellite identified by SatID.*/
|
|
11675 |
TBool iAntiSpoof;
|
|
11676 |
};
|
|
11677 |
|
|
11678 |
/**This class contains information that may be used to provide a mapping between UTRAN and GPS time*/
|
|
11679 |
class TUtranGpsRefTimeV1
|
|
11680 |
{
|
|
11681 |
public:
|
|
11682 |
/**UE-GPS timing of cell ms-part*/
|
|
11683 |
TUint16 iMsPart;
|
|
11684 |
/**UE-GPS timing of cell ls-part*/
|
|
11685 |
TUint16 iLsPart;
|
|
11686 |
/**System frame number*/
|
|
11687 |
TUint16 iSfn;
|
|
11688 |
/**Specifies GPS reference time specific to mode - FDD/TDD*/
|
|
11689 |
TModeSpecificInfoV1 iModeSpecificInfo;
|
|
11690 |
/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode.
|
|
11691 |
EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
|
|
11692 |
TBool iModeSpecificInfoStatus;
|
|
11693 |
};
|
|
11694 |
|
|
11695 |
/**
|
|
11696 |
This class contains several fields in the Telemetry (TLM) Word and Handover Word (HOW)
|
|
11697 |
that are currently being broadcast by the respective GPS satellites. Combining this information
|
|
11698 |
with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
|
|
11699 |
*/
|
|
11700 |
class TReferenceTimeV1
|
|
11701 |
{
|
|
11702 |
public:
|
|
11703 |
/**GPS time in weeks*/
|
|
11704 |
TUint16 iGpsWeek;
|
|
11705 |
/**GPS Time of Week in milliseconds */
|
|
11706 |
TUint16 iGpsTowOneMsec;
|
|
11707 |
/**GPS reference time may be used to provide a mapping between UTRAN and GPS time*/
|
|
11708 |
TUtranGpsRefTimeV1 iUtranGpsRefTime;
|
|
11709 |
/**
|
|
11710 |
This field indicates the uncertainty of the relation GPS TOW/SFN.
|
|
11711 |
ELessThan10 means the relation is accurate to at least 10 ms.
|
|
11712 |
*/
|
|
11713 |
TSfnTowUncertainity iSfnTowUncertainity;
|
|
11714 |
/**Drift rate of the NODE B clock relative to GPS time.*/
|
|
11715 |
TUtranGpsDriftRate iUtranGpsDriftRate;
|
|
11716 |
/**
|
|
11717 |
Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW)
|
|
11718 |
that are currently being broadcast by the respective GPS satellites. Combining this information
|
|
11719 |
with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
|
|
11720 |
*/
|
|
11721 |
TGpsTowAssistV1 iGpsTowAssistList[KMaxSat];
|
|
11722 |
};
|
|
11723 |
|
|
11724 |
/**This class contains the GPS Assistance Data received from network*/
|
|
11725 |
class TUePosGpsAssistanceDataV1
|
|
11726 |
{
|
|
11727 |
public:
|
|
11728 |
/**GPS reference time may be used to provide a mapping between UTRAN and GPS time.*/
|
|
11729 |
TReferenceTimeV1 iReferencTime;
|
|
11730 |
/**The Reference Location contains a 3-D location (with uncertainty)*/
|
|
11731 |
TReferenceLocationV1 iReferenceLocation;
|
|
11732 |
/**
|
|
11733 |
Holds information to allow a UE to estimate its position more accurate,
|
|
11734 |
biases in the pseudorange measurements may be provided to the UE.
|
|
11735 |
*/
|
|
11736 |
TDgpsCorrectionsV1 iDgpsCorrections;
|
|
11737 |
/**Holds navigation model satellite information*/
|
|
11738 |
TNavigationModelSatInfoV1 iNavigationModel;
|
|
11739 |
/**
|
|
11740 |
The Ionospheric Model contains information needed to model
|
|
11741 |
the propagation delays of the GPS signals through the ionosphere.
|
|
11742 |
*/
|
|
11743 |
TIonosphericModelV1 iIonosphericModel;
|
|
11744 |
/**UTC parameters may be used to provide Coordinated Universal Time to the UE.*/
|
|
11745 |
TUtcModelV1 iUtcModel;
|
|
11746 |
/**Holds the coarse, long-term model of the satellite positions and clocks.*/
|
|
11747 |
TAlmanacV1 iAlmanac;
|
|
11748 |
/**Holds the acquistions assistance information of the UE*/
|
|
11749 |
TAcquisitionAssistanceV1 iAcquisitionAssistance;
|
|
11750 |
/**Holds the list of bad satellites*/
|
|
11751 |
TUint8 iBadSatList[KMaxSat];
|
|
11752 |
/**
|
|
11753 |
This member specifies which of the above additional data structures are populated.
|
|
11754 |
*/
|
|
11755 |
TGpsAddlAssistDataReqV1 iGpsAddlDataStatus;
|
|
11756 |
};
|
|
11757 |
|
|
11758 |
/**This class contains the GPS assistance data required to compute the UE Postioning information*/
|
|
11759 |
class TUePosMeasurementV1
|
|
11760 |
{
|
|
11761 |
public:
|
|
11762 |
/**
|
|
11763 |
The purpose of the element is to express the allowed/required location method(s),
|
|
11764 |
and to provide information desired QoS.
|
|
11765 |
*/
|
|
11766 |
TUePosReportingQuantityV1 iUePosReportingQuantity;
|
|
11767 |
/**This member data defines in which UE states the measurement is valid.*/
|
|
11768 |
TMeasurementValidity iMeasurementValidity;
|
|
11769 |
/**This member data holds the GPS Assistance Data sent by the network*/
|
|
11770 |
TUePosGpsAssistanceDataV1 iUePosGpsAssistanceData;
|
|
11771 |
};
|
|
11772 |
|
|
11773 |
/**This holds the possible types of measurement commands that can be specified*/
|
|
11774 |
union TMeasurementCommandV1
|
|
11775 |
{
|
|
11776 |
/**Setup a new measurement*/
|
|
11777 |
TUePosMeasurementV1 iSetup;
|
|
11778 |
/**Modify a previously defined measurement*/
|
|
11779 |
TUePosMeasurementV1 iModify;
|
|
11780 |
/**Stop the measurement and clear all information in the UE that are related to that measurement.*/
|
|
11781 |
TBool iRelease;
|
|
11782 |
};
|
|
11783 |
|
|
11784 |
/**This enum specifies the mode the UE shall use to transmit the measurement report*/
|
|
11785 |
enum TMeasReportTransferMode
|
|
11786 |
{
|
|
11787 |
/**Transfer mode unknown*/
|
|
11788 |
ETransferModeUnknown,
|
|
11789 |
/**The UE shall transmit the measurement report using Acknowledged RLC mode*/
|
|
11790 |
EAckModeRlc,
|
|
11791 |
/**The UE shall transmit the measurement report using Unacknowledged RLC mode*/
|
|
11792 |
EUnAckModeRlc
|
|
11793 |
};
|
|
11794 |
|
|
11795 |
/**
|
|
11796 |
This class contains the GPS assistance data needed by the UE to compute the location
|
|
11797 |
of the UE. The UE computes the location once it receives all required information.
|
|
11798 |
*/
|
|
11799 |
class TMeasurementControlV7 : public RMobilePhone::TMultimodeType
|
|
11800 |
{
|
|
11801 |
public:
|
|
11802 |
IMPORT_C TMeasurementControlV7();
|
|
11803 |
public:
|
|
11804 |
/**
|
|
11805 |
A reference number that should be used by the UTRAN when setting up,
|
|
11806 |
modifying or releasing the measurement and by the UE in the measurement report.
|
|
11807 |
*/
|
|
11808 |
TUint8 iMeasurementIdentity;
|
|
11809 |
/**Specifies the Measurement Setup / Modify / Release*/
|
|
11810 |
TMeasurementCommandV1 iMeasurementCommand;
|
|
11811 |
/**This specifies whether the UE shall transmit the measurement report using AM or UM RLC.*/
|
|
11812 |
TMeasReportTransferMode iMeasReportTransferMode;
|
|
11813 |
/**ETrue indicates velocity estimate is requested. EFalse indicates velocity estimate is not requested*/
|
|
11814 |
TBool iVelocityRequested;
|
|
11815 |
/**Holds the type of measurement command being used*/
|
|
11816 |
TMeasurementCmd iMeasurementCmdStatus;
|
|
11817 |
};
|
|
11818 |
/**
|
|
11819 |
A typedef'd packaged TMeasurementControlV7 for passing through a
|
|
11820 |
generic API method.
|
|
11821 |
|
|
11822 |
@internalAll
|
|
11823 |
*/
|
|
11824 |
typedef TPckg<TMeasurementControlV7> TMeasurementControlV7Pckg;
|
|
11825 |
|
|
11826 |
//**************************************//
|
|
11827 |
// Measurement Report Data structures //
|
|
11828 |
//**************************************//
|
|
11829 |
|
|
11830 |
|
|
11831 |
/**
|
|
11832 |
This enum contains the indicators thta specify which
|
|
11833 |
union members of TMeasurementQuantityV1 are included
|
|
11834 |
*/
|
|
11835 |
enum TMeasQnty
|
|
11836 |
{
|
|
11837 |
/**Measurement Quantity unknown*/
|
|
11838 |
EMeasQntyUnknown,
|
|
11839 |
/**Indicates that CpichEcN0 is present*/
|
|
11840 |
EMeasQntyCpichEcN0Present,
|
|
11841 |
/**Indicates that CpichRscp is present*/
|
|
11842 |
EMeasQntyCpichRscpPresent,
|
|
11843 |
/**Indicates that path loss is present*/
|
|
11844 |
EMeasQntyPathLossPresent,
|
|
11845 |
};
|
|
11846 |
|
|
11847 |
/**
|
|
11848 |
This enum contains the indicators that specify which
|
|
11849 |
union members of TPosEstimateRefTime and TPositionEstimateV1 are included
|
|
11850 |
*/
|
|
11851 |
enum TPosEstimateInfo
|
|
11852 |
{
|
|
11853 |
/**Position Estimate Info Unknown*/
|
|
11854 |
EPosEstimateInfoUnknown,
|
|
11855 |
/**
|
|
11856 |
NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPosEstimateRefTime
|
|
11857 |
Indicates that UE positioning estimate reference time is populated
|
|
11858 |
*/
|
|
11859 |
EUtranGpsRefTimeResultPresent,
|
|
11860 |
/**Indicates that GPS reference time is populated*/
|
|
11861 |
EGpsRefTimeOnlyPresent,
|
|
11862 |
/**Indicates that cell timing is populated*/
|
|
11863 |
ECellTimingPresent,
|
|
11864 |
/**
|
|
11865 |
NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPositionEstimateV1.
|
|
11866 |
Indicates EllipsoidPoint is populated
|
|
11867 |
*/
|
|
11868 |
EEllipsoidPointPresent,
|
|
11869 |
/**Indicates EllipsoidPoint with uncertainty circle is populated*/
|
|
11870 |
EEllipsoidPointUncertCirclePresent,
|
|
11871 |
/**Indicates EllipsoidPoint with uncertainty ellipse is populated*/
|
|
11872 |
EEllipsoidPointUncertEllipsePresent,
|
|
11873 |
/**Indicates EllipsoidPoint with altitude is populated*/
|
|
11874 |
EEllipsoidPointAltitudePresent,
|
|
11875 |
/**Indicates EllipsoidPoint with altitude and ellipse is populated*/
|
|
11876 |
EEllipsoidPointAltEllipsePresent,
|
|
11877 |
};
|
|
11878 |
|
|
11879 |
/**This enum contains the possible types of velocity estimates*/
|
|
11880 |
enum TVelEstimate
|
|
11881 |
{
|
|
11882 |
/**Velocity Estimate Unknown*/
|
|
11883 |
EVelEstimateUnknown,
|
|
11884 |
/**Velocity Estimate is not present*/
|
|
11885 |
EVelEstimateNotPresent,
|
|
11886 |
/**Horizontal velocity is included*/
|
|
11887 |
EHorzVelPresent,
|
|
11888 |
/**Horizontal and vertical velocity is included*/
|
|
11889 |
EHorzWithVertVelPresent,
|
|
11890 |
/**Horizontal velocity with uncertainty is included*/
|
|
11891 |
EHorzVelWithUncertPresent,
|
|
11892 |
/**Horizontal and vertical velocity with uncertainty is included*/
|
|
11893 |
EHorzWithVertVelAndUncertPresent,
|
|
11894 |
};
|
|
11895 |
|
|
11896 |
/**This contains the measurement quantities of the UE*/
|
|
11897 |
union TMeasurementQuantityV1
|
|
11898 |
{
|
|
11899 |
public:
|
|
11900 |
/**
|
|
11901 |
@see 3GPP TS 25.133.
|
|
11902 |
@see 3GPP TS 25.123.
|
|
11903 |
*/
|
|
11904 |
TUint8 iCpichEcN0;
|
|
11905 |
/**
|
|
11906 |
@see 3GPP TS 25.133.
|
|
11907 |
@see 3GPP TS 25.123.
|
|
11908 |
*/
|
|
11909 |
TUint8 iCpichRscp;
|
|
11910 |
/**Measurement path loss in dB.*/
|
|
11911 |
TUint8 iPathLoss;
|
|
11912 |
/**Extra for future use*/
|
|
11913 |
TBool iSpare;
|
|
11914 |
};
|
|
11915 |
|
|
11916 |
/**This class contains the current cell informations in TDD mode*/
|
|
11917 |
class TTddV1
|
|
11918 |
{
|
|
11919 |
public:
|
|
11920 |
/**
|
|
11921 |
Time slot Interference on Signal Code Power
|
|
11922 |
@see 3GPP TS 25.123
|
|
11923 |
*/
|
|
11924 |
TUint8 iTimeSlotIscp;
|
|
11925 |
/**Primary Common Control Physical CHannel received signal code power*/
|
|
11926 |
TUint8 iPrimaryCcpchRscp;
|
|
11927 |
};
|
|
11928 |
|
|
11929 |
/**This class contains the information in FDD mode*/
|
|
11930 |
class TFddV1
|
|
11931 |
{
|
|
11932 |
public:
|
|
11933 |
/**Holds the measurement quantities of the UE*/
|
|
11934 |
TMeasurementQuantityV1 iMeasurementQuantity;
|
|
11935 |
/**Holds the field that would be populated in iMeasurementQuantity*/
|
|
11936 |
TMeasQnty iMeasQntyStatus;
|
|
11937 |
};
|
|
11938 |
|
|
11939 |
/**This contains the current cell information in specific modes - FDD/TDD*/
|
|
11940 |
union TCurrentCellV1
|
|
11941 |
{
|
|
11942 |
/**Current cell information in FDD mode*/
|
|
11943 |
TFddV1 iFdd;
|
|
11944 |
/**Current cell information in TDD mode*/
|
|
11945 |
TTddV1 iTdd;
|
|
11946 |
};
|
|
11947 |
|
|
11948 |
/**This contains the type of sfn-sfn observed time difference*/
|
|
11949 |
union TSfnSfnObsTimeDifferenceV1
|
|
11950 |
{
|
|
11951 |
/**Sfn-Sfn observed time difference -type1*/
|
|
11952 |
TUint16 iSfnSfnObsTimeDiff1;
|
|
11953 |
/**Sfn-Sfn observed time difference -type2*/
|
|
11954 |
TUint16 iSfnSfnObsTimeDiff2;
|
|
11955 |
};
|
|
11956 |
|
|
11957 |
/**This class contains the FDD mode information of monitored cells*/
|
|
11958 |
class TMonitoredCellFddV1
|
|
11959 |
{
|
|
11960 |
public:
|
|
11961 |
/**Primary Common Control Physical CHannel information*/
|
|
11962 |
TUint16 iPrimaryCpichInfo;
|
|
11963 |
/**Holds the measurement quantities of the UE*/
|
|
11964 |
TMeasurementQuantityV1 iMeasurementQuantity;
|
|
11965 |
/**Holds the field that would be populated in iMeasurementQuantity*/
|
|
11966 |
TMeasQnty iMeasQntyStatus;
|
|
11967 |
};
|
|
11968 |
|
|
11969 |
/**This class contains the TDD mode information of monitored cells*/
|
|
11970 |
class TMonitoredCellTddV1
|
|
11971 |
{
|
|
11972 |
public:
|
|
11973 |
/**Cell identification*/
|
|
11974 |
TUint8 iCellParametersID;
|
|
11975 |
/**Primary Common Control Physical CHannel received signal code power*/
|
|
11976 |
TUint8 iPrimaryCcpchRscp;
|
|
11977 |
};
|
|
11978 |
|
|
11979 |
/**This contains the monitored cells information in specific mode - FDD/TDD*/
|
|
11980 |
union TMonitoredCellModeSpecificInfoV1
|
|
11981 |
{
|
|
11982 |
/**Monitored Cell information in FDD mode*/
|
|
11983 |
TMonitoredCellFddV1 iMonitoredCellFdd;
|
|
11984 |
/**Monitored Cell information in TDD mode*/
|
|
11985 |
TMonitoredCellTddV1 iMonitoredCellTdd;
|
|
11986 |
};
|
|
11987 |
|
|
11988 |
/**This class contains the measured results for monitored cells on Random Access Channel*/
|
|
11989 |
class TMonitoredCellRachResultV1
|
|
11990 |
{
|
|
11991 |
public:
|
|
11992 |
/**Holds the sfn-sfn observed time difference*/
|
|
11993 |
TSfnSfnObsTimeDifferenceV1 iSfnSfnObsTimeDiff;
|
|
11994 |
/**Holds the monitored cells specific info mode - FDD/TDD*/
|
|
11995 |
TMonitoredCellModeSpecificInfoV1 iMonitoredCellModeSpecificInfo;
|
|
11996 |
/**ETrue indicates iMonitoredCellModeSpecificInfo is iMonitoredCellFdd.
|
|
11997 |
EFalse indicates iMonitoredCellModeSpecificInfo is iMonitoredCellTdd*/
|
|
11998 |
TBool iSfnSfnObsTimeDiffStatus;
|
|
11999 |
};
|
|
12000 |
/**
|
|
12001 |
Horizontal velocity is characterised by the horizontal speed and bearing.
|
|
12002 |
The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE.
|
|
12003 |
The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
|
|
12004 |
@see 3GPP TS 23.032
|
|
12005 |
*/
|
|
12006 |
class THorzVelocityV1
|
|
12007 |
{
|
|
12008 |
public:
|
|
12009 |
/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
|
|
12010 |
TUint16 iBearing;
|
|
12011 |
/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
|
|
12012 |
TUint16 iHorzSpeed;
|
|
12013 |
};
|
|
12014 |
|
|
12015 |
/**This enum holds vertical speed direction*/
|
|
12016 |
enum TVertSpeedDirection
|
|
12017 |
{
|
|
12018 |
/**Speed direction unknown*/
|
|
12019 |
ESpeedDirectionUnknown,
|
|
12020 |
/**Upward direction*/
|
|
12021 |
EUpward,
|
|
12022 |
/**Downward direction*/
|
|
12023 |
EDownward
|
|
12024 |
};
|
|
12025 |
|
|
12026 |
/**
|
|
12027 |
Horizontal velocity is characterised by the horizontal speed and bearing.
|
|
12028 |
The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE.
|
|
12029 |
The vertical speed and direction provides the component of velocity of a UE in a vertical direction.
|
|
12030 |
The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
|
|
12031 |
@see 3GPP TS 23.032
|
|
12032 |
*/
|
|
12033 |
class THorzWithVertVelocityV1
|
|
12034 |
{
|
|
12035 |
public:
|
|
12036 |
/**Direction of vertical speed*/
|
|
12037 |
TVertSpeedDirection iVertSpeedDirection;
|
|
12038 |
/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
|
|
12039 |
TUint16 iBearing;
|
|
12040 |
/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
|
|
12041 |
TUint16 iHorzSpeed;
|
|
12042 |
/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
|
|
12043 |
TUint8 iVertSpeed;
|
|
12044 |
};
|
|
12045 |
|
|
12046 |
/**
|
|
12047 |
Horizontal velocity with uncertainty is characterised by a horizontal speed and bearing,
|
|
12048 |
giving a horizontal velocity vector V, and an uncertainty speed s.
|
|
12049 |
@see 3GPP TS 23.032
|
|
12050 |
*/
|
|
12051 |
class THorzVelocityWithUncertaintyV1
|
|
12052 |
{
|
|
12053 |
public:
|
|
12054 |
/** The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
|
|
12055 |
TUint16 iBearing;
|
|
12056 |
/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
|
|
12057 |
TUint16 iHorzSpeed;
|
|
12058 |
/**
|
|
12059 |
Horizontal speed uncertainty.
|
|
12060 |
*/
|
|
12061 |
TUint8 iHorzSpeedUncertainty;
|
|
12062 |
};
|
|
12063 |
|
|
12064 |
/**
|
|
12065 |
Horizontal and vertical velocity with uncertainty is characterised by a horizontal speed and bearing,
|
|
12066 |
giving a horizontal velocity vector Vx,y, a vertical speed and direction giving a vertical velocity component Vz,
|
|
12067 |
and uncertainty speeds s1 and s2.
|
|
12068 |
@see 3GPP TS 23.032
|
|
12069 |
*/
|
|
12070 |
class THorzWithVertVelocityAndUncertaintyV1
|
|
12071 |
{
|
|
12072 |
public:
|
|
12073 |
/**
|
|
12074 |
The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.
|
|
12075 |
*/
|
|
12076 |
TUint16 iBearing;
|
|
12077 |
/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
|
|
12078 |
TUint16 iHorzSpeed;
|
|
12079 |
/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
|
|
12080 |
TUint8 iVertSpeed;
|
|
12081 |
/**Horizontal speed uncertainty.*/
|
|
12082 |
TUint8 iHorzSpeedUncertainty;
|
|
12083 |
};
|
|
12084 |
|
|
12085 |
/**
|
|
12086 |
This class contains the possible ways of velocity estimates
|
|
12087 |
@see 3GPP TS 23.032
|
|
12088 |
*/
|
|
12089 |
union TVelocityEstimateV1
|
|
12090 |
{
|
|
12091 |
/**Horizontal velocity*/
|
|
12092 |
THorzVelocityV1 iHorzVelocity;
|
|
12093 |
/**Horizontal velockity and vertical velocity*/
|
|
12094 |
THorzWithVertVelocityV1 iHorzWithVertVelocity;
|
|
12095 |
/**Horizontal velocity with uncertainty*/
|
|
12096 |
THorzVelocityWithUncertaintyV1 iHorzVelocityWithUncertainty;
|
|
12097 |
/**Horizontal and vertical velocity with uncertainty*/
|
|
12098 |
THorzWithVertVelocityAndUncertaintyV1 iHorzWithVertVelocityAndUncertainty;
|
|
12099 |
};
|
|
12100 |
|
|
12101 |
/**This class contains the measured results on Random Access Channel*/
|
|
12102 |
class TMeasuredResultsOnRachV1
|
|
12103 |
{
|
|
12104 |
public:
|
|
12105 |
/**Current cell information*/
|
|
12106 |
TCurrentCellV1 iCurrentCell;
|
|
12107 |
/**Monitored Cell information*/
|
|
12108 |
TMonitoredCellRachResultV1 iMonitoredCellsRachList[KMaxMonitoredCells];
|
|
12109 |
/**ETrue indicates iCurrentCell is iFdd.
|
|
12110 |
EFalse indicates iCurrentCell is iTdd*/
|
|
12111 |
TBool iCurrentCellStatus;
|
|
12112 |
};
|
|
12113 |
|
|
12114 |
/**
|
|
12115 |
Identifies the channel in combination with the Midamble shift and slot number.
|
|
12116 |
It is not used in 1.28 Mcps TDD and may be set to either value and should be ignored by the receiver.
|
|
12117 |
*/
|
|
12118 |
enum TBurstType
|
|
12119 |
{
|
|
12120 |
/**Burst type 1*/
|
|
12121 |
EType1,
|
|
12122 |
/**Burst type 2*/
|
|
12123 |
EType2
|
|
12124 |
};
|
|
12125 |
|
|
12126 |
/**This class contains UE positioning estimates specific to TDD*/
|
|
12127 |
class TPosEstimateTddV1
|
|
12128 |
{
|
|
12129 |
public:
|
|
12130 |
/**Identifies the channel in combination with the Midamble shift and slot number.*/
|
|
12131 |
TBurstType iBurstType;
|
|
12132 |
/**Midamble shift*/
|
|
12133 |
TUint8 iMidambleShift;
|
|
12134 |
/**
|
|
12135 |
This member data is present only if no IPDL scheme is configured in the reference cell.
|
|
12136 |
Otherwise the slot is defined by the IPDL configuration.
|
|
12137 |
*/
|
|
12138 |
TUint8 iTimeSlotNumber;
|
|
12139 |
/**
|
|
12140 |
Cell identification
|
|
12141 |
*/
|
|
12142 |
TUint8 iCellParametersID;
|
|
12143 |
};
|
|
12144 |
|
|
12145 |
/**This class contains UE positioning estimates specific to FDD/TDD*/
|
|
12146 |
union TPosEstimateModeSpecificInfoV1
|
|
12147 |
{
|
|
12148 |
/**Identifies the reference cell for the GPS TOW-SFN relationship.*/
|
|
12149 |
TUint16 iPrimaryCpichInfo;
|
|
12150 |
/**Holds the cell and channel identification*/
|
|
12151 |
TPosEstimateTddV1 iCellAndChannelID;
|
|
12152 |
};
|
|
12153 |
|
|
12154 |
/**This class contains the cell timing information*/
|
|
12155 |
class TCellTimingV1
|
|
12156 |
{
|
|
12157 |
public:
|
|
12158 |
/**
|
|
12159 |
SFN during which the position was calculated.
|
|
12160 |
*/
|
|
12161 |
TUint16 iSfn;
|
|
12162 |
/**Holds the UE positioning estimates specific to mode - FDD or TDD*/
|
|
12163 |
TPosEstimateModeSpecificInfoV1 iPosEstimateModeSpecificInfo;
|
|
12164 |
/**ETrue indicates iPosEstimateModeSpecificInfo is iPrimaryCpichInfo.
|
|
12165 |
EFalse indicates iPosEstimateModeSpecificInfo is iCellAndChannelID.*/
|
|
12166 |
TBool iPosEstimateModeStatus;
|
|
12167 |
};
|
|
12168 |
|
|
12169 |
/**This class captures the GPS measurement specific to FDD or TDD*/
|
|
12170 |
union TGpsMeasModeSpecificInfoV1
|
|
12171 |
{
|
|
12172 |
/**Frequency Division Duplex identification*/
|
|
12173 |
TUint16 iFddRefID;
|
|
12174 |
/**Time Division Duplex identification*/
|
|
12175 |
TUint8 iTddRefID;
|
|
12176 |
};
|
|
12177 |
|
|
12178 |
/**This class contains results of the GPS reference time*/
|
|
12179 |
class TUtranGpsRefTimeResultV1
|
|
12180 |
{
|
|
12181 |
public:
|
|
12182 |
/**UE-GPS timing of cell ms-part*/
|
|
12183 |
TUint16 iMsPart;
|
|
12184 |
/**UE-GPS timing of cell ls-part*/
|
|
12185 |
TUint16 iLsPart;
|
|
12186 |
/**Holds the GPS measurement specific to FDD or TDD*/
|
|
12187 |
TGpsMeasModeSpecificInfoV1 iGpsMeasModeSpecificInfo;
|
|
12188 |
/**Cell System Frame Number*/
|
|
12189 |
TUint16 iSfn;
|
|
12190 |
/**ETrue indicates iGpsMeasModeSpecificInfo is iFddRefID.
|
|
12191 |
EFalse indicates iGpsMeasModeSpecificInfo is iTddRefID*/
|
|
12192 |
TBool iGpsMeasModeStatus;
|
|
12193 |
};
|
|
12194 |
|
|
12195 |
/**This union contains the UE positioning reference time*/
|
|
12196 |
union TPosReferenceTimeV1
|
|
12197 |
{
|
|
12198 |
/**Contains the results of GPS reference time*/
|
|
12199 |
TUtranGpsRefTimeResultV1 iUtranGpsRefTimeResult;
|
|
12200 |
/**Contains the GPS reference time*/
|
|
12201 |
TUint16 iGpsRefTimeOnly;
|
|
12202 |
};
|
|
12203 |
|
|
12204 |
/**
|
|
12205 |
This class contains the information of ellipsoid.
|
|
12206 |
It consists of a latitude and a longitude.
|
|
12207 |
@see 3GPP TS 23.032
|
|
12208 |
*/
|
|
12209 |
class TEllipsoidPointV1
|
|
12210 |
{
|
|
12211 |
public:
|
|
12212 |
/**Specifies the sign - North/South*/
|
|
12213 |
TLatitudeSign iLatitudeSign;
|
|
12214 |
/**
|
|
12215 |
A north/south angular measurement of position relative to the equator,
|
|
12216 |
in the meridian plane which contains the earth's rotation axis
|
|
12217 |
*/
|
|
12218 |
TUint16 iLatitude;
|
|
12219 |
/**
|
|
12220 |
An east/west angular measurement of position in relation to the Prime Meridian.
|
|
12221 |
The angle between the two great circles, one being the Prime (or Greenwich) Meridian
|
|
12222 |
and the other a meridian passing through the point of interest.
|
|
12223 |
*/
|
|
12224 |
TInt16 iLongitude;
|
|
12225 |
};
|
|
12226 |
|
|
12227 |
/**
|
|
12228 |
It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
|
|
12229 |
@see 3GPP TS 23.032
|
|
12230 |
*/
|
|
12231 |
class TEllipsoidPointUncertCircleV1
|
|
12232 |
{
|
|
12233 |
public:
|
|
12234 |
/**Specifies the sign - North/South*/
|
|
12235 |
TLatitudeSign iLatitudeSign;
|
|
12236 |
/**
|
|
12237 |
A north/south angular measurement of position relative to the equator,
|
|
12238 |
in the meridian plane which contains the earth's rotation axis
|
|
12239 |
*/
|
|
12240 |
TUint16 iLatitude;
|
|
12241 |
/**
|
|
12242 |
An east/west angular measurement of position in relation to the Prime Meridian.
|
|
12243 |
The angle between the two great circles, one being the Prime (or Greenwich) Meridian
|
|
12244 |
and the other a meridian passing through the point of interest.
|
|
12245 |
*/
|
|
12246 |
TInt16 iLongitude;
|
|
12247 |
/**Uncertainty code*/
|
|
12248 |
TUint8 iUncertaintyCode;
|
|
12249 |
};
|
|
12250 |
|
|
12251 |
/**
|
|
12252 |
It is characterised by the co-ordinates of an ellipsoid point (the origin),
|
|
12253 |
distances r1 and r2 and an angle of orientation A
|
|
12254 |
@see 3GPP TS 23.032
|
|
12255 |
*/
|
|
12256 |
class TEllipsoidPointUncertEllipseV1
|
|
12257 |
{
|
|
12258 |
public:
|
|
12259 |
/**Specifies the sign - North/South*/
|
|
12260 |
TLatitudeSign iLatitudeSign;
|
|
12261 |
/**
|
|
12262 |
A north/south angular measurement of position relative to the equator,
|
|
12263 |
in the meridian plane which contains the earth's rotation axis
|
|
12264 |
*/
|
|
12265 |
TUint16 iLatitude;
|
|
12266 |
/**
|
|
12267 |
An east/west angular measurement of position in relation to the Prime Meridian.
|
|
12268 |
The angle between the two great circles, one being the Prime (or Greenwich) Meridian
|
|
12269 |
and the other a meridian passing through the point of interest.
|
|
12270 |
*/
|
|
12271 |
TInt16 iLongitude;
|
|
12272 |
/**Uncertainty semi major axis*/
|
|
12273 |
TUint8 iUncertaintySemiMajor;
|
|
12274 |
/**Uncertainty semi minor axis*/
|
|
12275 |
TUint8 iUncertaintySemiMinor;
|
|
12276 |
/**Orientation of major axis*/
|
|
12277 |
TUint8 iOrientationMajorAxis;
|
|
12278 |
/**The confidence by which the position of a target entity is known to be within the shape description*/
|
|
12279 |
TUint8 iConfidence;
|
|
12280 |
};
|
|
12281 |
|
|
12282 |
/**
|
|
12283 |
The description of an ellipsoid point with altitude is that of a point at a specified distance
|
|
12284 |
above or below a point on the earth's surface. This is defined by an ellipsoid point
|
|
12285 |
with the given longitude and latitude and the altitude above or below the ellipsoid point.
|
|
12286 |
@see 3GPP TS 23.032
|
|
12287 |
*/
|
|
12288 |
class TEllipsoidPointAltitudeV1
|
|
12289 |
{
|
|
12290 |
public:
|
|
12291 |
/**Specifies the sign - North/South*/
|
|
12292 |
TLatitudeSign iLatitudeSign;
|
|
12293 |
/**
|
|
12294 |
A north/south angular measurement of position relative to the equator,
|
|
12295 |
in the meridian plane which contains the earth's rotation axis
|
|
12296 |
*/
|
|
12297 |
TUint16 iLatitude;
|
|
12298 |
/**
|
|
12299 |
An east/west angular measurement of position in relation to the Prime Meridian.
|
|
12300 |
The angle between the two great circles, one being the Prime (or Greenwich) Meridian
|
|
12301 |
and the other a meridian passing through the point of interest.
|
|
12302 |
*/
|
|
12303 |
TInt16 iLongitude;
|
|
12304 |
/**Direction of altitude*/
|
|
12305 |
TAltDirection iAltDirection;
|
|
12306 |
/**Degree of altitude*/
|
|
12307 |
TUint16 iAltitude;
|
|
12308 |
};
|
|
12309 |
|
|
12310 |
/**
|
|
12311 |
characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
|
|
12312 |
r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A
|
|
12313 |
(the "angle of the major axis")
|
|
12314 |
@see 3GPP TS 23.032
|
|
12315 |
*/
|
|
12316 |
class TEllipsoidPointAltitudeEllipseV1
|
|
12317 |
{
|
|
12318 |
public:
|
|
12319 |
/**Specifies the sign - North/South*/
|
|
12320 |
TLatitudeSign iLatitudeSign;
|
|
12321 |
/**
|
|
12322 |
A north/south angular measurement of position relative to the equator,
|
|
12323 |
in the meridian plane which contains the earth's rotation axis
|
|
12324 |
*/
|
|
12325 |
TUint16 iLatitude;
|
|
12326 |
/**
|
|
12327 |
An east/west angular measurement of position in relation to the Prime Meridian.
|
|
12328 |
The angle between the two great circles, one being the Prime (or Greenwich) Meridian
|
|
12329 |
and the other a meridian passing through the point of interest.
|
|
12330 |
*/
|
|
12331 |
TInt16 iLongitude;
|
|
12332 |
/**Direction of altitude*/
|
|
12333 |
TAltDirection iAltDirection;
|
|
12334 |
/**Degree of latitude*/
|
|
12335 |
TUint16 iAltitude;
|
|
12336 |
/**Uncertainty semi major axis*/
|
|
12337 |
TUint8 iUncertaintySemiMajor;
|
|
12338 |
/**Uncertainty semi minor axis*/
|
|
12339 |
TUint8 iUncertaintySemiMinor;
|
|
12340 |
/**Orientation of major axis*/
|
|
12341 |
TUint8 iOrientationMajorAxis;
|
|
12342 |
/**The confidence by which the position of a target entity is known to be within the shape description*/
|
|
12343 |
TUint8 iConfidence;
|
|
12344 |
};
|
|
12345 |
|
|
12346 |
/**This union holds the possible forms of position estimate of the UE that can be captured.*/
|
|
12347 |
union TPositionEstimateV1
|
|
12348 |
{
|
|
12349 |
/**
|
|
12350 |
The description of an ellipsoid point is that of a point
|
|
12351 |
on the surface of the ellipsoid, and consists of a latitude and a longitude.
|
|
12352 |
@see 3GPP TS 23.032
|
|
12353 |
*/
|
|
12354 |
TEllipsoidPointV1 iEllipsoidPoint;
|
|
12355 |
/**
|
|
12356 |
It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
|
|
12357 |
@see 3GPP TS 23.032
|
|
12358 |
*/
|
|
12359 |
TEllipsoidPointUncertCircleV1 iEllipsoidPointUncertCircle;
|
|
12360 |
/**
|
|
12361 |
It is characterised by the co-ordinates of an ellipsoid point (the origin),
|
|
12362 |
distances r1 and r2 and an angle of orientation A
|
|
12363 |
@see 3GPP TS 23.032
|
|
12364 |
*/
|
|
12365 |
TEllipsoidPointUncertEllipseV1 iEllipsoidPointUncertEllipse;
|
|
12366 |
/**
|
|
12367 |
The description of an ellipsoid point with altitude is that of a point at a specified distance
|
|
12368 |
above or below a point on the earth's surface. This is defined by an ellipsoid point
|
|
12369 |
with the given longitude and latitude and the altitude above or below the ellipsoid point.
|
|
12370 |
@see 3GPP TS 23.032
|
|
12371 |
*/
|
|
12372 |
TEllipsoidPointAltitudeV1 iEllipsoidPointAltitude;
|
|
12373 |
/**
|
|
12374 |
characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
|
|
12375 |
r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A
|
|
12376 |
(the "angle of the major axis")
|
|
12377 |
@see 3GPP TS 23.032
|
|
12378 |
*/
|
|
12379 |
TEllipsoidPointAltitudeEllipseV1 iEllipsoidPointAltitudeEllipsoide;
|
|
12380 |
};
|
|
12381 |
|
|
12382 |
/**This contains the positioning estimate reference time*/
|
|
12383 |
union TPosEstimateRefTime
|
|
12384 |
{
|
|
12385 |
/**Contains results of the GPS reference time*/
|
|
12386 |
TUtranGpsRefTimeResultV1 iUtranGpsRefTimeResult;
|
|
12387 |
/**Contains the GPS reference time */
|
|
12388 |
TUint16 iGpsRefTimeOnly;
|
|
12389 |
/**Contains the cell timing*/
|
|
12390 |
TCellTimingV1 iCellTiming;
|
|
12391 |
};
|
|
12392 |
|
|
12393 |
/**
|
|
12394 |
Provides the position estimate from the UE to the network,
|
|
12395 |
if the UE is capable of determining its own position.
|
|
12396 |
*/
|
|
12397 |
class TUePosPositionEstimateInfoV1
|
|
12398 |
{
|
|
12399 |
public:
|
|
12400 |
/**UE positioning estimate reference time*/
|
|
12401 |
TPosEstimateRefTime iPosEstimateRefTime;
|
|
12402 |
/**Holds the UE's position estimate
|
|
12403 |
@see TPositionEstimateV1
|
|
12404 |
*/
|
|
12405 |
TPositionEstimateV1 iPostionEstimate;
|
|
12406 |
/**Holds the field that would be populated in iPosEstimateRefTime*/
|
|
12407 |
TPosEstimateInfo iPosEstimateRefTimeStatus;
|
|
12408 |
/**Holds the field that would be populated in iPosEstimate*/
|
|
12409 |
TPosEstimateInfo iPosEstimateStatus;
|
|
12410 |
};
|
|
12411 |
|
|
12412 |
/**This enum contains the multipath indicators*/
|
|
12413 |
enum TMultipathIndicator
|
|
12414 |
{
|
|
12415 |
/**
|
|
12416 |
Multipath indicator unknown
|
|
12417 |
This is an invalid indicator.
|
|
12418 |
*/
|
|
12419 |
EMPUnknown,
|
|
12420 |
/**Not measured*/
|
|
12421 |
ENm,
|
|
12422 |
/**MP error < 5m*/
|
|
12423 |
ELow,
|
|
12424 |
/**5m < MP error < 43m*/
|
|
12425 |
EMedium,
|
|
12426 |
/**MP error > 43m*/
|
|
12427 |
EHigh
|
|
12428 |
};
|
|
12429 |
|
|
12430 |
/**This class contains the GPS measurement parameters of the UE*/
|
|
12431 |
class TGpsMeasMeasurementParamV1
|
|
12432 |
{
|
|
12433 |
public:
|
|
12434 |
/**Satellite Identification*/
|
|
12435 |
TUint8 iSatID;
|
|
12436 |
/**
|
|
12437 |
The estimate of the carrier-to-noise ratio of the received signal from the particular
|
|
12438 |
satellite used in the measurement. It is given in units of dB-Hz (typical levels will
|
|
12439 |
be in the range of 20 - 50 dB-Hz).
|
|
12440 |
*/
|
|
12441 |
TUint8 iCN0;
|
|
12442 |
/**
|
|
12443 |
It is the instantaneous frequency difference between the receiver's internal oscillator
|
|
12444 |
and the received carrier from the satellite. Hz, scale factor 0.2.
|
|
12445 |
*/
|
|
12446 |
TInt16 iDoppler;
|
|
12447 |
/**
|
|
12448 |
Unit in GPS chips.
|
|
12449 |
Whole value of the UE GPS code-phase measurement, where increasing binary values of the field
|
|
12450 |
signify increasing measured pseudoranges.
|
|
12451 |
*/
|
|
12452 |
TUint16 iWholeGpsChips;
|
|
12453 |
/**
|
|
12454 |
The UE GPS code-phase measurement is divided into the fields "Whole GPS Chips" and "Fractional GPS Chips".
|
|
12455 |
Scale factor 2-10 Fractional value of the UE GPS code-phase measurement.
|
|
12456 |
*/
|
|
12457 |
TUint16 iFractionalGpsChips;
|
|
12458 |
/**
|
|
12459 |
Contains the possible multipath indicators. Multipath error is usually caused by one path being bounced or
|
|
12460 |
reflected. The impact on a pseudo-range measurement may be up to a few metres. In the case of carrier phase,
|
|
12461 |
this is of the order of a few centimetres.
|
|
12462 |
*/
|
|
12463 |
TMultipathIndicator iMultipathIndicator;
|
|
12464 |
/**
|
|
12465 |
A distance measurement based on the correlation of a satellite's transmitted code (may be the C/A-Code or
|
|
12466 |
the encrypted P-Code) and the local receiver's reference code (for that PRN satellite number),
|
|
12467 |
that has not been corrected for errors in synchronisation between the transmitter's clock and the receiver's clock.
|
|
12468 |
Hence a pseudo-range measurement is a time-error biased distance measurement.
|
|
12469 |
*/
|
|
12470 |
TUint8 iPseudorangeRmsError;
|
|
12471 |
};
|
|
12472 |
|
|
12473 |
/**This class contains the GPS measurement parameters and the positioning reference time*/
|
|
12474 |
class TUePosGpsMeasurementResultsV1
|
|
12475 |
{
|
|
12476 |
public:
|
|
12477 |
/**UE positioning reference time*/
|
|
12478 |
TPosReferenceTimeV1 iPosGpsMeasRefTime;
|
|
12479 |
/**Holds the GPS measurement parameters from all the active satellites*/
|
|
12480 |
TGpsMeasMeasurementParamV1 iGpsMeasurementParamList[KMaxSat];
|
|
12481 |
/**ETrue indicates TPosReferenceTimeV1::iUtranGpsRefTimeResult is populated.
|
|
12482 |
EFalse indicates TPosReferenceTimeV1::iGpsRefTimeOnly is populated*/
|
|
12483 |
TBool iPosGpsMeasRefTimeStatus;
|
|
12484 |
};
|
|
12485 |
|
|
12486 |
/**
|
|
12487 |
This enum lists all the possible errors that UE can report to the network
|
|
12488 |
*/
|
|
12489 |
enum TPosErrorCause
|
|
12490 |
{
|
|
12491 |
/**
|
|
12492 |
Error Cause Unknown. This is an invalid error cause and is set if the UE does not set with
|
|
12493 |
any of the underlying valid error causes
|
|
12494 |
*/
|
|
12495 |
EErrorCauseUnknown,
|
|
12496 |
/**Indicates that enought number of GPS satellites are healthy and active.*/
|
|
12497 |
ENotEnoughGpsSatellites,
|
|
12498 |
/**Assistance data required to compute location of the UE is missing in the measurement control.
|
|
12499 |
If the Additional data request flag is true in the measurement control only then additional assistance
|
|
12500 |
data can be requested otherwise measurements need to be done using the existing assistance data
|
|
12501 |
@see TGpsAddlAssistDataReqV1
|
|
12502 |
@see TUePosReportingQuantityV1
|
|
12503 |
*/
|
|
12504 |
EAssistanceDataMissing,
|
|
12505 |
/**
|
|
12506 |
Cell Frames Timings are not accomplished
|
|
12507 |
*/
|
|
12508 |
ENotAccomplishedGpsTimingOfCellFrames,
|
|
12509 |
/**
|
|
12510 |
UE can set this error in case other than the above mentioned is encountered
|
|
12511 |
*/
|
|
12512 |
EUndefinedError,
|
|
12513 |
/**
|
|
12514 |
UE denies Location information
|
|
12515 |
*/
|
|
12516 |
ERequestDeniedByUser,
|
|
12517 |
};
|
|
12518 |
|
|
12519 |
/**
|
|
12520 |
This class contains the positioning errors that might have encountered during
|
|
12521 |
measurement of location of the UE.
|
|
12522 |
*/
|
|
12523 |
class TUePosError
|
|
12524 |
{
|
|
12525 |
public:
|
|
12526 |
/**Indicates the error cause encountered while computing GPS Assistance data*/
|
|
12527 |
TPosErrorCause iPosErrorCause;
|
|
12528 |
/**If error cause is "Assistance Data Missing" and iAddlAssistanceDataReq is set to ETrue then
|
|
12529 |
then this member shall indicate what additional assistance data is needed.
|
|
12530 |
If iAddlAssistanceDataReq is set to EFalse then existing assistance data is used to compute location
|
|
12531 |
information of the UE.
|
|
12532 |
@see TUePosReportingQuantityV1::iAddlAssistanceDataReq*/
|
|
12533 |
TGpsAddlAssistDataReqV1 iGpsAddlAssistDataReq;
|
|
12534 |
};
|
|
12535 |
|
|
12536 |
/**
|
|
12537 |
This class contains the measurement results computed by the UE.
|
|
12538 |
*/
|
|
12539 |
class TUePosMeasuredResultsV1
|
|
12540 |
{
|
|
12541 |
public:
|
|
12542 |
/**The purpose of this is to provide the position estimate from the UE to the network,
|
|
12543 |
if the UE is capable of determining its own position.*/
|
|
12544 |
TUePosPositionEstimateInfoV1 iUePosPositionEstimateInfo;
|
|
12545 |
/**Contains the GPS measurement parameters and the positioning reference time*/
|
|
12546 |
TUePosGpsMeasurementResultsV1 iUePosGpsMeasurement;
|
|
12547 |
/**Indicates the error cause and/or additional assistance data is required*/
|
|
12548 |
TUePosError iUePosError;
|
|
12549 |
/**
|
|
12550 |
ETrue indicates some error has encountered. iUePosError will be populated.
|
|
12551 |
EFalse indicates Gps Assistance Data is received and no error has encountered while processing.
|
|
12552 |
Hence iUePosPositionEstimateInfo and iUePosGpsMeasurement will be populated
|
|
12553 |
*/
|
|
12554 |
TBool iPosErrorStatus;
|
|
12555 |
};
|
|
12556 |
|
|
12557 |
/**Contains the measured location information of the UE*/
|
|
12558 |
union TMeasuredResultsV1
|
|
12559 |
{
|
|
12560 |
/**
|
|
12561 |
This member either contains the measurement results or the error that might have
|
|
12562 |
encountered during measurements.
|
|
12563 |
*/
|
|
12564 |
TUePosMeasuredResultsV1 iTUePosMeasuredResults;
|
|
12565 |
/**
|
|
12566 |
A spare member for future use.
|
|
12567 |
*/
|
|
12568 |
TBool iSpare;
|
|
12569 |
};
|
|
12570 |
|
|
12571 |
/**
|
|
12572 |
This class contains the measurement report expected as response to the measurement control sent by the
|
|
12573 |
network. Veloctiy estimates are included if requested in measurement control.
|
|
12574 |
*/
|
|
12575 |
class TMeasurementReportV7 : public RMobilePhone::TMultimodeType
|
|
12576 |
{
|
|
12577 |
public:
|
|
12578 |
IMPORT_C TMeasurementReportV7();
|
|
12579 |
public:
|
|
12580 |
/**A reference number that should be used by the UTRAN when setting up,
|
|
12581 |
modifying or releasing the measurement and by the UE in the measurement report.
|
|
12582 |
*/
|
|
12583 |
TUint8 iMeasurementIdentity;
|
|
12584 |
/**Contains the measured location information of the UE*/
|
|
12585 |
TMeasuredResultsV1 iMeasuredResults;
|
|
12586 |
/**Contains the measured results on Random Access Channel*/
|
|
12587 |
TMeasuredResultsOnRachV1 iMeasuredResultsOnRach;
|
|
12588 |
/**Contains the velocity estimates of the UE*/
|
|
12589 |
TVelocityEstimateV1 iVelocityEstimate;
|
|
12590 |
/**
|
|
12591 |
Indicates the populated member in iVelocityEstimate if velocity estimate is computed.
|
|
12592 |
Otherwise indicates that velocity estimate is not computed.
|
|
12593 |
*/
|
|
12594 |
TVelEstimate iVelEstimateStatus;
|
|
12595 |
};
|
|
12596 |
/**
|
|
12597 |
A typedef'd packaged TMeasurementReportV7 for passing through a
|
|
12598 |
generic API method.
|
|
12599 |
|
|
12600 |
@internalAll
|
|
12601 |
*/
|
|
12602 |
typedef TPckg<TMeasurementReportV7> TMeasurementReportV7Pckg;
|
|
12603 |
|
|
12604 |
//*********************************************//
|
|
12605 |
// Measurement Control Failure data structure //
|
|
12606 |
//*********************************************//
|
|
12607 |
|
|
12608 |
/**
|
|
12609 |
This enum contains the list of errors that the UE can specify.
|
|
12610 |
The Measurement control failure is caused only when the the UE
|
|
12611 |
cannot initiate a measurement as instructed by the network.
|
|
12612 |
*/
|
|
12613 |
enum TMeasurementControlFailure
|
|
12614 |
{
|
|
12615 |
/**
|
|
12616 |
Unknown Measurement Control Failure.
|
|
12617 |
This is an invalid failure state whic will be set if the UE does not set with the
|
|
12618 |
underlying valid error reasons.
|
|
12619 |
*/
|
|
12620 |
EControlFailureUnknown,
|
|
12621 |
/**Indicates ASN1.0 encoding is incorrect*/
|
|
12622 |
EAsn1ViolationOrEncoding,
|
|
12623 |
/**Messsgae type specified is not existent*/
|
|
12624 |
EMsgTypeNonExistent,
|
|
12625 |
/**Message is not compatible*/
|
|
12626 |
EMsgNotCompatibleWithReceiverState,
|
|
12627 |
/**Information sent cannot be understood*/
|
|
12628 |
EIeValueNotComprehend,
|
|
12629 |
/**Information expected is not present*/
|
|
12630 |
EInformationElementMissing,
|
|
12631 |
/*Message extension cannot be understood*/
|
|
12632 |
EMsgExtnNotComprehend
|
|
12633 |
};
|
|
12634 |
|
|
12635 |
/**
|
|
12636 |
This enum contains the possible domains used by MOLR
|
|
12637 |
*/
|
|
12638 |
enum TDomain
|
|
12639 |
{
|
|
12640 |
/**Packet switch domain is the default domain that will be used by Molr*/
|
|
12641 |
EPacketSwitchedDomain,
|
|
12642 |
/**UE shall set the domain to Circuit switch whenever Molr is intended to use it*/
|
|
12643 |
ECircuitSwitchedDomain
|
|
12644 |
};
|
|
12645 |
|
|
12646 |
IMPORT_C void NotifyMtlr(TRequestStatus& aReqStatus,TDes8& aNotifyMtlr);
|
|
12647 |
IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrResponse aMtlrResponse);
|
|
12648 |
IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrError aMtlrResponse);
|
|
12649 |
IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrReject aMtlrResponse);
|
|
12650 |
IMPORT_C void SendMolr(TRequestStatus& aReqStatus,const TDesC8& aStartMolr,TDes8& aMolrReturnResult);
|
|
12651 |
IMPORT_C void NotifyMeasurementControl(TRequestStatus& aReqStatus,TDes8& aMeasurementControl);
|
|
12652 |
IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TDesC8& aMeasurementReport);
|
|
12653 |
IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TMeasurementControlFailure aMeasurementControlFailure);
|
|
12654 |
IMPORT_C TInt SetLcsDomain(const TDomain aDomain);
|
|
12655 |
private:
|
|
12656 |
void ConstructL();
|
|
12657 |
void Destruct();
|
|
12658 |
private:
|
|
12659 |
/**
|
|
12660 |
Pointer Holder for the RMobileLocationServices sub-session requests.
|
|
12661 |
*/
|
|
12662 |
CMobileLocationServicesPtrHolder* iMmPtrHolder;
|
|
12663 |
};
|
|
12664 |
|
|
12665 |
#endif // __ETELMM_H__
|
|
12666 |
|