|
1 /* |
|
2 * Copyright (c) 2006-2009 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 |
|
21 /** |
|
22 @file |
|
23 @publishedPartner |
|
24 @deprecated |
|
25 */ |
|
26 #ifndef RMMCUSTOMAPI_H |
|
27 #define RMMCUSTOMAPI_H |
|
28 |
|
29 // INCLUDES |
|
30 #include <etelmm.h> |
|
31 #include <et_clsvr.h> |
|
32 #include <etelpckt.h> |
|
33 |
|
34 // CONSTANTS |
|
35 const TInt KIpcCustomExt = 1000000; |
|
36 const TInt KIpcCustomMaxLimi = 1000299; |
|
37 const TInt KIpcCustomAPIExtensionExt = 1000450; |
|
38 |
|
39 _LIT(KCustomAPIName,"CUSTOMAPI"); |
|
40 _LIT(KTerminateAllCalls,"ALL_CALLS"); |
|
41 const TInt KSimLockMaxPasswordSize = 15; |
|
42 const TInt KSimCbTopicNameLength = 20; |
|
43 const TInt KSubAddressSize = 20; |
|
44 const TInt KBearerCapabilitySize = 14; |
|
45 |
|
46 // alpha tag length is 124 |
|
47 const TInt KMaxOperatorNameLength = 124; |
|
48 // max length of operator length |
|
49 const TInt KMaxOperatorLogoLength = 6405; |
|
50 |
|
51 const TUint16 KFlexibleNameSeparator = 0x007C; // '|' |
|
52 const TUint8 KFlexibleLongNameMaxLength = 30; |
|
53 const TUint8 KFlexibleShortNameMaxLength = 20; |
|
54 |
|
55 // Sim file definitions |
|
56 const TUint8 KSimFilePathLength = 8; |
|
57 const TUint16 KSimFileMaxLength = 0xFFFF; |
|
58 |
|
59 // Viag HomeZone setting flags |
|
60 const TUint8 KUHziUeActive = 0x00001; |
|
61 const TUint8 HCbHziUeActive = 0x00002; |
|
62 |
|
63 // ADPU buffer maximum length 258 according to |
|
64 // ISI ADPU server description |
|
65 typedef TBuf8<258> TApduBuffer; |
|
66 |
|
67 // PDP context activation failure in case of APN not in EFACL |
|
68 const TInt KErrPacketDataTsyInvalidAPN = -6001; |
|
69 |
|
70 // Cell info constant |
|
71 const TInt KMaxTimeSlotIscpAmount = 1; //14; Changed from 14 to 1. Memory problem!! |
|
72 const TInt KMaxCellMeasuredResults = 32; |
|
73 const TInt KMaxNetworkMeasureReports = 8; |
|
74 const TInt KMaxNmrAmount = 15; |
|
75 |
|
76 // DATA TYPES |
|
77 /** Enumerates IPC values used by Custom API. */ |
|
78 enum TCustomIPC |
|
79 { |
|
80 /** Notify ss additional info */ |
|
81 ECustomSsAdditionalInfoNotificationIPC = KIpcCustomExt, //1000000 |
|
82 /** Notify ss request complete */ |
|
83 ECustomNotifySsRequestCompleteIPC, //1000001 |
|
84 /** Cancel USSD session */ |
|
85 ECustomCancelUssdSessionIPC, //1000002 |
|
86 /** Start SIM CB topic browsing */ |
|
87 ECustomStartSimCbTopicBrowsingIPC, //1000003 |
|
88 /** Get next SIM CB topic */ |
|
89 ECustomGetNextSimCbTopicIPC, //1000004 |
|
90 /** Delete SIM DB topic */ |
|
91 ECustomDeleteSimCbTopicIPC, //1000005 |
|
92 /** Read SIM File */ |
|
93 ECustomReadSimFileIPC, //1000006 |
|
94 /** Get wlan sim authentication data */ |
|
95 ECustomGetSimAuthenticationDataIPC, //1000007 |
|
96 /** Set SIM SMS to "read" */ |
|
97 ECustomSetSimMessageStatusReadIPC, //1000008 |
|
98 /** Notify Dtmf event */ |
|
99 ECustomNotifyDtmfEventIPC, //1000009 |
|
100 /** Get Diagnostic Octets */ |
|
101 ECustomGetDiagnosticOctetsIPC, //1000010 |
|
102 /** Set Als Blocked */ |
|
103 ECustomSetAlsBlockedIPC, //1000011 |
|
104 /** Get Als Blocked */ |
|
105 ECustomGetAlsBlockedIPC, //1000012 |
|
106 /** Check Als Pp Support */ |
|
107 ECustomCheckAlsPpSupportIPC, //1000013 |
|
108 /** Remote Alerting Tone Status */ |
|
109 ECustomGetRemoteAlertingToneStatusIPC, //1000014 |
|
110 /** Call Origin */ |
|
111 ECustomCallOriginIPC, //1000015 |
|
112 /** Notify Als Blocked Change */ |
|
113 ECustomNotifyAlsBlockedChangedIPC, //1000016 |
|
114 /** Terminate a Call */ |
|
115 ECustomTerminateCallIPC, //1000017 |
|
116 /** Clear call blacklist */ |
|
117 ECustomClearCallBlackListIPC, //1000018 |
|
118 /** Read HSxPA Status */ |
|
119 ECustomReadHSxPAStatusIPC, //1000019 |
|
120 /** Write HSxPA Status */ |
|
121 ECustomWriteHSxPAStatusIPC, //1000020 |
|
122 /** Notify HSxPA Status change */ |
|
123 ECustomNotifyHSxPAStatusIPC, //1000021 |
|
124 /** Get cell(s) info */ |
|
125 ECustomGetCellInfoIPC, //1000022 |
|
126 /** Notify cell(s) info change */ |
|
127 ECustomNotifyCellInfoChangeIPC, //1000023 |
|
128 /** Activate SIM Lock */ |
|
129 ECustomSimLockActivateIPC, //1000024 |
|
130 /** Deactivate SIM Lock */ |
|
131 ECustomSimLockDeActivateIPC, //1000025 |
|
132 /** Read VIAG Home Zone Parameters */ |
|
133 EReadViagHomeZoneParamsIPC, //1000026 |
|
134 /** Read VIAG Home Zone Cache */ |
|
135 EReadViagHomeZoneCacheIPC, //1000027 |
|
136 /** Write VIAG Home Zone Cache */ |
|
137 EWriteViagHomeZoneCacheIPC, //1000028 |
|
138 /** Get ciphering information */ |
|
139 ECustomGetCipheringInfoIPC, //1000029 |
|
140 /** Notify ciphering information */ |
|
141 ECustomNotifyCipheringInfoChangeIPC, //1000030 |
|
142 /** Notify NSPS status */ |
|
143 ECustomNotifyNSPSStatusIPC, //1000031 |
|
144 /** Wake net from NSPS */ |
|
145 ECustomNetWakeupIPC, //1000032 |
|
146 /** Get network provider name */ |
|
147 ECustomGetNetworkProviderNameIPC, //1000033 |
|
148 /** Get operator name */ |
|
149 ECustomGetOperatorNameIPC, //1000034 |
|
150 /** Get programmable operator logo */ |
|
151 ECustomGetProgrammableOperatorLogoIPC, //1000035 |
|
152 /** Reset the net server */ |
|
153 ECustomResetNetServerIPC, //1000036 |
|
154 /** Notify programmable operator logo change */ |
|
155 ECustomNotifyProgrammableOperatorLogoChangeIPC, //1000037 |
|
156 /** Notify network connection failure */ |
|
157 ECustomNotifyNetworkConnectionFailureIPC, //1000038 |
|
158 /** Get Air time duration */ |
|
159 ECustomGetAirTimeDurationIPC, //1000039 |
|
160 /** Notify phonebook cache ready */ |
|
161 ECustomNotifyPndCacheReadyIPC, //1000040 |
|
162 /** Get phonebook cache status */ |
|
163 ECustomGetPndCacheStatusIPC, //1000041 |
|
164 /** Notify SS network event */ |
|
165 ECustomNotifySsNetworkEventIPC, //1000042 |
|
166 /** Check two digit dial support */ |
|
167 ECustomCheckTwoDigitDialSupportIPC, //1000043 |
|
168 /** Send APDU request */ |
|
169 ECustomSendAPDUReqIPC, //1000044 |
|
170 /** Get the life timer's info */ |
|
171 ECustomGetLifeTimeIPC, //1000045 |
|
172 /** Power SIM on */ |
|
173 ECustomPowerSimOnIPC, //1000046 |
|
174 /** Power SIM off */ |
|
175 ECustomPowerSimOffIPC, //1000047 |
|
176 /** Perform SIM warm reset */ |
|
177 ECustomSimWarmResetIPC, //1000048 |
|
178 /** Get Answer To Reset */ |
|
179 ECustomGetATRIPC, //1000049 |
|
180 /** Send APDU */ |
|
181 ECustomSendAPDUReqV2IPC, //1000050 |
|
182 /** Get SIM card reader status */ |
|
183 ECustomGetSimCardReaderStatusIPC, //1000051 |
|
184 /** Notify SIM card status */ |
|
185 ECustomNotifySimCardStatusIPC, //1000052 |
|
186 /** Set Drive Mode status */ |
|
187 ECustomSetDriveModeIPC, //1000053 |
|
188 /** Check if security code is blocked or not */ |
|
189 ECustomIsBlockedIPC, //1000054 |
|
190 /** Check security code */ |
|
191 ECustomCheckSecurityCodeIPC, //1000055 |
|
192 /** Check emergency number */ |
|
193 ECustomCheckEmergencyNumberIPC, //1000056 |
|
194 /** SAT refresh complete notification */ |
|
195 ECustomSatRefreshCompleteNotificationIPC, //1000057 |
|
196 /** Disable phone lock */ |
|
197 ECustomDisablePhoneLockIPC, //1000058 |
|
198 /** Get currently active PIN */ |
|
199 ECustomGetActivePinIPC, //1000059 |
|
200 /** Release CommDB file */ |
|
201 ECustomReleaseFileIPC, //1000060 |
|
202 /** Restart reading CommDB */ |
|
203 ECustomRestartFileIPC, //1000061 |
|
204 /** Notify GPRS connection change */ |
|
205 ECustomNotifyEGprsInfoChange, //1000062 |
|
206 /** Get GPRS connection information */ |
|
207 ECustomGetEGprsInfo, //1000063 |
|
208 /** Get phonebook 3G info */ |
|
209 EGet3GPBInfoIPC, //1000064 |
|
210 /** Get system network modes */ |
|
211 ECustomGetSystemNetworkModesIPC, //1000065 |
|
212 /** Set system network mode */ |
|
213 ECustomSetSystemNetworkModeIPC, //1000066 |
|
214 /** Get current system network modes */ |
|
215 ECustomGetCurrentSystemNetworkModesIPC, //1000067 |
|
216 /** Write WCDMA HomeZone */ |
|
217 EWriteViagHomeZoneUHZIUESettingsIPC, //1000068 |
|
218 /** SetAlwaysOn Mode */ |
|
219 ECustomSetAlwaysOnMode, //1000069 |
|
220 /** Notify Rau event */ |
|
221 ECustomNotifyRauEventIPC, //1000070 |
|
222 /** Get Call forwarding info */ |
|
223 ECustomGetIccCallForwardingStatusIPC, //1000071 |
|
224 /** Notify call forwarding info change */ |
|
225 ECustomNotifyIccCallForwardingStatusChangeIPC, //1000072 |
|
226 /** Get 3G radio frequency band*/ |
|
227 ECustomGetBandSelectionIPC, //1000073 |
|
228 /** Set 3G radio frequency band*/ |
|
229 ECustomSetBandSelectionIPC, //1000074 |
|
230 /** Set 3G radio frequency band*/ |
|
231 ECustomGetServiceTableSupportbyApplicationIPC, //1000075 |
|
232 /* Notify remote alerting tone status change IPC */ |
|
233 ECustomNotifyRemoteAlertingToneStatusChangeIPC, //1000076 |
|
234 /** Maximum IPC enumeration value */ |
|
235 ECustomMaxIpcLimit = KIpcCustomMaxLimi |
|
236 }; |
|
237 |
|
238 // FORWARD DECLARATIONS |
|
239 class CMmCustomPtrHolder; |
|
240 |
|
241 // CLASS DECLARATION |
|
242 |
|
243 /** |
|
244 * RMmCustomAPI contains multimode API's vendor specific functionality. |
|
245 * RMmCustomAPI is a subsession extension i.e. it derives |
|
246 * from RtelSubSessionBase class. |
|
247 * |
|
248 * Notice that Custom TSY is able to handle only one instance of each |
|
249 * Custom API Set-method call at a time. Overlapping Set-method calls occurs |
|
250 * if same Set-method is called from an other instance of RMmCustomAPI |
|
251 * object. Through one RMmCustomAPI object overlapping calls are not allowed |
|
252 * - trying this will panic Etel Server. For each overlapping request to the |
|
253 * client is returned error code KErrServerBusy either as a return value in |
|
254 * case of synchronous call or in a variable of type TRequestStatus in case of |
|
255 * an asynchronous call. This rule applies also in a situation where previous |
|
256 * identical request has been cancelled by client but the triggered operation |
|
257 * on DOS side has not been completed yet. |
|
258 * |
|
259 * On the other hand Custom TSY is able to handle several instances of each |
|
260 * Get-method call at a time. Again overlapping Get-method call can be |
|
261 * activated only from an other instance of RMmCustomAPI object. |
|
262 * |
|
263 * Consider carefully consequences and implications of request cancellations. |
|
264 * If a request has triggered an operation on DOS side, the subsequent |
|
265 * calcellation of the request will not undo the operation on DOS side. It is |
|
266 * the responsibility of the Custom API's client to undo the operation if |
|
267 * necessary. Cancel request completes only when awaited DOS side response |
|
268 * arrives. Then if it is an OK-response, the request is completed normally |
|
269 * with error code KErrNone. . Or if the response is a FAILURE, the request is |
|
270 * completed with error code KErrCancel. |
|
271 * |
|
272 * APDU functionality: |
|
273 * Etel Server and Custom TSY are able to handle multiple SendAPDUReq calls |
|
274 * simultaneously. |
|
275 * However each RMmCustoAPI instance can have only one request active at |
|
276 * a time. |
|
277 * |
|
278 * Packet data related functionality: |
|
279 * Custom TSY implements functionality that is not supported by the packetAPI. |
|
280 * |
|
281 * Call realted functionality: |
|
282 * Custom TSY implements functionality that is not supported by the |
|
283 * MM ETEL API. |
|
284 * |
|
285 * @publishedPartner |
|
286 * @deprecated |
|
287 */ |
|
288 class RMmCustomAPI : public RTelSubSessionBase |
|
289 { |
|
290 public: |
|
291 |
|
292 /** Enumerates the Custom API version number.*/ |
|
293 enum TMultimodeETelCustomV1Api |
|
294 { |
|
295 /** Version of Custom API extension */ |
|
296 KETelCustomExtMultimodeV1=10000, |
|
297 /** Version of TTCustomCallParams */ |
|
298 KETelCustomExtCustomCallParamsV3 |
|
299 }; |
|
300 |
|
301 /** Defines SS statuses to be used */ |
|
302 enum TSsStatus |
|
303 { |
|
304 /** Active status */ |
|
305 KSsStatusGsmActive = 0x01, |
|
306 /** Registered status */ |
|
307 KSsStatusGsmRegistered = 0x02, |
|
308 /** Provisioned status */ |
|
309 KSsStatusGsmProvisioned = 0x04, |
|
310 /** Quiescent status */ |
|
311 KSsStatusGsmQuiescent = 0x08, |
|
312 /** Error status */ |
|
313 KSsStatusReturnError = 0xFFFF, |
|
314 /** Network failure */ |
|
315 KSsStatusNetworkFailure = 0xFFFE |
|
316 }; |
|
317 |
|
318 |
|
319 /** |
|
320 * Maximum length of parameter data is 16 for Random parameter, SRES, AUTN, |
|
321 * CK, IK and AUTS |
|
322 */ |
|
323 enum { KMaxParametersLength = 16 }; |
|
324 /** Max length of ChipheringKey is 3 */ |
|
325 enum { KMaxKCLength = 3 }; |
|
326 /** Max length of RES is 4 */ |
|
327 enum { KMaxRESLength = 4 }; |
|
328 |
|
329 //Max length of iBTid, iKeyLifeTime, iNafId, iImpi, iMikey, iMtkSalt |
|
330 enum { KMaxAuthenticationParameterLength = 255 }; |
|
331 |
|
332 // KMaxMikeyLength enum for maximum MIKEY protocol data length |
|
333 enum { KMaxMikeyLength = 255 }; |
|
334 |
|
335 // KMaxKeyDomainIdLength enum for maximum key domain id length |
|
336 enum{ KMaxKeyDomainIdLength = 3 }; |
|
337 |
|
338 // KMaxKeyGroupIdLength enum for maximum key group id length |
|
339 enum { KMaxKeyGroupIdLength = 2 }; |
|
340 |
|
341 |
|
342 /** Parameter buffer */ |
|
343 typedef TBuf8< KMaxParametersLength > TParameter; |
|
344 |
|
345 // GBA |
|
346 typedef TBuf8< KMaxAuthenticationParameterLength > TAuthenticationParameter; |
|
347 |
|
348 // TMikey datatype to be used for MIKEY data |
|
349 typedef TBuf8< KMaxMikeyLength > TMikey; |
|
350 |
|
351 // TKeyDomainId datatype to be used for key domain id information |
|
352 typedef TBuf8< KMaxKeyDomainIdLength > TKeyDomainId; |
|
353 |
|
354 // TKeyGroupId datatype to be used for key group id information |
|
355 typedef TBuf8< KMaxKeyGroupIdLength > TKeyGroupId; |
|
356 |
|
357 // Datatype for parental rating data information |
|
358 typedef TBuf8< KMaxKeyGroupIdLength > TParentalRating; |
|
359 |
|
360 // Datatype for parental control operation information |
|
361 typedef TBuf8< KMaxKeyDomainIdLength > TParentalControl; |
|
362 /** |
|
363 * Base class for TSimAuthenticationEapSim and |
|
364 * TSimAuthenticationEapAka |
|
365 */ |
|
366 class TSimAuthenticationBase |
|
367 { |
|
368 public: |
|
369 |
|
370 /** Possible values for the authentication method */ |
|
371 enum |
|
372 { |
|
373 /** EAP-SIM authentication method */ |
|
374 EEapSim = 0x01, |
|
375 /** EAP-AKA authentication method */ |
|
376 EEapAka = 0x02, |
|
377 EGbaBootstrap = 0x03, |
|
378 EGbaBootstrapUpdate = 0x04, |
|
379 EGbaBootstrapNafDerivation = 0x05, |
|
380 EMgvMtkGeneration = 0x06, |
|
381 EMgvMskDeletion = 0x07, |
|
382 EMgvMskUpdate = 0x08 |
|
383 }; |
|
384 |
|
385 /** Gets the value of iExtensionId |
|
386 * @return iExtensionId */ |
|
387 inline TInt ExtensionId() { return iExtensionId; }; |
|
388 protected: |
|
389 TInt iExtensionId; |
|
390 }; |
|
391 |
|
392 // Class for holding GBA Bootstrap parameters |
|
393 class TSimAuthenticationGbaBootstrap : public TSimAuthenticationBase |
|
394 { |
|
395 public: |
|
396 |
|
397 IMPORT_C TSimAuthenticationGbaBootstrap (); |
|
398 |
|
399 public: |
|
400 |
|
401 // Random parameters from client |
|
402 TParameter iRandomParameters; |
|
403 // AUTN parameters from client |
|
404 TParameter iAUTN; |
|
405 // RES to client |
|
406 TParameter iRES; |
|
407 // AUTS to client |
|
408 TParameter iAUTS; |
|
409 }; |
|
410 typedef TPckg< TSimAuthenticationGbaBootstrap > TGbaBootstrapDataPckg; |
|
411 |
|
412 |
|
413 // Class for holding GBA Bootstrap updating parameters |
|
414 class TSimAuthenticationGbaBootstrapUpdate : public TSimAuthenticationBase |
|
415 { |
|
416 public: |
|
417 |
|
418 IMPORT_C TSimAuthenticationGbaBootstrapUpdate (); |
|
419 |
|
420 public: |
|
421 |
|
422 // B-TID from client |
|
423 TAuthenticationParameter iBTid; |
|
424 // Key lifetime from client |
|
425 TAuthenticationParameter iKeyLifeTime; |
|
426 // Random parameters to client |
|
427 TParameter iRandomParameters; |
|
428 }; |
|
429 typedef TPckg< TSimAuthenticationGbaBootstrapUpdate > TGbaBootstrapUpdateDataPckg; |
|
430 |
|
431 |
|
432 // Class for holding GBA NAF Derivation parameters |
|
433 class TSimAuthenticationGbaNafDerivation : public TSimAuthenticationBase |
|
434 { |
|
435 public: |
|
436 |
|
437 IMPORT_C TSimAuthenticationGbaNafDerivation (); |
|
438 |
|
439 public: |
|
440 |
|
441 // Naf_id from client |
|
442 TAuthenticationParameter iNafId; |
|
443 // Impi from client |
|
444 TAuthenticationParameter iImpi; |
|
445 // Ks_ext_NAF to client |
|
446 TBuf8 < 32 > iKsExtNaf; |
|
447 |
|
448 }; |
|
449 typedef TPckg< TSimAuthenticationGbaNafDerivation > TGbaNafDerivationDataPckg; |
|
450 |
|
451 |
|
452 // Class for holding MGV MSK update parameters |
|
453 class TSimAuthenticationMgvMskUpdate : public TSimAuthenticationBase |
|
454 { |
|
455 public: |
|
456 |
|
457 IMPORT_C TSimAuthenticationMgvMskUpdate (); |
|
458 |
|
459 public: |
|
460 |
|
461 // MIKEY to client |
|
462 TMikey iMikey; |
|
463 // OMA BCAST management data object to client |
|
464 TParameter iBCASTManagement; |
|
465 // OMA BCAST SPE parental rating data operation to client |
|
466 TParentalRating iParentalRating; |
|
467 // Security Policy Extension to client |
|
468 TParameter iSecurityPolicyExt; |
|
469 |
|
470 }; |
|
471 typedef TPckg< TSimAuthenticationMgvMskUpdate > TSimAuthenticationMgvMskUpdatePckg; |
|
472 |
|
473 |
|
474 // Class for holding MGV MTK generation parameters |
|
475 class TSimAuthenticationMgvMtkGeneration : public TSimAuthenticationBase |
|
476 { |
|
477 public: |
|
478 |
|
479 IMPORT_C TSimAuthenticationMgvMtkGeneration (); |
|
480 |
|
481 public: |
|
482 |
|
483 // MIKEY from client |
|
484 TMikey iMikey; |
|
485 // MTK salt to client |
|
486 TMikey iMtkSalt; |
|
487 |
|
488 // Smartcard support for MobileTV |
|
489 // OMA BCAST management data object to client |
|
490 TParameter iBCASTManagement; |
|
491 // OMA BCAST SPE parental control operation to client |
|
492 TParentalControl iParentalControl; |
|
493 // TEK (Traffic Encryption Key) to client |
|
494 TParameter iTrafficEncryptionKey; |
|
495 }; |
|
496 typedef TPckg< TSimAuthenticationMgvMtkGeneration > TMgvMtkGenerationDataPckg; |
|
497 |
|
498 |
|
499 // Class for holding MGV MSK deletion parameters |
|
500 class TSimAuthenticationMgvMskDeletion : public TSimAuthenticationBase |
|
501 { |
|
502 public: |
|
503 |
|
504 IMPORT_C TSimAuthenticationMgvMskDeletion (); |
|
505 |
|
506 public: |
|
507 |
|
508 // Key domain Id from client |
|
509 TKeyDomainId iKeyDomainId; |
|
510 // Key Group Id from client |
|
511 TKeyGroupId iKeyGroupIdPart; |
|
512 |
|
513 }; |
|
514 typedef TPckg< TSimAuthenticationMgvMskDeletion > TMgvMskDeletionDataPckg; |
|
515 |
|
516 |
|
517 /** |
|
518 * Possible values for Multiple Subscriber Profile IDs |
|
519 */ |
|
520 enum TMultipleSubscriberProfileID |
|
521 { |
|
522 /** Multiple Subscriber Profile ID 1 */ |
|
523 KProfileIdentityOne = 0x01, |
|
524 /** Multiple Subscriber Profile ID 2 */ |
|
525 KProfileIdentityTwo = 0x02, |
|
526 /** Multiple Subscriber Profile ID 3 */ |
|
527 KProfileIdentityThree = 0x03, |
|
528 /** Multiple Subscriber Profile ID 4 */ |
|
529 KProfileIdentityFour = 0x04, |
|
530 }; |
|
531 |
|
532 /** Class for holding Call Forwarding parameters */ |
|
533 class TCFIndicators: public RMobilePhone::TMobilePhoneCFUIndicatorV3 |
|
534 { |
|
535 public: |
|
536 /** Default constructor */ |
|
537 IMPORT_C TCFIndicators(); |
|
538 |
|
539 public: |
|
540 |
|
541 /** CFU number . */ |
|
542 RMobilePhone::TMobileAddress iCFNumber; |
|
543 |
|
544 /** MSP Profile ID */ |
|
545 TMultipleSubscriberProfileID iMultipleSubscriberProfileID; |
|
546 }; |
|
547 |
|
548 /** Package buffer to hold TCFIndicators objects */ |
|
549 typedef TPckg<TCFIndicators> TCFIndicatorsPckg; |
|
550 |
|
551 /** Class for holding EAP SIM authentication parameters */ |
|
552 class TSimAuthenticationEapSim : public TSimAuthenticationBase |
|
553 { |
|
554 public: |
|
555 /** Default constructor */ |
|
556 IMPORT_C TSimAuthenticationEapSim(); |
|
557 |
|
558 public: |
|
559 |
|
560 /** Random parameters from client */ |
|
561 TParameter iRandomParameters; |
|
562 /** SRES to client */ |
|
563 TParameter iSRES; |
|
564 /** Ciphering Key to Client */ |
|
565 TParameter iKC; |
|
566 }; |
|
567 |
|
568 /** Package buffer to hold TSimAuthenticationEapSim objects */ |
|
569 typedef TPckg<TSimAuthenticationEapSim> TSimDataPckg; |
|
570 |
|
571 /** Class for holding EAP AKA authentication parameters */ |
|
572 class TSimAuthenticationEapAka : public TSimAuthenticationBase |
|
573 { |
|
574 public: |
|
575 /** Default constructor */ |
|
576 IMPORT_C TSimAuthenticationEapAka(); |
|
577 |
|
578 public: |
|
579 |
|
580 /** Random parameters from client */ |
|
581 TParameter iRandomParameters; |
|
582 /** AUTN parameters from client */ |
|
583 TParameter iAUTN; |
|
584 /** RES to client */ |
|
585 TParameter iRES; |
|
586 /** UMTS Ciphering Key to client */ |
|
587 TParameter iCK; |
|
588 /** UMTS Integrity Key to client */ |
|
589 TParameter iIK; |
|
590 /** AUTS to client */ |
|
591 TParameter iAUTS; |
|
592 }; |
|
593 |
|
594 /** Package buffer to hold TSimAuthenticationEapAka objects */ |
|
595 typedef TPckg<TSimAuthenticationEapAka> TAkaDataPckg; |
|
596 |
|
597 /** |
|
598 * TTApdu defines the pointers to the Send APDU request details |
|
599 */ |
|
600 class TApdu |
|
601 { |
|
602 public: |
|
603 |
|
604 TApdu() |
|
605 { |
|
606 iInfo = 0; |
|
607 iData = 0; |
|
608 } |
|
609 |
|
610 TApdu |
|
611 ( |
|
612 TDes8& aInfo, |
|
613 TDes8& aData |
|
614 ) |
|
615 { |
|
616 iInfo = &aInfo; |
|
617 iData = &aData; |
|
618 } |
|
619 |
|
620 public: |
|
621 |
|
622 TDes8* iInfo; // Servicetype, Card Reader number, Application |
|
623 // Type, Padding Byte |
|
624 TDes8* iData; // Transparent data |
|
625 }; |
|
626 |
|
627 /** |
|
628 * TApduParameters |
|
629 */ |
|
630 class TApduParameters |
|
631 { |
|
632 public: |
|
633 |
|
634 TApduParameters() |
|
635 { |
|
636 iCardReaderId = 0; |
|
637 } |
|
638 |
|
639 public: // Data |
|
640 /** Card Reader ID */ |
|
641 TUint8 iCardReaderId; |
|
642 /** Cmd Data */ |
|
643 TApduBuffer iCmdData; |
|
644 /** RSP data */ |
|
645 TApduBuffer iRspData; |
|
646 }; |
|
647 |
|
648 /** |
|
649 * TSimCardReaderStatus |
|
650 */ |
|
651 class TSimCardReaderStatus |
|
652 { |
|
653 public: |
|
654 |
|
655 /** |
|
656 * Default constructor |
|
657 */ |
|
658 TSimCardReaderStatus() { iSimCardReaderStatus = 0; } |
|
659 |
|
660 /** |
|
661 * Constructor |
|
662 * |
|
663 * @param status Reader status |
|
664 * @return None |
|
665 */ |
|
666 TSimCardReaderStatus( TUint8 aStatus ) |
|
667 { |
|
668 iSimCardReaderStatus = aStatus; |
|
669 } |
|
670 |
|
671 /** |
|
672 * Set Card Status |
|
673 * |
|
674 * @param newStatus new reader status |
|
675 */ |
|
676 IMPORT_C void SetStatus( TUint8 aNewStatus ); |
|
677 |
|
678 /** |
|
679 * Get Card Status |
|
680 * |
|
681 * @return Reader status |
|
682 */ |
|
683 IMPORT_C TUint8 GetStatus(); |
|
684 |
|
685 /** |
|
686 * Get Card Reader ID. |
|
687 * |
|
688 * @return Reader ID |
|
689 */ |
|
690 IMPORT_C TUint8 GetCardReaderID(); |
|
691 |
|
692 /** |
|
693 * Is Card Reader Removable |
|
694 * |
|
695 * @return Is Card Reader Removable |
|
696 */ |
|
697 IMPORT_C TBool IsCardReaderRemovable(); |
|
698 |
|
699 /** |
|
700 * Is Card Reader Present |
|
701 * |
|
702 * @return Is Card Reader Present |
|
703 */ |
|
704 IMPORT_C TBool IsCardReaderPresent(); |
|
705 |
|
706 /** |
|
707 * Is Card Present |
|
708 * |
|
709 * @return Is Card Present |
|
710 */ |
|
711 IMPORT_C TBool IsCardPresent(); |
|
712 |
|
713 /** |
|
714 * Is Card Powered |
|
715 * |
|
716 * @return Is Card Powered |
|
717 */ |
|
718 IMPORT_C TBool IsCardPowered(); |
|
719 |
|
720 private: |
|
721 TUint8 iSimCardReaderStatus; // Reader status |
|
722 }; |
|
723 |
|
724 /** TLockNumber defines SIMLock types to be used */ |
|
725 enum TLockNumber |
|
726 { |
|
727 /** Operator */ |
|
728 EOperator = 1, |
|
729 /** GID1 */ |
|
730 EGid1, |
|
731 /** GID2 */ |
|
732 EGid2, |
|
733 /** IMSI */ |
|
734 EImsi, |
|
735 /** Operator GID1 */ |
|
736 EOperator_Gid1, |
|
737 /** Operator GID2 */ |
|
738 EOperator_Gid2, |
|
739 /** Global unlock */ |
|
740 EGlobalUnlock |
|
741 }; |
|
742 |
|
743 /** Package buffer to hold TSimLockPassword objects */ |
|
744 typedef TBuf<KSimLockMaxPasswordSize> TSimLockPassword; |
|
745 |
|
746 /** Constants for VIAG Home Zone data */ |
|
747 enum TViagDataType |
|
748 { |
|
749 /** NBR size */ |
|
750 KViagParamNbrSize = 15, |
|
751 /** Name size */ |
|
752 KViagElemNameSize = 13, |
|
753 /** Element count */ |
|
754 KViagElementCount = 4 |
|
755 }; |
|
756 |
|
757 /** VIAG parameter data structure */ |
|
758 struct TViagParams |
|
759 { |
|
760 TBuf<KViagParamNbrSize> iSmsC; |
|
761 TBuf<KViagParamNbrSize> iScp; |
|
762 TUint8 iSubscribedZoneAndVersion; |
|
763 }; |
|
764 |
|
765 /** Coordinates */ |
|
766 struct TCoordinates |
|
767 { |
|
768 /** X */ |
|
769 TUint32 iX; |
|
770 /** Y */ |
|
771 TUint32 iY; |
|
772 /** R2 */ |
|
773 TUint32 iR2; |
|
774 /** Zone ID */ |
|
775 TUint iZoneId; |
|
776 }; |
|
777 |
|
778 /** Active Flag values */ |
|
779 enum TActiveFlag |
|
780 { |
|
781 /** Not active */ |
|
782 ENotActive, |
|
783 /** Home Zone */ |
|
784 EHomeZone, |
|
785 /** City Zone */ |
|
786 ECityZone |
|
787 }; |
|
788 |
|
789 /** VIAG Element data structure */ |
|
790 struct TViagElement |
|
791 { |
|
792 /** Coordinates */ |
|
793 TCoordinates iCoordinates; |
|
794 /** Name */ |
|
795 TBuf<KViagElemNameSize> iName; |
|
796 /** Active flag */ |
|
797 TActiveFlag iActiveFlag; |
|
798 }; |
|
799 |
|
800 /** Array of TViagElement objects */ |
|
801 typedef CArrayFixFlat <TViagElement> TViagElements; |
|
802 |
|
803 /** VIAG Cache Record ID data structure */ |
|
804 struct TViagCacheRecordId |
|
805 { |
|
806 /** Cache ID */ |
|
807 TInt iCacheId; |
|
808 /** Record ID */ |
|
809 TInt iRecordId; |
|
810 }; |
|
811 |
|
812 /** VIAG Cache Record Content data structure */ |
|
813 struct TViagCacheRecordContent |
|
814 { |
|
815 /** LAC */ |
|
816 TUint16 iLac; |
|
817 /** Cell ID */ |
|
818 TUint16 iCellId; |
|
819 }; |
|
820 |
|
821 /** VIAG UHZIUE settings data structure */ |
|
822 struct TViagUHZIUESettings |
|
823 { |
|
824 /** Settings */ |
|
825 TUint8 iSettings; |
|
826 /** Version */ |
|
827 TUint8 iVersion; |
|
828 }; |
|
829 |
|
830 /** Security code types */ |
|
831 enum TSecurityCodeType |
|
832 { |
|
833 /** PIN1 code */ |
|
834 ESecurityCodePin1, |
|
835 /** PIN2 code */ |
|
836 ESecurityCodePin2, |
|
837 /** Universal PIN code */ |
|
838 ESecurityUniversalPin, |
|
839 /** PUK1 code */ |
|
840 ESecurityCodePuk1, |
|
841 /** PUK2 code */ |
|
842 ESecurityCodePuk2, |
|
843 /** Phone SIM lock and phone device lock codes */ |
|
844 ESecurityCodePassPhrase |
|
845 }; |
|
846 |
|
847 /** Emergency number check modes */ |
|
848 enum TCheckMode |
|
849 { |
|
850 /** Normal */ |
|
851 EEmerNumberCheckNormal, |
|
852 /** Advanced */ |
|
853 EEmerNumberCheckAdvanced |
|
854 }; |
|
855 |
|
856 /** Caching status */ |
|
857 enum TPndCacheStatus |
|
858 { |
|
859 /** Not ready */ |
|
860 ECacheNotReady, |
|
861 /** Ready */ |
|
862 ECacheReady, |
|
863 /** Not used */ |
|
864 ECacheNotUsed, |
|
865 /** Failed */ |
|
866 ECacheFailed |
|
867 }; |
|
868 |
|
869 /** CB SIM Topics data type */ |
|
870 struct TSimCbTopic |
|
871 { |
|
872 /** Number */ |
|
873 TUint iNumber; |
|
874 /** Name */ |
|
875 TBuf<KSimCbTopicNameLength> iName; |
|
876 }; |
|
877 |
|
878 /** Buffer for telephone number */ |
|
879 typedef TBuf<RMobilePhone::KMaxMobileTelNumberSize> TMobileTelNumber; |
|
880 |
|
881 /** Emergency number check mode data structure */ |
|
882 struct TEmerNumberCheckMode |
|
883 { |
|
884 /** Check mode */ |
|
885 TCheckMode iCheckMode; |
|
886 /** Telephone number */ |
|
887 TMobileTelNumber iNumber; |
|
888 }; |
|
889 |
|
890 // Service availability on service table on USIM |
|
891 struct TAppSupport |
|
892 { |
|
893 TInt iAppNum; |
|
894 TBool iSupported; |
|
895 }; |
|
896 |
|
897 public: |
|
898 /** Default constructor */ |
|
899 IMPORT_C RMmCustomAPI(); |
|
900 |
|
901 public: |
|
902 |
|
903 /** DTMF Event types */ |
|
904 enum TDtmfEventType |
|
905 { |
|
906 /** Manual */ |
|
907 EDtmfManual, |
|
908 /** Sequence */ |
|
909 EDtmfSequence |
|
910 }; |
|
911 |
|
912 /** DTMF events */ |
|
913 enum TDtmfEvent |
|
914 { |
|
915 /** Start */ |
|
916 EDtmfStart, |
|
917 /** Stop */ |
|
918 EDtmfStop, |
|
919 /** Abort */ |
|
920 EDtmfAbort |
|
921 }; |
|
922 |
|
923 /** DTMF information data structure */ |
|
924 struct TDtmfInfo |
|
925 { |
|
926 /** Event type */ |
|
927 TDtmfEventType iType; |
|
928 /** Event */ |
|
929 TDtmfEvent iEvent; |
|
930 /** Tone */ |
|
931 TChar iTone; |
|
932 }; |
|
933 |
|
934 /** ALS block status values */ |
|
935 enum TSetAlsBlock |
|
936 { |
|
937 /** Deactivate */ |
|
938 EDeactivateBlock, |
|
939 /** Activate */ |
|
940 EActivateBlock |
|
941 }; |
|
942 |
|
943 /** Always On modes */ |
|
944 enum TSetAlwaysOnMode |
|
945 { |
|
946 /** HPLMN */ |
|
947 EAlwaysModeHPLMN, |
|
948 /** VPLMN */ |
|
949 EAlwaysModeVPLMN, |
|
950 /** Both modes (HPLMN/VPLMN) */ |
|
951 EAlwaysModeBoth, |
|
952 /** Neither mode */ |
|
953 EAlwaysModeNeither |
|
954 }; |
|
955 |
|
956 /** RAU event status values */ |
|
957 enum TRauEventStatus |
|
958 { |
|
959 /** Active */ |
|
960 ERauEventActive, |
|
961 /** Resumed */ |
|
962 ERauEventResumed, |
|
963 }; |
|
964 |
|
965 /** ALS block status values */ |
|
966 enum TGetAlsBlockStatus |
|
967 { |
|
968 /** Not supported */ |
|
969 EBlockStatusNotSupported, |
|
970 /** Active */ |
|
971 EBlockStatusActive, |
|
972 /** Inactive */ |
|
973 EBlockStatusInactive, |
|
974 /** Unknown */ |
|
975 EBlockStatusUnknown |
|
976 }; |
|
977 |
|
978 /** ALS Support values */ |
|
979 enum TAlsSupport |
|
980 { |
|
981 /** ALS Support is On */ |
|
982 EAlsSupportOn, |
|
983 /** ALS Support if Off */ |
|
984 EAlsSupportOff |
|
985 }; |
|
986 |
|
987 /** Remote alerting tone status */ |
|
988 enum TRemoteAlertingToneStatus |
|
989 { |
|
990 /** No Tone */ |
|
991 EUiNoTone, |
|
992 /** RBT Tone */ |
|
993 EUiRbtTone, |
|
994 /** Stop Tone */ |
|
995 EUiStopTone |
|
996 }; |
|
997 |
|
998 /** Origin of the call */ |
|
999 enum TCallOrigin |
|
1000 { |
|
1001 /** Unknown */ |
|
1002 EUnknown, |
|
1003 /** ETel call */ |
|
1004 EETelCall, |
|
1005 /** Outside */ |
|
1006 EOutsider |
|
1007 }; |
|
1008 |
|
1009 /** Status of the No Service Power Save state */ |
|
1010 enum TNspsStatus |
|
1011 { |
|
1012 /** No Service Power Save is ON */ |
|
1013 ENspsOn, |
|
1014 /** No Service Power Save is OFF */ |
|
1015 ENspsOff |
|
1016 }; |
|
1017 |
|
1018 /** Ciphering Information data structure */ |
|
1019 struct TCipheringInfo |
|
1020 { |
|
1021 /** ciphering Indicator status */ |
|
1022 TBool iIndStatus; |
|
1023 /** ciphering status */ |
|
1024 TBool iCiphStatus; |
|
1025 }; |
|
1026 |
|
1027 /** Additional info size */ |
|
1028 enum { KAdditionalInfoSize = 255 }; |
|
1029 |
|
1030 /** Additional information data structure */ |
|
1031 struct TSsAdditionalInfo |
|
1032 { |
|
1033 /** Operation code */ |
|
1034 TUint8 iOperationCode; |
|
1035 /** Additional information */ |
|
1036 TBuf8<KAdditionalInfoSize> iAdditionalInfo; |
|
1037 }; |
|
1038 |
|
1039 /** Operator name types */ |
|
1040 enum TOperatorNameType |
|
1041 { |
|
1042 /** NITZ Full */ |
|
1043 EOperatorNameNitzFull, |
|
1044 /** NITZ Short */ |
|
1045 EOperatorNameNitzShort, |
|
1046 /** Programmable UCS2 */ |
|
1047 EOperatorNameProgrammableUcs2, |
|
1048 /** Programmable Latin */ |
|
1049 EOperatorNameProgrammableLatin, |
|
1050 /** Hardcoded UCS2 */ |
|
1051 EOperatorNameHardcodedUcs2, |
|
1052 /** Hardcoded Latin */ |
|
1053 EOperatorNameHardcodedLatin, |
|
1054 /** Country MNC */ |
|
1055 EOperatorNameCountryMcn, |
|
1056 /** MCC MNC */ |
|
1057 EOperatorNameMccMnc, |
|
1058 /** Flexible PLMN */ |
|
1059 EOperatorNameFlexiblePlmn, |
|
1060 /** Highest Priority */ |
|
1061 EOperatorNameHighestPriority |
|
1062 }; |
|
1063 |
|
1064 /** Operator name info structure */ |
|
1065 struct TOperatorNameInfo |
|
1066 { |
|
1067 /** Name type */ |
|
1068 TOperatorNameType iType; |
|
1069 /** Name */ |
|
1070 TBuf<KMaxOperatorNameLength> iName; |
|
1071 }; |
|
1072 |
|
1073 /** Programmable operator Id */ |
|
1074 struct TOperatorId |
|
1075 { |
|
1076 /** MCC */ |
|
1077 TInt iMcc; |
|
1078 /** MNC */ |
|
1079 TInt iMnc; |
|
1080 }; |
|
1081 |
|
1082 /** Programmable operator logo depth */ |
|
1083 enum TProgrammableOperatorLogoDepth |
|
1084 { |
|
1085 /** 1 bit per pixel */ |
|
1086 EBitPerPixel1, |
|
1087 /** 2 bits per pixel */ |
|
1088 EBitPerPixel2, |
|
1089 /** 4 bits per pixel */ |
|
1090 EBitPerPixel4, |
|
1091 /** 8 bits per pixel */ |
|
1092 EBitPerPixel8 |
|
1093 }; |
|
1094 |
|
1095 /** Programmable operator logo info */ |
|
1096 struct TProgrammableOperatorLogoInfo |
|
1097 { |
|
1098 /** Operator logo width */ |
|
1099 TInt iLogoWidth; |
|
1100 /** Operator logo height */ |
|
1101 TInt iLogoHeight; |
|
1102 /** Compression (yes/no) */ |
|
1103 TBool iCompression; |
|
1104 /** Operator logo depth (bits per pixel) */ |
|
1105 TProgrammableOperatorLogoDepth iDepth; |
|
1106 }; |
|
1107 |
|
1108 /** Programmable operator logo structure */ |
|
1109 struct TOperatorLogo |
|
1110 { |
|
1111 /** Operator logo information */ |
|
1112 TProgrammableOperatorLogoInfo iLogoInfo; |
|
1113 /** Operator logo buffer */ |
|
1114 TDes8* iOperatorLogo; |
|
1115 }; |
|
1116 |
|
1117 /** Two Digit Dial Support values */ |
|
1118 enum TTwoDigitDialSupport |
|
1119 { |
|
1120 /** On */ |
|
1121 ETwoDigitDialSupportOn, |
|
1122 /** Off */ |
|
1123 ETwoDigitDialSupportOff |
|
1124 }; |
|
1125 |
|
1126 /** Custom call parameter class for calling party subaddress delivering */ |
|
1127 class TCustomCallParams : public RMobileCall::TMobileCallParamsV2 |
|
1128 { |
|
1129 public: |
|
1130 /** Default constructor */ |
|
1131 IMPORT_C TCustomCallParams(); |
|
1132 |
|
1133 public: |
|
1134 |
|
1135 /** SubAddress */ |
|
1136 TBuf<KSubAddressSize> iSubAddress; |
|
1137 /** Bearer */ |
|
1138 TBuf8<KBearerCapabilitySize> iBearer; |
|
1139 }; |
|
1140 |
|
1141 /** Package buffer for TCustomCallParams objects */ |
|
1142 typedef TPckg<TCustomCallParams> TCustomCallParamsPckg; |
|
1143 |
|
1144 /** Type of SS */ |
|
1145 enum TSsType |
|
1146 { |
|
1147 ESsAllSs = 0, |
|
1148 ESsAllForwardings = 2, |
|
1149 ESsForwUncond = 21, |
|
1150 ESsForwBusy = 67, |
|
1151 ESsForwNoReply = 61, |
|
1152 ESsForwNoReach = 62, |
|
1153 ESsAllBarrings = 330, |
|
1154 ESsBarrAllOut = 33, |
|
1155 ESsBarrOutInter = 331, |
|
1156 ESsBarrOutInterExcHome = 332, |
|
1157 ESsBarrAllIn = 35, |
|
1158 ESsBarrAllInRoam = 351, |
|
1159 ESsOutgoingBarrServ = 333, |
|
1160 ESsIncomingBarrServ = 353, |
|
1161 ESsCallWaiting = 43, |
|
1162 ESsClip = 30, |
|
1163 ESsClir = 31, |
|
1164 ESsColp = 76, |
|
1165 ESsColr = 77, |
|
1166 ESsCnap = 300, |
|
1167 ESsAllCondForwardings = 4, |
|
1168 ESsRegPassword = 3 |
|
1169 }; |
|
1170 |
|
1171 /** State of the SS feature */ |
|
1172 enum TSsMode |
|
1173 { |
|
1174 /** Active */ |
|
1175 ESsModeActive, |
|
1176 /** Not active */ |
|
1177 ESsModeNotActive, |
|
1178 /** Not registered */ |
|
1179 ESsModeNotRegistered, |
|
1180 /** Not provisioned */ |
|
1181 ESsModeNotProvisioned, |
|
1182 /** Not available */ |
|
1183 ESsModeNotAvailable, |
|
1184 /** Unknown state */ |
|
1185 ESsModeUnknown |
|
1186 }; |
|
1187 |
|
1188 /** Forwarding mode */ |
|
1189 enum TSsForwMode |
|
1190 { |
|
1191 /** Incoming call is forwarded */ |
|
1192 ESsIncCallIsForw, |
|
1193 ESsIncCallForwToC, |
|
1194 ESsOutCallForwToC, |
|
1195 /** Not Active */ |
|
1196 EForwNotActive |
|
1197 }; |
|
1198 |
|
1199 /** Hold mode */ |
|
1200 enum TSsHoldMode |
|
1201 { |
|
1202 /** Active */ |
|
1203 ESsHoldActive, |
|
1204 /** Resume */ |
|
1205 ESsHoldResume, |
|
1206 /** Not active */ |
|
1207 ESsHoldNotActive |
|
1208 }; |
|
1209 |
|
1210 /** Explicit call transfer (ECT) state */ |
|
1211 enum TSsEctState |
|
1212 { |
|
1213 /** ECT active */ |
|
1214 ESsEctActive, |
|
1215 /** ECT alerting */ |
|
1216 ESsEctAlerting, |
|
1217 /** ECT not active */ |
|
1218 ESsEctNotActive |
|
1219 }; |
|
1220 |
|
1221 /** Call Name Presentation choice */ |
|
1222 enum TSsChoice |
|
1223 { |
|
1224 /** Presentation allowed */ |
|
1225 ESsPresAllowed, |
|
1226 /** Presentation restricted */ |
|
1227 ESsPresRestricted, |
|
1228 /** Number not available */ |
|
1229 ESsNumberNotAvailable, |
|
1230 /** Restricted address */ |
|
1231 ESsPresRestrictedAddress, |
|
1232 /** Choice unknown */ |
|
1233 ESsChoiceUnknown |
|
1234 }; |
|
1235 |
|
1236 /** Remote Address Size */ |
|
1237 enum |
|
1238 { |
|
1239 /** Remote Address Size */ |
|
1240 KRemoteAddressSize = 64 |
|
1241 }; |
|
1242 |
|
1243 /** SS type and mode */ |
|
1244 struct TSsTypeAndMode |
|
1245 { |
|
1246 /** SS Type */ |
|
1247 TSsType iSsType; |
|
1248 /** SS Mode */ |
|
1249 TSsMode iSsMode; |
|
1250 }; |
|
1251 |
|
1252 /** SS info */ |
|
1253 struct TSsInfo |
|
1254 { |
|
1255 /** Forwarding mode */ |
|
1256 TSsForwMode iForwMode; |
|
1257 TBool iCallWait; |
|
1258 /** Hold mode */ |
|
1259 TSsHoldMode iCallHold; |
|
1260 TBool iConfInd; |
|
1261 /** CUG index */ |
|
1262 TUint16 iCugIndex; |
|
1263 TBool iClirSuppReject; |
|
1264 /** Explicit call transfer state */ |
|
1265 TSsEctState iEctCallState; |
|
1266 /** Call name presentation choice */ |
|
1267 TSsChoice iChoice; |
|
1268 /** Remote address */ |
|
1269 TBuf<KRemoteAddressSize> iRemoteAddress; |
|
1270 }; |
|
1271 |
|
1272 /** Gprs type info */ |
|
1273 enum TGprsInformationType |
|
1274 { |
|
1275 /** GPRS */ |
|
1276 EGprs = 0, |
|
1277 /** EDGE GPRS */ |
|
1278 EEdgeGprs = 1 |
|
1279 }; |
|
1280 |
|
1281 /** System network mode */ |
|
1282 enum TNetworkModeCaps |
|
1283 { |
|
1284 /** Unknown mode */ |
|
1285 KCapsNetworkModeUnknown = 0x00, |
|
1286 /** GSM mode */ |
|
1287 KCapsNetworkModeGsm = 0x01, |
|
1288 /** UMTS mode */ |
|
1289 KCapsNetworkModeUmts = 0x02, |
|
1290 /** Dual mode (GPRS/UMTS) */ |
|
1291 KCapsNetworkModeDual = 0x04 |
|
1292 }; |
|
1293 |
|
1294 /** Band Selection */ |
|
1295 enum TBandSelection |
|
1296 { |
|
1297 /** UMTS 850 */ |
|
1298 ENetworkBandUmts850 = 0x01, |
|
1299 /** UMTS 2100 */ |
|
1300 ENetworkBandUmts2100 = 0x02, |
|
1301 /** Any band */ |
|
1302 ENetworkBandAny = 0x03 |
|
1303 }; |
|
1304 |
|
1305 /** SIM Card status */ |
|
1306 enum TSIMCardStatus |
|
1307 { |
|
1308 /** Error */ |
|
1309 SimCardUnknowError = 0x00, |
|
1310 /** Reset */ |
|
1311 SimCardResetPerformed, |
|
1312 /** Not Accessible */ |
|
1313 SimCardNotAccessible, |
|
1314 /** Removed */ |
|
1315 SimCardRemoved, |
|
1316 /** Inserted */ |
|
1317 SimCardInserted, |
|
1318 /** Recovered */ |
|
1319 SimCardRecovered |
|
1320 }; |
|
1321 |
|
1322 /** Drive mode status */ |
|
1323 enum TSetDriveMode |
|
1324 { |
|
1325 /** Drive Mode active */ |
|
1326 EDeactivateDriveMode, |
|
1327 /** Drive Mode inactive */ |
|
1328 EActivateDriveMode |
|
1329 }; |
|
1330 |
|
1331 /** High speed channel status */ |
|
1332 enum THSxPAStatus |
|
1333 { |
|
1334 /** Disabled HSxPA */ |
|
1335 EHSxPADisabled, |
|
1336 /** Enabled HSxPA */ |
|
1337 EHSxPAEnabled |
|
1338 }; |
|
1339 |
|
1340 /** Class to hold information about the EGPRS support in cell */ |
|
1341 class TGprsInformation |
|
1342 { |
|
1343 public: |
|
1344 /** Default constructor **/ |
|
1345 IMPORT_C TGprsInformation(); |
|
1346 |
|
1347 public: |
|
1348 /** Type of GPRS network (GPRS or EDGE/GPRS)*/ |
|
1349 TGprsInformationType iGprsInfo; |
|
1350 }; |
|
1351 |
|
1352 /** Package buffer for TGprsInformation objects */ |
|
1353 typedef TPckg<TGprsInformation> TGprsInformationPckg; |
|
1354 |
|
1355 /** Package buffer for SIM File paths */ |
|
1356 typedef TBuf8<KSimFilePathLength> TSimFilePath; |
|
1357 |
|
1358 /** Holds SIM File Information */ |
|
1359 class TSimFileInfo |
|
1360 { |
|
1361 public: |
|
1362 /** Default constructor */ |
|
1363 IMPORT_C TSimFileInfo(); |
|
1364 |
|
1365 public: |
|
1366 /** File path in SIM where file is read */ |
|
1367 TSimFilePath iPath; |
|
1368 /** Offset from beginning of the file */ |
|
1369 TUint16 iOffSet; |
|
1370 /** Amount of data to read */ |
|
1371 TUint16 iSize; |
|
1372 }; |
|
1373 |
|
1374 /** Package buffer for TSimFileInfo objects */ |
|
1375 typedef TPckg<TSimFileInfo> TSimFileInfoPckg; |
|
1376 |
|
1377 /** Holds lifetime information */ |
|
1378 class TLifeTimeData |
|
1379 { |
|
1380 public: // definitions |
|
1381 |
|
1382 /** Lifetime data capability values */ |
|
1383 enum TLifeTimeDataCaps |
|
1384 { |
|
1385 /** Unknown */ |
|
1386 ELifeTimeDataCapsUnknown = 0x00000000, |
|
1387 /** Lifetime */ |
|
1388 ELifeTimeDataCapsLifeTime = 0x00000001, |
|
1389 /** Manufacturer Date */ |
|
1390 ELifeTimeDataCapsManufacturerDate = 0x00000002 |
|
1391 }; |
|
1392 |
|
1393 public: // methods |
|
1394 |
|
1395 /** Default constructor */ |
|
1396 IMPORT_C TLifeTimeData(); |
|
1397 |
|
1398 public: // internal attributes |
|
1399 /** Capabilities */ |
|
1400 TUint32 iCaps; |
|
1401 /** Hours (range 0-999999) */ |
|
1402 TUint32 iHours; |
|
1403 /** Minutes (range 0-59) */ |
|
1404 TUint8 iMinutes; |
|
1405 /** Manufacturing date */ |
|
1406 TDateTime iManufacturingDate; |
|
1407 }; |
|
1408 |
|
1409 /** Package buffer for TLifeTimeData objects */ |
|
1410 typedef TPckg<TLifeTimeData> TLifeTimeDataPckg; |
|
1411 |
|
1412 /** 3G Phonebook Information */ |
|
1413 struct T3GPBInfo |
|
1414 { |
|
1415 /** Max length of email */ |
|
1416 TInt16 iMaxLenEmail; |
|
1417 /** Max length of Second Name */ |
|
1418 TInt16 iMaxLenSne; |
|
1419 /** Max length of Additional Number */ |
|
1420 TInt16 iMaxLenAnr; |
|
1421 /* Max length of Group Name */ |
|
1422 TInt16 iMaxLenGroupName; |
|
1423 /* Max number of email fileds per entry */ |
|
1424 TInt8 iMaxNumEmail; |
|
1425 /* Max number of Second Name fields per entry */ |
|
1426 TInt8 iMaxNumSne; |
|
1427 /* Max number of Group Name fields per entry */ |
|
1428 TInt8 iMaxNumGroupName; |
|
1429 // Max number of Additional Number fields per entry |
|
1430 TInt8 iMaxNumAnr; |
|
1431 }; |
|
1432 |
|
1433 /** Cell Information */ |
|
1434 class TMmCellInfo |
|
1435 { |
|
1436 public: // definitions |
|
1437 |
|
1438 /** Network modes */ |
|
1439 enum TNwMode |
|
1440 { |
|
1441 /** Unknown */ |
|
1442 EUnknown, |
|
1443 /** GSM */ |
|
1444 EGSM, |
|
1445 /** WCDMA */ |
|
1446 EWCDMA |
|
1447 }; |
|
1448 |
|
1449 /** WCDMA cell info */ |
|
1450 struct TFrequencyInfo |
|
1451 { |
|
1452 /** FDD: 0..16383 O */ |
|
1453 TInt iFddUL; |
|
1454 /** FDD: 0..16383 M */ |
|
1455 TInt iFddDL; |
|
1456 /** TDD: 0..16383 */ |
|
1457 TInt iTddNt; |
|
1458 }; |
|
1459 |
|
1460 /** FDD Information */ |
|
1461 struct TFddInfo |
|
1462 { |
|
1463 /** Primary CPICH (0..511) */ |
|
1464 TInt16 iPrimaryCPICH; |
|
1465 /** CPICH ECN0 (0..63), max=49 */ |
|
1466 TInt8 iCpichEcN0; |
|
1467 /** CPICH RSCP ((0..127), max=91 */ |
|
1468 TInt8 iCpichRscp; |
|
1469 /** Path Loss (46..173), max=158 */ |
|
1470 TInt iPathloss; |
|
1471 }; |
|
1472 |
|
1473 /** TDD Information */ |
|
1474 struct TTddInfo |
|
1475 { |
|
1476 /** Cell Param ID (0..127) */ |
|
1477 TInt8 iCellParamID; |
|
1478 /** Proposed TGSN (0..14) */ |
|
1479 TInt8 iProposedTGSN; |
|
1480 /** Primary CCPCH RSCP (0..127) */ |
|
1481 TInt8 iPrimaryCcpchRscp; |
|
1482 /** Pathloss (46..173), max=158 */ |
|
1483 TInt iPathloss; |
|
1484 /** Timeslot ISCP (0..127), max.91 */ |
|
1485 TInt8 iTimeslotISCP[ KMaxTimeSlotIscpAmount ]; |
|
1486 }; |
|
1487 |
|
1488 /** Cell Measured Result */ |
|
1489 struct TCellMeasuredResult |
|
1490 { |
|
1491 /** Cell Identity (0..268435455) */ |
|
1492 TInt32 iCID; |
|
1493 /** FDD Information */ |
|
1494 TFddInfo iFddInfo; |
|
1495 /** TDD Information */ |
|
1496 TTddInfo iTddInfo; |
|
1497 }; |
|
1498 |
|
1499 /** Network Measure Report */ |
|
1500 struct TNetworkMeasureReport |
|
1501 { |
|
1502 /** Frequency Information */ |
|
1503 TFrequencyInfo iFrequencyInfo; |
|
1504 /** UTRA-CarrierRSSI (0..127), max=76 */ |
|
1505 TInt8 iCarrierRSSI; |
|
1506 /** Cell measured result (1..32) */ |
|
1507 TCellMeasuredResult iCellMeasuredResult[ |
|
1508 KMaxCellMeasuredResults ]; |
|
1509 }; |
|
1510 |
|
1511 /** WCDMA Cell Information */ |
|
1512 struct TWCDMACellInfo |
|
1513 { |
|
1514 /** Frequency information for current cell */ |
|
1515 TFrequencyInfo iFrequencyInfo; |
|
1516 /** Scrambling Code for current cell (0..511) */ |
|
1517 TInt iPrimaryScrambilingCode; |
|
1518 /** Network measure report (1..8) */ |
|
1519 TNetworkMeasureReport iNwkMeasureReport[ |
|
1520 KMaxNetworkMeasureReports ]; |
|
1521 }; |
|
1522 |
|
1523 /** NMR Information */ |
|
1524 struct TNmr |
|
1525 { |
|
1526 /** ARFCN (initialised -1) */ |
|
1527 TInt iARFCN; |
|
1528 /** BSIC (initialised -1) */ |
|
1529 TInt iBSIC; |
|
1530 /** RxLEV (initialised -1) */ |
|
1531 TInt iRxLEV; |
|
1532 }; |
|
1533 |
|
1534 /** GSM cell information */ |
|
1535 struct TGSMCellInfo |
|
1536 { |
|
1537 /** NMR information on the cell */ |
|
1538 TNmr iNmr[ KMaxNmrAmount ]; |
|
1539 /** Timing advance (0.255) */ |
|
1540 TInt16 iTA; |
|
1541 }; |
|
1542 |
|
1543 public: //Methods |
|
1544 |
|
1545 /** Default constructor */ |
|
1546 IMPORT_C TMmCellInfo(); |
|
1547 |
|
1548 public: // Data |
|
1549 |
|
1550 /** |
|
1551 * Network mode |
|
1552 */ |
|
1553 TNwMode iMode; // used for identifying mode. |
|
1554 |
|
1555 /** |
|
1556 * GSM cell info |
|
1557 */ |
|
1558 TGSMCellInfo iGsmCellInfo; |
|
1559 |
|
1560 /** |
|
1561 * WCDMA cell info |
|
1562 */ |
|
1563 TWCDMACellInfo iWcdmaCellInfo; |
|
1564 }; |
|
1565 |
|
1566 /** Package buffer to hold TMmCellInfo objects */ |
|
1567 typedef TPckg<TMmCellInfo> TMmCellInfoPckg; |
|
1568 |
|
1569 public: // New functions |
|
1570 |
|
1571 /** |
|
1572 * Opens a subsession. |
|
1573 * @param aPhone reference to a Mobile Phone object |
|
1574 * @return KErrNone if successful |
|
1575 */ |
|
1576 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
1577 |
|
1578 /** |
|
1579 * Closes the subsession. |
|
1580 * |
|
1581 */ |
|
1582 IMPORT_C void Close(); |
|
1583 |
|
1584 /** |
|
1585 * Sets Drive Mode status using the aModeStatus variable |
|
1586 * |
|
1587 * @param aStatus Request status |
|
1588 * @param aModeStatus Drive mode status |
|
1589 */ |
|
1590 IMPORT_C void SetDriveMode( TRequestStatus& aStatus, |
|
1591 const TSetDriveMode aModeStatus ); |
|
1592 |
|
1593 /** |
|
1594 * Activate SIMLock synchronously |
|
1595 * |
|
1596 * @param aPassWord Lock specific password used to activate the SIMLock |
|
1597 * @param aNumber Number of lock to be activated |
|
1598 * @return Error value |
|
1599 */ |
|
1600 IMPORT_C TInt ActivateSimLock( const TSimLockPassword& aPassWord, |
|
1601 const TLockNumber aNumber ) const; |
|
1602 |
|
1603 /** |
|
1604 * Activate SIMLock asynchronously |
|
1605 * |
|
1606 * @param aStatus Request status |
|
1607 * @param aPassWord Lock specific password used to activate the SIMLock |
|
1608 * @param aNumber Number of lock to be activated |
|
1609 */ |
|
1610 IMPORT_C void ActivateSimLock( TRequestStatus& aStatus, |
|
1611 const TSimLockPassword& aPassWord, |
|
1612 const TLockNumber aNumber ) const; |
|
1613 |
|
1614 /** |
|
1615 * Deactivate SIMLock synchronously |
|
1616 * |
|
1617 * @param aPassWord Lock specific password used to |
|
1618 * Deactivate the SIMLock |
|
1619 * @param aNumber Number of lock to be activated |
|
1620 * @return Error value |
|
1621 */ |
|
1622 IMPORT_C TInt DeActivateSimLock( const TSimLockPassword& aPassWord, |
|
1623 const TLockNumber aNumber ) const; |
|
1624 |
|
1625 /** |
|
1626 * Deactivate SIMLock asynchronously |
|
1627 * |
|
1628 * @param aStatus Request status |
|
1629 * @param aPassWord Lock specific password used |
|
1630 * to Deactivate the SIMLock |
|
1631 * @param aNumber Number of lock to be activated |
|
1632 */ |
|
1633 IMPORT_C void DeActivateSimLock( TRequestStatus& aStatus, |
|
1634 const TSimLockPassword& aPassWord, |
|
1635 const TLockNumber aNumber ) const; |
|
1636 |
|
1637 /** |
|
1638 * Read VIAG Parameters synchronously |
|
1639 * |
|
1640 * @param aParam VIAG Home Zone Pararmeters |
|
1641 * @param aElems VIAG Home Zone Elements |
|
1642 * @return Error value |
|
1643 */ |
|
1644 IMPORT_C TInt ReadViagHomeZoneParams( TViagParams& aParam, |
|
1645 TViagElements& aElems ) const; |
|
1646 |
|
1647 /** |
|
1648 * Read VIAG Parameters asynchronously |
|
1649 * |
|
1650 * @param aStatus Request status KErrNone if successful |
|
1651 * @param aParam: VIAG Home Zone Pararmeters |
|
1652 * @param aElems: VIAG Home Zone Elements |
|
1653 */ |
|
1654 IMPORT_C void ReadViagHomeZoneParams( TRequestStatus& aStatus, |
|
1655 TViagParams& aParam, |
|
1656 TViagElements& aElems ); |
|
1657 |
|
1658 /** |
|
1659 * Read VIAG Cache asynchronously |
|
1660 * |
|
1661 * @param aId VIAG Home Zone Record Id to read from |
|
1662 * @param aElems VIAG Home Zone Reacord Content |
|
1663 * @return Error value |
|
1664 */ |
|
1665 IMPORT_C TInt ReadViagHomeZoneCache( TViagCacheRecordId& aId, |
|
1666 TViagCacheRecordContent& aRecord ) const; |
|
1667 |
|
1668 /** |
|
1669 * Read VIAG Cache asynchronously |
|
1670 * |
|
1671 * @param aStatus Request status KErrNone if successful |
|
1672 * @param aId VIAG Home Zone Record Id to read from |
|
1673 * @param aElems VIAG Home Zone Reacord Content |
|
1674 */ |
|
1675 IMPORT_C void ReadViagHomeZoneCache( TRequestStatus& aStatus, |
|
1676 TViagCacheRecordId& aId, |
|
1677 TViagCacheRecordContent& aRecord ); |
|
1678 |
|
1679 /** |
|
1680 * Write VIAG Cache asynchronously |
|
1681 * |
|
1682 * @param aId VIAG Home Zone Record Id to write to |
|
1683 * @param aElems VIAG Home Zone Reacord Content |
|
1684 * @return Error value |
|
1685 */ |
|
1686 IMPORT_C TInt WriteViagHomeZoneCache( const TViagCacheRecordId& aId, |
|
1687 const TViagCacheRecordContent& aRecord ) const; |
|
1688 |
|
1689 |
|
1690 /** |
|
1691 * Set the "always on" mode |
|
1692 * |
|
1693 * @param aMode Desired "always on" mode |
|
1694 */ |
|
1695 IMPORT_C void SetAlwaysOn( TRequestStatus& aStatus, |
|
1696 TSetAlwaysOnMode& aMode ) const; |
|
1697 |
|
1698 /** |
|
1699 * Request notification of RAU event |
|
1700 * @param aStatus reuquest status |
|
1701 * @param aEventStatus RAU event status |
|
1702 */ |
|
1703 IMPORT_C void NotifyRauEvent( TRequestStatus& aStatus, |
|
1704 TRauEventStatus& aEventStatus ); |
|
1705 |
|
1706 /** |
|
1707 * Write VIAG Cache asynchronously |
|
1708 * |
|
1709 * @param aStatus: Request status KErrNone if successful |
|
1710 * @param aId VIAG Home Zone Record Id to write to |
|
1711 * @param aElems VIAG Home Zone Reacord Content |
|
1712 */ |
|
1713 IMPORT_C void WriteViagHomeZoneCache( TRequestStatus& aStatus, |
|
1714 const TViagCacheRecordId& aId, |
|
1715 const TViagCacheRecordContent& aRecord ); |
|
1716 |
|
1717 /** |
|
1718 * Notify a DTMF event |
|
1719 * |
|
1720 * @param aStatus Request status |
|
1721 * @param aInfo DTMF Info |
|
1722 */ |
|
1723 IMPORT_C void NotifyDtmfEvent( TRequestStatus& aStatus, |
|
1724 TDtmfInfo& aInfo ); |
|
1725 |
|
1726 /** |
|
1727 * Return diagnostics info |
|
1728 * |
|
1729 * @param aCallName call name |
|
1730 * @return Error value |
|
1731 */ |
|
1732 IMPORT_C TInt GetDiagnosticInfo( TName& aCallName ) const; |
|
1733 |
|
1734 /** |
|
1735 * Sets the alternating line service block status using the |
|
1736 * aBlockStatus variable |
|
1737 * |
|
1738 * @param aBlockStatus als block status |
|
1739 * @return Error value |
|
1740 */ |
|
1741 IMPORT_C TInt SetAlsBlocked( const TSetAlsBlock aBlockStatus ) const; |
|
1742 |
|
1743 /** |
|
1744 * Sets the alternating line service block status using the aBlockStatus |
|
1745 * variable |
|
1746 * |
|
1747 * @param aStatus Request status |
|
1748 * @param aBlockStatus als block status |
|
1749 */ |
|
1750 IMPORT_C void SetAlsBlocked( TRequestStatus& aStatus, |
|
1751 const TSetAlsBlock aBlockStatus ); |
|
1752 |
|
1753 /** |
|
1754 * Gets the alternating line service block status |
|
1755 * |
|
1756 * @param aBlockStatus als block status |
|
1757 * @return Error value |
|
1758 */ |
|
1759 IMPORT_C TInt GetAlsBlocked( TGetAlsBlockStatus& aBlockStatus ) const; |
|
1760 |
|
1761 /** |
|
1762 * Gets the alternating line service block status |
|
1763 * |
|
1764 * @param aStatus Request status |
|
1765 * @param aBlockStatus als block status |
|
1766 */ |
|
1767 IMPORT_C void GetAlsBlocked( TRequestStatus& aStatus, |
|
1768 TGetAlsBlockStatus& aBlockStatus ); |
|
1769 |
|
1770 /** |
|
1771 * Reads the remote alerting tone status |
|
1772 * |
|
1773 * @param aToneStatus alerting tone status |
|
1774 * @return Error value |
|
1775 */ |
|
1776 IMPORT_C TInt GetRemoteAlertingToneStatus( |
|
1777 TRemoteAlertingToneStatus& aToneStatus ) const; |
|
1778 |
|
1779 /** |
|
1780 * Returns the origin of the call, defined by aCallName parameter |
|
1781 * |
|
1782 * @param aCallName call name |
|
1783 * @param aOrigin call origin |
|
1784 * @return Error value |
|
1785 */ |
|
1786 IMPORT_C TInt CallOrigin( TName& aCallName, |
|
1787 TCallOrigin& aOrigin ) const; |
|
1788 |
|
1789 /** |
|
1790 * Terminates a call synchronously |
|
1791 * |
|
1792 * @param aCallName call name |
|
1793 * @return Error value |
|
1794 */ |
|
1795 IMPORT_C TInt TerminateCall( TName& aCallName ) const; |
|
1796 |
|
1797 /** |
|
1798 * Terminates a call asynchronously |
|
1799 * |
|
1800 * @param aStatus Request status |
|
1801 * @param aCallName call name |
|
1802 */ |
|
1803 IMPORT_C void TerminateCall( TRequestStatus& aStatus, |
|
1804 TName& aCallName ); |
|
1805 |
|
1806 /** |
|
1807 * Notifies a client of changed Als blocked status |
|
1808 * |
|
1809 * @param aStatus Request status |
|
1810 * @param aBlockStatus ALS block status |
|
1811 */ |
|
1812 IMPORT_C void NotifyAlsBlockedChanged( TRequestStatus& aStatus, |
|
1813 TGetAlsBlockStatus& aBlockStatus ); |
|
1814 |
|
1815 /** |
|
1816 * Gets the ciphering information synchronously |
|
1817 * |
|
1818 * @param aInfo: Ciphering information |
|
1819 * @return Error value |
|
1820 */ |
|
1821 IMPORT_C TInt GetCipheringInfo( TCipheringInfo& aInfo ); |
|
1822 |
|
1823 /** |
|
1824 * Gets the ciphering info asynchronously |
|
1825 * |
|
1826 * @param aStatus Request status |
|
1827 * @param aInfo Ciphering information |
|
1828 */ |
|
1829 IMPORT_C void GetCipheringInfo( TRequestStatus& aStatus, |
|
1830 TCipheringInfo& aInfo ); |
|
1831 |
|
1832 /** |
|
1833 * This function notifies a client of ciphering info change |
|
1834 * |
|
1835 * @param aStatus Request status |
|
1836 * @param aInfo Ciphering information |
|
1837 */ |
|
1838 IMPORT_C void NotifyCipheringInfoChange( TRequestStatus& aStatus, |
|
1839 TCipheringInfo& aInfo ); |
|
1840 |
|
1841 /** |
|
1842 * Notifies a client of a change in NSPS (No Service Power Save) |
|
1843 * |
|
1844 * @param aStatus Request status |
|
1845 * @param aNspsStatus status of the NSPS (on/off) |
|
1846 */ |
|
1847 IMPORT_C void NotifyNSPSStatus( TRequestStatus& aStatus, |
|
1848 TNspsStatus& aNspsStatus ); |
|
1849 |
|
1850 /** |
|
1851 * This function wake ups the net server from the NSPS state |
|
1852 * |
|
1853 * @param aStatus Request status |
|
1854 */ |
|
1855 IMPORT_C void NetWakeup( TRequestStatus& aStatus ); |
|
1856 |
|
1857 /** |
|
1858 * Checks the status of the ALS in the product profile synchronously |
|
1859 * |
|
1860 * @param aSupport Als support Status |
|
1861 * @return Error value |
|
1862 */ |
|
1863 IMPORT_C TInt CheckAlsPpSupport( TAlsSupport& aSupport ) const; |
|
1864 |
|
1865 /** |
|
1866 * Checks the status of the ALS in the product profile asynchronously |
|
1867 * |
|
1868 * @param aStatus Request status |
|
1869 * @param aSupport Als support Status |
|
1870 */ |
|
1871 IMPORT_C void CheckAlsPpSupport( TRequestStatus& aStatus, |
|
1872 TAlsSupport& aSupport ); |
|
1873 |
|
1874 /** |
|
1875 * Gets network provider name synchronously |
|
1876 * |
|
1877 * @param aNetworkProviderName Network provider name |
|
1878 * @return Error value |
|
1879 */ |
|
1880 IMPORT_C TInt GetNetworkProviderName( |
|
1881 TDes& aNetworkProviderName ) const; |
|
1882 |
|
1883 /** |
|
1884 * Gets network provider name asynchronously |
|
1885 * |
|
1886 * @param aStatus Request status |
|
1887 * @param aNetworkProviderName Network provider name |
|
1888 */ |
|
1889 IMPORT_C void GetNetworkProviderName( TRequestStatus& aStatus, |
|
1890 TDes& aNetworkProviderName ); |
|
1891 |
|
1892 /** |
|
1893 * This function retrieves syncronously the information |
|
1894 * if the security code is blocked or not. |
|
1895 * |
|
1896 * @param aType Security code type |
|
1897 * @param aIsBlocked Code blocking status |
|
1898 * @return Error value |
|
1899 */ |
|
1900 IMPORT_C TInt IsBlocked( TSecurityCodeType& aType, |
|
1901 TBool& aIsBlocked ); |
|
1902 |
|
1903 /** |
|
1904 * This method activates syncronously the security code request and |
|
1905 * triggers the security server to prompt PIN-code from client. |
|
1906 * |
|
1907 * @param aCode Security code type |
|
1908 * @return Error value |
|
1909 */ |
|
1910 IMPORT_C TInt CheckSecurityCode ( const TSecurityCodeType aCode ); |
|
1911 |
|
1912 /** |
|
1913 * This method activates asyncronously the security code request and |
|
1914 * triggers the security server to prompt PIN-code from client. |
|
1915 * |
|
1916 * @param aStatus Request status |
|
1917 * @param aCode Security code type |
|
1918 */ |
|
1919 IMPORT_C void CheckSecurityCode ( TRequestStatus& aStatus, |
|
1920 const TSecurityCodeType aCode ); |
|
1921 |
|
1922 /** |
|
1923 * This function retrieves syncronously the currently active PIN code |
|
1924 * |
|
1925 * @param aActivePin Currently active PIN |
|
1926 */ |
|
1927 IMPORT_C void GetActivePin( |
|
1928 RMobilePhone::TMobilePhoneSecurityCode& aActivePin ); |
|
1929 |
|
1930 /** |
|
1931 * Get the air time use duration synchronously |
|
1932 * |
|
1933 * @param aTime air time duration in seconds. |
|
1934 * @return KErrNone |
|
1935 */ |
|
1936 IMPORT_C TInt GetAirTimeDuration( TTimeIntervalSeconds& aTime ) const; |
|
1937 |
|
1938 /** |
|
1939 * Checks the given number against emergency number list sychronously |
|
1940 * |
|
1941 * @param aNumMode Number and check mode |
|
1942 * @param aResult Result of query |
|
1943 * @return Error value |
|
1944 */ |
|
1945 IMPORT_C TInt CheckEmergencyNumber( TEmerNumberCheckMode& aNumMode, |
|
1946 TBool& aResult ) const; |
|
1947 |
|
1948 /** |
|
1949 * Checks the given number against emergency number list asychronously |
|
1950 * |
|
1951 * @param aStatus Request status |
|
1952 * @param aNumMode Number and check mode |
|
1953 * @param aResult Result of query |
|
1954 */ |
|
1955 IMPORT_C void CheckEmergencyNumber( TRequestStatus& aStatus, |
|
1956 TEmerNumberCheckMode& aNumMode, |
|
1957 TBool& aResult ); |
|
1958 |
|
1959 /** |
|
1960 * Clears Call Blacklist asynchronously |
|
1961 * |
|
1962 * @param aStatus Request status |
|
1963 */ |
|
1964 IMPORT_C void ClearCallBlackList( TRequestStatus& aStatus ); |
|
1965 |
|
1966 /** |
|
1967 * Clears Call Blacklist synchronously |
|
1968 * |
|
1969 * @return Error value |
|
1970 */ |
|
1971 IMPORT_C TInt ClearCallBlackList() const; |
|
1972 |
|
1973 /** |
|
1974 * Notification request for additionalinfo message |
|
1975 * |
|
1976 * @param aStatus Request status |
|
1977 * @param aSsAdditionalInfo SS additional information |
|
1978 */ |
|
1979 IMPORT_C void SsAdditionalInfoNotification( TRequestStatus& aStatus, |
|
1980 TSsAdditionalInfo& aSsAdditionalInfo ); |
|
1981 |
|
1982 /** |
|
1983 * Notify a client of the success of the sent SS command |
|
1984 * |
|
1985 * @param aStatus Request status |
|
1986 * @param aSsStatus SS status |
|
1987 */ |
|
1988 IMPORT_C void SsRequestCompleteNotification( TRequestStatus& aStatus, |
|
1989 TInt& aSsStatus ); |
|
1990 |
|
1991 /** |
|
1992 * Notify a client when phonebook caching is ready |
|
1993 * |
|
1994 * @param aStatus Request status |
|
1995 * @param aPndName Returns the name of phonebook having ready cache |
|
1996 */ |
|
1997 IMPORT_C void NotifyPndCacheReady( TRequestStatus& aStatus, |
|
1998 TName& aPndName ); |
|
1999 |
|
2000 /** |
|
2001 * Gets current cache status |
|
2002 * |
|
2003 * @param aStatus Request status |
|
2004 * @param aPndStatus cache status |
|
2005 * @param aPndName phonebook name |
|
2006 */ |
|
2007 IMPORT_C void GetPndCacheStatus( TRequestStatus& aStatus, |
|
2008 RMmCustomAPI::TPndCacheStatus& aPndStatus, |
|
2009 const TName& aPndName ) const; |
|
2010 |
|
2011 /** |
|
2012 * Gets the operator name of the current network |
|
2013 * |
|
2014 * @param aStatus Request status |
|
2015 * @param aOperatorNameInfo Operator name info |
|
2016 */ |
|
2017 IMPORT_C void GetOperatorName( TRequestStatus& aStatus, |
|
2018 TOperatorNameInfo& aOperatorNameInfo ); |
|
2019 |
|
2020 /** |
|
2021 * Gets the programmable operator logo of the current network |
|
2022 * |
|
2023 * This API is no longer supported! |
|
2024 * |
|
2025 * @param aStatus Request status |
|
2026 * @param aOperatorId operator Id |
|
2027 * @param aLogo operator logo |
|
2028 */ |
|
2029 IMPORT_C void GetProgrammableOperatorLogo( TRequestStatus& aStatus, |
|
2030 TOperatorId& aOperatorId, TOperatorLogo& aLogo ); |
|
2031 |
|
2032 /** |
|
2033 * Notifies of the change in the operator logo of the current network |
|
2034 * |
|
2035 * @param aStatus Request status |
|
2036 * @param aOperatorId Id of the operator |
|
2037 */ |
|
2038 IMPORT_C void NotifyProgrammableOperatorLogoChange( |
|
2039 TRequestStatus& aStatus, |
|
2040 TOperatorId& aOperatorId ); |
|
2041 |
|
2042 /** |
|
2043 * Notifies a client of SAT refresh |
|
2044 * |
|
2045 * @param aStatus: Request status |
|
2046 */ |
|
2047 IMPORT_C void SatRefreshCompleteNotification( |
|
2048 TRequestStatus& aStatus ); |
|
2049 |
|
2050 /** |
|
2051 * Notifies the client about a network generated SS event |
|
2052 * |
|
2053 * @param aStatus Request status |
|
2054 * @param aSsTypeAndMode Type and mode |
|
2055 * @param aSsInfo SS info |
|
2056 */ |
|
2057 IMPORT_C void NotifySsNetworkEvent( TRequestStatus& aStatus, |
|
2058 TSsTypeAndMode& aSsTypeAndMode, TSsInfo& aSsInfo ); |
|
2059 |
|
2060 /** |
|
2061 * Cancels active ussd session synchronously |
|
2062 * |
|
2063 * @return Error value |
|
2064 */ |
|
2065 IMPORT_C TInt CancelUssdSession() const; |
|
2066 |
|
2067 /** |
|
2068 * Cancels active ussd session asynchronously |
|
2069 * |
|
2070 * @param aStatus Request status |
|
2071 */ |
|
2072 IMPORT_C void CancelUssdSession( TRequestStatus& aStatus ); |
|
2073 |
|
2074 /** |
|
2075 * Checks two digit dial support synchronously |
|
2076 * |
|
2077 * @param aSupport two digit dial support status |
|
2078 * @return Error value |
|
2079 */ |
|
2080 IMPORT_C TInt CheckTwoDigitDialSupport( |
|
2081 TTwoDigitDialSupport& aSupport ) const; |
|
2082 |
|
2083 /** |
|
2084 * Checks two digit dial support asynchronously |
|
2085 * |
|
2086 * @param aStatus Request status |
|
2087 * @param aSupport two digit dial support status |
|
2088 */ |
|
2089 IMPORT_C void CheckTwoDigitDialSupport( TRequestStatus& aStatus, |
|
2090 TTwoDigitDialSupport& aSupport ); |
|
2091 |
|
2092 /** |
|
2093 * This function resets the net server |
|
2094 * |
|
2095 */ |
|
2096 IMPORT_C void ResetNetServer() const; |
|
2097 |
|
2098 /** |
|
2099 * This function resets the net server |
|
2100 * |
|
2101 * @param aStatus Request status |
|
2102 */ |
|
2103 IMPORT_C void ResetNetServer( TRequestStatus& aStatus ); |
|
2104 |
|
2105 /** |
|
2106 * Releases CommDB file |
|
2107 * |
|
2108 * @param aStatus Request status |
|
2109 * @param aFileName File to be released |
|
2110 */ |
|
2111 IMPORT_C void ReleaseFile( TRequestStatus& aStatus, |
|
2112 const TDesC& aFileName ); |
|
2113 |
|
2114 /** |
|
2115 * Restarts reading CommDB file |
|
2116 * |
|
2117 * @param aStatus Request status |
|
2118 * @param aFileName File to be restarted |
|
2119 */ |
|
2120 IMPORT_C void RestartFile( TRequestStatus& aStatus, |
|
2121 const TDesC& aFileName ); |
|
2122 |
|
2123 /** |
|
2124 * Start Sim CB Topic Browsing |
|
2125 * |
|
2126 * @return TInt KErrNone if successful |
|
2127 */ |
|
2128 IMPORT_C TInt StartSimCbTopicBrowsing(); |
|
2129 |
|
2130 /** |
|
2131 * Get next SIM CB Topic synchronously |
|
2132 * |
|
2133 * @param aSimCbTopic requested topic |
|
2134 * @return KErrNone if successful |
|
2135 */ |
|
2136 IMPORT_C TInt GetNextSimCbTopic( TSimCbTopic& aSimCbTopic ); |
|
2137 |
|
2138 /** |
|
2139 * Get next SIM CB Topic asynchronously |
|
2140 * |
|
2141 * @param aStatus request status |
|
2142 * @param aSimCbTopic requested topic |
|
2143 */ |
|
2144 IMPORT_C void GetNextSimCbTopic( TRequestStatus& aStatus, |
|
2145 TSimCbTopic& aSimCbTopic ); |
|
2146 |
|
2147 /** |
|
2148 * Delete SIM CB Topic synchronously |
|
2149 * |
|
2150 * @param aSimCbTopicNumber topic to be deleted |
|
2151 * @return Error value |
|
2152 */ |
|
2153 IMPORT_C TInt DeleteSimCbTopic( const TUint &aSimCbTopicNumber ); |
|
2154 |
|
2155 /** |
|
2156 * Delete SIM CB Topic asynchronously. This asynchronous request can not be cancelled. |
|
2157 * |
|
2158 * @param aStatus request status |
|
2159 * @param aSimCbTopic topic to be deleted |
|
2160 */ |
|
2161 IMPORT_C void DeleteSimCbTopic( TRequestStatus& aStatus, |
|
2162 const TUint &aSimCbTopicNumber ); |
|
2163 |
|
2164 /** |
|
2165 * Notifies of a network connection failure. This failure is so sever |
|
2166 * that the only way to recover is to restart the phone. |
|
2167 * |
|
2168 * @param aStatus Request status |
|
2169 */ |
|
2170 IMPORT_C void NotifyNetworkConnectionFailure( |
|
2171 TRequestStatus& aStatus ); |
|
2172 |
|
2173 /** |
|
2174 * Send APDU request and wait for response synchronously |
|
2175 * |
|
2176 * @param anAPDUReq reference to structure containing APDU request's |
|
2177 * details |
|
2178 * @return Error value |
|
2179 */ |
|
2180 IMPORT_C TInt SendAPDUReq( TApdu& anAPDUReq ); |
|
2181 |
|
2182 /** |
|
2183 * Send APDU request asynchronously |
|
2184 * |
|
2185 * @param aStatus Request status |
|
2186 * @param anAPDUReq reference to structure containing APDU request's |
|
2187 * details |
|
2188 */ |
|
2189 IMPORT_C void SendAPDUReq( TRequestStatus& aStatus, |
|
2190 TApdu& anAPDUReq ); |
|
2191 |
|
2192 /** |
|
2193 * Disables phone lock |
|
2194 * |
|
2195 * @param aStatus Request status |
|
2196 * @param aVerifyCode Password for verification |
|
2197 */ |
|
2198 IMPORT_C void DisablePhoneLock( TRequestStatus& aStatus, |
|
2199 RMobilePhone::TMobilePassword& aVerifyCode ) const; |
|
2200 |
|
2201 /** |
|
2202 * Notifies an EGPRS information change |
|
2203 * |
|
2204 * @param aStatus Request status |
|
2205 * @param aGprsInfo is a reference to a TGprsInformation class |
|
2206 * packaged inside a TPckg<> class. |
|
2207 */ |
|
2208 IMPORT_C void NotifyEGprsInfoChange( TRequestStatus& aStatus, |
|
2209 TDes8& aGprsInfo ) const; |
|
2210 |
|
2211 /** |
|
2212 * Gets EGPRS information |
|
2213 * |
|
2214 * @param aStatus Request status |
|
2215 * @param aGprsInfo is a reference to a TGprsInformation class |
|
2216 * packaged inside a TPckg<> class. |
|
2217 */ |
|
2218 IMPORT_C void GetEGprsInfo ( TRequestStatus& aStatus, |
|
2219 TDes8& aGprsInfo ) const; |
|
2220 |
|
2221 /** |
|
2222 * Reads information from a SIM file asynchronously |
|
2223 * |
|
2224 * @param aStatus Request status |
|
2225 * @param aSimFileInfo reference to class containing SIM File's info |
|
2226 * @param aResponseBytes reference to buffer in which store |
|
2227 * SIM File's data |
|
2228 */ |
|
2229 IMPORT_C void ReadSimFile ( TRequestStatus& aStatus, |
|
2230 TDes8& aSimFileInfo, TDes8& aResponseBytes ) const; |
|
2231 |
|
2232 /** |
|
2233 * Gets the life time synchronously |
|
2234 * |
|
2235 * @param aLifeTimeInfo reference to class containing Life |
|
2236 * time information |
|
2237 * @return TInt |
|
2238 */ |
|
2239 IMPORT_C TInt GetLifeTime( TDes8& aLifeTimeInfo ) const; |
|
2240 |
|
2241 /** |
|
2242 * Gets the life time asynchronously |
|
2243 * |
|
2244 * @param aStatus Request status |
|
2245 * @param aLifeTimeInfo reference to class containing Life |
|
2246 * time information |
|
2247 */ |
|
2248 IMPORT_C void GetLifeTime( TRequestStatus& aStatus, |
|
2249 TDes8& aLifeTimeInfo ) const; |
|
2250 |
|
2251 /** |
|
2252 * Gets phonebook 3G information |
|
2253 * |
|
2254 * @param aStatus Request status |
|
2255 * @param aInfo reference to class containing phonebook 3G information |
|
2256 */ |
|
2257 IMPORT_C void Get3GPBInfo( TRequestStatus& aStatus, |
|
2258 T3GPBInfo& aInfo ) const; |
|
2259 |
|
2260 /** |
|
2261 * This method reads all network system modes synchronously. |
|
2262 * |
|
2263 * @param aSupportedNetworkModes supported networkmodes |
|
2264 * @return Error value |
|
2265 */ |
|
2266 IMPORT_C TInt GetSystemNetworkModes( |
|
2267 TUint32& aSupportedNetworkModes ) const; |
|
2268 |
|
2269 /** |
|
2270 * This method reads all network system modes asynchronously. |
|
2271 * |
|
2272 * @param aStatus Request status |
|
2273 * @param aSupportedNetworkModes supported networkmodes |
|
2274 */ |
|
2275 IMPORT_C void GetSystemNetworkModes( TRequestStatus& aStatus, |
|
2276 TUint32& aSupportedNetworkModes ) const; |
|
2277 |
|
2278 /** |
|
2279 * This method sets network system mode synchronously. |
|
2280 * |
|
2281 * @param aNetworkMode system networkmode |
|
2282 * @return KErrNone if successful |
|
2283 */ |
|
2284 IMPORT_C TInt SetSystemNetworkMode( |
|
2285 const TNetworkModeCaps aNetworkMode ); |
|
2286 |
|
2287 /** |
|
2288 * This method sets network system mode asynchronously. |
|
2289 * |
|
2290 * @param aStatus Request status |
|
2291 * @param aSupportedNetworkModes supported networkmodes |
|
2292 */ |
|
2293 IMPORT_C void SetSystemNetworkMode( TRequestStatus& aStatus, |
|
2294 const TNetworkModeCaps aNetworkMode ); |
|
2295 |
|
2296 /** |
|
2297 * This method gets current network system mode synchronously. |
|
2298 * |
|
2299 * @param aCurrentNetworkModes Current networkmodes |
|
2300 * @return Error value |
|
2301 */ |
|
2302 IMPORT_C TInt GetCurrentSystemNetworkModes( |
|
2303 TUint32& aCurrentNetworkModes ) const; |
|
2304 |
|
2305 /** |
|
2306 * This method gets current system mode asynchronously. |
|
2307 * |
|
2308 * @param aStatus Request status |
|
2309 * @param aCurrentNetworkModes Current networkmodes |
|
2310 */ |
|
2311 IMPORT_C void GetCurrentSystemNetworkModes( TRequestStatus& aStatus, |
|
2312 TUint32& aCurrentNetworkModes ) const; |
|
2313 |
|
2314 /** |
|
2315 * This method reads network system band synchronously. |
|
2316 * |
|
2317 * @param aSupportedNetworkBand supported networkband |
|
2318 * @return Error value |
|
2319 */ |
|
2320 IMPORT_C TInt GetSystemNetworkBand( |
|
2321 TBandSelection& aSupportedNetworkBand, |
|
2322 TNetworkModeCaps& aNetworkMode ) const; |
|
2323 |
|
2324 /** |
|
2325 * This method reads network system band asynchronously. |
|
2326 * |
|
2327 * @param aStatus Request status |
|
2328 * @param aSupportedNetworkBands supported networkband |
|
2329 */ |
|
2330 IMPORT_C void GetSystemNetworkBand( TRequestStatus& aStatus, |
|
2331 TBandSelection& aSupportedNetworkBand, |
|
2332 TNetworkModeCaps& aNetworkMode ) const; |
|
2333 |
|
2334 /** |
|
2335 * This method sets network system band synchronously. |
|
2336 * |
|
2337 * @param aNetworkBand system networkband |
|
2338 * @return KErrNone if successful |
|
2339 */ |
|
2340 IMPORT_C TInt SetSystemNetworkBand( |
|
2341 const TBandSelection aNetworkBand, |
|
2342 const TNetworkModeCaps aNetworkMode ); |
|
2343 |
|
2344 /** |
|
2345 * This method sets network system band asynchronously. |
|
2346 * |
|
2347 * @param aStatus Request status |
|
2348 * @param aSupportedNetworkBand supported networkbands |
|
2349 * @param aNetworkMode used network mode |
|
2350 */ |
|
2351 IMPORT_C void SetSystemNetworkBand( TRequestStatus& aStatus, |
|
2352 const TBandSelection aNetworkBand, |
|
2353 const TNetworkModeCaps aNetworkMode ); |
|
2354 |
|
2355 /** |
|
2356 * Power SIM ON. |
|
2357 * |
|
2358 * @param aStatus Request status |
|
2359 */ |
|
2360 IMPORT_C void PowerSimOn( TRequestStatus& aStatus ); |
|
2361 |
|
2362 /** |
|
2363 * Power SIM OFF. |
|
2364 * |
|
2365 * @param aStatus Request status |
|
2366 */ |
|
2367 IMPORT_C void PowerSimOff( TRequestStatus& aStatus ); |
|
2368 |
|
2369 /** |
|
2370 * Perform Warm Reset to SIM. |
|
2371 * |
|
2372 * @param aStatus Request status |
|
2373 */ |
|
2374 IMPORT_C void SimWarmReset( TRequestStatus& aStatus ); |
|
2375 |
|
2376 /** |
|
2377 * Send APDU Request to APDU server |
|
2378 * |
|
2379 * @param aStatus Request status |
|
2380 * @param aParam Parameters for Apdu ( cardreaderid, commandApdu, |
|
2381 responseApdu ) |
|
2382 */ |
|
2383 IMPORT_C void SendAPDUReq( TRequestStatus& aStatus, |
|
2384 TApduParameters& aParams ); |
|
2385 |
|
2386 /** |
|
2387 * Get Answer To Reset |
|
2388 * |
|
2389 * @param aStatus Request status |
|
2390 * @param aATR reference containing Answer To Reset bytes from ICC |
|
2391 */ |
|
2392 IMPORT_C void GetATR( TRequestStatus& aStatus, TDes8& aATR ); |
|
2393 |
|
2394 /** |
|
2395 * Get Card Reader Status |
|
2396 * |
|
2397 * @param aStatus Request status |
|
2398 * @param aCardReaderStatus |
|
2399 */ |
|
2400 IMPORT_C void GetSimCardReaderStatus( TRequestStatus& aStatus, |
|
2401 TSimCardReaderStatus &aCardReaderStatus ); |
|
2402 |
|
2403 /** |
|
2404 * Notify SIM Card Status |
|
2405 * |
|
2406 * @param aStatus Request status |
|
2407 * @param aCardStatus Card status |
|
2408 */ |
|
2409 IMPORT_C void NotifySimCardStatus( TRequestStatus& aStatus, |
|
2410 TSIMCardStatus& aCardStatus ); |
|
2411 |
|
2412 /** |
|
2413 * Get WLAN SIM Authentication Data |
|
2414 * |
|
2415 * @param aStatus Request status |
|
2416 * @param aAuthenticationData Authentication Data |
|
2417 */ |
|
2418 IMPORT_C void GetWlanSimAuthenticationData( |
|
2419 TRequestStatus& aReqStatus, |
|
2420 TDes8& aAuthenticationData ) const; |
|
2421 |
|
2422 /** |
|
2423 * Sets "storage status" byte of a SIM-stored SMS message to "read". |
|
2424 * Parameters are SM service center timestamp (as of 3GPP TS 23.040). |
|
2425 * |
|
2426 * @param aTime time |
|
2427 * @param aTimezoneDiff timezone (difference to GMT, in quarters of |
|
2428 * an hour) |
|
2429 */ |
|
2430 IMPORT_C void SetSimMessageStatusRead( TTime& aTime, |
|
2431 TInt& aTimezoneDiff ) const; |
|
2432 |
|
2433 /** |
|
2434 * This method writes specified VIAG Home Zone UHZIUE settings synchronously. |
|
2435 * |
|
2436 * |
|
2437 * U-HZI-UE settings field is coded as follow: |
|
2438 * |
|
2439 * ------------------------- |
|
2440 * |b8|b7|b6|b5|b4|b3|b2|b1| |
|
2441 * ------------------------- |
|
2442 * <-0:The U-HZI-UE is deactivated |
|
2443 * 1:The U-HZI-UE is activated |
|
2444 * |
|
2445 * <----0:The CB-HZI-UE is deactivated |
|
2446 * 1:The CB-HZI-UE is activated |
|
2447 * |
|
2448 * Constants RMmCustomAPI::KUHziUeActive and RMmCustomAPI::HCbHziUeActive |
|
2449 * can be used to determine and modificate states of different activation bits. |
|
2450 * |
|
2451 * For example: |
|
2452 * |
|
2453 * if ( iEfUHziUeSettings.settings & KUHziUeActive ) |
|
2454 * then U-HZI-UE is activated |
|
2455 * |
|
2456 * Activate: |
|
2457 * iEfUHziUeSettings.settings |= KUHziUeActive; |
|
2458 * |
|
2459 * Deactivate: |
|
2460 * iEfUHziUeSettings.settings &= ~KUHziUeActive; |
|
2461 * |
|
2462 * |
|
2463 * @param aSettings Settings |
|
2464 * @return Error value |
|
2465 */ |
|
2466 IMPORT_C TInt WriteViagHomeZoneUHZIUESettings( |
|
2467 TViagUHZIUESettings& aSettings) const; |
|
2468 |
|
2469 /** |
|
2470 * This method writes specified VIAG Home Zone UHZIUE settings |
|
2471 * asynchronously. |
|
2472 * |
|
2473 * @param aStatus Request status |
|
2474 * @param aSettings Settings |
|
2475 */ |
|
2476 IMPORT_C void WriteViagHomeZoneUHZIUESettings ( |
|
2477 TRequestStatus& aStatus, TViagUHZIUESettings& aSettings) const; |
|
2478 |
|
2479 /** |
|
2480 * Read HSxPA Status |
|
2481 * |
|
2482 * @param aStatus Request status |
|
2483 * @param aHSxPAStatus |
|
2484 */ |
|
2485 IMPORT_C void ReadHSxPAStatus( TRequestStatus& aStatus, |
|
2486 THSxPAStatus& aHSxPAStatus ); |
|
2487 |
|
2488 /** |
|
2489 * Write HSxPA Status |
|
2490 * |
|
2491 * @param aStatus Request status |
|
2492 * @param aHSxPAStatus |
|
2493 */ |
|
2494 IMPORT_C void WriteHSxPAStatus( TRequestStatus& aStatus, |
|
2495 THSxPAStatus& aHSxPAStatus ); |
|
2496 |
|
2497 /** |
|
2498 * Notify HSxPA Status change |
|
2499 * |
|
2500 * @param aStatus Request status |
|
2501 * @param aHSxPAStatus |
|
2502 */ |
|
2503 IMPORT_C void NotifyHSxPAStatus( TRequestStatus& aStatus, |
|
2504 THSxPAStatus& aHSxPAStatus ); |
|
2505 |
|
2506 /** |
|
2507 * Get ICC call forwarding status |
|
2508 * |
|
2509 * @param aReqStatus Request status |
|
2510 * @param aCFIndicators refrence to class CFIndicators |
|
2511 */ |
|
2512 IMPORT_C void GetIccCallForwardingIndicatorStatus( |
|
2513 TRequestStatus& aReqStatus, //TUint8 aMspId, |
|
2514 TDes8& aCFIndicators ) const; |
|
2515 |
|
2516 /** |
|
2517 * Notify ICC call forwarding status change |
|
2518 * |
|
2519 * @param aReqStatus Request status |
|
2520 * @param aCFIndicators refrence to class CFIndicators |
|
2521 */ |
|
2522 IMPORT_C void NotifyIccCallForwardingStatusChange( |
|
2523 TRequestStatus& aReqStatus, |
|
2524 TDes8& aCFIndicators ); |
|
2525 |
|
2526 /** |
|
2527 * Get GSM/WCDMA cell(s) info |
|
2528 * |
|
2529 * @param aStatus Request status |
|
2530 * @param aCellInfo |
|
2531 */ |
|
2532 IMPORT_C void GetCellInfo( TRequestStatus& aStatus, |
|
2533 TDes8& aCellInfo ) const; |
|
2534 |
|
2535 /** |
|
2536 * Notify Cell info change |
|
2537 * |
|
2538 * @param aStatus Request status |
|
2539 * @param aCellInfo |
|
2540 */ |
|
2541 IMPORT_C void NotifyCellInfoChange( TRequestStatus& aStatus, |
|
2542 TDes8& aCellInfo ) const; |
|
2543 |
|
2544 |
|
2545 /** |
|
2546 * Get service table availability on USIM |
|
2547 * |
|
2548 * @since S60 v3.2 |
|
2549 * @param aStatus Request status |
|
2550 * @param aParams aServiceNum. A service support in service table |
|
2551 * specified by the client |
|
2552 */ |
|
2553 IMPORT_C void GetUSIMServiceSupport( |
|
2554 TRequestStatus& aStatus, TAppSupport& aParams ) const; |
|
2555 |
|
2556 /** |
|
2557 * This function notifies a client of RemoteAlertingToneStatus change |
|
2558 * |
|
2559 * @param aStatus Request status |
|
2560 * @param aToneStatus RemoteAlertingTone status |
|
2561 */ |
|
2562 IMPORT_C void NotifyRemoteAlertingToneStatusChange( |
|
2563 TRequestStatus& aStatus, TRemoteAlertingToneStatus& aToneStatus ); |
|
2564 |
|
2565 private: |
|
2566 |
|
2567 /** |
|
2568 * Copy constructor |
|
2569 * |
|
2570 * @param aCustomAPI Custom API handle |
|
2571 */ |
|
2572 RMmCustomAPI( const RMmCustomAPI& aCustomAPI ); |
|
2573 |
|
2574 protected: |
|
2575 |
|
2576 /** |
|
2577 * 2nd phase constructor. |
|
2578 */ |
|
2579 IMPORT_C void ConstructL(); |
|
2580 |
|
2581 /** |
|
2582 * Destructor |
|
2583 */ |
|
2584 IMPORT_C void Destruct(); |
|
2585 |
|
2586 private: // Data |
|
2587 |
|
2588 /* |
|
2589 * Pointer to he Custom pointer holder |
|
2590 * Own. |
|
2591 */ |
|
2592 CMmCustomPtrHolder* iCustomPtrHolder; |
|
2593 }; |
|
2594 |
|
2595 /** |
|
2596 * CMmCustomPtrHolder contains Custom Pointer Holder related functionality |
|
2597 * @publishedPartner |
|
2598 */ |
|
2599 class CMmCustomPtrHolder : public CBase |
|
2600 { |
|
2601 public: // Constructors and destructor |
|
2602 |
|
2603 static CMmCustomPtrHolder* NewL( const TInt aSizeOfPtrArray, |
|
2604 const TInt aSizeOfPtrCArray=0 ); |
|
2605 |
|
2606 ~CMmCustomPtrHolder(); |
|
2607 |
|
2608 template <typename T> inline TPtr8& Set( TInt aSlot, T& aObject ) |
|
2609 { |
|
2610 TPtr8& ptr=Ptr( aSlot ); |
|
2611 ptr.Set( REINTERPRET_CAST( TText8*, ( &aObject ) ), sizeof( T ), |
|
2612 sizeof( T ) ); |
|
2613 |
|
2614 return ptr; |
|
2615 }; |
|
2616 |
|
2617 template <typename T> inline TPtrC8& SetC( |
|
2618 TInt aSlot, const T& aObject) |
|
2619 { |
|
2620 TPtrC8& ptr=PtrC( aSlot ); |
|
2621 ptr.Set( REINTERPRET_CAST( const TText8*, ( &aObject ) ), |
|
2622 sizeof( T ) ); |
|
2623 |
|
2624 return ptr; |
|
2625 }; |
|
2626 |
|
2627 protected: |
|
2628 |
|
2629 void ConstructL( const TInt aSizeOfPtrArray, |
|
2630 const TInt aSizeOfPtrCArray ); |
|
2631 CMmCustomPtrHolder(); |
|
2632 |
|
2633 public: // Data |
|
2634 |
|
2635 /* |
|
2636 * Sim Topic |
|
2637 */ |
|
2638 RMmCustomAPI::TSimCbTopic iSimCbTopic; |
|
2639 |
|
2640 /* |
|
2641 * SimTopic number |
|
2642 */ |
|
2643 TUint iSimCbTopicNumber; |
|
2644 |
|
2645 /* |
|
2646 * Als block status for set |
|
2647 */ |
|
2648 RMmCustomAPI::TSetAlsBlock iSetAlsBlock; |
|
2649 |
|
2650 /* |
|
2651 * Drive Mode |
|
2652 */ |
|
2653 RMmCustomAPI::TSetDriveMode iSetDriveMode; |
|
2654 |
|
2655 /* |
|
2656 * Sim lock number |
|
2657 */ |
|
2658 RMmCustomAPI::TLockNumber iSimLockNumber; |
|
2659 |
|
2660 /* |
|
2661 * Sim lock password |
|
2662 */ |
|
2663 RMmCustomAPI::TSimLockPassword iSimLockPassword; |
|
2664 |
|
2665 /* |
|
2666 * Viag cache id |
|
2667 */ |
|
2668 RMmCustomAPI::TViagCacheRecordId iViagCacheId; |
|
2669 |
|
2670 /* |
|
2671 * Viag cache record |
|
2672 */ |
|
2673 RMmCustomAPI::TViagCacheRecordContent iViagCacheRecord; |
|
2674 |
|
2675 /* |
|
2676 * Security code typeiSecurityCodeType; |
|
2677 */ |
|
2678 RMmCustomAPI::TSecurityCodeType iSecurityCodeType; |
|
2679 |
|
2680 /* |
|
2681 * Operator name type |
|
2682 */ |
|
2683 RMmCustomAPI::TOperatorNameType iOperatorNameType; |
|
2684 |
|
2685 /* |
|
2686 * Phonebook 3G info |
|
2687 */ |
|
2688 RMmCustomAPI::T3GPBInfo i3GPBInfo; |
|
2689 |
|
2690 /* |
|
2691 * Supported network modes |
|
2692 */ |
|
2693 TUint32 iSupportedNetworkModes; |
|
2694 |
|
2695 /* |
|
2696 * System network mode |
|
2697 */ |
|
2698 RMmCustomAPI::TNetworkModeCaps iNetworkModeCaps; |
|
2699 |
|
2700 /* |
|
2701 * Current network modes |
|
2702 */ |
|
2703 TUint32 iCurrentNetworkModes; |
|
2704 |
|
2705 /** |
|
2706 * Network UMTS rf band |
|
2707 */ |
|
2708 RMmCustomAPI::TBandSelection iNetworkBand; |
|
2709 |
|
2710 /** |
|
2711 * Supported network band |
|
2712 */ |
|
2713 RMmCustomAPI::TBandSelection iSupportedNetworkBand; |
|
2714 |
|
2715 /** |
|
2716 * HSxPA Status |
|
2717 */ |
|
2718 RMmCustomAPI::THSxPAStatus iHSxPAStatus; |
|
2719 |
|
2720 protected: // Data |
|
2721 |
|
2722 RArray<TPtr8> iPtrArray; |
|
2723 RArray<TPtrC8> iPtrCArray; |
|
2724 |
|
2725 private: // Data |
|
2726 |
|
2727 TPtr8& Ptr( TInt aIndex ); |
|
2728 TPtrC8& PtrC( TInt aIndex ); |
|
2729 |
|
2730 }; |
|
2731 |
|
2732 #endif // RMMCUSTOMAPI_H |
|
2733 |
|
2734 // End of File |