|
1 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // \file ETELMM.H |
|
15 // Multimode ETel API header file. |
|
16 // Describes the MM ETel API - classes, methods and types. |
|
17 // |
|
18 // |
|
19 |
|
20 #ifndef __ETELMM_H__ |
|
21 #define __ETELMM_H__ |
|
22 |
|
23 #include <e32base.h> |
|
24 #include <s32mem.h> |
|
25 #include "etel.h" |
|
26 #include "ETELMMCS.H" |
|
27 |
|
28 |
|
29 /** |
|
30 Names for Multimode ETel sub-sessions |
|
31 @internalComponent |
|
32 */ |
|
33 _LIT(KETelMeAdnPhoneBook,"S1"); |
|
34 _LIT(KETelMeDialledPhoneBook,"S2"); |
|
35 _LIT(KETelMeMissedPhoneBook,"S3"); |
|
36 _LIT(KETelMeReceivedPhoneBook,"S4"); |
|
37 _LIT(KETelCombinedAdnPhoneBook,"S5"); |
|
38 _LIT(KETelTaAdnPhoneBook,"S6"); |
|
39 _LIT(KETelIccAdnPhoneBook,"S7"); |
|
40 _LIT(KETelIccFdnPhoneBook,"S8"); |
|
41 _LIT(KETelIccSdnPhoneBook,"S9"); |
|
42 _LIT(KETelIccBdnPhoneBook,"S10"); |
|
43 _LIT(KETelIccLndPhoneBook,"S11"); |
|
44 _LIT(KETelIccVoiceMailBox,"S12"); |
|
45 |
|
46 _LIT(KETelMeSmsStore,"S13"); |
|
47 _LIT(KETelIccSmsStore,"S14"); |
|
48 _LIT(KETelCombinedSmsStore,"S15"); |
|
49 |
|
50 _LIT(KETelNamStore,"S16"); |
|
51 _LIT(KETelOwnNumberStore,"S17"); |
|
52 _LIT(KETelEmergencyNumberStore,"S18"); |
|
53 |
|
54 _LIT(KETelSmsMessaging,"S19"); |
|
55 _LIT(KETelBroadcastMessaging,"S20"); |
|
56 _LIT(KETelUssdMessaging,"S21"); |
|
57 |
|
58 _LIT(KETelConferenceCall,"S22"); |
|
59 |
|
60 /** |
|
61 Global Multimode constants and types |
|
62 |
|
63 Unique API identifier and Functional Unit constants |
|
64 @internalComponent |
|
65 */ |
|
66 enum TMultimodeETelV1Api |
|
67 { |
|
68 KETelExtMultimodeV1=3000, // 3000 is unique reference for Multimode Etel v1.0 API |
|
69 KETelFuncMobileSimAccess, |
|
70 KETelFuncMobileNetwork, |
|
71 KETelFuncMobileIdentity, |
|
72 KETelFuncMobilePower, |
|
73 KETelFuncMobileSignal, |
|
74 KETelFuncMobileIndicator, |
|
75 KETelFuncMobileDTMF, |
|
76 KETelFuncMobileUserNetworkAccess, |
|
77 KETelFuncMobileIdentityService, |
|
78 KETelFuncMobileCallForwarding, |
|
79 KETelFuncMobileCallBarring, |
|
80 KETelFuncMobileCallWaiting, |
|
81 KETelFuncMobileCallCompletion, |
|
82 KETelFuncMobileAlternatingCall, |
|
83 KETelFuncMobileCost, |
|
84 KETelFuncMobileSecurity, |
|
85 KETelFuncMobileAlternateLineService, |
|
86 KETelFuncMobileMessageWaiting, |
|
87 KETelFuncMobileFixedDiallingNumbers, |
|
88 KETelFuncMobileDataCall, |
|
89 KETelFuncMobilePrivacy, |
|
90 KETelFuncMobileEmergencyCall, |
|
91 KETelFuncMobileSmsMessaging, |
|
92 KETelFuncMobileBroadcastMessaging, |
|
93 KETelFuncMobileUssdMessaging, |
|
94 KETelFuncMobileConferenceCall, |
|
95 KETelFuncMobilePhonebook, |
|
96 KETelFuncMobileSmsStore, |
|
97 KETelFuncMobileNamStore, |
|
98 KETelFuncMobileOwnNumberStore, |
|
99 KETelFuncMobileEmergencyNumberStore, |
|
100 KETelFuncMobileMulticall, |
|
101 KETelFuncMobileNextIncomingCall, |
|
102 KETelFuncMobileMultimediaCall, |
|
103 KETelFuncMobileUserSignalling |
|
104 }; |
|
105 |
|
106 |
|
107 /*********************************************************/ |
|
108 // |
|
109 // Phone based functionality (RMobilePhone) |
|
110 // |
|
111 /*********************************************************/ |
|
112 |
|
113 class CMobilePhonePtrHolder; |
|
114 |
|
115 class RMobilePhone : public RPhone |
|
116 /** |
|
117 class RMobilePhone ETELMM.H "INC/ETELMM.H" |
|
118 brief Provides client access to mobile phone functionality provided by TSY |
|
119 RMobilePhone inherits from RPhone defined in ETEL.H |
|
120 @internalComponent |
|
121 */ |
|
122 { |
|
123 public: |
|
124 friend class CAsyncRetrievePhoneList; |
|
125 |
|
126 IMPORT_C RMobilePhone(); |
|
127 |
|
128 class TMultimodeType |
|
129 /** |
|
130 Global multimode types |
|
131 |
|
132 class TMultimodeType ETELMM.H "INC/ETELMM.H" |
|
133 brief Base class for all the V1 parameter types defined within the API |
|
134 @internalComponent |
|
135 */ |
|
136 { |
|
137 public: |
|
138 IMPORT_C TInt ExtensionId() const; |
|
139 protected: |
|
140 TMultimodeType(); |
|
141 void InternalizeL(RReadStream& aStream); |
|
142 void ExternalizeL(RWriteStream& aStream) const; |
|
143 protected: |
|
144 TInt iExtensionId; |
|
145 }; |
|
146 |
|
147 // Types used in RMobilePhone::TMobileAddress |
|
148 |
|
149 enum TMobileTON |
|
150 { |
|
151 EUnknownNumber, // 0 |
|
152 EInternationalNumber, // 1 |
|
153 ENationalNumber, // 2 |
|
154 ENetworkSpecificNumber, // 3 |
|
155 ESubscriberNumber, // 4 - Also defined as "dedicated, short code" in GSM 04.08 |
|
156 EAlphanumericNumber, // 5 |
|
157 EAbbreviatedNumber // 6 |
|
158 }; |
|
159 |
|
160 enum TMobileNPI |
|
161 { |
|
162 EUnknownNumberingPlan =0, |
|
163 EIsdnNumberPlan=1, |
|
164 EDataNumberPlan=3, |
|
165 ETelexNumberPlan=4, |
|
166 EServiceCentreSpecificPlan1=5, |
|
167 EServiceCentreSpecificPlan2=6, |
|
168 ENationalNumberPlan=8, |
|
169 EPrivateNumberPlan=9, |
|
170 EERMESNumberPlan=10 |
|
171 }; |
|
172 |
|
173 enum |
|
174 { |
|
175 KMaxMobilePasswordSize=10, |
|
176 KMaxMobileNameSize=32, |
|
177 KMaxMobileTelNumberSize=100 |
|
178 }; |
|
179 |
|
180 class TMobileAddress |
|
181 /** |
|
182 class TMobileAddress ETELMM.H "INC/ETELMM.H" |
|
183 brief Defines API abstraction of a mobile telephone number |
|
184 @internalComponent |
|
185 */ |
|
186 { |
|
187 public: |
|
188 IMPORT_C TMobileAddress(); |
|
189 |
|
190 void InternalizeL(RReadStream& aStream); |
|
191 void ExternalizeL(RWriteStream& aStream) const; |
|
192 |
|
193 public: |
|
194 TMobileTON iTypeOfNumber; |
|
195 TMobileNPI iNumberPlan; |
|
196 TBuf<KMaxMobileTelNumberSize> iTelNumber; |
|
197 }; |
|
198 |
|
199 // Mobile information location type |
|
200 |
|
201 enum TMobileInfoLocation |
|
202 { |
|
203 EInfoLocationCache, |
|
204 EInfoLocationCachePreferred, |
|
205 EInfoLocationNetwork |
|
206 }; |
|
207 |
|
208 // Mobile call service type |
|
209 |
|
210 enum TMobileService |
|
211 { |
|
212 EServiceUnspecified, |
|
213 EVoiceService, |
|
214 EAuxVoiceService, |
|
215 ECircuitDataService, |
|
216 EPacketDataService, |
|
217 EFaxService, |
|
218 EShortMessageService, |
|
219 EAllServices |
|
220 }; |
|
221 |
|
222 // Mobile name type |
|
223 |
|
224 typedef TBuf<KMaxMobileNameSize> TMobileName; |
|
225 |
|
226 // Mobile password type |
|
227 |
|
228 typedef TBuf<KMaxMobilePasswordSize> TMobilePassword; |
|
229 |
|
230 // for use by client-side API code and TSY only |
|
231 |
|
232 struct TClientId |
|
233 { |
|
234 TInt iSessionHandle; |
|
235 TInt iSubSessionHandle; |
|
236 }; |
|
237 |
|
238 enum TMobilePhoneModeCaps |
|
239 { |
|
240 KCapsGsmSupported=0x00000001, |
|
241 KCapsGprsSupported=0x00000002, |
|
242 KCapsAmpsSupported=0x00000004 |
|
243 }; |
|
244 |
|
245 enum TMultimodeEtelAPIVersion |
|
246 { |
|
247 TMultimodeETelApiV1 |
|
248 }; |
|
249 |
|
250 IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const; |
|
251 |
|
252 IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const; |
|
253 |
|
254 IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const; |
|
255 |
|
256 // |
|
257 // MobilePhoneSimAccess functional unit |
|
258 // |
|
259 |
|
260 enum TMobilePhoneIccCaps |
|
261 { |
|
262 KCapsSimAccessSupported=0x00000001, |
|
263 KCapsRUimAccessSupported=0x00000002, |
|
264 KCapsUSimAccessSupported=0x00000004 |
|
265 }; |
|
266 |
|
267 IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const; |
|
268 IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
269 |
|
270 enum TCspCallOffering |
|
271 { |
|
272 KCspCT=0x08, |
|
273 KCspCFNRc=0x10, |
|
274 KCspCFNRy=0x20, |
|
275 KCspCFB=0x40, |
|
276 KCspCFU=0x80 |
|
277 }; |
|
278 |
|
279 enum TCspCallRestriction |
|
280 { |
|
281 KCspBICRoam=0x08, |
|
282 KCspBAIC=0x10, |
|
283 KCspBOICexHC=0x20, |
|
284 KCspBOIC=0x40, |
|
285 KCspBOAC=0x80 |
|
286 }; |
|
287 |
|
288 enum TCspOtherSuppServices |
|
289 { |
|
290 KCspCUGOA=0x08, |
|
291 KCspPrefCUG=0x10, |
|
292 KCspAoC=0x20, |
|
293 KCspCUG=0x40, |
|
294 KCspMPTY=0x80, |
|
295 }; |
|
296 |
|
297 enum TCspCallCompletion |
|
298 { |
|
299 KCspCCBS=0x20, |
|
300 KCspCW=0x40, |
|
301 KCspHOLD=0x80, |
|
302 }; |
|
303 |
|
304 enum TCspTeleservices |
|
305 { |
|
306 KCspValidityPeriod=0x02, |
|
307 KCspProtocolID=0x04, |
|
308 KCspDelConf=0x08, |
|
309 KCspReplyPath=0x10, |
|
310 KCspSMCB=0x20, |
|
311 KCspSMMO=0x40, |
|
312 KCspSMMT=0x80, |
|
313 }; |
|
314 |
|
315 enum TCspCPHSTeleservices |
|
316 { |
|
317 KCspALS=0x80 |
|
318 }; |
|
319 |
|
320 enum TCspCPHSFeatures |
|
321 { |
|
322 KCspReservedSST=0x80 |
|
323 }; |
|
324 |
|
325 enum TCspNumberIdentification |
|
326 { |
|
327 KCspCLIBlock=0x01, |
|
328 KCspCLISend=0x02, |
|
329 KCspCOLP=0x10, |
|
330 KCspCOLR=0x20, |
|
331 KCspCLIP=0x80, |
|
332 }; |
|
333 |
|
334 enum TCspPhase2PlusServices |
|
335 { |
|
336 KCspMultipleband=0x04, |
|
337 KCspMSP=0x08, |
|
338 KCspVoiceBroadcast=0x10, |
|
339 KCspVoiceGroupCall=0x20, |
|
340 KCspHscsd=0x40, |
|
341 KCspGprs=0x80 |
|
342 }; |
|
343 |
|
344 enum TCspValueAdded |
|
345 { |
|
346 KCspLanguage=0x01, |
|
347 KCspData=0x04, |
|
348 KCspFax=0x08, |
|
349 KCspSMMOEmail=0x10, |
|
350 KCspSMMOPaging=0x20, |
|
351 KCspPLMNMode=0x80, |
|
352 }; |
|
353 |
|
354 class TMobilePhoneCspFileV1 : public TMultimodeType |
|
355 /** |
|
356 class TMobilePhoneCspFileV1 ETELMM.H "INC/ETELMM.H" |
|
357 brief Defines contents of the CSP (Customer Service Profile) on the SIM |
|
358 @internalComponent |
|
359 */ |
|
360 { |
|
361 public: |
|
362 IMPORT_C TMobilePhoneCspFileV1(); |
|
363 |
|
364 TUint8 iCallOfferingServices; |
|
365 TUint8 iCallRestrictionServices; |
|
366 TUint8 iOtherSuppServices; |
|
367 TUint8 iCallCompletionServices; |
|
368 TUint8 iTeleservices; |
|
369 TUint8 iCphsTeleservices; |
|
370 TUint8 iCphsFeatures; |
|
371 TUint8 iNumberIdentServices; |
|
372 TUint8 iPhase2PlusServices; |
|
373 TUint8 iValueAddedServices; |
|
374 }; |
|
375 |
|
376 typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg; |
|
377 |
|
378 IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const; |
|
379 |
|
380 enum TSSTServices1To8 |
|
381 { |
|
382 KSstPin1Disable=0x01, |
|
383 KSstADN=0x02, |
|
384 KSstFDN=0x04, |
|
385 KSstSMS=0x08, |
|
386 KSstAoC=0x10, |
|
387 KSstCCP=0x20, |
|
388 KSstPLMNSelector=0x40 |
|
389 }; |
|
390 |
|
391 enum TSSTServices9To16 |
|
392 { |
|
393 KSstMSISDN=0x01, |
|
394 KSstExt1=0x02, |
|
395 KSstExt2=0x04, |
|
396 KSstSMSP=0x08, |
|
397 KSstLND=0x10, |
|
398 KSstCBMI=0x20, |
|
399 KSstGID1=0x40, |
|
400 KSstGID2=0x80 |
|
401 }; |
|
402 |
|
403 enum TSSTServices17To24 |
|
404 { |
|
405 KSstSPName=0x01, |
|
406 KSstSDN=0x02, |
|
407 KSstExt3=0x04, |
|
408 KSstVGCSList=0x10, |
|
409 KSstVBSList=0x20, |
|
410 KSsteMLPP=0x40, |
|
411 KSstAnswereMLPP=0x80 |
|
412 }; |
|
413 |
|
414 enum TSSTServices25To32 |
|
415 { |
|
416 KSstSmsCbDataDownload=0x01, |
|
417 KSstSmsPpDataDownload=0x02, |
|
418 KSstMenuSelection=0x04, |
|
419 KSstCallControl=0x08, |
|
420 KSstProactiveSim=0x10, |
|
421 KSstCBMIRanges=0x20, |
|
422 KSstBDN=0x40, |
|
423 KSstExt4=0x80 |
|
424 }; |
|
425 |
|
426 enum TSSTServices33To40 |
|
427 { |
|
428 KSstDepersonalisationKeys=0x01, |
|
429 KSstCooperativeNetworks=0x02, |
|
430 KSstSMStatusReports=0x04, |
|
431 KSstNetworkIndAlerting=0x08, |
|
432 KSstMoSmControlBySim=0x10, |
|
433 KSstGprs=0x20 |
|
434 }; |
|
435 |
|
436 enum TSSTServices41To48 |
|
437 { |
|
438 KSstMExE=0x01, |
|
439 KSstOperatorPLMNSelector=0x02, |
|
440 KSstHPLMNSelector=0x04 |
|
441 }; |
|
442 |
|
443 |
|
444 enum TMobilePhoneServiceTable |
|
445 { |
|
446 ESIMServiceTable, |
|
447 EUSIMServiceTable |
|
448 }; |
|
449 |
|
450 class TMobilePhoneServiceTableV1 : public TMultimodeType |
|
451 /** |
|
452 class TMobilePhoneServiceTableV1 ETELMM.H "INC/ETELMM.H" |
|
453 brief Defines contents of the specified Service Table on the ICC |
|
454 @internalComponent |
|
455 */ |
|
456 { |
|
457 public: |
|
458 IMPORT_C TMobilePhoneServiceTableV1(); |
|
459 |
|
460 TUint8 iServices1To8; |
|
461 TUint8 iServices9To16; |
|
462 TUint8 iServices17To24; |
|
463 TUint8 iServices25To32; |
|
464 TUint8 iServices33To40; |
|
465 TUint8 iServices41To48; |
|
466 }; |
|
467 |
|
468 typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg; |
|
469 |
|
470 IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const; |
|
471 |
|
472 // |
|
473 // MobilePhonePower functional unit |
|
474 // |
|
475 |
|
476 enum TMobilePhoneBatteryCaps |
|
477 { |
|
478 KCapsGetBatteryInfo=0x00000001, |
|
479 KCapsNotifyBatteryInfoChange=0x00000002 |
|
480 }; |
|
481 |
|
482 IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const; |
|
483 |
|
484 enum TMobilePhoneBatteryStatus |
|
485 { |
|
486 EPowerStatusUnknown, |
|
487 EPoweredByBattery, |
|
488 EBatteryConnectedButExternallyPowered, |
|
489 ENoBatteryConnected, |
|
490 EPowerFault |
|
491 }; |
|
492 |
|
493 class TMobilePhoneBatteryInfoV1 : public TMultimodeType |
|
494 /** |
|
495 @internalComponent |
|
496 */ |
|
497 { |
|
498 public: |
|
499 IMPORT_C TMobilePhoneBatteryInfoV1(); |
|
500 public: |
|
501 TMobilePhoneBatteryStatus iStatus; |
|
502 TUint iChargeLevel; |
|
503 }; |
|
504 |
|
505 IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const; |
|
506 IMPORT_C void NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const; |
|
507 |
|
508 // |
|
509 // MobilePhoneSignal functional unit |
|
510 // |
|
511 |
|
512 enum TMobilePhoneSignalCaps |
|
513 { |
|
514 KCapsGetSignalStrength=0x00000001, |
|
515 KCapsNotifySignalStrengthChange=0x00000002 |
|
516 }; |
|
517 |
|
518 IMPORT_C TInt GetSignalCaps(TUint32& aCaps) const; |
|
519 IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const; |
|
520 IMPORT_C void NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const; |
|
521 |
|
522 // |
|
523 // MobilePhoneIndicator functional unit |
|
524 // |
|
525 |
|
526 enum TMobilePhoneIndicatorCaps |
|
527 { |
|
528 KCapsGetIndicator=0x00000001, |
|
529 KCapsNotifyIndicatorChange=0x00000002 |
|
530 }; |
|
531 |
|
532 enum TMobilePhoneIndicators |
|
533 { |
|
534 KIndChargerConnected=0x00000001, |
|
535 KIndNetworkAvailable=0x00000002, |
|
536 KIndCallInProgress=0x00000004 |
|
537 }; |
|
538 |
|
539 IMPORT_C TInt GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const; |
|
540 IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const; |
|
541 IMPORT_C void NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const; |
|
542 |
|
543 // |
|
544 // MobilePhoneIdentity functional unit |
|
545 // |
|
546 |
|
547 enum TMobilePhoneIdentityCaps |
|
548 { |
|
549 KCapsGetManufacturer=0x00000001, |
|
550 KCapsGetModel=0x00000002, |
|
551 KCapsGetRevision=0x00000004, |
|
552 KCapsGetSerialNumber=0x00000008, |
|
553 KCapsGetSubscriberId=0x00000010 |
|
554 }; |
|
555 |
|
556 IMPORT_C TInt GetIdentityCaps(TUint32& aCaps) const; |
|
557 |
|
558 enum { KPhoneManufacturerIdSize=50 }; |
|
559 enum { KPhoneModelIdSize=50 }; |
|
560 enum { KPhoneRevisionIdSize=50 }; |
|
561 enum { KPhoneSerialNumberSize=50 }; |
|
562 |
|
563 class TMobilePhoneIdentityV1 : public TMultimodeType |
|
564 /** |
|
565 @internalComponent |
|
566 */ |
|
567 { |
|
568 public: |
|
569 IMPORT_C TMobilePhoneIdentityV1(); |
|
570 public: |
|
571 TBuf<KPhoneManufacturerIdSize> iManufacturer; |
|
572 TBuf<KPhoneModelIdSize> iModel; |
|
573 TBuf<KPhoneRevisionIdSize> iRevision; |
|
574 TBuf<KPhoneSerialNumberSize> iSerialNumber; |
|
575 }; |
|
576 |
|
577 IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const; |
|
578 |
|
579 enum { KIMSISize = 15 }; |
|
580 |
|
581 typedef TBuf<KIMSISize> TMobilePhoneSubscriberId; |
|
582 |
|
583 IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const; |
|
584 |
|
585 // |
|
586 // MobilePhoneDTMF functional unit |
|
587 // |
|
588 |
|
589 enum TMobilePhoneDTMFCaps |
|
590 { |
|
591 KCapsSendDTMFString=0x00000001, |
|
592 KCapsSendDTMFSingleTone=0x00000002, |
|
593 }; |
|
594 |
|
595 IMPORT_C TInt GetDTMFCaps(TUint32& aCaps) const; |
|
596 IMPORT_C void NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
597 |
|
598 IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const; |
|
599 IMPORT_C TInt StartDTMFTone(TChar aTone) const; |
|
600 IMPORT_C TInt StopDTMFTone() const; |
|
601 |
|
602 IMPORT_C void NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const; |
|
603 IMPORT_C TInt ContinueDTMFStringSending(TBool aContinue) const; |
|
604 |
|
605 // |
|
606 // MobilePhoneNetwork functional unit |
|
607 // |
|
608 |
|
609 enum TMobilePhoneNetworkCaps |
|
610 { |
|
611 KCapsGetRegistrationStatus=0x00000001, |
|
612 KCapsNotifyRegistrationStatus=0x00000002, |
|
613 KCapsGetCurrentMode=0x00000004, |
|
614 KCapsNotifyMode=0x00000008, |
|
615 KCapsGetCurrentNetwork=0x00000010, |
|
616 KCapsNotifyCurrentNetwork=0x00000020, |
|
617 KCapsGetHomeNetwork=0x00000040, |
|
618 KCapsGetDetectedNetworks=0x00000080, |
|
619 KCapsManualNetworkSelection=0x00000100, |
|
620 KCapsGetNITZInfo=0x00000200, |
|
621 KCapsNotifyNITZInfo=0x00000400 |
|
622 }; |
|
623 |
|
624 IMPORT_C TInt GetNetworkCaps(TUint32& aCaps) const; |
|
625 |
|
626 enum TMobilePhoneNetworkMode |
|
627 { |
|
628 ENetworkModeUnknown, |
|
629 ENetworkModeUnregistered, |
|
630 ENetworkModeGsm, |
|
631 ENetworkModeAmps |
|
632 }; |
|
633 |
|
634 IMPORT_C TInt GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const; |
|
635 IMPORT_C void NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const; |
|
636 |
|
637 enum TMobilePhoneNetworkStatus |
|
638 { |
|
639 ENetworkStatusUnknown, |
|
640 ENetworkStatusAvailable, |
|
641 ENetworkStatusCurrent, |
|
642 ENetworkStatusForbidden |
|
643 }; |
|
644 |
|
645 enum TMobilePhoneNetworkBandInfo |
|
646 { |
|
647 EBandUnknown, |
|
648 E800BandA, |
|
649 E800BandB, |
|
650 E800BandC, |
|
651 E1900BandA, |
|
652 E1900BandB, |
|
653 E1900BandC, |
|
654 E1900BandD, |
|
655 E1900BandE, |
|
656 E1900BandF |
|
657 }; |
|
658 |
|
659 typedef TBuf<30> TMobilePhoneNetworkDisplayTag; |
|
660 typedef TBuf<20> TMobilePhoneNetworkLongName; |
|
661 typedef TBuf<10> TMobilePhoneNetworkShortName; |
|
662 |
|
663 typedef TBuf<4> TMobilePhoneNetworkCountryCode; // MCC in GSM and CDMA |
|
664 typedef TBuf<8> TMobilePhoneNetworkIdentity; // MNC in GSM and SID or NID in CDMA |
|
665 |
|
666 class TMobilePhoneNetworkInfoV1 : public TMultimodeType |
|
667 /** |
|
668 class TMobilePhoneNetworkInfoV1 ETELMM.H "INC/ETELMM.H" |
|
669 brief Defines information related to a mobile phone network |
|
670 @internalComponent |
|
671 */ |
|
672 { |
|
673 public: |
|
674 IMPORT_C TMobilePhoneNetworkInfoV1(); |
|
675 public: |
|
676 void InternalizeL(RReadStream& aStream); |
|
677 void ExternalizeL(RWriteStream& aStream) const; |
|
678 public: |
|
679 TMobilePhoneNetworkMode iMode; |
|
680 TMobilePhoneNetworkStatus iStatus; |
|
681 TMobilePhoneNetworkBandInfo iBandInfo; |
|
682 TMobilePhoneNetworkCountryCode iCountryCode; |
|
683 TMobilePhoneNetworkIdentity iAnalogSID; |
|
684 TMobilePhoneNetworkIdentity iNetworkId; |
|
685 TMobilePhoneNetworkDisplayTag iDisplayTag; |
|
686 TMobilePhoneNetworkShortName iShortName; |
|
687 TMobilePhoneNetworkLongName iLongName; |
|
688 }; |
|
689 |
|
690 typedef TPckg<TMobilePhoneNetworkInfoV1> TMobilePhoneNetworkInfoV1Pckg; |
|
691 |
|
692 class TMobilePhoneLocationAreaV1 : public TMultimodeType |
|
693 /** |
|
694 @internalComponent |
|
695 */ |
|
696 { |
|
697 public: |
|
698 IMPORT_C TMobilePhoneLocationAreaV1(); |
|
699 public: |
|
700 TBool iAreaKnown; |
|
701 TUint iLocationAreaCode; |
|
702 TUint iCellId; |
|
703 }; |
|
704 |
|
705 IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const; |
|
706 IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const; |
|
707 |
|
708 IMPORT_C void GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const; |
|
709 |
|
710 enum TMobilePhoneRegistrationStatus |
|
711 { |
|
712 ERegistrationUnknown, |
|
713 ENotRegisteredNoService, |
|
714 ENotRegisteredEmergencyOnly, |
|
715 ENotRegisteredSearching, |
|
716 ERegisteredBusy, |
|
717 ERegisteredOnHomeNetwork, |
|
718 ERegistrationDenied, |
|
719 ERegisteredRoaming |
|
720 }; |
|
721 |
|
722 IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const; |
|
723 IMPORT_C void NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const; |
|
724 |
|
725 enum TMobilePhoneSelectionMethod |
|
726 { |
|
727 ENetworkSelectionUnknown, |
|
728 ENetworkSelectionAutomatic, |
|
729 ENetworkSelectionManual |
|
730 }; |
|
731 |
|
732 enum TMobilePhoneBandClass |
|
733 { |
|
734 ENetworkBandClassUnknown, |
|
735 ENetworkBandClassAOnly, |
|
736 ENetworkBandClassBOnly, |
|
737 ENetworkBandClassAPreferred, |
|
738 ENetworkBandClassBPreferred |
|
739 }; |
|
740 |
|
741 enum TMobilePhoneOperation |
|
742 { |
|
743 ENetworkOperationUnknown, |
|
744 ENetworkOperationAnalogOnly, |
|
745 ENetworkOperationDigitalOnly, |
|
746 ENetworkOperationAnalogPreferred, |
|
747 ENetworkOperationDigitalPreferred |
|
748 }; |
|
749 |
|
750 class TMobilePhoneNetworkSelectionV1 : public TMultimodeType |
|
751 /** |
|
752 @internalComponent |
|
753 */ |
|
754 { |
|
755 public: |
|
756 IMPORT_C TMobilePhoneNetworkSelectionV1(); |
|
757 public: |
|
758 TMobilePhoneSelectionMethod iMethod; |
|
759 TMobilePhoneBandClass iBandClass; |
|
760 TMobilePhoneOperation iOperationMode; |
|
761 }; |
|
762 |
|
763 typedef TPckg<TMobilePhoneNetworkSelectionV1> TMobilePhoneNetworkSelectionV1Pckg; |
|
764 |
|
765 IMPORT_C TInt GetNetworkSelectionSetting(TDes8& aSetting) const; |
|
766 IMPORT_C void SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const; |
|
767 IMPORT_C void NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const; |
|
768 |
|
769 struct TMobilePhoneNetworkManualSelection |
|
770 { |
|
771 TMobilePhoneNetworkCountryCode iCountry; |
|
772 TMobilePhoneNetworkIdentity iNetwork; |
|
773 }; |
|
774 |
|
775 IMPORT_C void SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const; |
|
776 |
|
777 enum TMobilePhoneNITZCaps |
|
778 { |
|
779 KCapsTimeAvailable = 0x00000001, |
|
780 KCapsTimezoneAvailable = 0x00000002, |
|
781 KCapsDSTAvailable = 0x00000004, |
|
782 KCapsShortNameAvailable = 0x00000008, |
|
783 KCapsLongNameAvailable = 0x00000010 |
|
784 }; |
|
785 |
|
786 class TMobilePhoneNITZ : public TDateTime |
|
787 /** |
|
788 class TMobilePhoneNITZ ETELMM.H "INC/ETELMM.H" |
|
789 brief Defines time & date information received from a mobile phone network |
|
790 |
|
791 Used to indicate which TMobilePhoneNITZ fields are currently available |
|
792 @internalComponent |
|
793 */ |
|
794 { |
|
795 public: |
|
796 IMPORT_C TMobilePhoneNITZ(); |
|
797 IMPORT_C TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond); |
|
798 public: |
|
799 TInt32 iNitzFieldsUsed; |
|
800 TInt iTimeZone; |
|
801 TInt iDST; |
|
802 TMobilePhoneNetworkShortName iShortNetworkId; |
|
803 TMobilePhoneNetworkLongName iLongNetworkId; |
|
804 }; |
|
805 |
|
806 IMPORT_C TInt GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const; |
|
807 IMPORT_C void NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const; |
|
808 |
|
809 // |
|
810 // MobilePrivacy functional unit |
|
811 // |
|
812 |
|
813 enum TMobilePhonePrivacy |
|
814 { |
|
815 EPrivacyUnspecified, |
|
816 EPrivacyOn, |
|
817 EPrivacyOff |
|
818 }; |
|
819 |
|
820 IMPORT_C TInt GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const; |
|
821 IMPORT_C void SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const; |
|
822 IMPORT_C void NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const; |
|
823 |
|
824 // |
|
825 // TSY Capabilities for supplementary call services |
|
826 // |
|
827 |
|
828 enum TMobilePhoneCallServiceCaps |
|
829 { |
|
830 KCapsGetCFStatusCache =0x00000001, |
|
831 KCapsGetCFStatusNetwork =0x00000002, |
|
832 KCapsSetCFStatus =0x00000004, |
|
833 KCapsNotifyCFStatus =0x00000008, |
|
834 KCapsGetClipStatus =0x00000010, |
|
835 KCapsGetClirStatus =0x00000020, |
|
836 KCapsGetColpStatus =0x00000040, |
|
837 KCapsGetColrStatus =0x00000080, |
|
838 KCapsGetCnapStatus =0x00000100, |
|
839 KCapsGetCBStatusCache =0x00000200, |
|
840 KCapsGetCBStatusNetwork =0x00000400, |
|
841 KCapsSetCBStatus =0x00000800, |
|
842 KCapsNotifyCBStatus =0x00001000, |
|
843 KCapsChangeCBPassword =0x00002000, |
|
844 KCapsBarAllIncoming =0x00004000, |
|
845 KCapsBarIncomingRoaming =0x00008000, |
|
846 KCapsBarAllOutgoing =0x00010000, |
|
847 KCapsBarOutgoingInternational =0x00020000, |
|
848 KCapsBarOutgoingInternationalExHC =0x00040000, |
|
849 KCapsBarAllCases =0x00080000, |
|
850 KCapsGetCWStatusCache =0x00100000, |
|
851 KCapsGetCWStatusNetwork =0x00200000, |
|
852 KCapsSetCWStatus =0x00400000, |
|
853 KCapsNotifyCWStatus =0x00800000, |
|
854 KCapsGetCCBSStatusCache =0x01000000, |
|
855 KCapsGetCCBSStatusNetwork =0x02000000, |
|
856 KCapsDeactivateAllCCBS =0x04000000, |
|
857 KCapsRetrieveActiveCCBS =0x08000000, |
|
858 KCapsFeatureCode =0x10000000, |
|
859 KCapsNetworkServiceRequest =0x20000000 |
|
860 }; |
|
861 |
|
862 IMPORT_C TInt GetCallServiceCaps(TUint32& aCaps) const; |
|
863 IMPORT_C void NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
864 |
|
865 // |
|
866 // MobilePhoneUserNetworkAccess functional unit |
|
867 // |
|
868 |
|
869 enum TMobilePhoneNetworkService |
|
870 { |
|
871 ENetworkServiceUnspecified, |
|
872 ECFUService, |
|
873 ECFBService, |
|
874 ECFNRyService, |
|
875 ECFNRcService, |
|
876 EDeflectToVoicemail, |
|
877 EDeflectToNumber, |
|
878 EDeflectToRegisteredNumber, |
|
879 ECWService, |
|
880 ENextCallShowCLI, |
|
881 ENextCallHideCLI |
|
882 }; |
|
883 |
|
884 enum TMobilePhoneServiceAction |
|
885 { |
|
886 EServiceActionUnspecified, |
|
887 EServiceActionRegister, |
|
888 EServiceActionActivate, |
|
889 EServiceActionInvoke, |
|
890 EServiceActionDeactivate, |
|
891 EServiceActionErase |
|
892 }; |
|
893 |
|
894 // API/TSY internal type |
|
895 |
|
896 struct TNetworkServiceAndAction |
|
897 { |
|
898 TMobilePhoneNetworkService iService; |
|
899 TMobilePhoneServiceAction iAction; |
|
900 }; |
|
901 |
|
902 IMPORT_C void ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const; |
|
903 IMPORT_C void GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const; |
|
904 |
|
905 IMPORT_C void SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const; |
|
906 |
|
907 // |
|
908 // MobilePhoneCallForwarding functional unit |
|
909 // |
|
910 |
|
911 enum TMobilePhoneCFCondition |
|
912 { |
|
913 ECallForwardingUnspecified, |
|
914 ECallForwardingUnconditional, |
|
915 ECallForwardingBusy, |
|
916 ECallForwardingNoReply, |
|
917 ECallForwardingNotReachable, |
|
918 ECallForwardingAllCases, // combination of all four above cases |
|
919 ECallForwardingAllConditionalCases // combination of CFB, CFNRy and CFNRc |
|
920 }; |
|
921 |
|
922 enum TMobilePhoneCFStatus |
|
923 { |
|
924 ECallForwardingStatusActive, |
|
925 ECallForwardingStatusNotActive, |
|
926 ECallForwardingStatusNotRegistered, |
|
927 ECallForwardingStatusNotProvisioned, |
|
928 ECallForwardingStatusNotAvailable, |
|
929 ECallForwardingStatusUnknown |
|
930 }; |
|
931 |
|
932 class TMobilePhoneCFInfoEntryV1 : public TMultimodeType |
|
933 /** |
|
934 class TMobilePhoneCFInfoEntryV1 ETELMM.H "INC/ETELMM.H" |
|
935 brief Defines information about the call forwarding service |
|
936 @internalComponent |
|
937 */ |
|
938 { |
|
939 public: |
|
940 IMPORT_C TMobilePhoneCFInfoEntryV1(); |
|
941 public: |
|
942 void InternalizeL(RReadStream& aStream); |
|
943 void ExternalizeL(RWriteStream& aStream) const; |
|
944 public: |
|
945 TMobilePhoneCFCondition iCondition; |
|
946 TMobileService iServiceGroup; |
|
947 TMobilePhoneCFStatus iStatus; |
|
948 TMobileAddress iNumber; |
|
949 TInt iTimeout; // valid for CFRNy only |
|
950 }; |
|
951 |
|
952 IMPORT_C void NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const; |
|
953 |
|
954 class TMobilePhoneCFChangeV1 : public TMultimodeType |
|
955 /** |
|
956 @internalComponent |
|
957 */ |
|
958 { |
|
959 public: |
|
960 IMPORT_C TMobilePhoneCFChangeV1(); |
|
961 public: |
|
962 TMobileService iServiceGroup; |
|
963 TMobilePhoneServiceAction iAction; |
|
964 TMobileAddress iNumber; |
|
965 TInt iTimeout; |
|
966 }; |
|
967 |
|
968 IMPORT_C void SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const; |
|
969 |
|
970 enum TMobilePhoneCFActive |
|
971 { |
|
972 ECFUnconditionalActive, |
|
973 ECFConditionalActive |
|
974 }; |
|
975 |
|
976 IMPORT_C void NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const; |
|
977 |
|
978 // |
|
979 // Mobile Identity Service functional unit |
|
980 // |
|
981 |
|
982 enum TMobilePhoneIdService |
|
983 { |
|
984 EIdServiceUnspecified, |
|
985 EIdServiceCallerPresentation, |
|
986 EIdServiceCallerRestriction, |
|
987 EIdServiceConnectedPresentation, |
|
988 EIdServiceConnectedRestriction, |
|
989 EIdServiceCallerName |
|
990 }; |
|
991 |
|
992 enum TMobilePhoneIdServiceStatus |
|
993 { |
|
994 EIdServiceActivePermanent, |
|
995 EIdServiceActiveDefaultRestricted, |
|
996 EIdServiceActiveDefaultAllowed, |
|
997 EIdServiceNotProvisioned, |
|
998 EIdServiceUnknown |
|
999 }; |
|
1000 |
|
1001 // for use by client-side API code and TSY only |
|
1002 |
|
1003 struct TIdServiceAndLocation |
|
1004 { |
|
1005 TMobilePhoneIdService iService; |
|
1006 TMobileInfoLocation iLocation; |
|
1007 }; |
|
1008 |
|
1009 IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const; |
|
1010 |
|
1011 // |
|
1012 // Mobile Call Barring Functional Unit |
|
1013 // |
|
1014 |
|
1015 enum TMobilePhoneCBCondition |
|
1016 { |
|
1017 EBarUnspecified, |
|
1018 EBarAllIncoming, |
|
1019 EBarIncomingRoaming, |
|
1020 EBarAllOutgoing, |
|
1021 EBarOutgoingInternational, |
|
1022 EBarOutgoingInternationalExHC, |
|
1023 EBarAllCases |
|
1024 }; |
|
1025 |
|
1026 enum TMobilePhoneCBStatus |
|
1027 { |
|
1028 ECallBarringStatusActive, |
|
1029 ECallBarringStatusNotActive, |
|
1030 ECallBarringStatusNotProvisioned, |
|
1031 ECallBarringStatusNotAvailable, |
|
1032 ECallBarringStatusUnknown |
|
1033 }; |
|
1034 |
|
1035 class TMobilePhoneCBInfoEntryV1 : public TMultimodeType |
|
1036 /** |
|
1037 class TMobilePhoneCBInfoEntryV1 ETELMM.H "INC/ETELMM.H" |
|
1038 brief Defines information about the call barring service |
|
1039 @internalComponent |
|
1040 */ |
|
1041 { |
|
1042 public: |
|
1043 void InternalizeL(RReadStream& aStream); |
|
1044 void ExternalizeL(RWriteStream& aStream) const; |
|
1045 public: |
|
1046 IMPORT_C TMobilePhoneCBInfoEntryV1(); |
|
1047 public: |
|
1048 TMobilePhoneCBCondition iCondition; |
|
1049 TMobileService iServiceGroup; |
|
1050 TMobilePhoneCBStatus iStatus; |
|
1051 }; |
|
1052 |
|
1053 class TMobilePhoneCBChangeV1 : public TMultimodeType |
|
1054 /** |
|
1055 @internalComponent |
|
1056 */ |
|
1057 { |
|
1058 public: |
|
1059 IMPORT_C TMobilePhoneCBChangeV1(); |
|
1060 public: |
|
1061 TMobileService iServiceGroup; |
|
1062 TMobilePhoneServiceAction iAction; |
|
1063 TMobilePassword iPassword; |
|
1064 }; |
|
1065 |
|
1066 IMPORT_C void SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const; |
|
1067 IMPORT_C void NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const; |
|
1068 |
|
1069 class TMobilePhonePasswordChangeV1 : public TMultimodeType |
|
1070 /** |
|
1071 @internalComponent |
|
1072 */ |
|
1073 { |
|
1074 public: |
|
1075 IMPORT_C TMobilePhonePasswordChangeV1(); |
|
1076 public: |
|
1077 TMobilePassword iOldPassword; |
|
1078 TMobilePassword iNewPassword; |
|
1079 }; |
|
1080 |
|
1081 IMPORT_C void SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const; |
|
1082 |
|
1083 // |
|
1084 // Mobile Call Waiting Functional Unit |
|
1085 // |
|
1086 |
|
1087 enum TMobilePhoneCWStatus |
|
1088 { |
|
1089 ECallWaitingStatusActive, |
|
1090 ECallWaitingStatusNotActive, |
|
1091 ECallWaitingStatusNotProvisioned, |
|
1092 ECallWaitingStatusNotAvailable, |
|
1093 ECallWaitingStatusUnknown |
|
1094 }; |
|
1095 |
|
1096 class TMobilePhoneCWInfoEntryV1 : public TMultimodeType |
|
1097 /** |
|
1098 class TMobilePhoneCWInfoEntryV1 ETELMM.H "INC/ETELMM.H" |
|
1099 brief Defines information about the call waiting service |
|
1100 @internalComponent |
|
1101 */ |
|
1102 { |
|
1103 public: |
|
1104 void InternalizeL(RReadStream& aStream); |
|
1105 void ExternalizeL(RWriteStream& aStream) const; |
|
1106 public: |
|
1107 IMPORT_C TMobilePhoneCWInfoEntryV1(); |
|
1108 public: |
|
1109 TMobileService iServiceGroup; |
|
1110 TMobilePhoneCWStatus iStatus; |
|
1111 }; |
|
1112 |
|
1113 typedef TPckg<TMobilePhoneCWInfoEntryV1> TMobilePhoneCWInfoEntryV1Pckg; |
|
1114 |
|
1115 IMPORT_C void SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const; |
|
1116 IMPORT_C void NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const; |
|
1117 |
|
1118 // |
|
1119 // Mobile Call Completion Unit |
|
1120 // |
|
1121 |
|
1122 enum TMobilePhoneCCBSStatus |
|
1123 { |
|
1124 ECcbsActive, |
|
1125 ECcbsNotActive, |
|
1126 ECcbsNotProvisioned, |
|
1127 ECcbsNotAvailable, |
|
1128 ECcbsUnknown |
|
1129 }; |
|
1130 |
|
1131 IMPORT_C void GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const; |
|
1132 IMPORT_C void NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const; |
|
1133 IMPORT_C void DeactivateAllCCBS(TRequestStatus& aReqStatus) const; |
|
1134 |
|
1135 class TMobilePhoneCCBSEntryV1 : public TMultimodeType |
|
1136 /** |
|
1137 class TMobilePhoneCCBSEntryV1 ETELMM.H "INC/ETELMM.H" |
|
1138 brief Defines information about the call completion (CCBS) service |
|
1139 @internalComponent |
|
1140 */ |
|
1141 { |
|
1142 public: |
|
1143 void InternalizeL(RReadStream& aStream); |
|
1144 void ExternalizeL(RWriteStream& aStream) const; |
|
1145 public: |
|
1146 IMPORT_C TMobilePhoneCCBSEntryV1(); |
|
1147 public: |
|
1148 TInt iCcbsIndex; |
|
1149 TMobileService iServiceGroup; |
|
1150 TMobileAddress iDestination; |
|
1151 TName iCallName; |
|
1152 }; |
|
1153 |
|
1154 typedef TPckg<TMobilePhoneCCBSEntryV1> TMobilePhoneCCBSEntryV1Pckg; |
|
1155 |
|
1156 // |
|
1157 // Mobile Alternating Call Function Unit |
|
1158 // |
|
1159 |
|
1160 enum TMobilePhoneAlternatingCallCaps |
|
1161 { |
|
1162 KCapsMOVoiceData = 0x00000001, |
|
1163 KCapsMOVoiceThenData = 0x00000002, |
|
1164 KCapsMOVoiceFax = 0x00000004, |
|
1165 KCapsMTVoiceData = 0x00000008, |
|
1166 KCapsMTVoiceThenData = 0x00000010, |
|
1167 KCapsMTVoiceFax = 0x00000020 |
|
1168 }; |
|
1169 |
|
1170 IMPORT_C TInt GetAlternatingCallCaps(TUint32& aCaps) const; |
|
1171 IMPORT_C void NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
1172 |
|
1173 enum TMobilePhoneAlternatingCallMode |
|
1174 { |
|
1175 EAlternatingModeUnspecified, |
|
1176 EAlternatingModeSingle, |
|
1177 EAlternatingModeVoiceData, |
|
1178 EAlternatingModeVoiceThenData, |
|
1179 EAlternatingModeVoiceFax |
|
1180 }; |
|
1181 |
|
1182 IMPORT_C TInt GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const; |
|
1183 IMPORT_C void SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const; |
|
1184 IMPORT_C void NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const; |
|
1185 |
|
1186 // |
|
1187 // Mobile Alternate Line Service Functional Unit |
|
1188 // |
|
1189 |
|
1190 enum TMobilePhoneALSLine |
|
1191 { |
|
1192 EAlternateLinePrimary, |
|
1193 EAlternateLineAuxiliary, |
|
1194 EAlternateLineUnknown, |
|
1195 EAlternateLineNotAvailable |
|
1196 }; |
|
1197 |
|
1198 IMPORT_C TInt GetALSLine(TMobilePhoneALSLine& aALSLine) const; |
|
1199 |
|
1200 IMPORT_C void SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const; |
|
1201 IMPORT_C void NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const; |
|
1202 |
|
1203 // |
|
1204 // Mobile Cost Functional Unit |
|
1205 // |
|
1206 |
|
1207 enum TMobilePhoneCostCaps |
|
1208 { |
|
1209 KCapsCostInformation = 0x00000001, |
|
1210 KCapsCostCharging = 0x00000002, |
|
1211 KCapsClearCost = 0x00000004, |
|
1212 KCapsSetMaxCost = 0x00000008, |
|
1213 KCapsSetPuct = 0x00000010, |
|
1214 KCapsGetCost = 0x00000020, |
|
1215 KCapsNotifyCostChange = 0x00000040 |
|
1216 }; |
|
1217 |
|
1218 IMPORT_C TInt GetCostCaps(TUint32& aCaps) const; |
|
1219 IMPORT_C void NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
1220 |
|
1221 enum TMobilePhoneCostMeters |
|
1222 { |
|
1223 EClearCCM, |
|
1224 EClearACM, |
|
1225 EClearAll |
|
1226 }; |
|
1227 |
|
1228 IMPORT_C void ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const; |
|
1229 IMPORT_C void SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const; |
|
1230 |
|
1231 |
|
1232 class TMobilePhonePuctV1 : public TMultimodeType |
|
1233 /** |
|
1234 class TMobilePhonePuctV1 ETELMM.H "INC/ETELMM.H" |
|
1235 brief Defines the contents of the price/unit & currency table (PUCT) on the SIM |
|
1236 @internalComponent |
|
1237 */ |
|
1238 { |
|
1239 public: |
|
1240 IMPORT_C TMobilePhonePuctV1(); |
|
1241 public: |
|
1242 TReal iPricePerUnit; |
|
1243 TBuf<4> iCurrencyName; |
|
1244 }; |
|
1245 |
|
1246 typedef TPckg<TMobilePhonePuctV1> TMobilePhonePuctV1Pckg; |
|
1247 |
|
1248 IMPORT_C void SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const; |
|
1249 |
|
1250 enum TMobilePhoneCostService |
|
1251 { |
|
1252 ECostServiceUnknown, |
|
1253 ECostServiceNotAvailable, |
|
1254 ECostServiceAvailable, |
|
1255 ECostServiceInformation, |
|
1256 ECostServiceCharging |
|
1257 }; |
|
1258 |
|
1259 class TMobilePhoneCostInfoV1 : public TMultimodeType |
|
1260 /** |
|
1261 class TMobilePhoneCostInfoV1 ETELMM.H "INC/ETELMM.H" |
|
1262 brief Defines the information related to current billing costs |
|
1263 @internalComponent |
|
1264 */ |
|
1265 { |
|
1266 public: |
|
1267 IMPORT_C TMobilePhoneCostInfoV1(); |
|
1268 public: |
|
1269 TMobilePhoneCostService iService; |
|
1270 TUint iCCM; |
|
1271 TUint iACM; |
|
1272 TUint iACMmax; |
|
1273 TMobilePhonePuctV1 iPuct; |
|
1274 }; |
|
1275 |
|
1276 typedef TPckg<TMobilePhoneCostInfoV1> TMobilePhoneCostInfoV1Pckg; |
|
1277 |
|
1278 IMPORT_C void GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const; |
|
1279 IMPORT_C void NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const; |
|
1280 |
|
1281 // |
|
1282 // Mobile Security Functional Unit |
|
1283 // |
|
1284 |
|
1285 enum TMobilePhoneSecurityCaps |
|
1286 { |
|
1287 KCapsLockPhone = 0x0000001, |
|
1288 KCapsLockICC = 0x00000002, |
|
1289 KCapsLockPhoneToICC = 0x00000004, |
|
1290 KCapsLockPhoneToFirstICC = 0x00000008, |
|
1291 KCapsLockOTA = 0x00000010, |
|
1292 KCapsAccessPin1 = 0x00000020, |
|
1293 KCapsAccessPin2 = 0x00000040, |
|
1294 KCapsAccessPhonePassword = 0x00000080, |
|
1295 KCapsAccessSPC = 0x00000100 |
|
1296 }; |
|
1297 |
|
1298 IMPORT_C TInt GetSecurityCaps(TUint32& aCaps) const; |
|
1299 IMPORT_C void NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
1300 |
|
1301 enum TMobilePhoneLock |
|
1302 { |
|
1303 ELockPhoneDevice, |
|
1304 ELockICC, |
|
1305 ELockPhoneToICC, |
|
1306 ELockPhoneToFirstICC, |
|
1307 ELockOTA |
|
1308 }; |
|
1309 |
|
1310 enum TMobilePhoneLockStatus |
|
1311 { |
|
1312 EStatusLockUnknown, |
|
1313 EStatusLocked, |
|
1314 EStatusUnlocked |
|
1315 }; |
|
1316 |
|
1317 enum TMobilePhoneLockSetting |
|
1318 { |
|
1319 ELockSetUnknown, |
|
1320 ELockSetEnabled, |
|
1321 ELockSetDisabled |
|
1322 }; |
|
1323 |
|
1324 class TMobilePhoneLockInfoV1 : public TMultimodeType |
|
1325 /** |
|
1326 class TMobilePhoneLockInfoV1 ETELMM.H "INC/ETELMM.H" |
|
1327 brief Defines the status of a phone lock |
|
1328 @internalComponent |
|
1329 */ |
|
1330 { |
|
1331 public: |
|
1332 IMPORT_C TMobilePhoneLockInfoV1(); |
|
1333 public: |
|
1334 TMobilePhoneLockStatus iStatus; |
|
1335 TMobilePhoneLockSetting iSetting; |
|
1336 }; |
|
1337 |
|
1338 typedef TPckg<TMobilePhoneLockInfoV1> TMobilePhoneLockInfoV1Pckg; |
|
1339 |
|
1340 IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const; |
|
1341 IMPORT_C void NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const; |
|
1342 IMPORT_C void SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const; |
|
1343 |
|
1344 enum TMobilePhoneSecurityCode |
|
1345 { |
|
1346 ESecurityCodePin1, |
|
1347 ESecurityCodePin2, |
|
1348 ESecurityCodePuk1, |
|
1349 ESecurityCodePuk2, |
|
1350 ESecurityCodePhonePassword, |
|
1351 ESecurityCodeSPC |
|
1352 }; |
|
1353 |
|
1354 IMPORT_C void ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const; |
|
1355 |
|
1356 enum TMobilePhoneSecurityEvent |
|
1357 { |
|
1358 ENoICCFound, |
|
1359 EICCTerminated, |
|
1360 EPin1Required, |
|
1361 EPuk1Required, |
|
1362 EPin2Required, |
|
1363 EPuk2Required, |
|
1364 EPhonePasswordRequired, |
|
1365 ESPCRequired, |
|
1366 EPin1Verified, |
|
1367 EPin2Verified, |
|
1368 EPuk1Verified, |
|
1369 EPuk2Verified, |
|
1370 EPhonePasswordVerified, |
|
1371 ESPCVerified |
|
1372 }; |
|
1373 |
|
1374 IMPORT_C void NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const; |
|
1375 |
|
1376 // for use by client-side API code and TSY only |
|
1377 |
|
1378 struct TCodeAndUnblockCode |
|
1379 { |
|
1380 TMobilePassword iCode; |
|
1381 TMobilePassword iUnblockCode; |
|
1382 }; |
|
1383 |
|
1384 IMPORT_C void VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, |
|
1385 const TMobilePassword& aCode, const TMobilePassword& aUnblockCode) const; |
|
1386 IMPORT_C TInt AbortSecurityCode(TMobilePhoneSecurityCode aType) const; |
|
1387 |
|
1388 |
|
1389 class TMobilePhoneMessageWaitingV1 : public TMultimodeType |
|
1390 /** |
|
1391 MobileMessageWaiting |
|
1392 @internalComponent |
|
1393 */ |
|
1394 { |
|
1395 public: |
|
1396 IMPORT_C TMobilePhoneMessageWaitingV1(); |
|
1397 public: |
|
1398 TUint8 iVoiceMsgs; |
|
1399 TUint8 iAuxVoiceMsgs; |
|
1400 TUint8 iDataMsgs; |
|
1401 TUint8 iFaxMsgs; |
|
1402 TUint8 iEmailMsgs; |
|
1403 TUint8 iOtherMsgs; |
|
1404 }; |
|
1405 |
|
1406 typedef TPckg<TMobilePhoneMessageWaitingV1> TMobilePhoneMessageWaitingV1Pckg; |
|
1407 |
|
1408 IMPORT_C void GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const; |
|
1409 IMPORT_C void SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const; |
|
1410 IMPORT_C void NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const; |
|
1411 |
|
1412 IMPORT_C void NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const; |
|
1413 |
|
1414 // |
|
1415 // Mobile Fixed Dialling Numbers Functional Unit |
|
1416 // |
|
1417 |
|
1418 enum TMobilePhoneFdnStatus |
|
1419 { |
|
1420 EFdnNotActive, |
|
1421 EFdnActive, |
|
1422 EFdnPermanentlyActive, |
|
1423 EFdnNotSupported, |
|
1424 EFdnUnkown |
|
1425 }; |
|
1426 |
|
1427 IMPORT_C TInt GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const; |
|
1428 |
|
1429 enum TMobilePhoneFdnSetting |
|
1430 { |
|
1431 EFdnSetOn, |
|
1432 EFdnSetOff |
|
1433 }; |
|
1434 |
|
1435 IMPORT_C void SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const; |
|
1436 IMPORT_C void NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const; |
|
1437 |
|
1438 |
|
1439 class TMobilePhoneMulticallSettingsV1 : public TMultimodeType |
|
1440 /** |
|
1441 Multicall bearer settings |
|
1442 @internalComponent |
|
1443 */ |
|
1444 { |
|
1445 public: |
|
1446 IMPORT_C TMobilePhoneMulticallSettingsV1(); |
|
1447 public: |
|
1448 TInt iUserMaxBearers; |
|
1449 TInt iServiceProviderMaxBearers; |
|
1450 TInt iNetworkSupportedMaxBearers; |
|
1451 TInt iUESupportedMaxBearers; |
|
1452 }; |
|
1453 |
|
1454 typedef TPckg<TMobilePhoneMulticallSettingsV1> TMobilePhoneMulticallSettingsV1Pckg; |
|
1455 |
|
1456 IMPORT_C void GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const; |
|
1457 IMPORT_C void SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const; |
|
1458 IMPORT_C void NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const; |
|
1459 |
|
1460 // |
|
1461 // MobileNextIncomingCall Functional Unit |
|
1462 // |
|
1463 |
|
1464 enum TMobilePhoneIncomingCallType |
|
1465 { |
|
1466 EIncomingTypeNotSpecified, |
|
1467 EIncomingVoice, |
|
1468 EIncomingFax, |
|
1469 EIncomingData, |
|
1470 EIncomingMultimediaVoiceFallback, |
|
1471 EIncomingMultimediaNoFallback |
|
1472 }; |
|
1473 |
|
1474 IMPORT_C void GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const; |
|
1475 IMPORT_C void SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const; |
|
1476 IMPORT_C void NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const; |
|
1477 |
|
1478 // |
|
1479 // User-To-User Signalling Functional Unit |
|
1480 // |
|
1481 |
|
1482 enum TMobilePhoneUUSSetting // UUS settings of the phone |
|
1483 { |
|
1484 EIncomingUUSNotSpecified, |
|
1485 EIncomingUUSAccepted, |
|
1486 EIncomingUUSRejected |
|
1487 }; |
|
1488 |
|
1489 IMPORT_C void GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const; |
|
1490 IMPORT_C void SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const; |
|
1491 IMPORT_C void NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const; |
|
1492 |
|
1493 private: |
|
1494 CMobilePhonePtrHolder* iMmPtrHolder; |
|
1495 RMobilePhone(const RMobilePhone& aPhone); |
|
1496 protected: |
|
1497 IMPORT_C void ConstructL(); |
|
1498 IMPORT_C void Destruct(); |
|
1499 }; |
|
1500 |
|
1501 /*********************************************************/ |
|
1502 // |
|
1503 // Phone Storage functionality (RMobilePhoneStore) |
|
1504 // |
|
1505 /*********************************************************/ |
|
1506 |
|
1507 class CMobilePhoneStorePtrHolder; |
|
1508 class RMobilePhoneStore : public RTelSubSessionBase |
|
1509 /** |
|
1510 class RMobilePhoneStore ETELMM.H "INC/ETELMM.H" |
|
1511 brief Abstract class used to define common phone storage actions & types |
|
1512 RMobilePhoneStore inherits from RTelSubSessionBase defined in ETEL.H |
|
1513 Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore |
|
1514 @internalComponent |
|
1515 */ |
|
1516 { |
|
1517 public: |
|
1518 friend class CAsyncRetrieveStoreList; |
|
1519 |
|
1520 enum TMobilePhoneStoreType |
|
1521 { |
|
1522 EPhoneStoreTypeUnknown, |
|
1523 EShortMessageStore, |
|
1524 ENamStore, |
|
1525 EPhoneBookStore, |
|
1526 EEmergencyNumberStore, |
|
1527 EOwnNumberStore |
|
1528 }; |
|
1529 |
|
1530 enum TMobilePhoneStoreCaps |
|
1531 { |
|
1532 KCapsWholeStore = 0x80000000, |
|
1533 KCapsIndividualEntry = 0x40000000, |
|
1534 KCapsReadAccess = 0x20000000, |
|
1535 KCapsWriteAccess = 0x10000000, |
|
1536 KCapsDeleteAll = 0x08000000, |
|
1537 KCapsNotifyEvent = 0x04000000 |
|
1538 }; |
|
1539 |
|
1540 enum TMobilePhoneStoreInfoExtId |
|
1541 { |
|
1542 KETelMobilePhoneStoreV1=KETelExtMultimodeV1, |
|
1543 KETelMobilePhonebookStoreV1, |
|
1544 KETelMobileSmsStoreV1, |
|
1545 KETelMobileNamStoreV1, |
|
1546 KETelMobileONStoreV1, |
|
1547 KETelMobileENStoreV1 |
|
1548 }; |
|
1549 |
|
1550 |
|
1551 class TMobilePhoneStoreInfoV1 : public RMobilePhone::TMultimodeType |
|
1552 /** |
|
1553 class TMobilePhoneStoreInfoV1 ETELMM.H "INC/ETELMM.H" |
|
1554 brief Defines information and capabilities of a phone-side store |
|
1555 @internalComponent |
|
1556 */ |
|
1557 { |
|
1558 public: |
|
1559 IMPORT_C TMobilePhoneStoreInfoV1(); |
|
1560 |
|
1561 TMobilePhoneStoreType iType; |
|
1562 TInt iTotalEntries; |
|
1563 TInt iUsedEntries; |
|
1564 TUint32 iCaps; |
|
1565 RMobilePhone::TMobileName iName; |
|
1566 }; |
|
1567 |
|
1568 typedef TPckg<TMobilePhoneStoreInfoV1> TMobilePhoneStoreInfoV1Pckg; |
|
1569 |
|
1570 |
|
1571 class TMobilePhoneStoreEntryV1 : public RMobilePhone::TMultimodeType |
|
1572 /** |
|
1573 class TMobilePhoneStoreEntryV1 ETELMM.H "INC/ETELMM.H" |
|
1574 brief Defines common contents of an entry in a phone-side store |
|
1575 @internalComponent |
|
1576 */ |
|
1577 { |
|
1578 public: |
|
1579 |
|
1580 enum |
|
1581 { |
|
1582 KIndexNotUsed = -1 |
|
1583 }; |
|
1584 |
|
1585 protected: |
|
1586 TMobilePhoneStoreEntryV1(); |
|
1587 public: |
|
1588 void InternalizeL(RReadStream& aStream); |
|
1589 void ExternalizeL(RWriteStream& aStream) const; |
|
1590 public: |
|
1591 TInt iIndex; |
|
1592 }; |
|
1593 |
|
1594 IMPORT_C void GetInfo(TRequestStatus& aReqStatus, TDes8& aInfo) const; |
|
1595 |
|
1596 IMPORT_C void Read(TRequestStatus& aReqStatus, TDes8& aEntry) const; |
|
1597 IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aEntry) const; |
|
1598 |
|
1599 IMPORT_C void Delete(TRequestStatus& aReqStatus, TInt aIndex) const; |
|
1600 IMPORT_C void DeleteAll(TRequestStatus& aReqStatus) const; |
|
1601 |
|
1602 enum TMobileStoreEvent |
|
1603 { |
|
1604 KStoreFull =0x00000001, |
|
1605 KStoreHasSpace =0x00000002, |
|
1606 KStoreEmpty =0x00000004, |
|
1607 KStoreEntryAdded =0x00000008, |
|
1608 KStoreEntryDeleted =0x00000010, |
|
1609 KStoreEntryChanged =0x00000020, |
|
1610 KStoreDoRefresh =0x00000040 |
|
1611 }; |
|
1612 |
|
1613 IMPORT_C void NotifyStoreEvent(TRequestStatus& aReqStatus, TUint32& aEvent, TInt& aIndex) const; |
|
1614 |
|
1615 protected: |
|
1616 CMobilePhoneStorePtrHolder* iStorePtrHolder; |
|
1617 |
|
1618 protected: |
|
1619 RMobilePhoneStore(); |
|
1620 IMPORT_C void BaseConstruct(CMobilePhoneStorePtrHolder* aPtrHolder); |
|
1621 IMPORT_C void Destruct(); |
|
1622 }; |
|
1623 |
|
1624 |
|
1625 /*********************************************************/ |
|
1626 // |
|
1627 // Call based functionality (RMobileCall) |
|
1628 // |
|
1629 /*********************************************************/ |
|
1630 |
|
1631 |
|
1632 class CMobileCallPtrHolder; |
|
1633 |
|
1634 class RMobileCall : public RCall |
|
1635 /** |
|
1636 class RMobileCall ETELMM.H "INC/ETELMM.H" |
|
1637 brief Provides client access to mobile call functionality provided by TSY |
|
1638 RMobileCall inherits from RCall defined in ETEL.H |
|
1639 @internalComponent |
|
1640 */ |
|
1641 { |
|
1642 public: |
|
1643 IMPORT_C RMobileCall(); |
|
1644 |
|
1645 // |
|
1646 // Mobile call parameters - used within Dial/Answer API |
|
1647 // |
|
1648 |
|
1649 // used to set iExtensionId in RCall::TCallParams |
|
1650 enum TMobileCallParamsExtensionId |
|
1651 { |
|
1652 KETelMobileCallParamsV1=KETelExtMultimodeV1, |
|
1653 KETelMobileDataCallParamsV1, |
|
1654 KETelMobileHscsdCallParamsV1 |
|
1655 }; |
|
1656 |
|
1657 enum TMobileCallIdRestriction |
|
1658 { |
|
1659 EIdRestrictDefault, |
|
1660 ESendMyId, |
|
1661 EDontSendMyId |
|
1662 }; |
|
1663 |
|
1664 class TMobileCallCugV1 : public RMobilePhone::TMultimodeType |
|
1665 /** |
|
1666 @internalComponent |
|
1667 */ |
|
1668 { |
|
1669 public: |
|
1670 IMPORT_C TMobileCallCugV1(); |
|
1671 public: |
|
1672 TBool iExplicitInvoke; |
|
1673 TInt iCugIndex; |
|
1674 TBool iSuppressOA; |
|
1675 TBool iSuppressPrefCug; |
|
1676 }; |
|
1677 |
|
1678 |
|
1679 class TMobileCallParamsV1 : public RCall::TCallParams |
|
1680 /** |
|
1681 class TMobileCallParamsV1 ETELMM.H "INC/ETELMM.H" |
|
1682 brief Defines the parameters used for set-up of a call of any type |
|
1683 @internalComponent |
|
1684 */ |
|
1685 { |
|
1686 public: |
|
1687 IMPORT_C TMobileCallParamsV1(); |
|
1688 public: |
|
1689 TMobileCallIdRestriction iIdRestrict; |
|
1690 TMobileCallCugV1 iCug; |
|
1691 TBool iAutoRedial; |
|
1692 }; |
|
1693 |
|
1694 typedef TPckg<TMobileCallParamsV1> TMobileCallParamsV1Pckg; |
|
1695 |
|
1696 // |
|
1697 // Mobile Call Data Functional Unit |
|
1698 // |
|
1699 |
|
1700 enum TMobileCallDataSpeedCaps |
|
1701 { |
|
1702 KCapsSpeedAutobauding = 0x00000001, |
|
1703 KCapsSpeed2400 = 0x00000002, |
|
1704 KCapsSpeed4800 = 0x00000004, |
|
1705 KCapsSpeed9600 = 0x00000008, |
|
1706 KCapsSpeed14400 = 0x00000010, |
|
1707 KCapsSpeed19200 = 0x00000020, |
|
1708 KCapsSpeed28800 = 0x00000040, |
|
1709 KCapsSpeed32000 = 0x00000080, |
|
1710 KCapsSpeed33600 = 0x00000100, |
|
1711 KCapsSpeed38400 = 0x00000200, |
|
1712 KCapsSpeed43200 = 0x00000400, |
|
1713 KCapsSpeed48000 = 0x00000800, |
|
1714 KCapsSpeed56000 = 0x00001000, |
|
1715 KCapsSpeed57600 = 0x00002000, |
|
1716 KCapsSpeed64000 = 0x00004000, |
|
1717 KCapsSpeedExtended = 0x80000000 |
|
1718 }; |
|
1719 |
|
1720 enum TMobileCallDataProtocolCaps |
|
1721 { |
|
1722 KCapsProtocolV22bis = 0x00000001, |
|
1723 KCapsProtocolV32 = 0x00000002, |
|
1724 KCapsProtocolV34 = 0x00000004, |
|
1725 KCapsProtocolV110 = 0x00000008, |
|
1726 KCapsProtocolV120 = 0x00000010, |
|
1727 KCapsProtocolBitTransparent = 0x00000020, |
|
1728 KCapsProtocolX31FlagStuffing = 0x00000040, |
|
1729 KCapsProtocolPIAFS = 0x00000080, |
|
1730 KCapsPstnMultimediaVoiceFallback = 0x00000100, |
|
1731 KCapsPstnMultimedia = 0x00000200, |
|
1732 KCapsIsdnMultimedia = 0x00000400, |
|
1733 KCapsProtocolExtended = 0x80000000 |
|
1734 }; |
|
1735 |
|
1736 enum TMobileCallDataServiceCaps |
|
1737 { |
|
1738 KCapsDataCircuitAsynchronous = 0x00000001, |
|
1739 KCapsDataCircuitAsynchronousRDI = 0x00000002, |
|
1740 KCapsDataCircuitSynchronous = 0x00000004, |
|
1741 KCapsDataCircuitSynchronousRDI = 0x00000008, |
|
1742 KCapsPADAsyncUDI = 0x00000010, |
|
1743 KCapsPADAsyncRDI = 0x00000020, |
|
1744 KCapsPacketAccessSyncUDI = 0x00000040, |
|
1745 KCapsPacketAccessSyncRDI = 0x00000080, |
|
1746 KCapsServiceExtended = 0x80000000 |
|
1747 }; |
|
1748 |
|
1749 enum TMobileCallDataQoSCaps |
|
1750 { |
|
1751 KCapsTransparent = 0x00000001, |
|
1752 KCapsNonTransparent = 0x00000002, |
|
1753 KCapsTransparentPreferred = 0x00000004, |
|
1754 KCapsNonTransparentPreferred = 0x00000008 |
|
1755 }; |
|
1756 |
|
1757 enum TMobileCallAiurCodingCaps |
|
1758 { |
|
1759 KCapsAiurCoding48 = 0x01, |
|
1760 KCapsAiurCoding96 = 0x04, |
|
1761 KCapsAiurCoding144 = 0x08 |
|
1762 }; |
|
1763 |
|
1764 enum TMobileCallTchCodingsCaps |
|
1765 { |
|
1766 KCapsTchCoding48 = 0x00000001, |
|
1767 KCapsTchCoding96 = 0x00000004, |
|
1768 KCapsTchCoding144 = 0x00000008, |
|
1769 KCapsTchCoding288 = 0x00000010, |
|
1770 KCapsTchCoding320 = 0x00000020, |
|
1771 KCapsTchCoding432 = 0x00000040 |
|
1772 }; |
|
1773 |
|
1774 enum TMobileCallAsymmetryCaps |
|
1775 { |
|
1776 KCapsAsymmetryNoPreference= 0x00000001, |
|
1777 KCapsAsymmetryDownlink = 0x00000002, |
|
1778 KCapsAsymmetryUplink = 0x00000004 |
|
1779 }; |
|
1780 |
|
1781 enum TMobileCallRLPVersionCaps |
|
1782 { |
|
1783 KCapsRLPSingleLinkVersion0 = 0x00000001, |
|
1784 KCapsRLPSingleLinkVersion1 = 0x00000002, |
|
1785 KCapsRLPMultiLinkVersion2 = 0x00000004 |
|
1786 }; |
|
1787 |
|
1788 enum TMobileCallV42bisCaps |
|
1789 { |
|
1790 KCapsV42bisTxDirection = 0x00000001, |
|
1791 KCapsV42bisRxDirection = 0x00000002, |
|
1792 KCapsV42bisBothDirections = 0x00000004 |
|
1793 }; |
|
1794 |
|
1795 |
|
1796 class TMobileCallDataCapsV1 : public RMobilePhone::TMultimodeType |
|
1797 /** |
|
1798 class TMobileCallDataCapsV1 ETELMM.H "INC/ETELMM.H" |
|
1799 brief Defines the capabilities of a circuit switched data call |
|
1800 @internalComponent |
|
1801 */ |
|
1802 { |
|
1803 public: |
|
1804 IMPORT_C TMobileCallDataCapsV1(); |
|
1805 public: |
|
1806 TUint32 iSpeedCaps; |
|
1807 TUint32 iProtocolCaps; |
|
1808 TUint32 iServiceCaps; |
|
1809 TUint32 iQoSCaps; |
|
1810 TBool iHscsdSupport; |
|
1811 TInt iMClass; |
|
1812 TInt iMaxRxTimeSlots; |
|
1813 TInt iMaxTxTimeSlots; |
|
1814 TInt iTotalRxTxTimeSlots; |
|
1815 TUint32 iCodingCaps; |
|
1816 TUint32 iAsymmetryCaps; |
|
1817 TBool iUserInitUpgrade; |
|
1818 TUint32 iRLPVersionCaps; |
|
1819 TUint32 iV42bisCaps; |
|
1820 }; |
|
1821 |
|
1822 typedef TPckg<TMobileCallDataCapsV1> TMobileCallDataCapsV1Pckg; |
|
1823 |
|
1824 IMPORT_C TInt GetMobileDataCallCaps(TDes8& aCaps) const; |
|
1825 IMPORT_C void NotifyMobileDataCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const; |
|
1826 |
|
1827 enum TMobileCallDataSpeed |
|
1828 { |
|
1829 ESpeedUnspecified, |
|
1830 ESpeedAutobauding, |
|
1831 ESpeed2400, |
|
1832 ESpeed4800, |
|
1833 ESpeed9600, |
|
1834 ESpeed14400, |
|
1835 ESpeed19200, |
|
1836 ESpeed28800, |
|
1837 ESpeed32000, |
|
1838 ESpeed33600, |
|
1839 ESpeed38400, |
|
1840 ESpeed43200, |
|
1841 ESpeed48000, |
|
1842 ESpeed56000, |
|
1843 ESpeed57600, |
|
1844 ESpeed64000 |
|
1845 }; |
|
1846 |
|
1847 enum TMobileCallDataProtocol |
|
1848 { |
|
1849 EProtocolUnspecified, |
|
1850 EProtocolV22bis, |
|
1851 EProtocolV32, |
|
1852 EProtocolV34, |
|
1853 EProtocolV110, |
|
1854 EProtocolV120, |
|
1855 EProtocolX31FlagStuffing, |
|
1856 EProtocolPIAFS, |
|
1857 EProtocolBitTransparent, |
|
1858 EProtocolPstnMultimediaVoiceFallback, |
|
1859 EProtocolPstnMultimedia, |
|
1860 EProtocolIsdnMultimedia |
|
1861 }; |
|
1862 |
|
1863 enum TMobileCallDataService |
|
1864 { |
|
1865 EServiceUnspecified, |
|
1866 EServiceDataCircuitAsync, |
|
1867 EServiceDataCircuitAsyncRdi, |
|
1868 EServiceDataCircuitSync, |
|
1869 EServiceDataCircuitSyncRdi, |
|
1870 EServicePADAsyncUDI, |
|
1871 EServicePADAsyncRDI, |
|
1872 EServicePacketAccessSyncUDI, |
|
1873 EServicePacketAccessSyncRDI |
|
1874 }; |
|
1875 |
|
1876 enum TMobileCallDataQoS |
|
1877 { |
|
1878 EQoSUnspecified, |
|
1879 EQoSTransparent, |
|
1880 EQoSNonTransparent, |
|
1881 EQosTransparentPreferred, |
|
1882 EQosNonTransparentPreferred |
|
1883 }; |
|
1884 |
|
1885 enum TMobileCallDataRLPVersion |
|
1886 { |
|
1887 ERLPNotRequested, |
|
1888 ERLPSingleLinkVersion0, |
|
1889 ERLPSingleLinkVersion1, |
|
1890 ERLPMultiLinkVersion2 |
|
1891 }; |
|
1892 |
|
1893 enum TMobileCallDataV42bis |
|
1894 { |
|
1895 EV42bisNeitherDirection, |
|
1896 EV42bisTxDirection, |
|
1897 EV42bisRxDirection, |
|
1898 EV42bisBothDirections |
|
1899 }; |
|
1900 |
|
1901 |
|
1902 class TMobileDataCallParamsV1 : public TMobileCallParamsV1 |
|
1903 /** |
|
1904 class TMobileDataCallParamsV1 ETELMM.H "INC/ETELMM.H" |
|
1905 brief Defines the parameters used for setup of a circuit switched data call |
|
1906 @internalComponent |
|
1907 */ |
|
1908 { |
|
1909 public: |
|
1910 IMPORT_C TMobileDataCallParamsV1(); |
|
1911 public: |
|
1912 TMobileCallDataService iService; |
|
1913 TMobileCallDataSpeed iSpeed; |
|
1914 TMobileCallDataProtocol iProtocol; |
|
1915 TMobileCallDataQoS iQoS; |
|
1916 TMobileCallDataRLPVersion iRLPVersion; |
|
1917 TInt iModemToMSWindowSize; |
|
1918 TInt iMSToModemWindowSize; |
|
1919 TInt iAckTimer; |
|
1920 TInt iRetransmissionAttempts; |
|
1921 TInt iResequencingPeriod; |
|
1922 TMobileCallDataV42bis iV42bisReq; |
|
1923 TInt iV42bisCodewordsNum; |
|
1924 TInt iV42bisMaxStringLength; |
|
1925 }; |
|
1926 |
|
1927 typedef TPckg<TMobileDataCallParamsV1> TMobileDataCallParamsV1Pckg; |
|
1928 |
|
1929 enum TMobileCallAiur |
|
1930 { |
|
1931 EAiurBpsUnspecified, |
|
1932 EAiurBps9600, |
|
1933 EAiurBps14400, |
|
1934 EAiurBps19200, |
|
1935 EAiurBps28800, |
|
1936 EAiurBps38400, |
|
1937 EAiurBps43200, |
|
1938 EAiurBps57600 |
|
1939 }; |
|
1940 |
|
1941 enum TMobileCallAsymmetry |
|
1942 { |
|
1943 EAsymmetryNoPreference, |
|
1944 EAsymmetryDownlink, |
|
1945 EAsymmetryUplink |
|
1946 }; |
|
1947 |
|
1948 enum TMobileCallTchCoding |
|
1949 { |
|
1950 ETchCodingUnspecified, |
|
1951 ETchCoding48, |
|
1952 ETchCoding96, |
|
1953 ETchCoding144, |
|
1954 ETchCoding288, |
|
1955 ETchCoding320, |
|
1956 ETchCoding432 |
|
1957 }; |
|
1958 |
|
1959 class TMobileDataRLPRangesV1 : public RMobilePhone::TMultimodeType |
|
1960 /** |
|
1961 class TMobileDataRLPRangesV1 ETELMM.H "INC/ETELMM.H" |
|
1962 brief Defines the parameters for minimum and maximum RLP parameter ranges |
|
1963 @internalComponent |
|
1964 */ |
|
1965 { |
|
1966 public: |
|
1967 IMPORT_C TMobileDataRLPRangesV1(); |
|
1968 public: |
|
1969 TInt iIWSMax; |
|
1970 TInt iIWSMin; |
|
1971 TInt iMWSMax; |
|
1972 TInt iMWSMin; |
|
1973 TInt iT1Max; |
|
1974 TInt iT1Min; |
|
1975 TInt iN2Max; |
|
1976 TInt iN2Min; |
|
1977 TInt iT4Max; |
|
1978 TInt iT4Min; |
|
1979 }; |
|
1980 |
|
1981 typedef TPckg<TMobileDataRLPRangesV1> TMobileDataRLPRangesV1Pckg; |
|
1982 |
|
1983 IMPORT_C void GetMobileDataCallRLPRange(TRequestStatus& aReqStatus, TInt aRLPVersion, TDes8& aRLPRange) const; |
|
1984 |
|
1985 class TMobileHscsdCallParamsV1 : public TMobileDataCallParamsV1 |
|
1986 /** |
|
1987 @internalComponent |
|
1988 */ |
|
1989 { |
|
1990 public: |
|
1991 IMPORT_C TMobileHscsdCallParamsV1(); |
|
1992 public: |
|
1993 TMobileCallAiur iWantedAiur; |
|
1994 TInt iWantedRxTimeSlots; |
|
1995 TInt iMaxTimeSlots; |
|
1996 TUint iCodings; |
|
1997 TMobileCallAsymmetry iAsymmetry; |
|
1998 TBool iUserInitUpgrade; |
|
1999 }; |
|
2000 |
|
2001 typedef TPckg<TMobileHscsdCallParamsV1> TMobileHscsdCallParamsV1Pckg; |
|
2002 |
|
2003 IMPORT_C void SetDynamicHscsdParams(TRequestStatus& aReqStatus, TMobileCallAiur aAiur, TInt aRxTimeslots) const; |
|
2004 |
|
2005 class TMobileCallHscsdInfoV1 : public RMobilePhone::TMultimodeType |
|
2006 /** |
|
2007 @internalComponent |
|
2008 */ |
|
2009 { |
|
2010 public: |
|
2011 IMPORT_C TMobileCallHscsdInfoV1(); |
|
2012 public: |
|
2013 TMobileCallAiur iAiur; |
|
2014 TInt iRxTimeSlots; |
|
2015 TInt iTxTimeSlots; |
|
2016 TMobileCallTchCoding iCodings; |
|
2017 }; |
|
2018 |
|
2019 typedef TPckg<TMobileCallHscsdInfoV1> TMobileCallHscsdInfoV1Pckg; |
|
2020 |
|
2021 IMPORT_C TInt GetCurrentHscsdInfo(TDes8& aHSCSDInfo) const; |
|
2022 IMPORT_C void NotifyHscsdInfoChange(TRequestStatus& aReqStatus, TDes8& aHSCSDInfo) const; |
|
2023 |
|
2024 // |
|
2025 // Voice Fallback for Multimedia Calls |
|
2026 // |
|
2027 |
|
2028 IMPORT_C void NotifyVoiceFallback(TRequestStatus& aReqStatus, TName& aCallName) const; |
|
2029 |
|
2030 // |
|
2031 // Mobile Alternating Call Functional Unit |
|
2032 // |
|
2033 |
|
2034 IMPORT_C void SwitchAlternatingCall(TRequestStatus& aReqStatus) const; |
|
2035 IMPORT_C void NotifyAlternatingCallSwitch(TRequestStatus& aReqStatus) const; |
|
2036 |
|
2037 // |
|
2038 // MobileCallControl functional unit |
|
2039 // |
|
2040 |
|
2041 enum TMobileCallControlCaps |
|
2042 { |
|
2043 //KCapsData=0x00000001, // taken from etel.h |
|
2044 //KCapsFax=0x00000002, |
|
2045 //KCapsVoice=0x00000004, |
|
2046 //KCapsDial=0x00000008, |
|
2047 //KCapsConnect=0x00000010, |
|
2048 //KCapsHangUp=0x00000020, |
|
2049 //KCapsAnswer=0x00000040, |
|
2050 //KCapsLoanDataPort=0x00000080, |
|
2051 //KCapsRecoverDataPort=0x00000100 |
|
2052 KCapsHold = 0x00000200, |
|
2053 KCapsResume = 0x00000400, |
|
2054 KCapsSwap = 0x00000800, |
|
2055 KCapsDeflect = 0x00001000, |
|
2056 KCapsTransfer = 0x00002000, |
|
2057 KCapsJoin = 0x00004000, |
|
2058 KCapsOneToOne = 0x00008000, |
|
2059 KCapsActivateCCBS = 0x00010000, |
|
2060 KCapsDeactivateCCBS = 0x00020000, |
|
2061 KCapsSwitchAlternatingCall = 0x00040000 |
|
2062 }; |
|
2063 |
|
2064 |
|
2065 enum TMobileCallEventCaps |
|
2066 { |
|
2067 KCapsLocalHold = 0x00000001, |
|
2068 KCapsLocalResume = 0x00000002, |
|
2069 KCapsLocalDeflectCall = 0x00000004, |
|
2070 KCapsLocalTransfer = 0x00000008, |
|
2071 KCapsRemoteHold = 0x00000010, |
|
2072 KCapsRemoteResume = 0x00000020, |
|
2073 KCapsRemoteTerminate = 0x00000040, |
|
2074 KCapsRemoteConferenceCreate = 0x00000080 |
|
2075 }; |
|
2076 |
|
2077 class TMobileCallCapsV1 : public RMobilePhone::TMultimodeType |
|
2078 /** |
|
2079 class TMobileCallCapsV1 ETELMM.H "INC/ETELMM.H" |
|
2080 brief Defines the dynamic capabilities of a mobile call |
|
2081 @internalComponent |
|
2082 */ |
|
2083 { |
|
2084 public: |
|
2085 IMPORT_C TMobileCallCapsV1(); |
|
2086 public: |
|
2087 TUint32 iCallControlCaps; |
|
2088 TUint32 iCallEventCaps; |
|
2089 }; |
|
2090 |
|
2091 typedef TPckg<TMobileCallCapsV1> TMobileCallCapsV1Pckg; |
|
2092 |
|
2093 IMPORT_C TInt GetMobileCallCaps(TDes8& aCaps) const; |
|
2094 IMPORT_C void NotifyMobileCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const; |
|
2095 |
|
2096 IMPORT_C void Hold(TRequestStatus& aReqStatus) const; |
|
2097 IMPORT_C void Resume(TRequestStatus& aReqStatus) const; |
|
2098 IMPORT_C void Swap(TRequestStatus& aReqStatus) const; |
|
2099 |
|
2100 enum TMobileCallDeflect |
|
2101 { |
|
2102 EDeflectUnspecified, |
|
2103 EDeflectVoicemail, |
|
2104 EDeflectRegisteredNumber, |
|
2105 EDeflectSuppliedNumber |
|
2106 }; |
|
2107 |
|
2108 IMPORT_C void Deflect(TRequestStatus& aReqStatus, TMobileCallDeflect aDeflectType, const RMobilePhone::TMobileAddress& aDestination) const; |
|
2109 IMPORT_C void Transfer(TRequestStatus& aReqStatus) const; |
|
2110 IMPORT_C void GoOneToOne(TRequestStatus& aReqStatus) const; |
|
2111 |
|
2112 enum TMobileCallEvent |
|
2113 { |
|
2114 ELocalHold, |
|
2115 ELocalResume, |
|
2116 ELocalDeflectCall, |
|
2117 ELocalTransfer, |
|
2118 ERemoteHold, |
|
2119 ERemoteResume, |
|
2120 ERemoteTerminated, |
|
2121 ERemoteConferenceCreate |
|
2122 }; |
|
2123 |
|
2124 IMPORT_C void NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) const; |
|
2125 |
|
2126 enum TMobileCallStatus |
|
2127 { |
|
2128 EStatusUnknown, // same as RCall::EStatusUnknown |
|
2129 EStatusIdle, // same as RCall::EStatusIdle |
|
2130 EStatusDialling, // same as RCall::EStatusDialling |
|
2131 EStatusRinging, // same as RCall::EStatusRinging |
|
2132 EStatusAnswering, // same as RCall::EStatusAnswering |
|
2133 EStatusConnecting, // same as RCall::EStatusConnecting |
|
2134 EStatusConnected, // same as RCall::EStatusConnected |
|
2135 EStatusDisconnecting, // same as RCall::EStatusHangingUp |
|
2136 EStatusDisconnectingWithInband, |
|
2137 EStatusReconnectPending, |
|
2138 EStatusHold, |
|
2139 EStatusWaitingCcbsRecall, |
|
2140 EStatusRingingCcbsRecall, |
|
2141 EStatusWaitingAlternatingCallSwitch |
|
2142 }; |
|
2143 |
|
2144 IMPORT_C TInt GetMobileCallStatus(TMobileCallStatus& aStatus) const; |
|
2145 IMPORT_C void NotifyMobileCallStatusChange(TRequestStatus& aReqStatus, TMobileCallStatus& aStatus) const; |
|
2146 |
|
2147 // |
|
2148 // MobilePrivacy functional unit |
|
2149 // |
|
2150 |
|
2151 IMPORT_C TInt SetPrivacy(RMobilePhone::TMobilePhonePrivacy aPrivacySetting) const; |
|
2152 IMPORT_C void NotifyPrivacyConfirmation(TRequestStatus& aReqStatus, RMobilePhone::TMobilePhonePrivacy& aPrivacySetting) const; |
|
2153 |
|
2154 // |
|
2155 // MobileTrafficChannel function unit |
|
2156 // |
|
2157 |
|
2158 enum TMobileCallTch |
|
2159 { |
|
2160 ETchUnknown, |
|
2161 ETchDigital, |
|
2162 ETchAnalog |
|
2163 }; |
|
2164 |
|
2165 IMPORT_C TInt SetTrafficChannel(TMobileCallTch aTchRequest) const; |
|
2166 IMPORT_C void NotifyTrafficChannelConfirmation(TRequestStatus& aReqStatus, TMobileCallTch& aTchType) const; |
|
2167 |
|
2168 // |
|
2169 // MobileCallInformation functional unit |
|
2170 // |
|
2171 |
|
2172 enum TMobileCallRemoteIdentityStatus |
|
2173 { |
|
2174 ERemoteIdentityUnknown, |
|
2175 ERemoteIdentityAvailable, |
|
2176 ERemoteIdentitySuppressed |
|
2177 }; |
|
2178 |
|
2179 enum TMobileCallDirection |
|
2180 { |
|
2181 EDirectionUnknown, |
|
2182 EMobileOriginated, |
|
2183 EMobileTerminated |
|
2184 }; |
|
2185 |
|
2186 enum { KCallingNameSize=80 }; |
|
2187 |
|
2188 class TMobileCallRemotePartyInfoV1 : public RMobilePhone::TMultimodeType |
|
2189 /** |
|
2190 class TMobileCallRemotePartyInfoV1 ETELMM.H "INC/ETELMM.H" |
|
2191 brief Defines information about the remote party of a mobile call |
|
2192 @internalComponent |
|
2193 */ |
|
2194 { |
|
2195 public: |
|
2196 IMPORT_C TMobileCallRemotePartyInfoV1(); |
|
2197 public: |
|
2198 TMobileCallRemoteIdentityStatus iRemoteIdStatus; |
|
2199 TMobileCallDirection iDirection; |
|
2200 RMobilePhone::TMobileAddress iRemoteNumber; |
|
2201 TBuf<KCallingNameSize> iCallingName; |
|
2202 }; |
|
2203 |
|
2204 typedef TPckg<TMobileCallRemotePartyInfoV1> TMobileCallRemotePartyInfoV1Pckg; |
|
2205 |
|
2206 IMPORT_C void NotifyRemotePartyInfoChange(TRequestStatus& aReqStatus, TDes8& aRemotePartyInfo) const; |
|
2207 |
|
2208 enum TMobileCallInfoFlags |
|
2209 { |
|
2210 KCallStartTime = 0x00000001, |
|
2211 KCallDuration = 0x00000002, |
|
2212 KCallId = 0x00000004, |
|
2213 KCallRemoteParty = 0x00000008, |
|
2214 KCallDialledParty = 0x00000010, |
|
2215 KCallExitCode = 0x00000020, |
|
2216 KCallEmergency = 0x00000040, |
|
2217 KCallForwarded = 0x00000080, |
|
2218 KCallPrivacy = 0x00000100, |
|
2219 KCallTch = 0x00000200, |
|
2220 KCallAlternating = 0x00000400 |
|
2221 }; |
|
2222 |
|
2223 class TMobileCallInfoV1 : public RMobilePhone::TMultimodeType |
|
2224 /** |
|
2225 class TMobileCallInfoV1 ETELMM.H "INC/ETELMM.H" |
|
2226 brief Defines general information about a mobile call |
|
2227 @internalComponent |
|
2228 */ |
|
2229 { |
|
2230 public: |
|
2231 IMPORT_C TMobileCallInfoV1(); |
|
2232 public: |
|
2233 TUint32 iValid; |
|
2234 RMobilePhone::TMobileService iService; |
|
2235 TMobileCallStatus iStatus; |
|
2236 TInt iCallId; |
|
2237 TInt iExitCode; |
|
2238 TBool iEmergency; |
|
2239 TBool iForwarded; |
|
2240 RMobilePhone::TMobilePhonePrivacy iPrivacy; |
|
2241 RMobilePhone::TMobilePhoneAlternatingCallMode iAlternatingCall; |
|
2242 TTimeIntervalSeconds iDuration; |
|
2243 TMobileCallTch iTch; |
|
2244 TMobileCallRemotePartyInfoV1 iRemoteParty; |
|
2245 RMobilePhone::TMobileAddress iDialledParty; |
|
2246 TDateTime iStartTime; |
|
2247 TName iCallName; |
|
2248 TName iLineName; |
|
2249 }; |
|
2250 |
|
2251 typedef TPckg<TMobileCallInfoV1> TMobileCallInfoV1Pckg; |
|
2252 |
|
2253 IMPORT_C TInt GetMobileCallInfo(TDes8& aCallInfo) const; |
|
2254 |
|
2255 // |
|
2256 // MobileCallEmergency functional unit |
|
2257 // |
|
2258 |
|
2259 IMPORT_C void DialEmergencyCall(TRequestStatus& aReqStatus, const TDesC& aNumber) const; |
|
2260 |
|
2261 // |
|
2262 // MobileCallCompletion |
|
2263 // |
|
2264 |
|
2265 IMPORT_C void ActivateCCBS(TRequestStatus& aReqStatus) const; |
|
2266 IMPORT_C TInt RejectCCBS() const; |
|
2267 IMPORT_C void AcceptCCBSRecall(TRequestStatus& aReqStatus) const; |
|
2268 IMPORT_C void DeactivateCCBS(TRequestStatus& aReqStatus) const; |
|
2269 |
|
2270 // |
|
2271 // User-To-User Signalling Functional Unit |
|
2272 // |
|
2273 |
|
2274 enum TMobileCallUUSCaps // UUS capabilities of the call |
|
2275 { |
|
2276 KCapsSetupUUS1Implicit=0x00000001, |
|
2277 KCapsSetupUUS1Explicit=0x00000002, |
|
2278 KCapsSetupUUS2=0x00000004, |
|
2279 KCapsSetupUUS3=0x00000008, |
|
2280 KCapsSetupMultipleUUS=0x00000010, |
|
2281 KCapsActiveUUS1=0x00000020, |
|
2282 KCapsActiveUUS2=0x00000040, |
|
2283 KCapsActiveUUS3=0x00000080 |
|
2284 }; |
|
2285 |
|
2286 IMPORT_C TInt GetUUSCaps(TUint32& aCaps) const; |
|
2287 IMPORT_C void NotifyUUSCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
2288 |
|
2289 enum TMobileCallUUSReqs // UUS Service requests |
|
2290 { |
|
2291 KUUS1Implicit=0x00000001, |
|
2292 KUUS1ExplicitRequested=0x00000002, |
|
2293 KUUS1ExplicitRequired=0x00000004, |
|
2294 KUUS2Requested=0x00000008, |
|
2295 KUUS2Required=0x00000010, |
|
2296 KUUS3Requested=0x00000020, |
|
2297 KUUS3Required=0x00000040 |
|
2298 }; |
|
2299 |
|
2300 enum |
|
2301 { |
|
2302 KMaxUUISize = 129, |
|
2303 }; |
|
2304 |
|
2305 typedef TBuf<KMaxUUISize> TMobileCallUUI; |
|
2306 |
|
2307 class TMobileCallUUSRequestV1 : public RMobilePhone::TMultimodeType |
|
2308 /** |
|
2309 @internalComponent |
|
2310 */ |
|
2311 { |
|
2312 public: |
|
2313 IMPORT_C TMobileCallUUSRequestV1(); |
|
2314 public: |
|
2315 TUint iServiceReq; |
|
2316 TMobileCallUUI iUUI; |
|
2317 }; |
|
2318 |
|
2319 typedef TPckg<TMobileCallUUSRequestV1> TMobileCallUUSRequestV1Pckg; |
|
2320 |
|
2321 IMPORT_C void ActivateUUS(TRequestStatus& aReqStatus, const TDesC8& aUUSRequest) const; |
|
2322 IMPORT_C void SendUUI(TRequestStatus& aReqStatus, TBool aMorese, const TMobileCallUUI& aUUI) const; |
|
2323 IMPORT_C void ReceiveUUI(TRequestStatus& aReqStatus, TMobileCallUUI& aUUI) const; |
|
2324 IMPORT_C void HangupWithUUI(TRequestStatus& aReqStatus, const TMobileCallUUI& aUUI) const; |
|
2325 IMPORT_C void AnswerIncomingCallWithUUI(TRequestStatus& aReqStatus, const TDesC8& aCallParams, const TMobileCallUUI& aUUI) const; |
|
2326 |
|
2327 private: |
|
2328 RMobileCall(const RMobileCall& aCall); |
|
2329 CMobileCallPtrHolder* iMmPtrHolder; |
|
2330 protected: |
|
2331 IMPORT_C void ConstructL(); |
|
2332 IMPORT_C void Destruct(); |
|
2333 }; |
|
2334 |
|
2335 |
|
2336 /*********************************************************/ |
|
2337 // |
|
2338 // Line based functionality (RMobileLine) |
|
2339 // |
|
2340 /*********************************************************/ |
|
2341 |
|
2342 |
|
2343 class CMobileLinePtrHolder; |
|
2344 |
|
2345 class RMobileLine : public RLine |
|
2346 /** |
|
2347 class RMobileLine ETELMM.H "INC/ETELMM.H" |
|
2348 brief Provides client access to mobile line functionality provided by TSY |
|
2349 RMobileLine inherits from RLine defined in ETEL.H |
|
2350 @internalComponent |
|
2351 */ |
|
2352 { |
|
2353 public: |
|
2354 IMPORT_C RMobileLine(); |
|
2355 |
|
2356 // |
|
2357 // MobileLineStatus functional unit |
|
2358 // |
|
2359 |
|
2360 IMPORT_C TInt GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const; |
|
2361 IMPORT_C void NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const; |
|
2362 |
|
2363 private: |
|
2364 RMobileLine(const RMobileLine& aLine); |
|
2365 CMobileLinePtrHolder* iMmPtrHolder; |
|
2366 protected: |
|
2367 IMPORT_C void ConstructL(); |
|
2368 IMPORT_C void Destruct(); |
|
2369 }; |
|
2370 |
|
2371 |
|
2372 /*********************************************************/ |
|
2373 // |
|
2374 // SMS Messaging (RMobileSmsMessaging) |
|
2375 // |
|
2376 /*********************************************************/ |
|
2377 |
|
2378 |
|
2379 class CMobilePhoneSmspList; |
|
2380 class CSmsMessagingPtrHolder; |
|
2381 |
|
2382 class RMobileSmsMessaging : public RTelSubSessionBase |
|
2383 /** |
|
2384 class RMobileSmsMessaging ETELMM.H "INC/ETELMM.H" |
|
2385 brief Provides client access to SMS messaging functionality provided by TSY |
|
2386 RMobileSmsMessaging inherits from RTelSubSessionBase defined in ETEL.H |
|
2387 @internalComponent |
|
2388 */ |
|
2389 { |
|
2390 public: |
|
2391 |
|
2392 friend class CRetrieveMobilePhoneSmspList; |
|
2393 |
|
2394 IMPORT_C RMobileSmsMessaging(); |
|
2395 |
|
2396 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
2397 IMPORT_C void Close(); |
|
2398 |
|
2399 enum TMobileSmsModeCaps |
|
2400 { |
|
2401 KCapsGsmSms=0x00000001 |
|
2402 }; |
|
2403 |
|
2404 enum TMobileSmsControlCaps |
|
2405 { |
|
2406 KCapsReceiveStored=0x00000001, |
|
2407 KCapsReceiveUnstoredPhoneAck=0x00000002, |
|
2408 KCapsReceiveUnstoredClientAck=0x00000004, |
|
2409 KCapsReceiveEither=0x00000008, |
|
2410 KCapsCreateAck=0x00000010, |
|
2411 KCapsSendNoAck=0x00000020, |
|
2412 KCapsSendWithAck=0x00000040, |
|
2413 KCapsGetSmspList=0x00000080, |
|
2414 KCapsSetSmspList=0x00000100 |
|
2415 }; |
|
2416 |
|
2417 class TMobileSmsCapsV1 : public RMobilePhone::TMultimodeType |
|
2418 /** |
|
2419 class TMobileSmsCapsV1 ETELMM.H "INC/ETELMM.H" |
|
2420 brief Defines capabilities of SMS messaging |
|
2421 @internalComponent |
|
2422 */ |
|
2423 { |
|
2424 public: |
|
2425 IMPORT_C TMobileSmsCapsV1(); |
|
2426 |
|
2427 TUint32 iSmsMode; |
|
2428 TUint32 iSmsControl; |
|
2429 }; |
|
2430 |
|
2431 typedef TPckg<TMobileSmsCapsV1> TMobileSmsCapsV1Pckg; |
|
2432 |
|
2433 IMPORT_C TInt GetCaps(TDes8& aCaps) const; |
|
2434 |
|
2435 // Definitions for sizes of TPDU and User Data fields |
|
2436 enum |
|
2437 { |
|
2438 KGsmTpduSize = 165 // 140 bytes user data + 25 bytes TPDU header |
|
2439 }; |
|
2440 |
|
2441 typedef TBuf8<KGsmTpduSize> TMobileSmsGsmTpdu; |
|
2442 // |
|
2443 // Enum used by TSY to distinguish which SMS attribute class is used by client |
|
2444 // |
|
2445 |
|
2446 enum TMobileSmsAttributeExtensionId |
|
2447 { |
|
2448 KETelMobileSmsAttributesV1=KETelExtMultimodeV1, |
|
2449 KETelMobileSmsReceiveAttributesV1, |
|
2450 KETelMobileSmsSendAttributesV1 |
|
2451 }; |
|
2452 |
|
2453 enum TMobileSmsAttributeFlags |
|
2454 { |
|
2455 KGsmServiceCentre = 0x00000004, |
|
2456 KSmsDataFormat = 0x00000008, |
|
2457 KRemotePartyInfo = 0x00000010, |
|
2458 KIncomingStatus = 0x00000020, |
|
2459 KStorageLocation = 0x00000040, |
|
2460 KMessageReference = 0x00000080, |
|
2461 KGsmSubmitReport = 0x00000100, |
|
2462 KMoreToSend = 0x00000200 |
|
2463 }; |
|
2464 |
|
2465 enum TMobileSmsDataFormat |
|
2466 { |
|
2467 EFormatUnspecified, |
|
2468 EFormatGsmTpdu |
|
2469 }; |
|
2470 |
|
2471 class TMobileSmsAttributesV1 : public RMobilePhone::TMultimodeType |
|
2472 /** |
|
2473 class TMobileSmsAttributesV1 ETELMM.H "INC/ETELMM.H" |
|
2474 brief Defines common attributes of all SMS messages |
|
2475 @internalComponent |
|
2476 */ |
|
2477 { |
|
2478 protected: |
|
2479 TMobileSmsAttributesV1(); |
|
2480 public: |
|
2481 TUint32 iFlags; |
|
2482 TMobileSmsDataFormat iDataFormat; |
|
2483 RMobilePhone::TMobileAddress iGsmServiceCentre; |
|
2484 }; |
|
2485 |
|
2486 enum TMobileSmsIncomingStatus |
|
2487 { |
|
2488 EMtMessageUnknownStatus, |
|
2489 EMtMessageUnstoredPhoneAck, |
|
2490 EMtMessageUnstoredClientAck, |
|
2491 EMtMessageStored |
|
2492 }; |
|
2493 |
|
2494 class TMobileSmsReceiveAttributesV1 : public TMobileSmsAttributesV1 |
|
2495 /** |
|
2496 class TMobileSmsReceiveAttributesV1 ETELMM.H "INC/ETELMM.H" |
|
2497 brief Defines attributes of incoming SMS messages |
|
2498 @internalComponent |
|
2499 */ |
|
2500 { |
|
2501 public: |
|
2502 IMPORT_C TMobileSmsReceiveAttributesV1(); |
|
2503 public: |
|
2504 TMobileSmsIncomingStatus iStatus; // indicates if MT message is stored phone-side |
|
2505 TInt iStoreIndex;// used if MT message is stored phone-side |
|
2506 RMobilePhone::TMobileName iStore; // used if MT message is stored phone-side |
|
2507 RMobilePhone::TMobileAddress iOriginator; |
|
2508 }; |
|
2509 |
|
2510 typedef TPckg<TMobileSmsReceiveAttributesV1> TMobileSmsReceiveAttributesV1Pckg; |
|
2511 |
|
2512 class TMobileSmsSendAttributesV1 : public TMobileSmsAttributesV1 |
|
2513 /** |
|
2514 class TMobileSmsSendAttributesV1 ETELMM.H "INC/ETELMM.H" |
|
2515 brief Defines attributes of sent SMS messages |
|
2516 @internalComponent |
|
2517 */ |
|
2518 { |
|
2519 public: |
|
2520 IMPORT_C TMobileSmsSendAttributesV1(); |
|
2521 public: |
|
2522 TUint16 iMsgRef; |
|
2523 TBool iMore; |
|
2524 TMobileSmsGsmTpdu iSubmitReport; |
|
2525 RMobilePhone::TMobileAddress iDestination; |
|
2526 }; |
|
2527 |
|
2528 typedef TPckg<TMobileSmsSendAttributesV1> TMobileSmsSendAttributesV1Pckg; |
|
2529 |
|
2530 // |
|
2531 // Setting up the storage & acknowledgement mode |
|
2532 // |
|
2533 |
|
2534 enum TMobileSmsReceiveMode |
|
2535 { |
|
2536 EReceiveModeUnspecified, |
|
2537 EReceiveUnstoredPhoneAck, // client stores but phone acknowledges message |
|
2538 EReceiveUnstoredClientAck, // client acknowledges and stores message |
|
2539 EReceiveStored, // phone acknowledges and store message |
|
2540 EReceiveEither // client deals with stored & unstored messages |
|
2541 }; |
|
2542 |
|
2543 IMPORT_C void SetReceiveMode(TRequestStatus& aReqStatus, TMobileSmsReceiveMode aReceiveMode) const; |
|
2544 IMPORT_C TInt GetReceiveMode(TMobileSmsReceiveMode& aReceiveMode) const; |
|
2545 IMPORT_C void NotifyReceiveModeChange(TRequestStatus& aStatus, TMobileSmsReceiveMode& aReceiveMode); |
|
2546 |
|
2547 // |
|
2548 // Incoming SMS |
|
2549 // |
|
2550 |
|
2551 IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
2552 |
|
2553 // |
|
2554 // Responding to incoming SMS |
|
2555 // |
|
2556 |
|
2557 IMPORT_C void AckSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TBool aFull=EFalse) const; |
|
2558 IMPORT_C void NackSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsg, TInt aRpCause) const; |
|
2559 IMPORT_C void ResumeSmsReception(TRequestStatus& aReqStatus) const; |
|
2560 |
|
2561 // |
|
2562 // Outgoing SMS |
|
2563 // |
|
2564 |
|
2565 IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const; |
|
2566 |
|
2567 enum TMobileSmsBearer |
|
2568 { |
|
2569 ESmsBearerPacketOnly, |
|
2570 ESmsBearerCircuitOnly, |
|
2571 ESmsBearerPacketPreferred, |
|
2572 ESmsBearerCircuitPreferred |
|
2573 }; |
|
2574 |
|
2575 IMPORT_C void SetMoSmsBearer(TRequestStatus& aReqStatus, TMobileSmsBearer aBearer) const; |
|
2576 IMPORT_C TInt GetMoSmsBearer(TMobileSmsBearer& aBearer) const; |
|
2577 IMPORT_C void NotifyMoSmsBearerChange(TRequestStatus& aReqStatus, TMobileSmsBearer& aBearer); |
|
2578 |
|
2579 // |
|
2580 // Get information on phone-side SMS storage |
|
2581 // |
|
2582 |
|
2583 IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const; |
|
2584 IMPORT_C void GetMessageStoreInfo(TRequestStatus& aReqStatus, TInt aIndex, TDes8& aInfo) const; |
|
2585 |
|
2586 // |
|
2587 // Read/Write SMS parameters to phone-side storage |
|
2588 // |
|
2589 |
|
2590 enum { KMaxSmspTextSize=30 }; |
|
2591 |
|
2592 enum TMobileSmspStoreValidParams |
|
2593 { |
|
2594 KDestinationIncluded=0x00000001, |
|
2595 KSCAIncluded=0x00000002, |
|
2596 KProtocolIdIncluded=0x00000004, |
|
2597 KDcsIncluded=0x00000008, |
|
2598 KValidityPeriodIncluded=0x00000010 |
|
2599 }; |
|
2600 |
|
2601 class TMobileSmspEntryV1 : public RMobilePhone::TMultimodeType |
|
2602 /** |
|
2603 @internalComponent |
|
2604 */ |
|
2605 { |
|
2606 public: |
|
2607 IMPORT_C TMobileSmspEntryV1(); |
|
2608 public: |
|
2609 void InternalizeL(RReadStream& aStream); |
|
2610 void ExternalizeL(RWriteStream& aStream) const; |
|
2611 public: |
|
2612 TInt iIndex; |
|
2613 TUint32 iValidParams; |
|
2614 TUint8 iProtocolId; |
|
2615 TUint8 iDcs; |
|
2616 TUint8 iValidityPeriod; |
|
2617 TUint8 iReservedFiller; |
|
2618 RMobilePhone::TMobileAddress iDestination; |
|
2619 RMobilePhone::TMobileAddress iServiceCentre; |
|
2620 TBuf<KMaxSmspTextSize> iText; |
|
2621 }; |
|
2622 |
|
2623 typedef TPckg<TMobileSmspEntryV1> TMobileSmspEntryV1Pckg; |
|
2624 IMPORT_C void StoreSmspListL(TRequestStatus& aReqStatus, CMobilePhoneSmspList* aSmspList) const; |
|
2625 IMPORT_C void NotifySmspListChange(TRequestStatus& aReqStatus) const; |
|
2626 |
|
2627 private: |
|
2628 RMobileSmsMessaging(const RMobileSmsMessaging&); |
|
2629 CSmsMessagingPtrHolder* iSmsMessagingPtrHolder; |
|
2630 protected: |
|
2631 IMPORT_C void ConstructL(); |
|
2632 IMPORT_C void Destruct(); |
|
2633 }; |
|
2634 |
|
2635 |
|
2636 /*********************************************************/ |
|
2637 // |
|
2638 // Broadcast Messaging (RMobileBroadcastMessaging) |
|
2639 // |
|
2640 /*********************************************************/ |
|
2641 |
|
2642 class CMobilePhoneBroadcastIdList; |
|
2643 class CCbsMessagingPtrHolder; |
|
2644 class RMobileBroadcastMessaging : public RTelSubSessionBase |
|
2645 /** |
|
2646 class RMobileBroadcastMessaging ETELMM.H "INC/ETELMM.H" |
|
2647 brief Provides client access to Broadcast messaging functionality provided by TSY |
|
2648 RMobileBroadcastMessaging inherits from RTelSubSessionBase defined in ETEL.H |
|
2649 @internalComponent |
|
2650 */ |
|
2651 { |
|
2652 public: |
|
2653 |
|
2654 friend class CRetrieveMobilePhoneBroadcastIdList; |
|
2655 |
|
2656 IMPORT_C RMobileBroadcastMessaging(); |
|
2657 |
|
2658 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
2659 IMPORT_C void Close(); |
|
2660 |
|
2661 // |
|
2662 // Broadcast messaging capabilities |
|
2663 // |
|
2664 |
|
2665 enum TMobileBroadcastModeCaps |
|
2666 { |
|
2667 KCapsGsmTpduFormat = 0x00000001 |
|
2668 }; |
|
2669 |
|
2670 enum TBroadcastMessagingFilterCaps |
|
2671 { |
|
2672 KCapsSimpleFilter = 0x00000001, |
|
2673 KCapsLangFilter = 0x00000002, |
|
2674 KCapsIdFilter = 0x00000004 |
|
2675 }; |
|
2676 |
|
2677 |
|
2678 class TMobileBroadcastCapsV1 : public RMobilePhone::TMultimodeType |
|
2679 /** |
|
2680 class TMobileBroadcastCapsV1 ETELMM.H "INC/ETELMM.H" |
|
2681 brief Defines capabilities of Broadcast messaging |
|
2682 @internalComponent |
|
2683 */ |
|
2684 { |
|
2685 public: |
|
2686 IMPORT_C TMobileBroadcastCapsV1(); |
|
2687 public: |
|
2688 TUint32 iModeCaps; |
|
2689 TUint32 iFilterCaps; |
|
2690 }; |
|
2691 |
|
2692 typedef TPckg<TMobileBroadcastCapsV1> TMobileBroadcastCapsV1Pckg; |
|
2693 |
|
2694 IMPORT_C TInt GetCaps(TDes8& aCaps) const; |
|
2695 |
|
2696 enum TMobileBroadcastAttributeFlags |
|
2697 { |
|
2698 KBroadcastDataFormat = 0x00000001 |
|
2699 }; |
|
2700 |
|
2701 enum TMobileBroadcastDataFormat |
|
2702 { |
|
2703 EFormatUnspecified, |
|
2704 EFormatGsmTpdu |
|
2705 }; |
|
2706 |
|
2707 class TMobileBroadcastAttributesV1 : public RMobilePhone::TMultimodeType |
|
2708 /** |
|
2709 class TMobileBroadcastAttributesV1 ETELMM.H "INC/ETELMM.H" |
|
2710 brief Defines attributes of a Broadcast message |
|
2711 @internalComponent |
|
2712 */ |
|
2713 { |
|
2714 public: |
|
2715 IMPORT_C TMobileBroadcastAttributesV1(); |
|
2716 public: |
|
2717 TUint32 iFlags; |
|
2718 TMobileBroadcastDataFormat iFormat; |
|
2719 TInt iServiceCategory; |
|
2720 }; |
|
2721 |
|
2722 typedef TPckg<TMobileBroadcastAttributesV1> TMobileBroadcastAttributesV1Pckg; |
|
2723 |
|
2724 // |
|
2725 // Receiving broadcast messages |
|
2726 // |
|
2727 |
|
2728 enum |
|
2729 { |
|
2730 KGsmBroadcastDataSize = 88 |
|
2731 }; |
|
2732 |
|
2733 typedef TBuf8<KGsmBroadcastDataSize> TGsmBroadcastMessageData; |
|
2734 |
|
2735 IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
2736 |
|
2737 // |
|
2738 // Filters |
|
2739 // |
|
2740 |
|
2741 enum TMobilePhoneBroadcastFilter |
|
2742 { |
|
2743 EBroadcastFilterUnspecified, |
|
2744 EBroadcastAcceptNone, |
|
2745 EBroadcastAcceptAll, |
|
2746 EBroadcastAcceptFilter, |
|
2747 EBroadcastRejectFilter |
|
2748 }; |
|
2749 |
|
2750 IMPORT_C TInt GetFilterSetting(TMobilePhoneBroadcastFilter& aSetting) const; |
|
2751 IMPORT_C void SetFilterSetting(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter aSetting) const; |
|
2752 IMPORT_C void NotifyFilterSettingChange(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter& aSetting) const; |
|
2753 |
|
2754 IMPORT_C void GetLanguageFilter(TRequestStatus& aReqStatus, TDes16& aLangFilter) const; |
|
2755 IMPORT_C void SetLanguageFilter(TRequestStatus& aReqStatus, const TDesC16& aLangFilter) const; |
|
2756 IMPORT_C void NotifyLanguageFilterChange(TRequestStatus& aReqStatus, TDes16& aLangFilter) const; |
|
2757 |
|
2758 class TMobileBroadcastIdEntryV1 : public RMobilePhone::TMultimodeType |
|
2759 /** |
|
2760 class TMobileBroadcastIdEntryV1 ETELMM.H "INC/ETELMM.H" |
|
2761 brief In GSM - defines a Cell Broadcast Message Identifier (CBMI) list entry |
|
2762 brief In CDMA - defines a Service Category list entry |
|
2763 @internalComponent |
|
2764 */ |
|
2765 { |
|
2766 public: |
|
2767 void InternalizeL(RReadStream& aStream); |
|
2768 void ExternalizeL(RWriteStream& aStream) const; |
|
2769 IMPORT_C TMobileBroadcastIdEntryV1(); |
|
2770 public: |
|
2771 TUint16 iId; |
|
2772 }; |
|
2773 |
|
2774 enum TMobileBroadcastIdType |
|
2775 { |
|
2776 EGsmBroadcastId |
|
2777 }; |
|
2778 |
|
2779 IMPORT_C void StoreBroadcastIdListL(TRequestStatus& aReqStatus, CMobilePhoneBroadcastIdList* aIdList, TMobileBroadcastIdType aIdType); |
|
2780 IMPORT_C void NotifyBroadcastIdListChange(TRequestStatus& aReqStatus) const; |
|
2781 |
|
2782 private: |
|
2783 RMobileBroadcastMessaging(const RMobileBroadcastMessaging&); |
|
2784 CCbsMessagingPtrHolder* iCbsMessagingPtrHolder; |
|
2785 protected: |
|
2786 IMPORT_C void ConstructL(); |
|
2787 IMPORT_C void Destruct(); |
|
2788 }; |
|
2789 |
|
2790 /*********************************************************/ |
|
2791 // |
|
2792 // USSD Messaging (RMobileUssdMessaging) |
|
2793 // |
|
2794 /*********************************************************/ |
|
2795 |
|
2796 class CUssdMessagingPtrHolder; |
|
2797 class RMobileUssdMessaging : public RTelSubSessionBase |
|
2798 /** |
|
2799 class RMobileUssdMessaging Etelmm.h "inc/Etelmm.h" |
|
2800 brief Provides client access to USSD functionality provided by TSY |
|
2801 RMobileUssdMessaging inherits from RTelSubSessionBase defined in ETEL.H |
|
2802 @internalComponent |
|
2803 */ |
|
2804 { |
|
2805 public: |
|
2806 IMPORT_C RMobileUssdMessaging(); |
|
2807 |
|
2808 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
2809 IMPORT_C void Close(); |
|
2810 |
|
2811 enum TMobileUssdFormatCaps |
|
2812 { |
|
2813 KCapsPackedString=0x00000001 |
|
2814 }; |
|
2815 |
|
2816 enum TMobileUssdTypeCaps |
|
2817 { |
|
2818 KCapsMOUssd=0x00000001, |
|
2819 KCapsMTUssd=0x00000002 |
|
2820 }; |
|
2821 |
|
2822 class TMobileUssdCapsV1 : public RMobilePhone::TMultimodeType |
|
2823 /** |
|
2824 class TMobileUssdCapsV1 ETELMM.H "INC/ETELMM.H" |
|
2825 brief Defines capabilities of USSD messaging |
|
2826 @internalComponent |
|
2827 */ |
|
2828 { |
|
2829 public: |
|
2830 IMPORT_C TMobileUssdCapsV1(); |
|
2831 TUint32 iUssdFormat; |
|
2832 TUint32 iUssdTypes; |
|
2833 }; |
|
2834 |
|
2835 typedef TPckg<TMobileUssdCapsV1> TMobileUssdCapsV1Pckg; |
|
2836 |
|
2837 IMPORT_C TInt GetCaps(TDes8& aCaps) const; |
|
2838 |
|
2839 enum TMobileUssdAttributeFlags |
|
2840 { |
|
2841 KUssdDataFormat = 0x00000001, |
|
2842 KUssdMessageType = 0x00000002, |
|
2843 KUssdMessageDcs = 0x00000004 |
|
2844 }; |
|
2845 |
|
2846 enum TMobileUssdDataFormat |
|
2847 { |
|
2848 EFormatUnspecified, |
|
2849 EFormatPackedString |
|
2850 }; |
|
2851 |
|
2852 enum TMobileUssdMessageType |
|
2853 { |
|
2854 EUssdUnknown, |
|
2855 EUssdMORequest, |
|
2856 EUssdMOReply, |
|
2857 EUssdMTNotify, |
|
2858 EUssdMTRequest, |
|
2859 EUssdMTReply |
|
2860 }; |
|
2861 |
|
2862 class TMobileUssdAttributesV1 : public RMobilePhone::TMultimodeType |
|
2863 /** |
|
2864 class TMobileUssdAttributesV1 ETELMM.H "INC/ETELMM.H" |
|
2865 brief Defines attributes of a USSD message |
|
2866 @internalComponent |
|
2867 */ |
|
2868 { |
|
2869 public: |
|
2870 IMPORT_C TMobileUssdAttributesV1(); |
|
2871 public: |
|
2872 TUint32 iFlags; |
|
2873 TMobileUssdDataFormat iFormat; |
|
2874 TMobileUssdMessageType iType; |
|
2875 TUint8 iDcs; |
|
2876 }; |
|
2877 |
|
2878 typedef TPckg<TMobileUssdAttributesV1> TMobileUssdAttributesV1Pckg; |
|
2879 |
|
2880 // |
|
2881 // Receiving USSD messages |
|
2882 // |
|
2883 |
|
2884 enum |
|
2885 { |
|
2886 KGsmUssdDataSize = 160 |
|
2887 }; |
|
2888 |
|
2889 typedef TBuf8<KGsmUssdDataSize> TGsmUssdMessageData; |
|
2890 |
|
2891 IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const; |
|
2892 |
|
2893 // |
|
2894 // Sending USSD messages |
|
2895 // |
|
2896 |
|
2897 IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const; |
|
2898 |
|
2899 private: |
|
2900 RMobileUssdMessaging(const RMobileUssdMessaging&); |
|
2901 CUssdMessagingPtrHolder* iUssdMessagingPtrHolder; |
|
2902 protected: |
|
2903 IMPORT_C void ConstructL(); |
|
2904 IMPORT_C void Destruct(); |
|
2905 }; |
|
2906 |
|
2907 |
|
2908 |
|
2909 /*********************************************************/ |
|
2910 // |
|
2911 // SMS Message Storage (RMobileSmsStore) |
|
2912 // |
|
2913 /*********************************************************/ |
|
2914 |
|
2915 class CSmsStorePtrHolder; |
|
2916 class CMobilePhoneSmsList; |
|
2917 class RMobileSmsStore : public RMobilePhoneStore |
|
2918 /** |
|
2919 class RMobileSmsStore ETELMM.H "INC/ETELMM.H" |
|
2920 brief Provides client access to SMS storage functionality provided by TSY |
|
2921 RMobileSmsStore inherits from RMobilePhoneStore defined in ETELMM.H |
|
2922 @internalComponent |
|
2923 */ |
|
2924 { |
|
2925 public: |
|
2926 |
|
2927 IMPORT_C RMobileSmsStore(); |
|
2928 IMPORT_C TInt Open(RMobileSmsMessaging& aMessaging, const TDesC& aStoreName); |
|
2929 IMPORT_C void Close(); |
|
2930 |
|
2931 enum TMobileSmsStoreCaps |
|
2932 { |
|
2933 KCapsUnreadMessages = 0x00000001, |
|
2934 KCapsReadMessages = 0x00000002, |
|
2935 KCapsSentMessages = 0x00000004, |
|
2936 KCapsUnsentMessages = 0x00000008, |
|
2937 KCapsGsmMessages = 0x00000010 |
|
2938 }; |
|
2939 |
|
2940 enum TMobileSmsStoreStatus |
|
2941 { |
|
2942 EStoredMessageUnknownStatus, |
|
2943 EStoredMessageUnread, |
|
2944 EStoredMessageRead, |
|
2945 EStoredMessageUnsent, |
|
2946 EStoredMessageSent, |
|
2947 EStoredMessageDelivered |
|
2948 }; |
|
2949 |
|
2950 // |
|
2951 // Enum used by TSY to distinguish which SMS entry class is used by client |
|
2952 // |
|
2953 |
|
2954 enum TMobileSmsEntryExtensionId |
|
2955 { |
|
2956 KETelMobileSmsEntryV1=KETelExtMultimodeV1, |
|
2957 KETelMobileGsmSmsEntryV1 |
|
2958 }; |
|
2959 |
|
2960 class TMobileSmsEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
2961 /** |
|
2962 class TMobileSmsEntryV1 ETELMM.H "INC/ETELMM.H" |
|
2963 brief Defines contents of a fixed-size, stored SMS entry |
|
2964 @internalComponent |
|
2965 */ |
|
2966 { |
|
2967 public: |
|
2968 void InternalizeL(RReadStream& aStream); |
|
2969 void ExternalizeL(RWriteStream& aStream) const; |
|
2970 protected: |
|
2971 TMobileSmsEntryV1(); |
|
2972 public: |
|
2973 TMobileSmsStoreStatus iMsgStatus; |
|
2974 }; |
|
2975 |
|
2976 class TMobileGsmSmsEntryV1 : public TMobileSmsEntryV1 |
|
2977 /** |
|
2978 @internalComponent |
|
2979 */ |
|
2980 { |
|
2981 public: |
|
2982 void InternalizeL(RReadStream& aStream); |
|
2983 void ExternalizeL(RWriteStream& aStream) const; |
|
2984 public: |
|
2985 IMPORT_C TMobileGsmSmsEntryV1(); |
|
2986 public: |
|
2987 RMobilePhone::TMobileAddress iServiceCentre; |
|
2988 RMobileSmsMessaging::TMobileSmsGsmTpdu iMsgData; |
|
2989 }; |
|
2990 |
|
2991 typedef TPckg<TMobileGsmSmsEntryV1> TMobileGsmSmsEntryV1Pckg; |
|
2992 |
|
2993 protected: |
|
2994 IMPORT_C void ConstructL(); |
|
2995 private: |
|
2996 RMobileSmsStore(const RMobileSmsStore&); |
|
2997 }; |
|
2998 |
|
2999 /*********************************************************/ |
|
3000 // |
|
3001 // NAM Storage (RMobileNamStore) |
|
3002 // |
|
3003 /*********************************************************/ |
|
3004 |
|
3005 |
|
3006 class CNamStorePtrHolder; |
|
3007 class CMobilePhoneNamList; |
|
3008 |
|
3009 class RMobileNamStore : public RMobilePhoneStore |
|
3010 /** |
|
3011 class RMobileNamStore ETELMM.H "INC/ETELMM.H" |
|
3012 brief Provides client access to NAM storage functionality provided by TSY |
|
3013 RMobileNamStore inherits from RMobilePhoneStore defined in ETELMM.H |
|
3014 @internalComponent |
|
3015 */ |
|
3016 { |
|
3017 public: |
|
3018 IMPORT_C RMobileNamStore(); |
|
3019 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
3020 IMPORT_C void Close(); |
|
3021 |
|
3022 class TMobileNamStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1 |
|
3023 /** |
|
3024 class TMobileNamStoreInfoV1 ETELMM.H "INC/ETELMM.H" |
|
3025 brief Defines information about a NAM store |
|
3026 @internalComponent |
|
3027 */ |
|
3028 { |
|
3029 public: |
|
3030 IMPORT_C TMobileNamStoreInfoV1(); |
|
3031 public: |
|
3032 TInt iNamCount; |
|
3033 TInt iActiveNam; |
|
3034 }; |
|
3035 |
|
3036 typedef TPckg<TMobileNamStoreInfoV1> TMobileNamStoreInfoV1Pckg; |
|
3037 |
|
3038 IMPORT_C void SetActiveNam(TRequestStatus& aReqStatus, TInt aNamId) const; |
|
3039 |
|
3040 enum |
|
3041 { |
|
3042 KMaxNamParamSize = 32 |
|
3043 }; |
|
3044 |
|
3045 class TMobileNamEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
3046 /** |
|
3047 class TMobileNamEntryV1 ETELMM.H "INC/ETELMM.H" |
|
3048 brief Defines contents of a NAM store entry |
|
3049 @internalComponent |
|
3050 */ |
|
3051 { |
|
3052 public: |
|
3053 IMPORT_C TMobileNamEntryV1(); |
|
3054 public: |
|
3055 void InternalizeL(RReadStream& aStream); |
|
3056 void ExternalizeL(RWriteStream& aStream) const; |
|
3057 public: |
|
3058 TInt iNamId; |
|
3059 TInt iParamIdentifier; |
|
3060 TBuf8<KMaxNamParamSize> iData; |
|
3061 }; |
|
3062 |
|
3063 typedef TPckg<TMobileNamEntryV1> TMobileNamEntryV1Pckg; |
|
3064 |
|
3065 IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamList* aNamList) const; |
|
3066 |
|
3067 protected: |
|
3068 IMPORT_C void ConstructL(); |
|
3069 private: |
|
3070 RMobileNamStore(const RMobileNamStore&); |
|
3071 }; |
|
3072 |
|
3073 |
|
3074 /*********************************************************/ |
|
3075 // |
|
3076 // Own Number Storage (RMobileONStore) |
|
3077 // |
|
3078 /*********************************************************/ |
|
3079 |
|
3080 |
|
3081 class CONStorePtrHolder; |
|
3082 class CMobilePhoneONList; |
|
3083 |
|
3084 class RMobileONStore : public RMobilePhoneStore |
|
3085 /** |
|
3086 class RMobileONStore ETELMM.H "INC/ETELMM.H" |
|
3087 brief Provides client access to Own Number storage functionality provided by TSY |
|
3088 RMobileONStore inherits from RMobilePhoneStore defined in ETELMM.H |
|
3089 @internalComponent |
|
3090 */ |
|
3091 { |
|
3092 public: |
|
3093 IMPORT_C RMobileONStore(); |
|
3094 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
3095 IMPORT_C void Close(); |
|
3096 |
|
3097 class TMobileONStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1 |
|
3098 /** |
|
3099 class TMobileONStoreInfoV1 ETELMM.H "INC/ETELMM.H" |
|
3100 brief Defines information about an Own Number store |
|
3101 @internalComponent |
|
3102 */ |
|
3103 { |
|
3104 public: |
|
3105 IMPORT_C TMobileONStoreInfoV1(); |
|
3106 public: |
|
3107 TInt iNumberLen; |
|
3108 TInt iTextLen; |
|
3109 }; |
|
3110 |
|
3111 typedef TPckg<TMobileONStoreInfoV1> TMobileONStoreInfoV1Pckg; |
|
3112 |
|
3113 enum |
|
3114 { |
|
3115 KOwnNumberTextSize = 20 |
|
3116 }; |
|
3117 |
|
3118 class TMobileONEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
3119 /** |
|
3120 class TMobileONEntryV1 ETELMM.H "INC/ETELMM.H" |
|
3121 brief Defines contents of a Own Number store entry |
|
3122 @internalComponent |
|
3123 */ |
|
3124 { |
|
3125 public: |
|
3126 IMPORT_C TMobileONEntryV1(); |
|
3127 public: |
|
3128 void InternalizeL(RReadStream& aStream); |
|
3129 void ExternalizeL(RWriteStream& aStream) const; |
|
3130 public: |
|
3131 RMobilePhone::TMobilePhoneNetworkMode iMode; |
|
3132 RMobilePhone::TMobileService iService; |
|
3133 RMobilePhone::TMobileAddress iNumber; |
|
3134 TBuf<KOwnNumberTextSize> iText; |
|
3135 }; |
|
3136 |
|
3137 typedef TPckg<TMobileONEntryV1> TMobileONEntryV1Pckg; |
|
3138 |
|
3139 IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, CMobilePhoneONList* aONList) const; |
|
3140 |
|
3141 protected: |
|
3142 IMPORT_C void ConstructL(); |
|
3143 private: |
|
3144 RMobileONStore(const RMobileONStore&); |
|
3145 }; |
|
3146 |
|
3147 /*********************************************************/ |
|
3148 // |
|
3149 // Emergency Number Storage (RMobileENStore) |
|
3150 // |
|
3151 /*********************************************************/ |
|
3152 |
|
3153 |
|
3154 class CMobilePhoneENList; |
|
3155 |
|
3156 class RMobileENStore : public RMobilePhoneStore |
|
3157 /** |
|
3158 class RMobileENStore ETELMM.H "INC/ETELMM.H" |
|
3159 brief Provides client access to Emergency Number storage functionality provided by TSY |
|
3160 RMobileENStore inherits from RMobilePhoneStore defined in ETELMM.H |
|
3161 @internalComponent |
|
3162 */ |
|
3163 { |
|
3164 public: |
|
3165 IMPORT_C RMobileENStore(); |
|
3166 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
3167 IMPORT_C void Close(); |
|
3168 |
|
3169 enum |
|
3170 { |
|
3171 KEmergencyNumberSize = 6, |
|
3172 KEmergencyAlphaTagSize = 20 |
|
3173 }; |
|
3174 |
|
3175 typedef TBuf<KEmergencyNumberSize> TEmergencyNumber; |
|
3176 |
|
3177 class TMobileENEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1 |
|
3178 /** |
|
3179 class TMobileENEntryV1 ETELMM.H "INC/ETELMM.H" |
|
3180 brief Defines contents of a Emergency Number store entry |
|
3181 @internalComponent |
|
3182 */ |
|
3183 { |
|
3184 public: |
|
3185 IMPORT_C TMobileENEntryV1(); |
|
3186 public: |
|
3187 void InternalizeL(RReadStream& aStream); |
|
3188 void ExternalizeL(RWriteStream& aStream) const; |
|
3189 public: |
|
3190 TBool iNetworkSpecific; |
|
3191 RMobilePhone::TMobilePhoneNetworkMode iMode; |
|
3192 RMobilePhone::TMobilePhoneNetworkCountryCode iCountryCode; |
|
3193 RMobilePhone::TMobilePhoneNetworkIdentity iIdentity; |
|
3194 TEmergencyNumber iNumber; |
|
3195 TBuf<KEmergencyAlphaTagSize> iAlphaId; |
|
3196 TInt iCallType; |
|
3197 }; |
|
3198 |
|
3199 typedef TPckg<TMobileENEntryV1> TMobileENEntryV1Pckg; |
|
3200 |
|
3201 protected: |
|
3202 IMPORT_C void ConstructL(); |
|
3203 private: |
|
3204 RMobileENStore(const RMobileENStore&); |
|
3205 }; |
|
3206 |
|
3207 |
|
3208 /*********************************************************/ |
|
3209 // |
|
3210 // RMobilePhoneBookStore |
|
3211 // |
|
3212 /*********************************************************/ |
|
3213 |
|
3214 class CPhoneBookStorePtrHolder; |
|
3215 class CMobilePhoneBookList; |
|
3216 |
|
3217 class RMobilePhoneBookStore : public RMobilePhoneStore |
|
3218 /** |
|
3219 class RMobilePhoneBookStore ETELMM.H "INC/ETELMM.H" |
|
3220 brief Provides client access to Phonebook storage functionality provided by TSY |
|
3221 RMobilePhoneBookStore inherits from RMobilePhoneStore defined in ETELMM.H |
|
3222 @internalComponent |
|
3223 */ |
|
3224 { |
|
3225 public: |
|
3226 IMPORT_C RMobilePhoneBookStore(); |
|
3227 IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore); |
|
3228 IMPORT_C void Close(); |
|
3229 |
|
3230 enum TMobilePhoneBookCaps |
|
3231 { |
|
3232 KCapsRestrictedWriteAccess = 0x00000001, |
|
3233 KCapsSecondNameUsed = 0x00000002, |
|
3234 KCapsAdditionalNumUsed = 0x00000004, |
|
3235 KCapsGroupingUsed = 0x00000008, |
|
3236 KCapsEntryControlUsed = 0x00000010, |
|
3237 KCapsEmailAddressUsed = 0x00000020, |
|
3238 KCapsBearerCapUsed = 0x00000040, |
|
3239 KCapsSynchronisationUsed = 0x00000080 |
|
3240 }; |
|
3241 |
|
3242 enum TMobilePhoneBookLocation |
|
3243 { |
|
3244 ELocationUnknown, |
|
3245 ELocationIccMemory, |
|
3246 ELocationPhoneMemory, |
|
3247 ELocationExternalMemory, |
|
3248 ELocationCombinedMemory |
|
3249 }; |
|
3250 |
|
3251 enum |
|
3252 { |
|
3253 KMaxPBIDSize=15 |
|
3254 }; |
|
3255 |
|
3256 typedef TBuf8<KMaxPBIDSize> TMobilePhoneBookIdentity; |
|
3257 |
|
3258 class TMobilePhoneBookInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1 |
|
3259 /** |
|
3260 class TMobilePhoneBookInfoV1 ETELMM.H "INC/ETELMM.H" |
|
3261 brief Defines information about a Phonebook store |
|
3262 @internalComponent |
|
3263 */ |
|
3264 { |
|
3265 public: |
|
3266 IMPORT_C TMobilePhoneBookInfoV1(); |
|
3267 public: |
|
3268 TInt iMaxNumLength; |
|
3269 TInt iMaxTextLength; |
|
3270 TMobilePhoneBookLocation iLocation; |
|
3271 TUint16 iChangeCounter; |
|
3272 TMobilePhoneBookIdentity iIdentity; |
|
3273 }; |
|
3274 |
|
3275 typedef TPckg<TMobilePhoneBookInfoV1> TMobilePhoneBookInfoV1Pckg; |
|
3276 |
|
3277 // check these fields - not sure all are correct |
|
3278 enum TMobilePBFieldTags |
|
3279 { |
|
3280 ETagPBNewEntry =0xA0, |
|
3281 ETagPBUniqueId =0xB0, |
|
3282 ETagPBAdnIndex =0xC0, |
|
3283 ETagPBText =0xC1, |
|
3284 ETagPBNumber =0xC2, |
|
3285 ETagPBTonNpi =0xC3, |
|
3286 ETagPBBearerCap =0xC4, |
|
3287 ETagPBAnrStart =0xC5, |
|
3288 ETagPBSecondName =0xC6, |
|
3289 ETagPBGroupName =0xC7, |
|
3290 ETagPBEmailAddress =0xC8, |
|
3291 ETagPBEntryControl =0xC9, |
|
3292 ETagPBHiddenInfo =0xCA |
|
3293 }; |
|
3294 |
|
3295 |
|
3296 // API/TSY internal type |
|
3297 struct TPBIndexAndNumEntries |
|
3298 { |
|
3299 TInt iIndex; |
|
3300 TInt iNumEntries; |
|
3301 }; |
|
3302 |
|
3303 IMPORT_C void Read(TRequestStatus& aReqStatus, TInt aIndex, TInt aNumEntries, TDes8& aPBData) const; |
|
3304 IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aPBData, TInt& aIndex) const; |
|
3305 |
|
3306 protected: |
|
3307 IMPORT_C void ConstructL(); |
|
3308 private: |
|
3309 RMobilePhoneBookStore(const RMobilePhoneBookStore&); |
|
3310 }; |
|
3311 |
|
3312 /*********************************************************/ |
|
3313 // |
|
3314 // RMobileConferenceCall |
|
3315 // |
|
3316 /*********************************************************/ |
|
3317 |
|
3318 class CMobileConferenceCallPtrHolder; |
|
3319 |
|
3320 class RMobileConferenceCall : public RTelSubSessionBase |
|
3321 /** |
|
3322 class RMobileConferenceCall ETELMM.H "INC/ETELMM.H" |
|
3323 brief Provides client access to conference call functionality provided by TSY |
|
3324 RMobileConferenceCall inherits from RTelSubSessionBase defined in ETEL.H |
|
3325 @internalComponent |
|
3326 */ |
|
3327 { |
|
3328 public: |
|
3329 IMPORT_C RMobileConferenceCall(); |
|
3330 IMPORT_C TInt Open(RMobilePhone& aPhone); |
|
3331 IMPORT_C void Close(); |
|
3332 |
|
3333 enum TMobileConferenceCallCaps |
|
3334 { |
|
3335 KCapsCreate = 0x00000001, |
|
3336 KCapsHangUp = 0x00000002, |
|
3337 KCapsSwap = 0x00000004 |
|
3338 }; |
|
3339 |
|
3340 IMPORT_C TInt GetCaps(TUint32& aCaps) const; |
|
3341 IMPORT_C void NotifyCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const; |
|
3342 |
|
3343 IMPORT_C void CreateConference(TRequestStatus& aReqStatus) const; |
|
3344 IMPORT_C void AddCall(TRequestStatus& aReqStatus, const TName& aCallName) const; |
|
3345 IMPORT_C void Swap(TRequestStatus& aReqStatus) const; |
|
3346 IMPORT_C void HangUp(TRequestStatus& aReqStatus) const; |
|
3347 IMPORT_C TInt EnumerateCalls(TInt& aCount) const; |
|
3348 IMPORT_C TInt GetMobileCallInfo(TInt aIndex, TDes8& aCallInfo) const; |
|
3349 |
|
3350 enum TMobileConferenceStatus |
|
3351 { |
|
3352 EConferenceIdle, |
|
3353 EConferenceActive, |
|
3354 EConferenceHold |
|
3355 }; |
|
3356 |
|
3357 IMPORT_C TInt GetConferenceStatus(TMobileConferenceStatus& aStatus) const; |
|
3358 IMPORT_C void NotifyConferenceStatusChange(TRequestStatus& aReqStatus, TMobileConferenceStatus& aStatus) const; |
|
3359 |
|
3360 enum TMobileConferenceEvent |
|
3361 { |
|
3362 EConferenceCallAdded, |
|
3363 EConferenceCallRemoved |
|
3364 }; |
|
3365 |
|
3366 IMPORT_C void NotifyConferenceEvent(TRequestStatus& aReqStatus, TMobileConferenceEvent& aEvent, TName& aCallName) const; |
|
3367 |
|
3368 private: |
|
3369 CMobileConferenceCallPtrHolder* iMmPtrHolder; |
|
3370 RMobileConferenceCall(const RMobileConferenceCall&); |
|
3371 protected: |
|
3372 IMPORT_C void ConstructL(); |
|
3373 IMPORT_C void Destruct(); |
|
3374 }; |
|
3375 |
|
3376 |
|
3377 |
|
3378 #endif |