epoc32/include/etelmm.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
     1.1 --- a/epoc32/include/etelmm.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,14103 +0,0 @@
     1.4 -// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 -// All rights reserved.
     1.6 -// This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 -// which accompanies this distribution, and is available
     1.9 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 -//
    1.11 -// Initial Contributors:
    1.12 -// Nokia Corporation - initial contribution.
    1.13 -//
    1.14 -// Contributors:
    1.15 -//
    1.16 -// Description:
    1.17 -// Multimode ETel API header file.
    1.18 -// Describes the MM ETel API - classes, methods and types.
    1.19 -// 
    1.20 -//
    1.21 -
    1.22 -
    1.23 -
    1.24 -/**
    1.25 - @file
    1.26 - @publishedPartner
    1.27 - @released
    1.28 -*/
    1.29 -
    1.30 -#ifndef __ETELMM_H__
    1.31 -#define __ETELMM_H__
    1.32 -
    1.33 -#include <e32base.h>
    1.34 -#include <s32mem.h>
    1.35 -#include <etel.h>
    1.36 -#include <etelmmcs.h>
    1.37 -
    1.38 -
    1.39 -/** 
    1.40 -Internal API/TSY delimiter used to pass the phonebook type
    1.41 -*/
    1.42 -#define PHBOOK_DELIMITER		_L("//")
    1.43 -/** The size of the phone book delimiter string.
    1.44 -@internalComponent
    1.45 - */
    1.46 -const TInt KSizeOfPhbookDelimiter=2;
    1.47 -
    1.48 -/**
    1.49 -Names for Multimode ETel sub-sessions
    1.50 -*/
    1.51 -_LIT(KETelMeAdnPhoneBook,"S1");
    1.52 -_LIT(KETelMeDialledPhoneBook,"S2");
    1.53 -_LIT(KETelMeMissedPhoneBook,"S3");
    1.54 -_LIT(KETelMeReceivedPhoneBook,"S4");
    1.55 -_LIT(KETelCombinedAdnPhoneBook,"S5");
    1.56 -_LIT(KETelTaAdnPhoneBook,"S6");
    1.57 -_LIT(KETelIccAdnPhoneBook,"S7");
    1.58 -_LIT(KETelIccFdnPhoneBook,"S8");
    1.59 -_LIT(KETelIccSdnPhoneBook,"S9");
    1.60 -_LIT(KETelIccBdnPhoneBook,"S10");
    1.61 -_LIT(KETelIccLndPhoneBook,"S11");
    1.62 -_LIT(KETelIccVoiceMailBox,"S12");
    1.63 -
    1.64 -_LIT(KETelMeSmsStore,"S13");
    1.65 -_LIT(KETelIccSmsStore,"S14");
    1.66 -_LIT(KETelCombinedSmsStore,"S15");
    1.67 -
    1.68 -_LIT(KETelNamStore,"S16");
    1.69 -_LIT(KETelOwnNumberStore,"S17");
    1.70 -_LIT(KETelEmergencyNumberStore,"S18");
    1.71 -
    1.72 -_LIT(KETelSmsMessaging,"S19");
    1.73 -_LIT(KETelBroadcastMessaging,"S20");
    1.74 -_LIT(KETelUssdMessaging,"S21");
    1.75 -
    1.76 -_LIT(KETelConferenceCall,"S22");
    1.77 -
    1.78 -_LIT(KETelIccMbdnPhoneBook, "S23");
    1.79 -_LIT(KETelIccMsisdnPhoneBook, "S24");
    1.80 -_LIT(KETelIccOciPhoneBook, "S25");
    1.81 -_LIT(KETelIccIciPhoneBook, "S26");
    1.82 -_LIT(KETelIccNamStore ,"S27");
    1.83 -_LIT(KETelIccInfoPhoneBook, "S28");
    1.84 -
    1.85 -_LIT(KETelLocationServices,"S29");
    1.86 -
    1.87 -// Types for Multimode ETel sub-sessions
    1.88 -
    1.89 -_LIT(KEtelCdmaPhoneBookType,"T1");
    1.90 -_LIT(KEtelGsmPhoneBookType,"T2");
    1.91 -_LIT(KEtelUSimPhoneBookType,"T3");
    1.92 -
    1.93 -// Types for SmartCardEap sub-sessions
    1.94 -
    1.95 -/**
    1.96 -The prefix to all RMobileSmartCardEap sub-session names.
    1.97 -*/
    1.98 -_LIT(KETelSmartCardEapSession, "ScEap");
    1.99 -/**
   1.100 -The length of KETelSmartCardEapSession.  Used to obtain a const value
   1.101 -for this length at compile-time.
   1.102 -*/
   1.103 -#define SCEAP_SSN_LENGTH 5
   1.104 -
   1.105 -/**
   1.106 -EAP-MD5 type identifier.  Value taken from section 5 of RFC 3748 Jun 2004.
   1.107 -This should be used as the EAP type identifier value of
   1.108 -RMobileSmartCardEap::Open() if standard EAP-MD5 challenges are to be used.
   1.109 -
   1.110 -This value corresponds to one of the possible values returned in the type
   1.111 -list of TUiccApplicationEapInfoV6.
   1.112 -
   1.113 -(Decimal value = 4)
   1.114 -
   1.115 -@see RMobileSmartCardEap::Open()
   1.116 -@see RMobilePhone::TUiccApplicationEapInfoV6
   1.117 -*/
   1.118 -_LIT8(KETelSmartCardEapTypeMD5, "04");
   1.119 -
   1.120 -/**
   1.121 -EAP-TLS type identifier.  Value taken from section 4.1 of RFC 2716 Oct 1999.
   1.122 -This should be used as the EAP type identifier value of
   1.123 -RMobileSmartCardEap::Open() if standard EAP-TLS is to be used.
   1.124 -
   1.125 -This value corresponds to one of the possible values returned in the type
   1.126 -list of TUiccApplicationEapInfoV6.
   1.127 -
   1.128 -(Decimal value = 13)
   1.129 -
   1.130 -@see RMobileSmartCardEap::Open()
   1.131 -@see RMobilePhone::TUiccApplicationEapInfoV6
   1.132 -*/
   1.133 -_LIT8(KETelSmartCardEapTypeTLS, "0D");
   1.134 -
   1.135 -/**
   1.136 -EAP-SIM type identifier.
   1.137 -This should be used as the EAP type identifier value of
   1.138 -RMobileSmartCardEap::Open() if standard EAP-SIM is to be used.
   1.139 -
   1.140 -This value corresponds to one of the possible values returned in the type
   1.141 -list of TUiccApplicationEapInfoV6.
   1.142 -
   1.143 -(Decimal value = 18)
   1.144 -
   1.145 -@see RMobileSmartCardEap::Open()
   1.146 -@see RMobilePhone::TUiccApplicationEapInfoV6
   1.147 -*/
   1.148 -_LIT8(KETelSmartCardEapTypeSIM, "12");
   1.149 -
   1.150 -/**
   1.151 -EAP-AKA type identifier.
   1.152 -This should be used as the EAP type identifier value of
   1.153 -RMobileSmartCardEap::Open() if standard EAP-AKA is to be used.
   1.154 -
   1.155 -This value corresponds to one of the possible values returned in the type
   1.156 -list of TUiccApplicationEapInfoV6.
   1.157 -
   1.158 -(Decimal value = 23)
   1.159 -
   1.160 -@see RMobileSmartCardEap::Open()
   1.161 -@see RMobilePhone::TUiccApplicationEapInfoV6
   1.162 -*/
   1.163 -_LIT8(KETelSmartCardEapTypeAKA, "17");
   1.164 -
   1.165 -/**
   1.166 -EAP-TTLS type identifier.
   1.167 -This should be used as the EAP type identifier value of
   1.168 -RMobileSmartCardEap::Open() if standard EAP-TTLS is to be used.
   1.169 -
   1.170 -This value corresponds to one of the possible values returned in the type
   1.171 -list of TUiccApplicationEapInfoV6.
   1.172 -
   1.173 -(Decimal value = 21)
   1.174 -
   1.175 -@see RMobileSmartCardEap::Open()
   1.176 -@see RMobilePhone::TUiccApplicationEapInfoV6
   1.177 -*/
   1.178 -_LIT8(KETelSmartCardEapTypeTTLS, "15");
   1.179 -
   1.180 -/***********************************************************************************/
   1.181 -//
   1.182 -//  Global Multimode constants and types
   1.183 -// 
   1.184 -/***********************************************************************************/
   1.185 -
   1.186 -/**
   1.187 -Unique API identifier and Functional Unit constants
   1.188 -Modes: Common 
   1.189 -*/
   1.190 -enum TMultimodeETelV1Api
   1.191 -	{
   1.192 -	/** TSY supports the Multimode ETel v1.0 API.
   1.193 -	
   1.194 -	Modes: Common */
   1.195 -	KETelExtMultimodeV1=3000,  // 3000 is unique reference for Multimode Etel v1.0 API
   1.196 -	/** TSY supports the MobileSimAccess functional unit.
   1.197 -	
   1.198 -	Modes: Common */
   1.199 -	KETelFuncMobileIccAccess,
   1.200 -	/** TSY supports the MobileNetwork functional unit.
   1.201 -	
   1.202 -	Modes: Common */
   1.203 -	KETelFuncMobileNetwork,
   1.204 -	/** TSY supports the MobileIdentity functional unit.
   1.205 -	
   1.206 -	Modes: Common */
   1.207 -	KETelFuncMobileIdentity,
   1.208 -	/** TSY supports the MobilePower functional unit.
   1.209 -	
   1.210 -	Modes: Common */
   1.211 -	KETelFuncMobilePower,
   1.212 -	/** TSY supports the MobileSignal functional unit.
   1.213 -	
   1.214 -	Modes: GSM/WCDMA */
   1.215 -	KETelFuncMobileSignal,
   1.216 -	/** TSY supports the MobileIndicator functional unit.
   1.217 -	
   1.218 -	Modes: Common */
   1.219 -	KETelFuncMobileIndicator,
   1.220 -	/** TSY supports the MobileDTMF functional unit.
   1.221 -	
   1.222 -	Modes: Common */
   1.223 -	KETelFuncMobileDTMF,
   1.224 -	/** TSY supports the MobileUserNetworkAccess functional unit.
   1.225 -	
   1.226 -	Modes: Common */
   1.227 -	KETelFuncMobileUserNetworkAccess,
   1.228 -	/** TSY supports the MobileIdentityService functional unit.
   1.229 -	
   1.230 -	Modes: Common */
   1.231 -	KETelFuncMobileIdentityService,
   1.232 -	/** TSY supports the MobileCallForwarding functional unit.
   1.233 -	
   1.234 -	Modes: Common */
   1.235 -	KETelFuncMobileCallForwarding,
   1.236 -	/** TSY supports the MobileCallBarring functional unit.
   1.237 -	
   1.238 -	Modes: GSM/WCDMA */
   1.239 -	KETelFuncMobileCallBarring,
   1.240 -	/** TSY supports the MobileCallWaiting functional unit.
   1.241 -	
   1.242 -	Modes: Common */
   1.243 -	KETelFuncMobileCallWaiting,
   1.244 -	/** TSY supports the MobileCallCompletion functional unit. */
   1.245 -	KETelFuncMobileCallCompletion,
   1.246 -	/** TSY supports the MobileAlternatingCall functional unit.
   1.247 -	
   1.248 -	Modes: GSM/WCDMA */
   1.249 -	KETelFuncMobileAlternatingCall,
   1.250 -	/** TSY supports the MobileCost functional unit.
   1.251 -	
   1.252 -	Modes: GSM/WCDMA */
   1.253 -	KETelFuncMobileCost,
   1.254 -	/** TSY supports the MobileSecurity functional unit.
   1.255 -	
   1.256 -	Modes: Common */
   1.257 -	KETelFuncMobileSecurity,
   1.258 -	/** TSY supports the MobileAlternateLineService functional unit.
   1.259 -	
   1.260 -	Modes: GSM/WCDMA */
   1.261 -	KETelFuncMobileAlternateLineService,
   1.262 -	/** TSY supports the MobileMessageWaiting functional unit.
   1.263 -	
   1.264 -	Modes: Common */
   1.265 -	KETelFuncMobileMessageWaiting,
   1.266 -	/** TSY supports the MobileFixedDiallingNumbers functional unit.
   1.267 -	
   1.268 -	Modes: GSM/WCDMA */
   1.269 -	KETelFuncMobileFixedDiallingNumbers,
   1.270 -	/** TSY supports the MobileDataCall functional unit.
   1.271 -	
   1.272 -	Modes: Common */
   1.273 -	KETelFuncMobileDataCall,
   1.274 -	/** TSY supports the MobilePrivacy functional unit.
   1.275 -	
   1.276 -	Modes: CDMA */
   1.277 -	KETelFuncMobilePrivacy,
   1.278 -	/** TSY supports the MobileEmergencyCall functional unit.
   1.279 -	
   1.280 -	Modes: Common */
   1.281 -	KETelFuncMobileEmergencyCall,
   1.282 -	/** TSY supports the MobileSmsMessaging functional unit.
   1.283 -	
   1.284 -	Modes: Common */
   1.285 -	KETelFuncMobileSmsMessaging,
   1.286 -	/** TSY supports the MobileBroadcastMessaging functional unit.
   1.287 -	
   1.288 -	Modes: Common */
   1.289 -	KETelFuncMobileBroadcastMessaging,
   1.290 -	/** TSY supports the MobileUssdMessaging functional unit.
   1.291 -	
   1.292 -	Modes: GSM/WCDMA */
   1.293 -	KETelFuncMobileUssdMessaging,
   1.294 -	/** TSY supports the MobileConferenceCall functional unit.
   1.295 -	
   1.296 -	Modes: Common */
   1.297 -	KETelFuncMobileConferenceCall,
   1.298 -	/** TSY supports the MobilePhonebookStore functional unit.
   1.299 -	
   1.300 -	Modes: Common */
   1.301 -	KETelFuncMobilePhonebook,
   1.302 -	/** TSY supports the MobileSmsStore functional unit.
   1.303 -	
   1.304 -	Modes: Common */
   1.305 -	KETelFuncMobileSmsStore,
   1.306 -	/** TSY supports the MobileNamStore functional unit.
   1.307 -	
   1.308 -	Modes: CDMA */
   1.309 -	KETelFuncMobileNamStore,
   1.310 -	/** TSY supports the MobileONStore functional unit.
   1.311 -	
   1.312 -	Modes: Common */
   1.313 -	KETelFuncMobileOwnNumberStore,
   1.314 -	/** TSY supports the MobileENStore functional unit.
   1.315 -	
   1.316 -	Modes: Common */
   1.317 -	KETelFuncMobileEmergencyNumberStore,
   1.318 -	/** TSY supports the MobileMultimedia functional unit.
   1.319 -	
   1.320 -	Modes: GSM/WCDMA */
   1.321 -	KETelFuncMobileMulticall,
   1.322 -	/** TSY supports the MobileNextIncomingCall functional unit.
   1.323 -	
   1.324 -	Modes: GSM/WCDMA */
   1.325 -	KETelFuncMobileNextIncomingCall,
   1.326 -	/** TSY supports the MobileMultimediaCall functional unit.
   1.327 -	
   1.328 -	Modes: GSM/WCDMA */
   1.329 -	KETelFuncMobileMultimediaCall,
   1.330 -	/** TSY supports the MobileUserSignalling functional unit.
   1.331 -	
   1.332 -	Modes: GSM/WCDMA */
   1.333 -	KETelFuncMobileUserSignalling
   1.334 -	};
   1.335 -
   1.336 -/** Unique API identifier and Functional Unit constants.
   1.337 -Modes: WCDMA 
   1.338 -
   1.339 -*/
   1.340 -enum TMultimodeETelV2Api
   1.341 -	{
   1.342 -	/** TSY supports the Multimode ETel v2.0 API.
   1.343 -	
   1.344 -	Modes: WCDMA */
   1.345 -	KETelExtMultimodeV2=7000,  // 7000 is unique reference for Multimode Etel v2.0 API
   1.346 -	/** TSY supports the MobileMultimediaCallSettings functional unit.
   1.347 -	
   1.348 -	Modes: WCDMA */
   1.349 -	KEtelFuncMobileMultimediaCallSettings,
   1.350 -	/** TSY supports the MobileNetworkSecurity functional unit.
   1.351 -	
   1.352 -	Modes: WCDMA */
   1.353 -	KEtelFuncMobileNetworkSecurity,
   1.354 -	KEtelFuncMobileUSIMApplications
   1.355 -	};
   1.356 -	
   1.357 -/**
   1.358 -Enum to define the v3.0 API additions
   1.359 -
   1.360 -*/
   1.361 -enum TMultimodeETelV3Api
   1.362 -	{
   1.363 -	/**
   1.364 -	Indicator that the TSY supports the Multimode ETel v3.0 API.
   1.365 -	*/
   1.366 -	KETelExtMultimodeV3 = 10000,	
   1.367 -	/**
   1.368 -	TSY supports the MobileMMSInformation functional unit.
   1.369 -	*/
   1.370 -	KEtelFuncMobileMMSInformation,       // 10001
   1.371 -	/**
   1.372 -	TSY supports the KEtelFuncMobileAirTime functional unit.
   1.373 -	*/
   1.374 -	KEtelFuncMobileAirTime,              // 10002
   1.375 -	/**
   1.376 -	TSY supports the KEtelFuncMobileAutoRedial functional unit.
   1.377 -	*/
   1.378 -	KEtelFuncMobileAutoRedial,           // 10003
   1.379 -	/**
   1.380 -	TSY supports the KEtelFuncMobilePersonalisation functional unit.
   1.381 -	*/
   1.382 -	KEtelFuncMobilePersonalisation,      // 10004
   1.383 -	/**
   1.384 -	TSY supports the KEtelMobileMailboxNumbers functional unit.
   1.385 -	*/
   1.386 -	KEtelFuncMobileMailboxNumbers,       // 10005
   1.387 -	/**
   1.388 -	TSY supports the Mobile APN Control List functional unit.
   1.389 -	*/
   1.390 -	KEtelFuncMobileAPNControlList        // 10006
   1.391 -	};
   1.392 -
   1.393 -/**
   1.394 -Enum to define the v4.0 API additions
   1.395 -
   1.396 -*/
   1.397 -enum TMultimodeETelV4Api
   1.398 -	{
   1.399 -	/**
   1.400 -	Indicator that the TSY supports the Multimode ETel v4.0 API.
   1.401 -	*/
   1.402 -	KETelExtMultimodeV4	= 15000
   1.403 -	};
   1.404 -
   1.405 -
   1.406 -/** Enum to define Release 5 enabling API and data structures
   1.407 -*/
   1.408 -enum TMultimodeEtelV5Api
   1.409 -	{
   1.410 -	/**
   1.411 -	Indicator that the TSY supports the Multimode ETel v5.0 API.
   1.412 -	*/	
   1.413 -	KEtelExtMultimodeV5=20000,
   1.414 -	/**
   1.415 -	Indicator that the TSY supports the IMS functional unit.
   1.416 -	*/	
   1.417 -	KEtelFuncMobileIMS,                  // 20001
   1.418 -	/**
   1.419 -	TSY supports the KEtelFuncMobileSmartCardApplications functional unit.
   1.420 -	*/
   1.421 -	KEtelFuncMobileSmartCardApplications // 20002
   1.422 -	};
   1.423 -
   1.424 -
   1.425 -/**
   1.426 -Enum to define the v6.0 API additions.
   1.427 -*/
   1.428 -enum TMultimodeEtelV6Api
   1.429 -	{
   1.430 -	/**
   1.431 -	Indicator that the TSY supports the Multimode ETel v6.0 API.
   1.432 -	*/	
   1.433 -	KEtelExtMultimodeV6=25000,
   1.434 -	/**
   1.435 -	Indicator that the TSY supports the EAP supporting functional unit.
   1.436 -	*/	
   1.437 -	KEtelSmartCardEap                    // 25001
   1.438 -	};
   1.439 -	
   1.440 -/**
   1.441 -Enum to define the v7.0 API additions.
   1.442 -*/
   1.443 -enum TMultimodeEtelV7Api
   1.444 -	{
   1.445 -	/**
   1.446 -	Indicator that the TSY supports the Multimode ETel v7.0 API.
   1.447 -	*/	
   1.448 -	KEtelExtMultimodeV7=30000,
   1.449 -	/**
   1.450 -	Indicator that the TSY supports the LocationServices supporting functional unit.
   1.451 -	*/	
   1.452 -	KEtelLocationControlServices                    // 30001
   1.453 -	};
   1.454 -
   1.455 -/**
   1.456 -Enum to define the v8.0 API additions.
   1.457 -*/
   1.458 -enum TMultimodeEtelV8Api
   1.459 -	{
   1.460 -	/**
   1.461 -	Indicator that the TSY supports the Multimode ETel v8.0 API.
   1.462 -	*/	
   1.463 -	KEtelExtMultimodeV8=35000,
   1.464 -	/**
   1.465 -	Indicator that the TSY supports HSUPA.
   1.466 -	*/	
   1.467 -	KEtelHsupa,                   // 35001
   1.468 -	/**
   1.469 -	Indicator that the TSY supports GBA authentication functional unit
   1.470 -	*/
   1.471 -	KEtelFuncGenericBootstrapArchitecture,
   1.472 -	/**
   1.473 -	Indicator that the TSY supports MBMS authentication functional unit 
   1.474 -	*/
   1.475 -	KEtelFuncMBMS,
   1.476 -	/*
   1.477 -	Indicator that the TSY supports WLAN parameters on the USIM functional unit 
   1.478 -	*/
   1.479 -	KEtelFuncWLan
   1.480 -	};
   1.481 -			
   1.482 -/**
   1.483 -Enum to define the v9.0 API additions.
   1.484 -*/
   1.485 -enum TMultimodeEtelV9Api
   1.486 -	{
   1.487 -	/**
   1.488 -	Indicator that the TSY supports the Multimode ETel v9.0 API.
   1.489 -	*/	
   1.490 -	KEtelExtMultimodeV9=45000,
   1.491 -	/**
   1.492 -	Indicator that the TSY supports the Cell Information functional unit.
   1.493 -	*/	
   1.494 -	KEtelFuncCellInfo,                   // 45001
   1.495 -	};
   1.496 -		
   1.497 -/**
   1.498 -Enum to define the Etel 3rdParty V1 API additions
   1.499 -
   1.500 -*/
   1.501 -enum TMultimodeETel3rdPartyV1Api 
   1.502 -	{
   1.503 -	/**
   1.504 -	Indicator that the TSY supports the Etel 3rd Party v1.0 API
   1.505 -	*/
   1.506 -	KETelExt3rdPartyV1 = 40000
   1.507 -	};
   1.508 -
   1.509 -	
   1.510 -/*********************************************************/
   1.511 -//
   1.512 -// Phone based functionality (RMobilePhone)
   1.513 -// 
   1.514 -/*********************************************************/
   1.515 -
   1.516 -
   1.517 -class CMobilePhonePtrHolder;
   1.518 -class CMobilePhoneStoredNetworkList;
   1.519 -class CMobilePhoneStoredWlanSIDList;
   1.520 -class RMobileSmartCardEap;
   1.521 -
   1.522 -class RMobilePhone : public RPhone
   1.523 -/**
   1.524 -Provides client access to mobile phone functionality provided by TSY.
   1.525 -
   1.526 -Encapsulates access to a mobile phone. The functionality of RMobilePhone 
   1.527 -is divided into a number of functional units, for the purpose of easier documentation 
   1.528 -and navigation and selectable support by TSY.
   1.529 -
   1.530 -Note: Some RMobilePhone function members must be supported by the TSY while 
   1.531 -others are part of optional "functional unit" and only need to be supported 
   1.532 -if the TSY supports that functional unit. When a functional unit is mandatory 
   1.533 -then the unit should at least support the Get...Caps() member function to 
   1.534 -indicate the member functions that are supported for this unit.
   1.535 - 
   1.536 -*/
   1.537 -	{
   1.538 -public:
   1.539 -	friend class CAsyncRetrievePhoneList;
   1.540 -	IMPORT_C RMobilePhone();
   1.541 -
   1.542 -	// Global multimode types
   1.543 -
   1.544 -	
   1.545 -	class TMultimodeType
   1.546 -	/**
   1.547 -	Base class for all the V1 parameter types defined within the API.
   1.548 -	
   1.549 -	@publishedPartner
   1.550 -	@released
   1.551 -	*/
   1.552 -		{
   1.553 -	public:
   1.554 -		IMPORT_C TInt ExtensionId() const;
   1.555 -	protected:
   1.556 -		TMultimodeType();
   1.557 -		void InternalizeL(RReadStream& aStream);
   1.558 -		void ExternalizeL(RWriteStream& aStream) const;
   1.559 -	protected:
   1.560 -		TInt iExtensionId;
   1.561 -		};
   1.562 -		
   1.563 -	/** A typedef'd packaged TMultimodeType for passing through a generic API 
   1.564 -	function member. */
   1.565 -	typedef TPckg<TMultimodeType> TMultimodeTypePckg;
   1.566 -
   1.567 -	// Types used in RMobilePhone::TMobileAddress
   1.568 -
   1.569 -/** Address types.
   1.570 -
   1.571 -Modes: Common */
   1.572 -	enum TMobileTON
   1.573 -		{
   1.574 -	/** User or the network has no knowledge of the type of number.
   1.575 -	
   1.576 -	Modes: Common */
   1.577 -		EUnknownNumber,			// 0
   1.578 -	/** International number.
   1.579 -	
   1.580 -	Modes: Common */
   1.581 -		EInternationalNumber,	// 1
   1.582 -	/** National number.
   1.583 -	
   1.584 -	Modes: Common */
   1.585 -		ENationalNumber,		// 2
   1.586 -	/** Administration/service number specific to the serving network, e.g. used to 
   1.587 -	access an operator.
   1.588 -	
   1.589 -	Modes: Common */
   1.590 -		ENetworkSpecificNumber, // 3
   1.591 -	/** Subscriber number.
   1.592 -	
   1.593 -	Modes: Common */
   1.594 -		ESubscriberNumber,		// 4 - Also defined as "dedicated, short code" in GSM 04.08
   1.595 -	/** Alphanumeric number coded according to 3GPP TS 123 038 GSM 7-bit default alphabet.
   1.596 -	
   1.597 -	Modes: GSM/WCDMA */
   1.598 -		EAlphanumericNumber,	// 5
   1.599 -	/** Abbreviated number.
   1.600 -	
   1.601 -	Modes: Common */
   1.602 -		EAbbreviatedNumber		// 6
   1.603 -		};
   1.604 -
   1.605 -/** Number Plan Indicator.
   1.606 -
   1.607 -Modes: Common */
   1.608 -	enum TMobileNPI
   1.609 -		{
   1.610 -	/** User or the network has no knowledge of the numbering plan.
   1.611 -	
   1.612 -	Modes: Common */
   1.613 -		EUnknownNumberingPlan =0,
   1.614 -	/** ISDN/telephony numbering plan.
   1.615 -	
   1.616 -	Modes: Common */
   1.617 -		EIsdnNumberPlan=1,		
   1.618 -	/** Data numbering plan.
   1.619 -
   1.620 -	Modes: Common */
   1.621 -		EDataNumberPlan=3,		
   1.622 -	/** Telex numbering plan.
   1.623 -
   1.624 -	Modes: Common */
   1.625 -		ETelexNumberPlan=4,	
   1.626 -	/** Service centre specific plan used to indicate a numbering plan specific to external 
   1.627 -	Short Message entities attached to the SMSC. */
   1.628 -		EServiceCentreSpecificPlan1=5,
   1.629 -	/** Service centre specific plan used to indicate a numbering plan specific to external 
   1.630 -	Short Message entities attached to the SMSC.
   1.631 -	
   1.632 -	Modes: GSM/WCDMA */
   1.633 -		EServiceCentreSpecificPlan2=6,
   1.634 -	/** National numbering plan.
   1.635 -	
   1.636 -	Modes: GSM/WCDMA */
   1.637 -		ENationalNumberPlan=8,
   1.638 -	/** Private numbering plan.
   1.639 -	
   1.640 -	Modes: Common */
   1.641 -		EPrivateNumberPlan=9,
   1.642 -	/** ERMES numbering plan.
   1.643 -	
   1.644 -	Modes: GSM/WCDMA */
   1.645 -		EERMESNumberPlan=10
   1.646 -		};
   1.647 -
   1.648 -	enum 
   1.649 -		{
   1.650 -		KMaxMobilePasswordSize=10,
   1.651 -		KMaxMobileNameSize=32,
   1.652 -		KMaxMobileTelNumberSize=100
   1.653 -		};
   1.654 -
   1.655 -	struct TMMTableSettings
   1.656 -		{
   1.657 -		TUint32 iLocId;
   1.658 -		};
   1.659 -
   1.660 -	typedef TPckg<TMMTableSettings> TMMTableSettingsPckg;
   1.661 -
   1.662 -	
   1.663 -
   1.664 -	class TMobileAddress
   1.665 -	/**
   1.666 -	Defines API abstraction of a mobile telephone number.
   1.667 -	
   1.668 -	@publishedPartner
   1.669 -	@released
   1.670 -	*/
   1.671 -		{
   1.672 -	public:
   1.673 -		IMPORT_C TMobileAddress();
   1.674 -			
   1.675 -		void InternalizeL(RReadStream& aStream);
   1.676 -		void ExternalizeL(RWriteStream& aStream) const;
   1.677 -			
   1.678 -	public:
   1.679 -		/** Type of number.
   1.680 -		
   1.681 -		@see TMobileTON */
   1.682 -		TMobileTON iTypeOfNumber;
   1.683 -		/** Number plan.
   1.684 -		
   1.685 -		@see TMobileNPI */
   1.686 -		TMobileNPI iNumberPlan;
   1.687 -		/** Telephone number. */
   1.688 -		TBuf<KMaxMobileTelNumberSize> iTelNumber;
   1.689 -		};
   1.690 -
   1.691 -	// Mobile information location type
   1.692 -
   1.693 -	/** Defines Location of service information.
   1.694 -
   1.695 -	Modes: Common */
   1.696 -	enum TMobileInfoLocation
   1.697 -		{
   1.698 -		/** Retrieve the service information ONLY from the cache on the phone. Return KErrNotFound 
   1.699 -		if the cache does not exist or it is empty. */
   1.700 -		EInfoLocationCache,
   1.701 -		/** Retrieve the service information from the cache, but if this is empty or does 
   1.702 -		not exist then interrogate the network. */
   1.703 -		EInfoLocationCachePreferred,
   1.704 -		/** Retrieve the service information from the network (and refresh the cache if 
   1.705 -		there is one). */
   1.706 -		EInfoLocationNetwork
   1.707 -		};
   1.708 -
   1.709 -	// Mobile call service type
   1.710 -
   1.711 -	/** Applicability of request to a mobile service group.
   1.712 -
   1.713 -	Modes: Common */
   1.714 -	enum TMobileService
   1.715 -		{
   1.716 -		/** The call service has not been specified.
   1.717 -		
   1.718 -		Modes: Common */
   1.719 -		EServiceUnspecified,
   1.720 -		/** The API request applies to voice call services.
   1.721 -
   1.722 -		Modes: Common */
   1.723 -		EVoiceService,
   1.724 -		/** The API request applies to auxiliary voice call services.
   1.725 -
   1.726 -		Modes: GSM/WCDMA */
   1.727 -		EAuxVoiceService,
   1.728 -		/** The API request applies to circuit switched data call services.
   1.729 -		
   1.730 -		Modes: Common */
   1.731 -		ECircuitDataService,
   1.732 -		/** The API request applies to packet data services.
   1.733 -	
   1.734 -		Modes: Common */
   1.735 -		EPacketDataService,
   1.736 -		/** The API request applies to fax call services.
   1.737 -	
   1.738 -		Modes: Common */
   1.739 -		EFaxService,
   1.740 -		/** The API request applies to short message services.
   1.741 -	
   1.742 -		Modes: Common */
   1.743 -		EShortMessageService,
   1.744 -		/** The API request applies to all mobile services.
   1.745 -	
   1.746 -		Modes: Common */
   1.747 -		EAllServices,
   1.748 -		/** All teleservices
   1.749 -	
   1.750 -		Modes: Common */
   1.751 -		EAllTele,
   1.752 -		/** Telephony
   1.753 -	
   1.754 -		Modes: Common */
   1.755 -		ETelephony,
   1.756 -		/** All data teleservices
   1.757 -	
   1.758 -		Modes: Common */
   1.759 -		EAllDataTele,
   1.760 -		/** Voice Broadcast Service (VBS) Bearer Service
   1.761 -	
   1.762 -		Modes: Common */
   1.763 -		EAllDataExSms,
   1.764 -		/** All teleservices except SMS
   1.765 -	
   1.766 -		Modes: Common */
   1.767 -		EAllTeleExcSms,
   1.768 -		/** All PLMN specific teleservices
   1.769 -	
   1.770 -		Modes: Common */
   1.771 -		EAllPlmnTele,
   1.772 -		/** PLMN specific teleservice 1
   1.773 -	
   1.774 -		Modes: Common */
   1.775 -		EPlmnTele1,
   1.776 -		/** PLMN specific teleservice 2
   1.777 -	
   1.778 -		Modes: Common */
   1.779 -		EPlmnTele2,
   1.780 -		/** PLMN specific teleservice 3
   1.781 -	
   1.782 -		Modes: Common */
   1.783 -		EPlmnTele3,
   1.784 -		/** PLMN specific teleservice 4
   1.785 -	
   1.786 -		Modes: Common */
   1.787 -		EPlmnTele4,
   1.788 -		/** PLMN specific teleservice 5
   1.789 -
   1.790 -		Modes: Common */
   1.791 -		EPlmnTele5,
   1.792 -		/** PLMN specific teleservice 6
   1.793 -
   1.794 -		Modes: Common */
   1.795 -		EPlmnTele6,
   1.796 -		/** PLMN specific teleservice 7
   1.797 -	
   1.798 -		Modes: Common */
   1.799 -		EPlmnTele7,
   1.800 -		/** PLMN specific teleservice 8
   1.801 -	
   1.802 -		Modes: Common */
   1.803 -		EPlmnTele8,
   1.804 -		/** PLMN specific teleservice 9
   1.805 -	
   1.806 -		Modes: Common */
   1.807 -		EPlmnTele9,
   1.808 -		/** PLMN specific teleservice 10
   1.809 -	
   1.810 -		Modes: Common */
   1.811 -		EPlmnTeleA,
   1.812 -		/** PLMN specific teleservice 11
   1.813 -	
   1.814 -		Modes: Common */
   1.815 -		EPlmnTeleB,
   1.816 -		/** PLMN specific teleservice 12
   1.817 -	
   1.818 -		Modes: Common */
   1.819 -		EPlmnTeleC,
   1.820 -		/** PLMN specific teleservice 13
   1.821 -	
   1.822 -		Modes: Common */
   1.823 -		EPlmnTeleD,
   1.824 -		/** PLMN specific teleservice 14
   1.825 -	
   1.826 -		Modes: Common */
   1.827 -		EPlmnTeleE,
   1.828 -		/** PLMN specific teleservice 15
   1.829 -	
   1.830 -		Modes: Common */
   1.831 -		EPlmnTeleF,
   1.832 -		/** All bearer services
   1.833 -		
   1.834 -		Modes: Common */
   1.835 -		EAllBearer,
   1.836 -		/** All async services
   1.837 -	
   1.838 -		Modes: Common */
   1.839 -		EAllAsync,
   1.840 -		/** All sync services
   1.841 -	
   1.842 -		Modes: Common */
   1.843 -		EAllSync,
   1.844 -		/** All data circuit sync
   1.845 -	
   1.846 -		Modes: Common */
   1.847 -		ESyncData,
   1.848 -		/** All data circuit async
   1.849 -	
   1.850 -		Modes: Common */
   1.851 -		EAsyncData,
   1.852 -		/** All packet data services
   1.853 -	
   1.854 -		Modes: Common */
   1.855 -		EPacketData,
   1.856 -		/** All pad access services
   1.857 -
   1.858 -		Modes: Common */
   1.859 -		EPadAccess,
   1.860 -		/** All PLMN specific bearer services
   1.861 -
   1.862 -		Modes: Common */
   1.863 -		EAllPlmnBearer,
   1.864 -		/** PLMN specific bearer service 1
   1.865 -	
   1.866 -		Modes: Common */
   1.867 -		EPlmnBearerServ1,
   1.868 -		/** PLMN specific bearer service 2
   1.869 -	
   1.870 -		Modes: Common */
   1.871 -		EPlmnBearerServ2,
   1.872 -		/** PLMN specific bearer service 3
   1.873 -	
   1.874 -		Modes: Common */
   1.875 -		EPlmnBearerServ3,
   1.876 -		/** PLMN specific bearer service 4
   1.877 -	
   1.878 -		Modes: Common */
   1.879 -		EPlmnBearerServ4,
   1.880 -		/** PLMN specific bearer service 5
   1.881 -	
   1.882 -		Modes: Common */
   1.883 -		EPlmnBearerServ5,
   1.884 -		/** PLMN specific bearer service 6
   1.885 -	
   1.886 -		Modes: Common */
   1.887 -		EPlmnBearerServ6,
   1.888 -		/** PLMN specific bearer service 7
   1.889 -	
   1.890 -		Modes: Common */
   1.891 -		EPlmnBearerServ7,
   1.892 -		/** PLMN specific bearer service 8
   1.893 -	
   1.894 -		Modes: Common */
   1.895 -		EPlmnBearerServ8,
   1.896 -		/** PLMN specific bearer service 9
   1.897 -	
   1.898 -		Modes: Common */
   1.899 -		EPlmnBearerServ9,
   1.900 -		/** PLMN specific bearer service 10
   1.901 -	
   1.902 -		Modes: Common */
   1.903 -		EPlmnBearerServA,
   1.904 -		/** PLMN specific bearer service 11
   1.905 -	
   1.906 -		Modes: Common */
   1.907 -		EPlmnBearerServB,
   1.908 -		/** PLMN specific bearer service 12
   1.909 -	
   1.910 -		Modes: Common */
   1.911 -		EPlmnBearerServC,
   1.912 -		/** PLMN specific bearer service 13
   1.913 -	
   1.914 -		Modes: Common */
   1.915 -		EPlmnBearerServD,
   1.916 -		/** PLMN specific bearer service 14
   1.917 -	
   1.918 -		Modes: Common */
   1.919 -		EPlmnBearerServE,
   1.920 -		/** PLMN specific bearer service 15
   1.921 -	
   1.922 -		Modes: Common */
   1.923 -		EPlmnBearerServF,
   1.924 -		/** Alternative tele services
   1.925 -
   1.926 -		Modes: Common */
   1.927 -		EAltTele,
   1.928 -		/** Voice Group Call Service (VGCS)
   1.929 -
   1.930 -		Modes: Common */
   1.931 -		EVoiceGroupCall,
   1.932 -		/** Voice Broadcast Service (VBS)
   1.933 -
   1.934 -		Modes: Common */
   1.935 -		EVoiceBroadcast,
   1.936 -		/** All GPRS Bearer Services
   1.937 -
   1.938 -		Modes: Common */
   1.939 -		EAllGprsBearer
   1.940 -		};
   1.941 -
   1.942 -	// Mobile name type
   1.943 -
   1.944 -	/** A typedef to hold the names of API sub-sessions. The names are coded as ASCII 
   1.945 -	characters. */
   1.946 -	typedef TBuf<KMaxMobileNameSize> TMobileName;
   1.947 -
   1.948 -	// Mobile password type
   1.949 -
   1.950 -	/** A typedef for the standard password used by mobile phones for secure access 
   1.951 -	to services (phone lock, SIM lock, call barring password). The password is 
   1.952 -	coded as Unicode characters. */
   1.953 -	typedef TBuf<KMaxMobilePasswordSize> TMobilePassword;
   1.954 -
   1.955 -	// for use by client-side API code and TSY only
   1.956 -
   1.957 -	struct TClientId
   1.958 -	/** This type is used within the 2-phase list retrieval classes. During both phases, 
   1.959 -	the client-side API code will pass down the TClientId so that TSY can use
   1.960 -	this information to match the first phase of the request to the second phase. */
   1.961 -		{
   1.962 -		/** The handle to the underlying RTelServer session. */
   1.963 -		TInt iSessionHandle;
   1.964 -		/** The handle to the sub-session to which this API request relates. */
   1.965 -		TInt iSubSessionHandle;
   1.966 -		};
   1.967 -
   1.968 -	/** Phone air interface capabilities. */
   1.969 -	enum TMobilePhoneModeCaps
   1.970 -		{
   1.971 -		/** Phone can operate in GSM mode on 900/1800/1900 MHz bands. */
   1.972 -		KCapsGsmSupported=0x00000001,
   1.973 -		/** Phone can operate in GPRS mode on 900/1800/1900 MHz bands. */
   1.974 -		KCapsGprsSupported=0x00000002,
   1.975 -		/** Phone can operate in AMPS mode on 800MHz band. */
   1.976 -		KCapsAmpsSupported=0x00000004,
   1.977 -		/** Phone can operate in CDMA (IS-95) mode on 800/1900 MHz bands. */
   1.978 -		KCapsCdma95Supported=0x00000008,
   1.979 -		/** Phone can operate in CDMA (cdma2000) mode on 800/1900 MHz bands. */
   1.980 -		KCapsCdma2000Supported=0x00000010,
   1.981 -		/** Phone can operate in W-CDMA (UTRA Frequency Division Duplex (FDD)) mode. */
   1.982 -		KCapsWcdmaSupported=0x00000020,
   1.983 -		/** Phone can operate in TDMA/CDMA (UTRA Time Division Duplex (TDD)) mode. */
   1.984 -		KCapsTdcdmaSupported=0x00000040,
   1.985 -		/** 
   1.986 -		Phone can access Smart Card functionality required for an EAP. 
   1.987 -		@deprecated 9.3
   1.988 -		*/
   1.989 -		KCapsEapSupported=0x00000080
   1.990 -		};
   1.991 -
   1.992 -	/** Version number of the multimode ETel API. */
   1.993 -	 enum TMultimodeEtelAPIVersion
   1.994 -		{
   1.995 -		/** Multimode Etel API version 1. */
   1.996 -		 TMultimodeETelApiV1
   1.997 -		};
   1.998 -
   1.999 -	 //
  1.1000 -	 //  API/TSY internal type
  1.1001 -	 //
  1.1002 -	
  1.1003 -	 struct TPhoneStoreNameAndIccType
  1.1004 -	/** Structure that holds the phone store name and ICC type.
  1.1005 -
  1.1006 -	Mode: Common */
  1.1007 -		{
  1.1008 -		/** This parameter is used to set the name of the storage. */
  1.1009 -		TName iStoreName;
  1.1010 -		/** This parameter is used to set the type of the ICC card. */
  1.1011 -		TName iMode;
  1.1012 -		};
  1.1013 -
  1.1014 -	IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const;
  1.1015 -
  1.1016 -	IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const;
  1.1017 -
  1.1018 -	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const;
  1.1019 -
  1.1020 -	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aStatus, TDes8& aInfo, const TDesC& aStoreName, const TDesC& aMode) const;
  1.1021 -
  1.1022 -	// explicit phone initialisation
  1.1023 -	IMPORT_C void InitialiseMM(TRequestStatus& aReqStatus, TDes8& aTableSettings) const; 
  1.1024 -
  1.1025 -	/***********************************************************************************/
  1.1026 -	//
  1.1027 -	// MobilePhoneIccAccess functional unit
  1.1028 -	//
  1.1029 -	/***********************************************************************************/
  1.1030 -	
  1.1031 -/** ICC access capabilities.
  1.1032 -
  1.1033 -Modes: GSM */
  1.1034 -	enum TMobilePhoneIccCaps
  1.1035 -		{
  1.1036 -	/** Phone has a SIM and it currently supports SIM access by clients.
  1.1037 -	
  1.1038 -	Modes: GSM */
  1.1039 -		KCapsSimAccessSupported=0x00000001,
  1.1040 -	/** Phone has a R-UIM and it currently supports R-UIM access by clients.
  1.1041 -	
  1.1042 -	Modes: CDMA */
  1.1043 -		KCapsRUimAccessSupported=0x00000002,
  1.1044 -	/** Phone has a USIM and it currently supports USIM access by clients.
  1.1045 -	
  1.1046 -	Modes: WCDMA */
  1.1047 -		KCapsUSimAccessSupported=0x00000004
  1.1048 -		};
  1.1049 -		
  1.1050 -
  1.1051 -	enum 
  1.1052 -	{
  1.1053 -	/**
  1.1054 -	Maximum size of an ICC identity. 
  1.1055 -	
  1.1056 -	NOTE: TS102.221 defines the maximum size of the ICC Identity as held in EF_ICCID as 10 bytes, however
  1.1057 -	TS 51.011 mentions that network operators may issue a SIM with an identification number of 20 bytes.  
  1.1058 -	Therefore to cover this possibility the higher figure of 20 bytes has been chosen as the maximum size of the ICC identity.
  1.1059 -	*/
  1.1060 -	KMaxSizeIccIdentity	= 20
  1.1061 -	};
  1.1062 -	
  1.1063 -	/** A typedef to hold the ICC identity.*/
  1.1064 -	typedef TBuf8<KMaxSizeIccIdentity> TIccIdentity; 
  1.1065 -
  1.1066 -	IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const;
  1.1067 -	IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.1068 -	IMPORT_C void GetIccIdentity(TRequestStatus& aReqStatus, TIccIdentity& aIdentity) const;
  1.1069 -
  1.1070 -/** The Call Transfer/Call Forward options that are supported by the CSP.
  1.1071 -
  1.1072 -Modes: WCDMA/GSM */
  1.1073 -	enum TCspCallOffering
  1.1074 -		{
  1.1075 -	/** Indicates that "Call Transfer" is supported by the CSP. */
  1.1076 -		KCspCT=0x08,
  1.1077 -	/** Indicates that "Call Forwarding on Not Reachable" is supported by the CSP. */
  1.1078 -		KCspCFNRc=0x10,
  1.1079 -	/** Indicates that "Call Forwarding on No Reply" is supported by the CSP. */
  1.1080 -		KCspCFNRy=0x20,
  1.1081 -	/** Indicates that "Call Forwarding on Busy" is supported by the CSP. */
  1.1082 -		KCspCFB=0x40,
  1.1083 -	/** Indicates that "Call Forwarding Unconditional" is supported by the CSP. */
  1.1084 -		KCspCFU=0x80
  1.1085 -		};
  1.1086 -
  1.1087 -/** The call restrictions supported by the CSP.
  1.1088 -
  1.1089 -Modes: GSM/WCDMA */
  1.1090 -	enum TCspCallRestriction
  1.1091 -		{
  1.1092 -	/** Indicates that "Barring of Incoming Calls when roaming outside the home PLMN 
  1.1093 -	country" is supported by CSP. */
  1.1094 -		KCspBICRoam=0x08,
  1.1095 -	/** Indicates that "Barring of All Incoming Calls" is supported by CSP. */
  1.1096 -		KCspBAIC=0x10,
  1.1097 -	/** Indicates that "Barring of Outgoing International Calls except those directed 
  1.1098 -	to the home PLMN country" is supported by CSP. */
  1.1099 -		KCspBOICexHC=0x20,
  1.1100 -	/** Indicates that "Barring of Outgoing International Calls" is supported by CSP. */
  1.1101 -		KCspBOIC=0x40,
  1.1102 -	/** Indicates that "Barring of All Outgoing Calls" is supported by CSP. */
  1.1103 -		KCspBOAC=0x80
  1.1104 -		};
  1.1105 -
  1.1106 -/** Other services supported by the CSP.
  1.1107 -
  1.1108 -Modes: GSM/WCDMA */
  1.1109 -	enum TCspOtherSuppServices
  1.1110 -		{
  1.1111 -	/** Indicates that the Outgoing Access option of the Closed User Group service is 
  1.1112 -	supported by the CSP. */
  1.1113 -		KCspCUGOA=0x08,
  1.1114 -	/** Indicates that the Preferential CUG option of the Closed User Group service 
  1.1115 -	is supported by the CSP. */
  1.1116 -		KCspPrefCUG=0x10,
  1.1117 -	/** Indicates that the Advice of Charge service is supported by the CSP. */
  1.1118 -		KCspAoC=0x20,
  1.1119 -	/** Indicates that the Closed User Group service is supported by the CSP. */
  1.1120 -		KCspCUG=0x40,
  1.1121 -	/** Indicates that the Multiparty call service is supported by the CSP */
  1.1122 -		KCspMPTY=0x80,
  1.1123 -		};
  1.1124 -
  1.1125 -/** Call completion modes supported by this CSP.
  1.1126 -
  1.1127 -Modes: GSM/WCDMA */
  1.1128 -	enum TCspCallCompletion
  1.1129 -		{
  1.1130 -	/** Indicates that the Call Completion to Busy Subscriber service is supported by 
  1.1131 -	the CSP. */
  1.1132 -		KCspCCBS=0x20,
  1.1133 -	/** Indicates that the Call Waiting service is supported by the CSP. */
  1.1134 -		KCspCW=0x40,
  1.1135 -	/** Indicates that the Call Hold service is supported by the CSP. */
  1.1136 -		KCspHOLD=0x80,
  1.1137 -		};
  1.1138 -
  1.1139 -/** SMS Teleservices supported by the CSP.
  1.1140 -
  1.1141 -Modes: GSM/WCDMA */
  1.1142 -	enum TCspTeleservices
  1.1143 -		{
  1.1144 -	/** Indicates that display of Validity Period menu options for SMS is supported 
  1.1145 -	by the CSP. */
  1.1146 -		KCspValidityPeriod=0x02,
  1.1147 -	/** Indicates that display of Protocol ID menu options for SMS is supported by the 
  1.1148 -	CSP. */
  1.1149 -		KCspProtocolID=0x04,
  1.1150 -	/** Indicates that SMS Delivery Confirmation is supported by the CSP. */
  1.1151 -		KCspDelConf=0x08,
  1.1152 -	/** Indicates that display of Reply Path menu options for outgoing SMS is supported 
  1.1153 -	by the CSP. */
  1.1154 -		KCspReplyPath=0x10,
  1.1155 -	/** Indicates that the Cell Broadcast service is supported by the CSP. */
  1.1156 -		KCspSMCB=0x20,
  1.1157 -	/** Indicates mobile originated Short Messages are supported by CSP. */
  1.1158 -		KCspSMMO=0x40,
  1.1159 -	/** Indicates mobile terminated Short Messages are supported by CSP. */
  1.1160 -		KCspSMMT=0x80,
  1.1161 -		};
  1.1162 -
  1.1163 -/** Alternate Line Services */
  1.1164 -	enum TCspCPHSTeleservices
  1.1165 -		{
  1.1166 -	/** Indicates that Alternate Line Service is supported by the CSP. */
  1.1167 -		KCspALS=0x80
  1.1168 -		};
  1.1169 -
  1.1170 -/** Currently not used. */
  1.1171 -	enum TCspCPHSFeatures
  1.1172 -		{
  1.1173 -	/** This bit value is reserved for SST in Phase 1 CPHS. */
  1.1174 -		KCspReservedSST=0x80
  1.1175 -		};
  1.1176 -
  1.1177 -/** Number Identification option supported by the CSP.
  1.1178 -
  1.1179 -Modes: GSM/WCDMA */
  1.1180 -	enum TCspNumberIdentification
  1.1181 -		{
  1.1182 -	/** Indicates that Calling Line Identity Presentation blocking per call (CLI sent 
  1.1183 -	by default) is supported by the CSP. */
  1.1184 -		KCspCLIBlock=0x01,
  1.1185 -	/** Indicates that Calling Line Identity Presentation per call (CLI blocked by default) 
  1.1186 -	is supported by the CSP. */
  1.1187 -		KCspCLISend=0x02,
  1.1188 -	/** Indicates that Connected Line Identification Presentation is supported by the 
  1.1189 -	CSP. */
  1.1190 -		KCspCOLP=0x10,
  1.1191 -	/** Indicates that Connected Line Identification Restriction is supported by the 
  1.1192 -	CSP. */
  1.1193 -		KCspCOLR=0x20,
  1.1194 -	/** Indicates that Calling Line Identification Presentation is supported by the CSP. */
  1.1195 -		KCspCLIP=0x80,
  1.1196 -		};
  1.1197 -
  1.1198 -/** Phase 2+ services supported by the CSP.
  1.1199 -
  1.1200 -Modes: GSM/WCDMA */
  1.1201 -	enum TCspPhase2PlusServices
  1.1202 -		{
  1.1203 -	/** Indicates that Multiple Band roaming is supported by CSP. */
  1.1204 -		KCspMultipleband=0x04,
  1.1205 -	/** Indicates that Multiple Subscriber Profile is supported by CSP.
  1.1206 -	
  1.1207 -	v1.0 of Multimode ETel API does not support this feature */
  1.1208 -		KCspMSP=0x08,
  1.1209 -	/** Indicates that Voice Broadcast is supported by CSP.
  1.1210 -	
  1.1211 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1212 -		KCspVoiceBroadcast=0x10,
  1.1213 -	/** Indicates that Voice Group Call is supported by CSP. 
  1.1214 -	
  1.1215 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1216 -		KCspVoiceGroupCall=0x20,
  1.1217 -	/** Indicates that High Speed Circuit Switched Data is supported by CSP. */
  1.1218 -		KCspHscsd=0x40,
  1.1219 -	/** Indicates that General Packet Radio Service is supported by CSP. */
  1.1220 -		KCspGprs=0x80
  1.1221 -		};
  1.1222 -
  1.1223 -/** Value added services supported by this CSP.
  1.1224 -
  1.1225 -Modes: GSM/WCDMA */
  1.1226 -	enum TCspValueAdded
  1.1227 -		{
  1.1228 -	/** Indicates that display of language selection menus is supported by the CSP.
  1.1229 -	
  1.1230 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1231 -		KCspLanguage=0x01,
  1.1232 -	/** Indicates that display of data call option menu is supported by the CSP. */
  1.1233 -		KCspData=0x04,
  1.1234 -	/** Indicates that display of fax call option menu is supported by the CSP. */
  1.1235 -		KCspFax=0x08,
  1.1236 -	/** Indicates that display of the menu option to send a Short Message of type Email 
  1.1237 -	is supported by the CSP. */
  1.1238 -		KCspSMMOEmail=0x10,
  1.1239 -	/** Indicates that display of the menu option to send a Short Message of type Paging 
  1.1240 -	is supported by the CSP. */
  1.1241 -		KCspSMMOPaging=0x20,
  1.1242 -	/** Indicates that display of the menu option for manual PLMN selection is supported 
  1.1243 -	by the CSP. */
  1.1244 -		KCspPLMNMode=0x80,
  1.1245 -		};
  1.1246 -
  1.1247 -	
  1.1248 -
  1.1249 -	class TMobilePhoneCspFileV1 : public TMultimodeType
  1.1250 -	/** Defines contents of the CSP (Customer Service Profile) on the SIM. The profile 
  1.1251 -	consists of the sum of the respective enums.
  1.1252 -
  1.1253 -	@see GetCustomerServiceProfile()
  1.1254 -	@publishedPartner
  1.1255 -	@released*/
  1.1256 -		{
  1.1257 -	public:
  1.1258 -	/** Constructor. */
  1.1259 -		IMPORT_C TMobilePhoneCspFileV1();
  1.1260 -
  1.1261 -	/** Sum of the TCspCallOffering. */
  1.1262 -		TUint8	iCallOfferingServices;
  1.1263 -	/** Sum of the TCspCallRestriction. */
  1.1264 -		TUint8	iCallRestrictionServices;
  1.1265 -	/** Sum of the TCspOtherSuppServices. */
  1.1266 -		TUint8	iOtherSuppServices;
  1.1267 -	/** Sum of the TCspCallCompletion. */
  1.1268 -		TUint8	iCallCompletionServices;
  1.1269 -	/** Sum of the TCspTeleservices. */
  1.1270 -		TUint8  iTeleservices;
  1.1271 -	/** Sum of the TCspCPHSTeleservices. */
  1.1272 -		TUint8	iCphsTeleservices;
  1.1273 -	/** Sum of the TCspCPHSFeatures. */
  1.1274 -		TUint8	iCphsFeatures;
  1.1275 -	/** Sum of the TCspNumberIdentification. */
  1.1276 -		TUint8	iNumberIdentServices;
  1.1277 -	/** Sum of the TCspPhase2PlusServices. */
  1.1278 -		TUint8	iPhase2PlusServices;
  1.1279 -	/** Sum of the TCspValueAdded. */
  1.1280 -		TUint8	iValueAddedServices;
  1.1281 -		};
  1.1282 -
  1.1283 -/** A typedef'd packaged TMobilePhoneCspFileV1 for passing through a generic API 
  1.1284 -function member. */
  1.1285 -	typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg;
  1.1286 -
  1.1287 -	IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const;
  1.1288 -
  1.1289 -/** SIM/USIM/CDMA Service Table.
  1.1290 -
  1.1291 -Modes: Common */
  1.1292 -	enum TSSTServices1To8
  1.1293 -		{
  1.1294 -	/** Indicates that disabling PIN1 is supported by the ICC. */
  1.1295 -		KSstPin1Disable=0x01,
  1.1296 -	/** Indicates that storage of Abbreviated Dialling Numbers within this ICC is supported. */
  1.1297 -		KSstADN=0x02,
  1.1298 -	/** Indicates that the Fixed Dialling Numbers service and the storage of FDN numbers
  1.1299 -	within this ICC is supported. */
  1.1300 -		KSstFDN=0x04,
  1.1301 -	/** Indicates that the Short Message Service and the storage of short messages within 
  1.1302 -	this ICC is supported.
  1.1303 -	
  1.1304 -	Modes: Common */
  1.1305 -		KSstSMS=0x08,
  1.1306 -	/** Indicates that the Advice of Charge service is supported by this ICC.
  1.1307 -	
  1.1308 -	Modes: GSM/WCDMA */
  1.1309 -		KSstAoC=0x10,
  1.1310 -	/** Indicates that the storage of Configuration Capability Parameters associated 
  1.1311 -	with an AND, FDN, MSISDN, LND or SDN is supported by this ICC.
  1.1312 -	
  1.1313 -	Modes: GSM/WCDMA */
  1.1314 -		KSstCCP=0x20,
  1.1315 -	/** Indicates that storage of a preferred network list is supported by this ICC.
  1.1316 -	
  1.1317 -	v1.0 of Multimode ETel API does not support this feature
  1.1318 -	
  1.1319 -	Modes: GSM/WCDMA */
  1.1320 -		KSstPLMNSelector=0x40
  1.1321 -		};
  1.1322 -
  1.1323 -/** SIM/USIM/CDMA Service Table (continued).
  1.1324 -
  1.1325 -Modes: GSM/WCDMA */
  1.1326 -	enum TSSTServices9To16
  1.1327 -		{
  1.1328 -	/** Indicates that storage of MSISDN (own numbers) numbers within this ICC is supported.
  1.1329 -	
  1.1330 -	Modes: GSM/WCDMA */
  1.1331 -		KSstMSISDN=0x01,
  1.1332 -	/** Indicates that storage of extended (greater than 20 digits) ADN, LND and MSISDN
  1.1333 -	numbers within this ICC is supported.
  1.1334 -	
  1.1335 -	Modes: Common */
  1.1336 -		KSstExt1=0x02,
  1.1337 -	/** Indicates that storage of extended (greater than 20 digits) FDN numbers within 
  1.1338 -	this ICC is supported.
  1.1339 -	
  1.1340 -	Modes: Common */
  1.1341 -		KSstExt2=0x04,
  1.1342 -	/** Indicates that storage of SMS parameter records within this ICC is supported.
  1.1343 -	
  1.1344 -	Modes: Common */
  1.1345 -		KSstSMSP=0x08,
  1.1346 -	/** Indicates that storage of Last Numbers Dialled within this ICC is supported.
  1.1347 -	
  1.1348 -	Modes: Common */
  1.1349 -		KSstLND=0x10,
  1.1350 -	/** Indicates that the storage of Cell Broadcast message identifiers is supported 
  1.1351 -	within this ICC.
  1.1352 -	
  1.1353 -	Modes: GSM/WCDMA */
  1.1354 -		KSstCBMI=0x20,
  1.1355 -	/** Indicates that access to the GID1 file is supported within this ICC.
  1.1356 -	
  1.1357 -	v1.0 of Multimode ETel API does not support this feature
  1.1358 -	
  1.1359 -	Modes: GSM/WCDMA */
  1.1360 -		KSstGID1=0x40,
  1.1361 -	/** Indicates that access to the GID2 file is supported within this ICC.
  1.1362 -	
  1.1363 -	v1.0 of Multimode ETel API does not support this feature
  1.1364 -	
  1.1365 -	Modes: GSM/WCDMA */
  1.1366 -		KSstGID2=0x80
  1.1367 -		};
  1.1368 -	
  1.1369 -/** SIM/USIM/CDMA Service Table (continued).
  1.1370 -
  1.1371 -v1.0 of Multimode ETel API does not support this feature
  1.1372 -
  1.1373 -Modes: Common */
  1.1374 -	enum TSSTServices17To24
  1.1375 -		{
  1.1376 -	/** Indicates that access to the Service Provider Name within ICC is supported.
  1.1377 -	
  1.1378 -	v1.0 of Multimode ETel API does not support this feature
  1.1379 -	
  1.1380 -	Modes: Common */
  1.1381 -		KSstSPName=0x01,
  1.1382 -	/** Indicates that storage of Service Dialling Numbers within ICC is supported.
  1.1383 -	
  1.1384 -	Modes: Common */
  1.1385 -		KSstSDN=0x02,
  1.1386 -	/** Indicates that storage of extended (greater than 20 digits) SDN numbers within 
  1.1387 -	this ICC/RUIM is supported.
  1.1388 -	
  1.1389 -	Modes: Common */
  1.1390 -		KSstExt3=0x04,
  1.1391 -	/** Indicates that access to the VGCS group identifier list within ICC is supported.
  1.1392 -	
  1.1393 -	v1.0 of Multimode ETel API does not support this feature
  1.1394 -	
  1.1395 -	Modes: GSM/WCDMA */
  1.1396 -		KSstVGCSList=0x10,
  1.1397 -	/** Indicates that access to the VBS group identifier list within ICC is supported.
  1.1398 -	
  1.1399 -	v1.0 of Multimode ETel API does not support this feature
  1.1400 -
  1.1401 -	Modes: GSM/WCDMA */
  1.1402 -		KSstVBSList=0x20,
  1.1403 -	/** Indicates that the enhanced Multi-Level Precedence and Pre-emption service is 
  1.1404 -	supported by ICC
  1.1405 -	
  1.1406 -	v1.0 of Multimode ETel API does not support this feature
  1.1407 -	
  1.1408 -	Modes: GSM/WCDMA */
  1.1409 -		KSsteMLPP=0x40,
  1.1410 -	/** Indicates that automatic answer for eMLPP is supported by ICC
  1.1411 -	
  1.1412 -	v1.0 of Multimode ETel API does not support this feature
  1.1413 -	
  1.1414 -	Modes: GSM/WCDMA */
  1.1415 -		KSstAnswereMLPP=0x80
  1.1416 -		};
  1.1417 -
  1.1418 -/** SIM/USIM/CDMA Service Table (continued).
  1.1419 -
  1.1420 -Modes: GSM/WCDMA */
  1.1421 -	enum TSSTServices25To32
  1.1422 -		{
  1.1423 -	/** Indicates that SAT SMS-CB data download is supported by ICC. */
  1.1424 -		KSstSmsCbDataDownload=0x01,
  1.1425 -	/** Indicates that SAT SMS-PP data download is supported by ICC. */
  1.1426 -		KSstSmsPpDataDownload=0x02,
  1.1427 -	/** Indicates that SAT menu selection is supported by ICC.
  1.1428 -	
  1.1429 -	SAT ETel API provides this feature. */
  1.1430 -		KSstMenuSelection=0x04,
  1.1431 -	/** Indicates that SAT call control is supported by ICC.
  1.1432 -	
  1.1433 -	SAT ETel API provides this feature. */
  1.1434 -		KSstCallControl=0x08,
  1.1435 -	/** Indicates that SAT pro-active SIM is supported by ICC.
  1.1436 -	
  1.1437 -	SAT ETel API provides this feature. */
  1.1438 -		KSstProactiveSim=0x10,
  1.1439 -	/** Indicates ICC storage of ranges of Cell Broadcast Message Identifiers is supported. */
  1.1440 -		KSstCBMIRanges=0x20,
  1.1441 -	/** Indicates ICC storage of Barred Dialling Numbers is supported. */
  1.1442 -		KSstBDN=0x40,
  1.1443 -	/** Indicates ICC storage of extended (greater than 20 digits) BDN numbers is supported. */
  1.1444 -		KSstExt4=0x80
  1.1445 -		};
  1.1446 -
  1.1447 -/** SIM/USIM/CDMA Service Table (continued).
  1.1448 -
  1.1449 -Modes: GSM/WCDMA */
  1.1450 -	enum TSSTServices33To40
  1.1451 -		{
  1.1452 -	/** Indicates depersonalisation control keys are supported by ICC.
  1.1453 -	
  1.1454 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1455 -		KSstDepersonalisationKeys=0x01,
  1.1456 -	/** Indicates co-operative network list are supported by this ICC.
  1.1457 -	
  1.1458 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1459 -		KSstCooperativeNetworks=0x02,
  1.1460 -	/** Indicates Short Message Status Reports are supported by ICC. */
  1.1461 -		KSstSMStatusReports=0x04,
  1.1462 -	/** Indicates network's indication of alerting is supported by ICC.
  1.1463 -	
  1.1464 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1465 -		KSstNetworkIndAlerting=0x08,
  1.1466 -	/** Indicates outgoing SM control by SAT is supported by ICC.
  1.1467 -	
  1.1468 -	SAT ETel API provides this feature. */
  1.1469 -		KSstMoSmControlBySim=0x10,
  1.1470 -	/** Indicates that GPRS is supported by this ICC.
  1.1471 -	
  1.1472 -	GPRS ETel API provides GPRS functionality. */
  1.1473 -		KSstGprs=0x20,
  1.1474 -	/** Indicates that Image files are supported by this ICC.
  1.1475 -	
  1.1476 -	SAT ETel API provides this feature. */
  1.1477 -		KSstImage=0x40,
  1.1478 -	/** Indicates that SoLSA in supported by this ICC.
  1.1479 -	
  1.1480 -	v1.0 of Multimode ETel API does not support this feature */
  1.1481 -		KSstSoLSA=0x80
  1.1482 -		};
  1.1483 -
  1.1484 -/** SIM/USIM/CDMA Service Table (continued).
  1.1485 -
  1.1486 -Modes: GSM/WCDMA */
  1.1487 -	enum TSSTServices41To48
  1.1488 -		{
  1.1489 -	/** Indicates that USSD string data is supported in SAT Call Control by this ICC.
  1.1490 -	
  1.1491 -	SAT ETel API provides this feature. */
  1.1492 -		KSstUssdStringInCallControl=0x01,
  1.1493 -	/** Indicates that RUN AT COMMAND is supported in SAT by this ICC.
  1.1494 -	
  1.1495 -	v1.0 of Multimode ETel API does not support this feature */
  1.1496 -		KSstRunATCommand=0x02,
  1.1497 -	/** Indicates that PLMN selector list with access technology is supported by this 
  1.1498 -	ICC.
  1.1499 -	
  1.1500 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1501 -		KSstPlmnSelectorListWithAccessTechnology=0x04,
  1.1502 -	/** Indicates that OPLMN selector list with access technology is supported by this
  1.1503 -	ICC.
  1.1504 -	
  1.1505 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1506 -		KSstOplmnSelectorListWithAccessTechnology=0x08,
  1.1507 -	/** Indicates that HPLMN access technology is supported by this ICC.
  1.1508 -	
  1.1509 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1510 -		KSstHplmnAccessTechnology=0x10,
  1.1511 -	/** Indicates that CPBCCH information is supported by this ICC.
  1.1512 -	
  1.1513 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1514 -		KSstCpbcchInformation=0x20,
  1.1515 -	/** Indicates that Investigation Scan is supported by this ICC.
  1.1516 -	
  1.1517 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1518 -		KSstInvestigationScan=0x40,
  1.1519 -	/** Indicates that extended capability configuration parameters are supported by 
  1.1520 -	this ICC.
  1.1521 -	
  1.1522 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1523 -		KSstExtendedCcp=0x80
  1.1524 -		};
  1.1525 -
  1.1526 -/** SIM/USIM/CDMA Service Table (continued).
  1.1527 -
  1.1528 -Modes: GSM/WCDMA */
  1.1529 -	enum TSSTServices49To56
  1.1530 -		{
  1.1531 -	/** Indicates Mobile Execution Environment services are supported by this ICC */
  1.1532 -		KSstMExE=0x01,
  1.1533 -	/** Indicates that RPLMN last used access technology is supported by this ICC.
  1.1534 -	
  1.1535 -	v1.0 of Multimode ETel API does not support this feature. */
  1.1536 -		KSstRplmnLastUsedAccessTechnology=0x02
  1.1537 -		};
  1.1538 -
  1.1539 -/** USIM service table. */
  1.1540 -	enum TUSTServices1To8
  1.1541 -		{
  1.1542 -	/** Indicates that the local phonebook is supported by the USIM. Local phonebook 
  1.1543 -	means a phonebook that is specific to a USIM Application, as opposed to the 
  1.1544 -	global phonebook which is located at the DF Telecom level on the UICC and 
  1.1545 -	not attached to a USIM Application. */
  1.1546 -		KUstLocalPhBk=0x01,
  1.1547 -	/** Indicates that the Fixed Dialling Numbers (FDN) service and the storage of 
  1.1548 -	FDN numbers within this USIM is supported. */
  1.1549 -		KUstFDN=0x02,
  1.1550 -	/** Indicates that the Extension 2 is supported by the USIM. Extension 2 provides 
  1.1551 -	extension data for Fixed Dialling Numbers. */
  1.1552 -		KUstExt2=0x04,
  1.1553 -	/** Indicates that the Service Dialling Numbers are supported by the USIM. */
  1.1554 -		KUstSDN=0x08,
  1.1555 -	/** Indicates that the Extension 3 is supported by the USIM. Extension 3 provides 
  1.1556 -	extension data for Service Dialling Numbers. */
  1.1557 -		KUstExt3=0x10,
  1.1558 -	/** Indicates that the Barred Dialling Numbers are supported by the USIM. */
  1.1559 -		KUstBDN=0x20,
  1.1560 -	/** Indicates that the Extension 4 is supported by the USIM. Extension 4 provides 
  1.1561 -	extension data for Barred Dialling Numbers. */
  1.1562 -		KUstExt4=0x40,
  1.1563 -	/** Indicates that the outgoing call information (OCI and OCT) are supported by 
  1.1564 -	the USIM.
  1.1565 -	
  1.1566 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1567 -		KUstOugoingCallInfo=0x80
  1.1568 -		};
  1.1569 -	
  1.1570 -/** USIM service table (continued). */
  1.1571 -	enum TUSTServices9To16
  1.1572 -		{
  1.1573 -	/** Indicates that the incoming call information (ICI and ICT) are supported by 
  1.1574 -	the USIM
  1.1575 -	
  1.1576 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1577 -		KUstIncomingCallInfo=0x01,
  1.1578 -	/** Indicates that Short Message Storage is supported by the USIM. */
  1.1579 -		KUstSMS=0x02,
  1.1580 -	/** Indicates that Short Message Status Reports are supported by the USIM. */
  1.1581 -		KUstSMSR=0x04,
  1.1582 -	/** Indicates that Short Message Service Parameters are supported by the USIM. */
  1.1583 -		KUstSMSP=0x08,
  1.1584 -	/** Indicates that Advice Of Charge is supported by the USIM. */
  1.1585 -		KUstAoC=0x10,
  1.1586 -	/** Indicates that Capability Configuration Parameters are supported by the USIM. */
  1.1587 -		KUstCCP=0x20,
  1.1588 -	/** Indicates that Cell Broadcast Message Identifier is supported by the USIM. */
  1.1589 -		KUstCBMI=0x40,
  1.1590 -	/** Indicates that Cell Broadcast Message Identifier Ranges are supported by the 
  1.1591 -	USIM. */
  1.1592 -		KUstCBMIRanges=0x80
  1.1593 -		};
  1.1594 -
  1.1595 -/** USIM service table (continued). */
  1.1596 -	enum TUSTServices17To24
  1.1597 -		{
  1.1598 -	/** Indicates that Group Identifier Level 1 is supported by the USIM.
  1.1599 -	
  1.1600 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1601 -		KUstGID1=0x01,
  1.1602 -	/** Indicates that Group Identifier Level 2 is supported by the USIM.
  1.1603 -	
  1.1604 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1605 -		KUstGID2=0x02,
  1.1606 -	/** Indicates that Service Provider Name is supported by the USIM. */
  1.1607 -		KUstSPN=0x04,
  1.1608 -	/** Indicates that user controlled PLMN selector with Access Technology is supported
  1.1609 -	by the USIM.
  1.1610 -	
  1.1611 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1612 -		KUstPLMNSelAccessTech=0x08,
  1.1613 -	/** Indicates that MSISDN is supported by the USIM. */
  1.1614 -		KUstMSISDN=0x10,
  1.1615 -	/** Indicates that Image is supported by the USIM.
  1.1616 -	
  1.1617 -	Note: (U)SAT ETel API provides this feature. This enum value is reserved for 
  1.1618 -	future API use. */
  1.1619 -		KUstIMG=0x20,
  1.1620 -		//0x40 is a reserved value
  1.1621 -	/** Indicates that enhanced Multi Level Precedence and Pre-emption Service is supported 
  1.1622 -	by the USIM.
  1.1623 -	
  1.1624 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1625 -		KUsteMLPP=0x80
  1.1626 -		};
  1.1627 -
  1.1628 -/** USIM service table (continued). */
  1.1629 -	enum TUSTServices25To32
  1.1630 -		{
  1.1631 -	/** Indicates that Automatic Answer for eMLPP is supported by the USIM.
  1.1632 -	
  1.1633 -	Note: v1.0 and v2.0 of Multimode ETel API do not support this feature. */
  1.1634 -		KUstAnswereMLPP=0x01,
  1.1635 -		//0x02 is a reserved value
  1.1636 -	/** Indicates that GSM Access is supported by the USIM */
  1.1637 -		KUstGSMAccess=0x04,
  1.1638 -	/** Indicates that Data download via SMS-PP is supported by the USIM.
  1.1639 -	
  1.1640 -	Note: (U)SAT ETel API provides this feature. */
  1.1641 -		KUstSMSPpDataDownload=0x08,
  1.1642 -	/** Indicates that Data download via SMS-CB is supported by the USIM.
  1.1643 -	
  1.1644 -	Note: (U)SAT ETel API provides this feature. */
  1.1645 -		KUstSMSCbDataDownload=0x10,
  1.1646 -	/** Indicates that Call Control by USIM is supported by the USIM.
  1.1647 -	
  1.1648 -	Note: (U)SAT ETel API provides this feature. */
  1.1649 -		KUstCallControl=0x20,
  1.1650 -	/** Indicates that MO-SMS Control by USIM is supported by the USIM.
  1.1651 -	
  1.1652 -	Note: (U)SAT ETel API provides this feature. */
  1.1653 -		KUstMoSmControl=0x40,
  1.1654 -	/** Indicates that the proactive command RUN AT COMMAND is supported by the USIM.
  1.1655 -	
  1.1656 -	Note: (U)SAT ETel API provides this feature. */
  1.1657 -		KUstPCmdRunAtCommand=0x80		
  1.1658 -		};
  1.1659 -
  1.1660 -/** USIM service table (continued). */
  1.1661 -	enum TUSTServices33To40
  1.1662 -		{
  1.1663 -	/** Should always be present as specified by 3 GPP spec. */
  1.1664 -		KUstAlways=0x10,
  1.1665 -	/** Indicates that the Enabled Service Table is supported by the USIM. */
  1.1666 -		KUstEST=0x02,
  1.1667 -	/** Indicates that APN Control List is supported by the USIM.
  1.1668 -	
  1.1669 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1670 -		KUstACL=0x04,
  1.1671 -	/** Indicates that the Depersonalisation Control Keys are supported by the USIM.
  1.1672 -	
  1.1673 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1674 -		KIstDepersonalisationKeys =0x08,
  1.1675 -	/** Indicates that the Co-operative Network List is supported by the USIM.
  1.1676 -
  1.1677 -	Note: v2.0 of Multimode ETel API does not support this feature. */
  1.1678 -		KUstCooperativeNetwork=0x10,
  1.1679 -	/** Indicates that GSM Security Context is supported by the USIM. */
  1.1680 -		KUstGSMSecurityContext=0x20,
  1.1681 -	/** Indicates that CPBCCH Information is supported by the USIM.
  1.1682 -	
  1.1683 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1684 -		KUstCPBCCHInfo=0x40,
  1.1685 -	/** Indicates that Investigation Scan is supported by the USIM.
  1.1686 -	
  1.1687 -	Note:v2.0 of Multimode ETel API do not support this feature. */
  1.1688 -		KUstInvestigationScan=0x80
  1.1689 -		};
  1.1690 -
  1.1691 -/** USIM service table (continued). */
  1.1692 -	enum TUSTServices41To48
  1.1693 -		{
  1.1694 -	/** Indicates that MExE is supported by the USIM.
  1.1695 -	
  1.1696 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1697 -		KUstMExE=0x01,
  1.1698 -	/** Indicates that Operator controlled PLMN selector with Access Technology is 
  1.1699 -	supported by the USIM.
  1.1700 -	
  1.1701 -	N.B .v2.0 of Multimode ETel API do not support this feature. */
  1.1702 -		KUstOperatorPLMNSelector=0x02,
  1.1703 -	/** Indicates that HPLMN selector with Access Technology is supported by the USIM.
  1.1704 -	
  1.1705 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1706 -		KUstHPLMNSelAccessTech=0x04,
  1.1707 -	/** Indicates that Extension 5 is supported by the USIM. Provides support for extension 
  1.1708 -	data for MSISDN. */
  1.1709 -		KUstExt5=0x08,
  1.1710 -	/** Indicates that PLMN Network Name is supported by the USIM.
  1.1711 -	
  1.1712 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1713 -		KUstPLMNNetworkName=0x10,
  1.1714 -	/** Indicates that Operator PLMN List is supported by the USIM.
  1.1715 -	
  1.1716 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1717 -		KUstOperatorPLMNList=0x20,
  1.1718 -	/** Indicates that Mailbox Dialling Numbers are supported by the USIM. */
  1.1719 -		KUstMDN=0x40,
  1.1720 -	/** Indicates that Message Waiting Indication Status is supported by the USIM. */
  1.1721 -		KUstMWISo=0x80
  1.1722 -		};
  1.1723 -
  1.1724 -/** USIM service table (continued). */
  1.1725 -	enum TUSTServices49To56
  1.1726 -		{
  1.1727 -	/** Indicates that Call forwarding indication status is supported by the USIM.
  1.1728 -	
  1.1729 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1730 -		KUstCFIS=0x01,
  1.1731 -	/** Indicates that RPLMN last-used access technology is supported by the USIM (Release 5).
  1.1732 -	From Release 6 this service is "Reserved and shall be ignored".
  1.1733 -	
  1.1734 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1735 -		KUstRPLMN=0x02,
  1.1736 -	/** Indicates that Service provider display information is supported by the USIM.
  1.1737 -	
  1.1738 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1739 -		KUstSPDI=0x04,
  1.1740 -	    KUstMMS=0x08,
  1.1741 -	    KUstExt8=0x10,
  1.1742 -	    KUstCConGPRS=0x20,
  1.1743 -	    KUstMMSUCP=0x40
  1.1744 -		};
  1.1745 -
  1.1746 -
  1.1747 -/** USIM service table (continued). */
  1.1748 -	enum TUSTServices57To64
  1.1749 -		{
  1.1750 -	/** Indicates that VGCS Group Identifier List ( VGCS and VGCSS) is supported by the USIM.
  1.1751 -	
  1.1752 -	Note: v8.0 of Multimode ETel API does not support this feature. */
  1.1753 -		KUstVGCSGroupIdList=0x01,
  1.1754 -	/** Indicates that VBS Group Identifier List ( VBS and VBSS ) is supported by the USIM.
  1.1755 -	
  1.1756 -	Note: v8.0 of Multimode ETel API does not support this feature. */
  1.1757 -		KUstVBSGroupIdList=0x02,
  1.1758 -	/** Indicates that Pseudonym  is supported by the USIM.*/
  1.1759 -		KUstPseudonym=0x04,
  1.1760 -	/** Indicates that User controlled PLMN selector for WLAN Access is supported by the USIM. */	
  1.1761 -	    KUstUserPLMNSelectorWLAN=0x08,
  1.1762 -	/** Indicates that Operator controlled PLMN selector for WLAN Access is supported by the USIM.*/    
  1.1763 -	    KUstOperatorPLMNSelectorWLAN =0x10,
  1.1764 -	/** Indicates that User controlled WLAN specific identifier list  is supported by the USIM.*/    
  1.1765 -	    KUstUserWSIDList=0x20,
  1.1766 -	/** Indicates that Opertor controlled WLAN specific identifier list  is supported by the USIM. */    
  1.1767 -  	    KUstOperatorWSIDList=0x40,
  1.1768 -	/** Indicates that Voice Group Call Service Ciphering Algorithm is supported by the USIM.
  1.1769 -	
  1.1770 -	Note: v8.0 of Multimode ETel API does not support this feature. */  
  1.1771 -	    KUstVGCSSecurity=0x80
  1.1772 -		};
  1.1773 -
  1.1774 -/** USIM service table (continued). */
  1.1775 -	enum TUSTServices65To72
  1.1776 -		{
  1.1777 -	/** Indicates that Voice Broadcast Service Ciphering Algorithm is supported by the USIM.
  1.1778 -	
  1.1779 -	 Note: v8.0 of Multimode ETel API does not support this feature. */  
  1.1780 -		KUstVBSSecurity=0x01,
  1.1781 -	/** Indicates that the WLAN Reauthentication Identity is supported by the USIM.*/
  1.1782 -		KUstWLANReAuthenId=0x02,
  1.1783 -	/** Indicates that Multimedia Message Storage is supported by the USIM.
  1.1784 -	
  1.1785 -	Note: v8.0 of Multimode ETel API does not support this feature. */  
  1.1786 -		KUstMMStorage=0x04,
  1.1787 -	/** Indicates that Generic Bootstrapping Architecture (GBA) is supported by the USIM */  
  1.1788 -			
  1.1789 -	    KUstGBA=0x08,
  1.1790 -	/** Indicates that Multimedia Broadcast Multicast Service (MBMS) Security is supported by the USIM.*/  
  1.1791 -	
  1.1792 -	    KUstMBMSSecurity =0x10,
  1.1793 -	 /** Indicates that USSD Data Dowload feature is supported by the USIM.
  1.1794 -	
  1.1795 -	Note: v8.0 of Multimode ETel API does not support this feature. */  
  1.1796 -	
  1.1797 -	    KUstUSSDDataDownload=0x20,
  1.1798 -	/** Indicates that Additional TERMINAL PROFILE after UICC activation is supported by the USIM */  
  1.1799 -	    KUstTerminalProfileUICCActivation=0x80
  1.1800 -		};
  1.1801 -
  1.1802 -/** Enabled Services Table. */
  1.1803 -	enum TESTServices1To8
  1.1804 -		{
  1.1805 -	/** Indicates that FDN service is activated. */
  1.1806 -		KEstFDN=0x01,
  1.1807 -	/** Indicates that BDN service is activated. */
  1.1808 -		KEstBDN=0x02,
  1.1809 -	/** Indicates that the APN Control List service is activated.
  1.1810 -	
  1.1811 -	Note: v2.0 of Multimode ETel API do not support this feature. */
  1.1812 -		KEstACL=0x04
  1.1813 -		};
  1.1814 -
  1.1815 - /** ISIM Service Table*/
  1.1816 -	enum TISTServices1To8
  1.1817 -		{
  1.1818 -	/** Indicates that EFP-CSCF is present in the ISIM. */	
  1.1819 -		KIstPCSCF=0x01,
  1.1820 -	/** Indicates that the Generic Bootstrapping Architecture (GBA) is supported by the ISIM. */
  1.1821 -		KIstGBA=0x02,
  1.1822 -	/** Indicates that the ISIM supports operations in HTTP-Digest security context. */
  1.1823 -		KIstHTTPDigest=0x04
  1.1824 -		};
  1.1825 -
  1.1826 -
  1.1827 -/** Get Service Table.
  1.1828 -
  1.1829 -Modes: GSM/WCDMA */
  1.1830 -	enum TMobilePhoneServiceTable
  1.1831 -		{
  1.1832 -	/** Retrieve SIM service table on SIM (or from GSM application on UICC).
  1.1833 -	
  1.1834 -	Modes: GSM/WCDMA */
  1.1835 -		ESIMServiceTable,
  1.1836 -	/** Retrieve USIM service table from active USIM application on UICC.
  1.1837 -	
  1.1838 -	Modes: WCDMA */
  1.1839 -		EUSIMServiceTable,
  1.1840 -	/** Retrieve CDMA service table on R-UIM.
  1.1841 -	
  1.1842 -	Modes: CDMA */
  1.1843 -		ECDMAServiceTable,
  1.1844 -	/** USIM Enabled Services Table to be used in conjunction with the USIM Service 
  1.1845 -	Table.
  1.1846 -	
  1.1847 -	Modes: WCDMA */
  1.1848 -		EUSIMEnabledServiceTable,
  1.1849 -	/** ISIM Service Table (IST) for the currently active ISIM application on the UICC is selected.
  1.1850 -	
  1.1851 -	Modes: WCDMA */	
  1.1852 -		EISIMServiceTable
  1.1853 -		};
  1.1854 -
  1.1855 -	
  1.1856 -	class TMobilePhoneServiceTableV1 : public TMultimodeType
  1.1857 -	/** Defines contents of the specified Service Table on the ICC.
  1.1858 -
  1.1859 -	@see GetServiceTable()
  1.1860 -	@publishedPartner
  1.1861 -	@released
  1.1862 -	 */
  1.1863 -		{
  1.1864 -	public:
  1.1865 -		IMPORT_C TMobilePhoneServiceTableV1();
  1.1866 -
  1.1867 -	/** Sum of the TSSTServices1To8 capability constants. */
  1.1868 -		TUint8 iServices1To8;
  1.1869 -	/** Sum of the TSSTServices9To16 capability constants. */
  1.1870 -		TUint8 iServices9To16;
  1.1871 -	/** Sum of the TSSTServices17To24 capability constants. */
  1.1872 -		TUint8 iServices17To24;
  1.1873 -	/** Sum of the TSSTServices25To32 capability constants. */
  1.1874 -		TUint8 iServices25To32;
  1.1875 -	/** Sum of the TSSTServices33To40 capability constants. */
  1.1876 -		TUint8 iServices33To40;
  1.1877 -	/** Sum of the TSSTServices41To48 capability constants. */
  1.1878 -		TUint8 iServices41To48;
  1.1879 -	/** Sum of the TSSTServices49To56 capability constants. */
  1.1880 -		TUint8 iServices49To56;
  1.1881 -		};
  1.1882 -
  1.1883 -/** A typedef'd packaged TMobilePhoneServiceTableV1 passing through a generic API 
  1.1884 -function member. */
  1.1885 -	typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg;
  1.1886 -
  1.1887 -	enum { KAIDSize=16 };
  1.1888 -
  1.1889 -/** A typedef'd buffer to hold the application identifier (AID) that identifies 
  1.1890 -the USIM application in a UICC. The AID consists of a Registered application 
  1.1891 -provider IDentifier (RID) of 5 bytes and a Proprietary application Identifier 
  1.1892 -eXtension (PIX) of up to 11 bytes. */
  1.1893 -	typedef TBuf8<KAIDSize> TAID; 
  1.1894 -
  1.1895 -	class TMobilePhoneServiceTableV2 : public TMobilePhoneServiceTableV1
  1.1896 -/** Defines contents of the specified Service Table on the ICC for the v2.0 version 
  1.1897 -of the API. 
  1.1898 -*/
  1.1899 -		{
  1.1900 -	public:
  1.1901 -		IMPORT_C TMobilePhoneServiceTableV2();
  1.1902 -	public:
  1.1903 -	/** The application identifier. */
  1.1904 -		TAID   iAID;
  1.1905 -		};
  1.1906 -
  1.1907 -/** A typedef'd packaged TMobilePhoneServiceTableV2 passing through a generic API 
  1.1908 -function member. */
  1.1909 -	typedef TPckg<TMobilePhoneServiceTableV2> TMobilePhoneServiceTableV2Pckg;
  1.1910 -	
  1.1911 -	class TMobilePhoneServiceTableV8 : public TMobilePhoneServiceTableV2
  1.1912 -	/** Defines contents of the specified Service Table on the UICC for the v8.0 version 
  1.1913 -	of the API.
  1.1914 -	See section 4.2.8 of 3GPP TS 31.102 v6.18.0 of the API. 
  1.1915 -	*/	
  1.1916 -		{
  1.1917 -	public:
  1.1918 -		IMPORT_C TMobilePhoneServiceTableV8();	
  1.1919 -	public:
  1.1920 -	/** Sum of the TSSTServices57To64 capability constants. */
  1.1921 -		TUint8 	iServices57To64;
  1.1922 -	/** Sum of the TSSTServices65To72 capability constants. */		
  1.1923 -		TUint8	iServices65To72;	
  1.1924 -		};
  1.1925 -	
  1.1926 -/** A typedef'd packaged TMobilePhoneServiceTableV8 passing through a generic API 
  1.1927 -function member. */	
  1.1928 -	typedef TPckg<TMobilePhoneServiceTableV8> TMobilePhoneServiceTableV8Pckg;	
  1.1929 - 
  1.1930 -	IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const;
  1.1931 -	
  1.1932 -	
  1.1933 -	/***********************************************************************************/
  1.1934 -	//
  1.1935 -	// MobilePhonePower functional unit
  1.1936 -	//
  1.1937 -	/***********************************************************************************/
  1.1938 -
  1.1939 -/** Phone supported battery information.
  1.1940 -
  1.1941 -Modes: Common */
  1.1942 -	enum TMobilePhoneBatteryCaps
  1.1943 -		{
  1.1944 -	/** Phone supports requests to get the current battery information. */
  1.1945 -		KCapsGetBatteryInfo=0x00000001,
  1.1946 -	/** Phone supports requests for notification of change in battery information. */
  1.1947 -		KCapsNotifyBatteryInfoChange=0x00000002
  1.1948 -		};
  1.1949 -
  1.1950 -	IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const; 
  1.1951 -
  1.1952 -/** The mobile phone battery status.
  1.1953 -
  1.1954 -Modes: Common */
  1.1955 -	enum TMobilePhoneBatteryStatus
  1.1956 -		{
  1.1957 -	/** The TSY can not determine the phone's current power status. */
  1.1958 -		EPowerStatusUnknown,
  1.1959 -	/** The phone is currently powered by a battery. */
  1.1960 -		EPoweredByBattery,
  1.1961 -	/** A battery is connected, but the phone is externally powered. */
  1.1962 -		EBatteryConnectedButExternallyPowered,
  1.1963 -	/** No battery is connected. */
  1.1964 -		ENoBatteryConnected,
  1.1965 -	/** Power fault. */
  1.1966 -		EPowerFault
  1.1967 -		};
  1.1968 -
  1.1969 -	class TMobilePhoneBatteryInfoV1 : public TMultimodeType
  1.1970 -/** Defines contents of the battery status of the phone.
  1.1971 -
  1.1972 -@see GetBatteryInfo()
  1.1973 -@see NotifyBatteryInfoChange()
  1.1974 -*/
  1.1975 -		{
  1.1976 -	public:
  1.1977 -		IMPORT_C TMobilePhoneBatteryInfoV1();
  1.1978 -	public:
  1.1979 -	/** The power and battery status.
  1.1980 -	
  1.1981 -	@see TMobilePhoneBatteryStatus */
  1.1982 -		TMobilePhoneBatteryStatus iStatus;
  1.1983 -	/** The percentage battery charge level. */
  1.1984 -		TUint iChargeLevel;
  1.1985 -		};
  1.1986 -
  1.1987 -	IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
  1.1988 -	IMPORT_C void NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
  1.1989 -
  1.1990 -	
  1.1991 -	/***********************************************************************************/
  1.1992 -	//
  1.1993 -	// MobilePhoneSignal functional unit
  1.1994 -	//	
  1.1995 -	/***********************************************************************************/
  1.1996 -
  1.1997 -/** The mobile phone signal strength capabilities.
  1.1998 -
  1.1999 -Modes: Common */
  1.2000 -	enum TMobilePhoneSignalCaps
  1.2001 -		{
  1.2002 -	/** Phone supports requests to get the current signal strength. */
  1.2003 -		KCapsGetSignalStrength=0x00000001,
  1.2004 -	/** Phone supports requests for notification of change in signal strength. */
  1.2005 -		KCapsNotifySignalStrengthChange=0x00000002
  1.2006 -		};
  1.2007 -
  1.2008 -	IMPORT_C TInt GetSignalCaps(TUint32& aCaps) const; 
  1.2009 -	IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
  1.2010 -	IMPORT_C void NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
  1.2011 -
  1.2012 -	/***********************************************************************************/
  1.2013 -	//
  1.2014 -	// MobilePhoneIndicator functional unit
  1.2015 -	//
  1.2016 -	/***********************************************************************************/
  1.2017 -	
  1.2018 -/** The mobile phone indicator capabilities supported.
  1.2019 -
  1.2020 -Modes: Common */
  1.2021 -	enum TMobilePhoneIndicatorCaps
  1.2022 -		{
  1.2023 -	/** Phone supports requests to get the current value of all supported indicators. */
  1.2024 -		KCapsGetIndicator=0x00000001,
  1.2025 -	/** Phone supports requests for notification of change in the supported indicators. */
  1.2026 -		KCapsNotifyIndicatorChange=0x00000002
  1.2027 -		};
  1.2028 -
  1.2029 -/** The mobile phone indicators.
  1.2030 -
  1.2031 -Modes Common */
  1.2032 -	enum TMobilePhoneIndicators
  1.2033 -		{
  1.2034 -	/** If bit-flag is set to '1' indicates that the battery charger is connected to 
  1.2035 -	the phone. If bit-flag is set to '0' indicates that the battery charger is 
  1.2036 -	disconnected. */
  1.2037 -		KIndChargerConnected=0x00000001,
  1.2038 -	/** If bit-flag is set to '1' indicates that network service is available. If bit-flag 
  1.2039 -	is set to '0' indicates that network service is unavailable. */
  1.2040 -		KIndNetworkAvailable=0x00000002,
  1.2041 -	/** If bit-flag is set to '1' indicates that a call is in progress. If set to '0' 
  1.2042 -	indicates that a call is not in progress. */
  1.2043 -		KIndCallInProgress=0x00000004
  1.2044 -		};
  1.2045 -
  1.2046 -	IMPORT_C TInt GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const; 
  1.2047 -	IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
  1.2048 -	IMPORT_C void NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
  1.2049 -
  1.2050 -	
  1.2051 -	/***********************************************************************************/
  1.2052 -	//
  1.2053 -	// MobilePhoneIdentity functional unit
  1.2054 -	//
  1.2055 -	/***********************************************************************************/
  1.2056 -	
  1.2057 -/** Defines Identity Capabilities.
  1.2058 -
  1.2059 -Modes: Common */
  1.2060 -	enum TMobilePhoneIdentityCaps
  1.2061 -		{
  1.2062 -	/** Phone can return the identity of its manufacturer. */
  1.2063 -		KCapsGetManufacturer=0x00000001,
  1.2064 -	/** Phone can return the identity of its model. */
  1.2065 -		KCapsGetModel=0x00000002,
  1.2066 -	/** Phone can return the identity of its revision. */
  1.2067 -		KCapsGetRevision=0x00000004,
  1.2068 -	/** Phone can return the identity of its serial number. */
  1.2069 -		KCapsGetSerialNumber=0x00000008,
  1.2070 -	/** Phone can return the identity of its subscriber. */
  1.2071 -		KCapsGetSubscriberId=0x00000010
  1.2072 -		};
  1.2073 -
  1.2074 -	IMPORT_C TInt GetIdentityCaps(TUint32& aCaps) const;
  1.2075 -
  1.2076 -	enum {	KPhoneManufacturerIdSize=50	};
  1.2077 -	enum {	KPhoneModelIdSize=50 };
  1.2078 -	enum {	KPhoneRevisionIdSize=50	};
  1.2079 -	enum {	KPhoneSerialNumberSize=50 };
  1.2080 -	
  1.2081 -	class TMobilePhoneIdentityV1 : public TMultimodeType
  1.2082 -/** Defines the mobile phone identity.
  1.2083 -
  1.2084 -@see GetPhoneId() */
  1.2085 -		{
  1.2086 -	public:
  1.2087 -		IMPORT_C TMobilePhoneIdentityV1();
  1.2088 -	public:
  1.2089 -	/** Phone manufacturer identification, in character string format. */
  1.2090 -		TBuf<KPhoneManufacturerIdSize> iManufacturer;
  1.2091 -	/** Phone model identification, in character string format. */
  1.2092 -		TBuf<KPhoneModelIdSize> iModel;
  1.2093 -	/** Phone revision identification, in character string format. */
  1.2094 -		TBuf<KPhoneRevisionIdSize> iRevision;
  1.2095 -	/** Phone serial number (IMEI or ESN), in character string format. */
  1.2096 -		TBuf<KPhoneSerialNumberSize> iSerialNumber;
  1.2097 -		};
  1.2098 -
  1.2099 -	IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const;
  1.2100 -
  1.2101 -	enum {	KIMSISize = 15 };
  1.2102 -
  1.2103 -/** A typedef'd buffer to hold the mobile phone subscriber id. */
  1.2104 -	typedef TBuf<KIMSISize> TMobilePhoneSubscriberId;
  1.2105 -
  1.2106 -	IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const;
  1.2107 -
  1.2108 -	/***********************************************************************************/
  1.2109 -	//
  1.2110 -	// MobilePhoneDTMF functional unit
  1.2111 -	//
  1.2112 -	/***********************************************************************************/
  1.2113 -	
  1.2114 -/** DTMF Capabilities.
  1.2115 -
  1.2116 -Modes: Common */
  1.2117 -	enum TMobilePhoneDTMFCaps
  1.2118 -		{
  1.2119 -	/** Capability to send a string of DTMF tones, containing one or more tone(s). */
  1.2120 -		KCapsSendDTMFString=0x00000001,
  1.2121 -	/** Capability to send one DTMF tone, using start and stop DTMF tone function member. */
  1.2122 -		KCapsSendDTMFSingleTone=0x00000002,
  1.2123 -		};
  1.2124 -		
  1.2125 -	/**
  1.2126 -	DTMF tone operation event.
  1.2127 -	*/
  1.2128 -	enum TMobilePhoneDTMFEvent
  1.2129 -		{
  1.2130 -		/**
  1.2131 -		 Start sending of a Dtmf tone operation has been acknowledged from the MSC.
  1.2132 -		*/
  1.2133 -		EStartDtmfTone,
  1.2134 -		/**
  1.2135 -		 Stop sending of a Dtmf tone operation has been acknowledged from the MSC.
  1.2136 -		*/
  1.2137 -		EStopDtmfTone,
  1.2138 -		};
  1.2139 -		
  1.2140 -
  1.2141 -	IMPORT_C TInt GetDTMFCaps(TUint32& aCaps) const; 
  1.2142 -	IMPORT_C void NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.2143 -
  1.2144 -	IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const;
  1.2145 -	IMPORT_C void ReadDTMFTones(TRequestStatus& aReqStatus, TDes& aTones) const;
  1.2146 -	IMPORT_C TInt StartDTMFTone(TChar aTone) const;
  1.2147 -	IMPORT_C TInt StopDTMFTone() const;
  1.2148 -
  1.2149 -	IMPORT_C void NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const;
  1.2150 -	IMPORT_C TInt ContinueDTMFStringSending(TBool aContinue) const;
  1.2151 -	IMPORT_C void NotifyDTMFEvent(TRequestStatus& aReqStatus, TMobilePhoneDTMFEvent& aEvent) const;
  1.2152 -
  1.2153 -	/***********************************************************************************/
  1.2154 -	//
  1.2155 -	// MobilePhoneNetwork functional unit
  1.2156 -	//
  1.2157 -	/***********************************************************************************/
  1.2158 -	
  1.2159 -/** Defines Network Capabilities.
  1.2160 -
  1.2161 -Modes: Common */
  1.2162 -	enum TMobilePhoneNetworkCaps
  1.2163 -		{
  1.2164 -	/** The phone supports retrieval of current registration status. */
  1.2165 -		KCapsGetRegistrationStatus=0x00000001,
  1.2166 -	/** The phone supports notifications of change in registration status. */
  1.2167 -		KCapsNotifyRegistrationStatus=0x00000002,
  1.2168 -	/** The phone supports retrieval of current mode. */
  1.2169 -		KCapsGetCurrentMode=0x00000004,
  1.2170 -	/** The phone supports notification of change in mode. */
  1.2171 -		KCapsNotifyMode=0x00000008,
  1.2172 -	/** The phone supports retrieval of current network information. */
  1.2173 -		KCapsGetCurrentNetwork=0x00000010,
  1.2174 -	/** The phone supports notification of change of current network. */
  1.2175 -		KCapsNotifyCurrentNetwork=0x00000020,
  1.2176 -	/** The phone supports retrieval of home network information. */
  1.2177 -		KCapsGetHomeNetwork=0x00000040,
  1.2178 -	/** The phone supports retrieval of a list of detected networks. */
  1.2179 -		KCapsGetDetectedNetworks=0x00000080,
  1.2180 -	/** The phone supports manual network selection mode. */
  1.2181 -		KCapsManualNetworkSelection=0x00000100,
  1.2182 -	/** The phone supports retrieval of time and date information (NITZ) received from 
  1.2183 -	the network. */
  1.2184 -		KCapsGetNITZInfo=0x00000200,
  1.2185 -	/** The phone supports notification of new updates of time & date information (NITZ) 
  1.2186 -	received from the network. */
  1.2187 -		KCapsNotifyNITZInfo=0x00000400
  1.2188 -		};
  1.2189 -
  1.2190 -	IMPORT_C TInt GetNetworkCaps(TUint32& aCaps) const;
  1.2191 -
  1.2192 -/** Defines Current Network Modes.
  1.2193 -
  1.2194 -Modes: Common */
  1.2195 -	enum TMobilePhoneNetworkMode
  1.2196 -		{
  1.2197 -	/** Network mode is unknown.
  1.2198 -	
  1.2199 -	Modes: Common */
  1.2200 -		ENetworkModeUnknown,
  1.2201 -	/** ME is not registered.
  1.2202 -	
  1.2203 -	Modes: Common */
  1.2204 -		ENetworkModeUnregistered,
  1.2205 -	/** GSM/GPRS or DCS1800 network. */
  1.2206 -		ENetworkModeGsm,
  1.2207 -	/** AMPS network.
  1.2208 -	
  1.2209 -	Modes: CDMA */
  1.2210 -		ENetworkModeAmps,
  1.2211 -	/** CDMA (IS-95) network.
  1.2212 -	
  1.2213 -	Modes: CDMA */
  1.2214 -		ENetworkModeCdma95,
  1.2215 -	/** CDMA (cdma2000) network.
  1.2216 -	
  1.2217 -	Modes: CDMA */
  1.2218 -		ENetworkModeCdma2000,
  1.2219 -	/** WCDMA  (UTRA Frequency Division Duplex (FDD)) network.
  1.2220 -	
  1.2221 -	Modes: WCDMA */
  1.2222 -		ENetworkModeWcdma,
  1.2223 -	/** TD-CDMA (UTRA Time Division Duplex (TDD)) network.
  1.2224 -	
  1.2225 -	Modes: WCDMA */	
  1.2226 -		ENetworkModeTdcdma
  1.2227 -		};
  1.2228 -
  1.2229 -	IMPORT_C TInt GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const;
  1.2230 -	IMPORT_C void NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const;
  1.2231 -
  1.2232 -/** Phone network status.
  1.2233 -
  1.2234 -Modes: Common */
  1.2235 -	enum TMobilePhoneNetworkStatus
  1.2236 -		{
  1.2237 -	/** Status is unknown. */
  1.2238 -		ENetworkStatusUnknown,
  1.2239 -	/** A network that the ME is allowed to register to. */
  1.2240 -		ENetworkStatusAvailable,
  1.2241 -	/** The currently registered network. */
  1.2242 -		ENetworkStatusCurrent,
  1.2243 -	/** A network that the ME is not allowed to register to. */
  1.2244 -		ENetworkStatusForbidden
  1.2245 -		};
  1.2246 -
  1.2247 -/** Mobile phone network band information.
  1.2248 -
  1.2249 -Modes: CDMA */
  1.2250 -	enum TMobilePhoneNetworkBandInfo
  1.2251 -		{
  1.2252 -	/** The current band and band class is unknown. */
  1.2253 -		EBandUnknown,
  1.2254 -	/** The network operates at 800MHz on Band A. */
  1.2255 -		E800BandA,
  1.2256 -	/** The network operates at 800MHz on Band B. */
  1.2257 -		E800BandB,
  1.2258 -	/** The network operates at 800MHz on Band C. */
  1.2259 -		E800BandC,
  1.2260 -	/** The network operates at 1900MHz on Band A. */
  1.2261 -		E1900BandA,
  1.2262 -	/** The network operates at 1900MHz on Band B. */
  1.2263 -		E1900BandB,
  1.2264 -	/** The network operates at 1900MHz on Band C. */
  1.2265 -		E1900BandC,
  1.2266 -	/** The network operates at 1900MHz on Band D. */
  1.2267 -		E1900BandD,
  1.2268 -	/** The network operates at 1900MHz on Band E. */
  1.2269 -		E1900BandE,
  1.2270 -	/** The network operates at 1900MHz on Band F. */
  1.2271 -		E1900BandF
  1.2272 -		};
  1.2273 -
  1.2274 -/** A typedef'd buffer to hold the network display tag */
  1.2275 -	typedef TBuf<30> TMobilePhoneNetworkDisplayTag;
  1.2276 -/** A typedef'd buffer to hold the network long name. */
  1.2277 -	typedef TBuf<20> TMobilePhoneNetworkLongName;		
  1.2278 -/** A typedef'd buffer to hold the network short name. */
  1.2279 -	typedef TBuf<10> TMobilePhoneNetworkShortName;
  1.2280 -
  1.2281 -/** A typedef'd buffer to hold the network country code. */
  1.2282 -	typedef TBuf<4> TMobilePhoneNetworkCountryCode;		// MCC in GSM and CDMA
  1.2283 -/** A typedef'd buffer to hold the network identity. */
  1.2284 -	typedef TBuf<8> TMobilePhoneNetworkIdentity;		// MNC in GSM and SID or NID in CDMA 
  1.2285 -
  1.2286 -	
  1.2287 -
  1.2288 -	class TMobilePhoneNetworkInfoV1 : public TMultimodeType
  1.2289 -	/** Defines information related to a mobile phone network.
  1.2290 -
  1.2291 -	@see GetCurrentNetwork()
  1.2292 -	@see NotifyCurrentNetworkChange()
  1.2293 -	@see GetHomeNetwork()
  1.2294 -	@publishedPartner
  1.2295 -	@released */
  1.2296 -		{
  1.2297 -	public:
  1.2298 -		IMPORT_C TMobilePhoneNetworkInfoV1();
  1.2299 -	public:
  1.2300 -		void InternalizeL(RReadStream& aStream);
  1.2301 -		void ExternalizeL(RWriteStream& aStream) const;
  1.2302 -	public:
  1.2303 -	/** Mode of the network.
  1.2304 -	
  1.2305 -	Modes: Common
  1.2306 -	
  1.2307 -	@see TMobilePhoneNetworkMode */
  1.2308 -		TMobilePhoneNetworkMode iMode;
  1.2309 -	/** Status of the network
  1.2310 -	
  1.2311 -	Modes: Common
  1.2312 -	
  1.2313 -	@see TMobilePhoneNetworkStatus */
  1.2314 -		TMobilePhoneNetworkStatus iStatus;
  1.2315 -	/** The band and band class of the CDMA network operator.
  1.2316 -
  1.2317 -	Modes: CDMA
  1.2318 -	
  1.2319 -	@see TMobilePhoneNetworkBandInfo */
  1.2320 -		TMobilePhoneNetworkBandInfo iBandInfo;
  1.2321 -	/** The MCC of the network.
  1.2322 -	
  1.2323 -	Modes: Common
  1.2324 -	
  1.2325 -	@see TMobilePhoneNetworkCountryCode */
  1.2326 -		TMobilePhoneNetworkCountryCode iCountryCode;
  1.2327 -	/** The system identity (SID) of the CDMA network.
  1.2328 -	
  1.2329 -	Modes: CDMA
  1.2330 -	
  1.2331 -	@see TMobilePhoneNetworkIdentity */
  1.2332 -		TMobilePhoneNetworkIdentity iCdmaSID;
  1.2333 -	/** The system identity (SID) of the AMPS network.
  1.2334 -	
  1.2335 -	Modes: CDMA
  1.2336 -	
  1.2337 -	@see TMobilePhoneNetworkIdentity */
  1.2338 -		TMobilePhoneNetworkIdentity iAnalogSID;
  1.2339 -	/** The network identity (NID in CDMA and MNC in GSM).
  1.2340 -	
  1.2341 -	Modes: Common
  1.2342 -	
  1.2343 -	@see TMobilePhoneNetworkIdentity */
  1.2344 -		TMobilePhoneNetworkIdentity iNetworkId;
  1.2345 -	/** The alpha-tag displayed when this is the serving network.
  1.2346 -	
  1.2347 -	Modes: Common
  1.2348 -	
  1.2349 -	@see TMobilePhoneNetworkDisplayTag */
  1.2350 -		TMobilePhoneNetworkDisplayTag iDisplayTag;
  1.2351 -	/** The short name (up to 10 characters) of the network operator.
  1.2352 -	
  1.2353 -	Modes: GSM/WCDMA
  1.2354 -	
  1.2355 -	@see TMobilePhoneNetworkShortName */
  1.2356 -		TMobilePhoneNetworkShortName iShortName;
  1.2357 -	/** The long name (up to 20 characters) of the network operator.
  1.2358 -	
  1.2359 -	Modes: GSM/WCDMA
  1.2360 -	
  1.2361 -	@see TMobilePhoneNetworkLongName */
  1.2362 -		TMobilePhoneNetworkLongName iLongName;
  1.2363 -		};
  1.2364 -	
  1.2365 -/** A typedef'd packaged TMobilePhoneNetworkInfoV1 for passing through a generic 
  1.2366 -API function member. */
  1.2367 -	typedef TPckg<TMobilePhoneNetworkInfoV1>  TMobilePhoneNetworkInfoV1Pckg;
  1.2368 -	
  1.2369 -/** The access technology that the network is based on.
  1.2370 -
  1.2371 -Modes: Common */
  1.2372 -	enum TMobilePhoneNetworkAccess
  1.2373 -		{
  1.2374 -	/** This is used when there is no network activity and therefore no RAT active.
  1.2375 -	
  1.2376 -	Modes: Common */
  1.2377 -		ENetworkAccessUnknown,
  1.2378 -	/** The access technology is GSM.
  1.2379 -	
  1.2380 -	Modes: GSM */
  1.2381 -		ENetworkAccessGsm,
  1.2382 -	/** The access technology is GSM COMPACT. However GSM COMPACT systems which use 
  1.2383 -	GSM frequency bands but with the CBPCCH broadcast channel are considered as 
  1.2384 -	a separate access technology from GSM.
  1.2385 -	
  1.2386 -	Modes: GSM */
  1.2387 -		ENetworkAccessGsmCompact,
  1.2388 -	/** The access technology is UTRAN (UMTS Network).
  1.2389 -	
  1.2390 -	Modes: WCDMA */
  1.2391 -		ENetworkAccessUtran,					
  1.2392 -	/** Analogue Cellular 
  1.2393 -	
  1.2394 -	Modes: CDMA */
  1.2395 -		ENetworkAccessAmpsCellular,
  1.2396 -	/** CDMA Cellular - Standard channels 
  1.2397 -
  1.2398 -	Modes: CDMA */
  1.2399 -		 ENetworkAccessCdmaCellularStdChannel,
  1.2400 -	/** CDMA Cellular - Custom channels 
  1.2401 -
  1.2402 -	Modes: CDMA */
  1.2403 -		ENetworkAccessCdmaCellularCustomChannel,
  1.2404 -	/** CDMA/Analogue Cellular (cdma first then analogue)
  1.2405 -
  1.2406 -	Modes: CDMA */
  1.2407 -		ENetworkAccessCdmaAmpsCellular,
  1.2408 -	/** CDMA PCS - Using blocks 
  1.2409 -	
  1.2410 -	Modes: CDMA */
  1.2411 -		ENetworkAccessCdmaPcsUsingBlocks,
  1.2412 -	/** CDMA PCS - Using channels 
  1.2413 -	
  1.2414 -	Modes: CDMA */
  1.2415 -		ENetworkAccessCdmaPcsUsingNetworkAccessChannels,
  1.2416 -	/** CDMA JTACS - Standard channels 
  1.2417 -	
  1.2418 -	Modes: CDMA */
  1.2419 -		ENetworkAccessJTacsStdChannels,
  1.2420 -	/** CDMA JTACS - Custom channels 
  1.2421 -	
  1.2422 -	Modes: CDMA */
  1.2423 -		ENetworkAccessJTacsCustomChannels,
  1.2424 -	/** CDMA 2GHz band - Using channels 
  1.2425 -	
  1.2426 -	Modes: CDMA */
  1.2427 -		ENetworkAccess2GHzBandUsingChannels,
  1.2428 -	/** Generic Acquisition Record for IS-2000 and IS-95 
  1.2429 -	
  1.2430 -	Modes: CDMA */
  1.2431 -		ENetworkAccessGenericAcqRecord2000and95,
  1.2432 -	/** Generic Acquisition Record for IS-856
  1.2433 -	
  1.2434 -	Modes: CDMA */
  1.2435 -		ENetworkAccessGenericAcqRecord856,
  1.2436 -	/** The access technology is GSM and UTRAN (UMTS Network).
  1.2437 -		
  1.2438 -	Modes: GSM and WCDMA */
  1.2439 -		ENetworkAccessGsmAndUtran
  1.2440 -		};
  1.2441 -
  1.2442 -	
  1.2443 -
  1.2444 -	class TMobilePhoneNetworkInfoV2 : public TMobilePhoneNetworkInfoV1
  1.2445 -	/** The access technology that the network is based on in version v2.0 of the API. 
  1.2446 -	@publishedPartner
  1.2447 -	@released*/
  1.2448 -		{
  1.2449 -	public:
  1.2450 -	/** Default constructor. Network access is set to ENetworkAccessUnknown and iExtensionId 
  1.2451 -	is set to KETelExtMultimodeV2. */
  1.2452 -		IMPORT_C TMobilePhoneNetworkInfoV2();
  1.2453 -	
  1.2454 -	public:
  1.2455 -		void InternalizeL(RReadStream& aStream);
  1.2456 -		void ExternalizeL(RWriteStream& aStream) const;
  1.2457 -	
  1.2458 -	public:
  1.2459 -	/** The type of network access.
  1.2460 -	
  1.2461 -	@see TMobilePhoneNetworkAccess */
  1.2462 -		TMobilePhoneNetworkAccess iAccess;
  1.2463 -		};
  1.2464 -	
  1.2465 -/** A typedef'd packaged TMobilePhoneNetworkInfoV2 for passing through a generic 
  1.2466 -API function member. */
  1.2467 -	typedef TPckg<TMobilePhoneNetworkInfoV2>  TMobilePhoneNetworkInfoV2Pckg;
  1.2468 -
  1.2469 -
  1.2470 -	class TMobilePhoneNetworkInfoV5 : public TMobilePhoneNetworkInfoV2
  1.2471 -	/** The access technology that the network is based on in version v2.0 of the API. 
  1.2472 -	@publishedPartner
  1.2473 -	@released*/
  1.2474 -		{
  1.2475 -	public:
  1.2476 -		IMPORT_C TMobilePhoneNetworkInfoV5();
  1.2477 -		
  1.2478 -	public:
  1.2479 -		void InternalizeL(RReadStream& aStream);
  1.2480 -		void ExternalizeL(RWriteStream& aStream) const;
  1.2481 -		
  1.2482 -	public:
  1.2483 -	/** HSDPA availability indicator. This information is for display 
  1.2484 -	indication only and shall not be used for any other purpose.
  1.2485 -		
  1.2486 -	Modes: WCDMA */
  1.2487 -		TBool iHsdpaAvailableIndicator;
  1.2488 -
  1.2489 -	/** EGPRS availability indicator. This information is for display
  1.2490 -	indication only and shall not be used for any other purpose.
  1.2491 -		
  1.2492 -	Modes: GPRS */
  1.2493 -		TBool iEgprsAvailableIndicator;
  1.2494 -		};
  1.2495 -
  1.2496 -/** A typedef'd packaged TMobilePhoneNetworkInfoV5 for passing through a generic 
  1.2497 -API function member. */		
  1.2498 -	typedef TPckg<TMobilePhoneNetworkInfoV5> TMobilePhoneNetworkInfoV5Pckg;
  1.2499 -	
  1.2500 -		
  1.2501 -	class TMobilePhoneNetworkInfoV8 : public TMobilePhoneNetworkInfoV5
  1.2502 -	/** The access technology that the network is based on in version v8.0 of the API. 
  1.2503 -	@publishedPartner
  1.2504 -	@released*/
  1.2505 -		{
  1.2506 -	public:
  1.2507 -		IMPORT_C TMobilePhoneNetworkInfoV8();
  1.2508 -		
  1.2509 -	public:
  1.2510 -		void InternalizeL(RReadStream& aStream);
  1.2511 -		void ExternalizeL(RWriteStream& aStream) const;
  1.2512 -		
  1.2513 -	public:
  1.2514 -	/** HSUPA availability indicator. This information is for display 
  1.2515 -	indication only and shall not be used for any other purpose.
  1.2516 -		
  1.2517 -	Modes: WCDMA */
  1.2518 -		TBool iHsupaAvailableIndicator;
  1.2519 -
  1.2520 -		};
  1.2521 -		
  1.2522 -/** A typedef'd packaged TMobilePhoneNetworkInfoV8 for passing through a generic 
  1.2523 -API function member. */		
  1.2524 -	typedef TPckg<TMobilePhoneNetworkInfoV8> TMobilePhoneNetworkInfoV8Pckg;
  1.2525 -
  1.2526 -	class TMobilePhoneLocationAreaV1 : public TMultimodeType
  1.2527 -/** Defines the mobile phone location area.
  1.2528 -
  1.2529 -@see GetCurrentNetwork()
  1.2530 -@see NotifyCurrentNetworkChange() */
  1.2531 -		{
  1.2532 -	public:
  1.2533 -	/** Constructor. */
  1.2534 -		IMPORT_C TMobilePhoneLocationAreaV1();
  1.2535 -	public:
  1.2536 -	/** Boolean indicating whether the location area is known.
  1.2537 -	
  1.2538 -	Modes: Common */
  1.2539 -		TBool	iAreaKnown;
  1.2540 -	/** Location area code.
  1.2541 -	
  1.2542 -	Modes: GSM/WCDMA */
  1.2543 -		TUint	iLocationAreaCode;
  1.2544 -	/** Cell identity code.
  1.2545 -	
  1.2546 -	Modes: GSM/WCDMA */
  1.2547 -		TUint	iCellId;
  1.2548 -		};
  1.2549 -
  1.2550 -	IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
  1.2551 -	IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
  1.2552 -	IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
  1.2553 -	IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
  1.2554 -
  1.2555 -	IMPORT_C void GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
  1.2556 -	IMPORT_C void GetHomeNetworkSearchPeriod(TRequestStatus& aReqStatus, TInt& aSearchIntv) const;
  1.2557 -	IMPORT_C void GetLastUsedAccessTechnology(TRequestStatus& aReqStatus, TMobilePhoneNetworkAccess& aAccessTech) const;
  1.2558 -	
  1.2559 -	/** Cell mode */
  1.2560 -	enum TCellMode
  1.2561 -		{
  1.2562 -		/** Unknown mode */
  1.2563 -		ECellModeUnknown,
  1.2564 -		/** GSM mode */
  1.2565 -		ECellModeGsm,
  1.2566 -		/** WCDMA mode */
  1.2567 -		ECellModeWcdma
  1.2568 -		};
  1.2569 -
  1.2570 -	/** Cell Information Status 
  1.2571 -	@publishedPartner	
  1.2572 -	@released */
  1.2573 -	enum TCellInfoStatus
  1.2574 -		{
  1.2575 -		/** Unknown status: not known if Cell ID is current or not */
  1.2576 -		ECellInfoStatusUnknown,
  1.2577 -		/** Not current status: the Cell ID value is the ID of the last known cell */
  1.2578 -		ECellInfoStatusNotCurrent,
  1.2579 -		/** Current Status: the Cell ID value is the ID of the present cell */
  1.2580 -		ECellInfoStatusCurrent
  1.2581 -		};
  1.2582 -	
  1.2583 -	/** Defined type to represent the Timing Advance. See 3GPP TS 04.18, section 10.5.2.40. 
  1.2584 -	 * Valid values for the Timing Advance are 0-255. A negative value indicates that
  1.2585 -	 * no Timing Advance information is available. */
  1.2586 -	typedef TInt16 TGsmTimingAdvance;
  1.2587 -	
  1.2588 -	/**	Encapsulates cell specific information.	
  1.2589 -	@publishedPartner	
  1.2590 -	@released */
  1.2591 -	class TMobilePhoneCellInfoV9 : public TMultimodeType
  1.2592 -		{
  1.2593 -	public:
  1.2594 -		IMPORT_C TMobilePhoneCellInfoV9();
  1.2595 -		
  1.2596 -	public:
  1.2597 -		/** The cell mode 
  1.2598 -		@see TCellMode */
  1.2599 -		TCellMode iMode;
  1.2600 -		/** The current cell ID */
  1.2601 -		TUint iCellId;
  1.2602 -		/** The Timing Advance. Relevant only if iMode is ECellModeGsm.
  1.2603 -		 @see TGsmTimingAdvance */
  1.2604 -		TGsmTimingAdvance iTimingAdvance;
  1.2605 -		/** The status of the cell information. Indicates whether the Cell ID is
  1.2606 -		 * up-to-date.
  1.2607 -		 @see TCellInfoStatus */
  1.2608 -		TCellInfoStatus iStatus;
  1.2609 -		};				
  1.2610 -
  1.2611 -	/** Packaged TMobilePhoneCellInfoV9 data structure. 
  1.2612 -	@see TMobilePhoneCellInfoV9 */
  1.2613 -	typedef TPckg<TMobilePhoneCellInfoV9> TMobilePhoneCellInfoV9Pckg;
  1.2614 -	
  1.2615 -	IMPORT_C void GetCellInfo(TRequestStatus& aReqStatus, TDes8& aCellInfo) const;
  1.2616 -	IMPORT_C void NotifyCellInfoChange(TRequestStatus& aReqStatus, TDes8& aCellInfo) const;
  1.2617 -
  1.2618 -	
  1.2619 -/** The registration status of the mobile phone.
  1.2620 -
  1.2621 -Modes: WCDMA */
  1.2622 -	enum TMobilePhoneRegistrationStatus
  1.2623 -		{
  1.2624 -	/** Registration status is unknown. */
  1.2625 -		ERegistrationUnknown,
  1.2626 -	/** Not registered. The ME can not detect any other networks and is not currently 
  1.2627 -	searching a new operator to register to. */
  1.2628 -		ENotRegisteredNoService,
  1.2629 -	/** Not registered. The ME can detect other networks on which it is possible to 
  1.2630 -	make emergency calls only. */
  1.2631 -		ENotRegisteredEmergencyOnly,
  1.2632 -	/** Not registered, but the ME is currently searching a new operator to register to. */
  1.2633 -		ENotRegisteredSearching,
  1.2634 -	/** Registered, network busy.
  1.2635 -	
  1.2636 -	Modes: WCDMA */
  1.2637 -		ERegisteredBusy,
  1.2638 -	/** Registered on home network. */
  1.2639 -		ERegisteredOnHomeNetwork,
  1.2640 -	/** Registration denied. */
  1.2641 -		ERegistrationDenied,
  1.2642 -	/** Registered, roaming. */
  1.2643 -		ERegisteredRoaming
  1.2644 -		};
  1.2645 -
  1.2646 -	IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
  1.2647 -	IMPORT_C void NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
  1.2648 -
  1.2649 -/** The network selection function member.
  1.2650 -
  1.2651 -Modes: Common */
  1.2652 -	enum TMobilePhoneSelectionMethod
  1.2653 -		{
  1.2654 -	/** Network selection function member is unknown.
  1.2655 -	
  1.2656 -	Modes: Common */
  1.2657 -		ENetworkSelectionUnknown,
  1.2658 -	/** Network is selected automatically by phone.
  1.2659 -	
  1.2660 -	Modes: Common */
  1.2661 -		ENetworkSelectionAutomatic,
  1.2662 -	/** Network is selected manually by user.
  1.2663 -	
  1.2664 -	Modes: GSM/WCDMA */
  1.2665 -		ENetworkSelectionManual,
  1.2666 -	/** Network selection is restricted to home network only
  1.2667 -	
  1.2668 -	Modes: CDMA */
  1.2669 -		ENetworkSelectionHomeOnly
  1.2670 -		};
  1.2671 -
  1.2672 -/** The mobile phone band class preferences.
  1.2673 -
  1.2674 -Modes: CDMA */
  1.2675 -	enum TMobilePhoneBandClass
  1.2676 -		{
  1.2677 -	/** Band class selection is unknown. */
  1.2678 -		ENetworkBandClassUnknown,
  1.2679 -	/** Phone will select band class A only. */
  1.2680 -		ENetworkBandClassAOnly,
  1.2681 -	/** Phone will select band class B only. */
  1.2682 -		ENetworkBandClassBOnly,
  1.2683 -	/** Phone will prefer to select band class A. */
  1.2684 -		ENetworkBandClassAPreferred,
  1.2685 -	/** Phone will prefer to select band class B. */
  1.2686 -		ENetworkBandClassBPreferred
  1.2687 -		};
  1.2688 -
  1.2689 -/** The mobile phone network operation mode preferences.
  1.2690 -
  1.2691 -Modes: CDMA */
  1.2692 -	enum TMobilePhoneOperation
  1.2693 -		{
  1.2694 -	/** Network operation mode is unknown. */
  1.2695 -		ENetworkOperationUnknown,
  1.2696 -	/** Phone will select analog operation only. */
  1.2697 -		ENetworkOperationAnalogOnly,
  1.2698 -	/** Phone will select digital/CDMA operation only. */
  1.2699 -		ENetworkOperationDigitalOnly,
  1.2700 -	/** Phone will prefer to select analog operation. */
  1.2701 -		ENetworkOperationAnalogPreferred,
  1.2702 -	/** Phone will prefer to select digital/CDMA operation. */
  1.2703 -		ENetworkOperationDigitalPreferred
  1.2704 -		};
  1.2705 -
  1.2706 -	class TMobilePhoneNetworkSelectionV1 : public TMultimodeType
  1.2707 -/** The mobile phone network selection preferences.
  1.2708 -
  1.2709 -@see GetNetworkSelectionSetting()
  1.2710 -@see SetNetworkSelectionSetting()
  1.2711 -@see NotifyNetworkSelectionSettingChange()
  1.2712 -@publishedPartner
  1.2713 -@released */
  1.2714 -		{
  1.2715 -	public:
  1.2716 -		IMPORT_C TMobilePhoneNetworkSelectionV1();
  1.2717 -	public:
  1.2718 -	/** Phone's network selection function member.
  1.2719 -	
  1.2720 -	Modes: Common
  1.2721 -	
  1.2722 -	@see TMobilePhoneSelectionMethod */
  1.2723 -		TMobilePhoneSelectionMethod	iMethod;
  1.2724 -	/** Phone's band class setting.
  1.2725 -	
  1.2726 -	Modes: CDMA
  1.2727 -	
  1.2728 -	@see TMobilePhoneBandClass */
  1.2729 -		TMobilePhoneBandClass		iBandClass;
  1.2730 -	/** Phone's CDMA operation mode.
  1.2731 -	
  1.2732 -	Modes: CDMA
  1.2733 -	
  1.2734 -	@see TMobilePhoneOperation */
  1.2735 -		TMobilePhoneOperation		iOperationMode;
  1.2736 -		};
  1.2737 -
  1.2738 -/** A typedef'd packaged TMobilePhoneNetworkSelectionV1 for passing through a generic 
  1.2739 -API function member. */
  1.2740 -	typedef TPckg<TMobilePhoneNetworkSelectionV1>  TMobilePhoneNetworkSelectionV1Pckg;
  1.2741 -
  1.2742 -	IMPORT_C TInt GetNetworkSelectionSetting(TDes8& aSetting) const;
  1.2743 -	IMPORT_C void SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const;
  1.2744 -	IMPORT_C void NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const;
  1.2745 -	
  1.2746 -	struct TMobilePhoneNetworkManualSelection
  1.2747 -/** The mobile phone manual network selection parameters.
  1.2748 -
  1.2749 -Modes: GSM/WCDMA
  1.2750 -
  1.2751 -@see TMobilePhoneNetworkCountryCode */
  1.2752 -		{
  1.2753 -	/** The MCC of the network
  1.2754 -	
  1.2755 -	@see TMobilePhoneNetworkCountryCode */
  1.2756 -		TMobilePhoneNetworkCountryCode iCountry;
  1.2757 -	/** The MNC of the network
  1.2758 -	
  1.2759 -	@see TMobilePhoneNetworkIdentity */
  1.2760 -		TMobilePhoneNetworkIdentity iNetwork;
  1.2761 -		};
  1.2762 -	
  1.2763 -	IMPORT_C void SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const;
  1.2764 -
  1.2765 -	
  1.2766 -
  1.2767 -	 // Used to indicate which TMobilePhoneNITZ fields are currently available
  1.2768 -/** The Phone Network Time Zone Capabilities. */
  1.2769 -	 enum TMobilePhoneNITZCaps
  1.2770 -		{
  1.2771 -	/** Universal Time is available in the current network mode. */
  1.2772 -		KCapsTimeAvailable      = 0x00000001,
  1.2773 -	/** Local time zone is available in the current network mode. */
  1.2774 -		KCapsTimezoneAvailable  = 0x00000002,
  1.2775 -	/** DST is available in the current network mode. */
  1.2776 -		KCapsDSTAvailable       = 0x00000004,
  1.2777 -	/** Short name is available in the current network mode. */
  1.2778 -		KCapsShortNameAvailable = 0x00000008,
  1.2779 -	/** Long name is available in the current network mode. */
  1.2780 -		KCapsLongNameAvailable  = 0x00000010
  1.2781 -		};
  1.2782 -
  1.2783 -	class TMobilePhoneNITZ : public TDateTime
  1.2784 -/** Defines time and date information received from a mobile phone network.
  1.2785 -
  1.2786 -@see GetNITZInfo()
  1.2787 -@see NotifyNITZInfoChange()
  1.2788 -@publishedPartner
  1.2789 -@released */
  1.2790 -		{
  1.2791 -	public:
  1.2792 -		IMPORT_C TMobilePhoneNITZ();
  1.2793 -		IMPORT_C TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond);		
  1.2794 -	public:
  1.2795 -	/** Bitwise sum of TMobilePhoneNITZCaps constants used to indicate which NITZ fields 
  1.2796 -	are available.
  1.2797 -	
  1.2798 -	Modes: Common */
  1.2799 -		TInt32	                     iNitzFieldsUsed;
  1.2800 -	/** Time zone, expressed in +/- 15 minute offsets from GMT.
  1.2801 -	
  1.2802 -	Modes: Common */
  1.2803 -		TInt                         iTimeZone;
  1.2804 -	/** Daylight Saving Time adjustment for summer time. The adjustment for DST 
  1.2805 -	can be +1h or +2h.
  1.2806 -	
  1.2807 -	Modes: GSM/WCDMA */
  1.2808 -		TInt	                     iDST;
  1.2809 -	/** Network name in "short" representation.
  1.2810 -	
  1.2811 -	Modes: GSM/WCDMA
  1.2812 -	
  1.2813 -	@see TMobilePhoneNetworkShortName */
  1.2814 -		TMobilePhoneNetworkShortName iShortNetworkId;
  1.2815 -	/** Network name in "long" representation.
  1.2816 -	
  1.2817 -	Modes: GSM/WCDMA
  1.2818 -	
  1.2819 -	@see TMobilePhoneNetworkLongName */
  1.2820 -		TMobilePhoneNetworkLongName	 iLongNetworkId;
  1.2821 -		};
  1.2822 -
  1.2823 -	IMPORT_C TInt GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const;
  1.2824 -	IMPORT_C void NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const;
  1.2825 -
  1.2826 -	enum { KMaxSPNameSize=16 };
  1.2827 -	enum { KMaxPLMNFieldSize=251 };
  1.2828 -
  1.2829 -	enum TDisplayRequirements
  1.2830 -		{
  1.2831 -		KDisplayPLMNNotRequired	= 0x00000001,
  1.2832 -		KDisplayPLMNRequired	= 0x00000002,
  1.2833 -		KDisplaySPNRequired		= 0x00000004,
  1.2834 -		KDisplaySPNNotRequired	= 0x00000008
  1.2835 -		};
  1.2836 -
  1.2837 -	typedef TUint32 TDisplayRequirementsFlags;
  1.2838 -
  1.2839 -	class TMobilePhoneServiceProviderNameV2 : public TMultimodeType
  1.2840 -/** Used to retrieve the Service Provider Name from the ICC. The 
  1.2841 -SP is actually the entity that provides the service. The SP could have contractual 
  1.2842 -agreements with several home PLMN that the ME can register to. The display 
  1.2843 -preference of the registered PLMN and/or the SPN on the ME can be defined 
  1.2844 -on the UICC.
  1.2845 -@publishedPartner
  1.2846 -@released */
  1.2847 -		{
  1.2848 -	public:
  1.2849 -		IMPORT_C TMobilePhoneServiceProviderNameV2();
  1.2850 -	public:
  1.2851 -	/** This parameter specifies if the display of the registered PLMN is required. 
  1.2852 -	Can contain a number of flags from RMobilePhone::TDisplayRequirements.
  1.2853 -	*/
  1.2854 -		TDisplayRequirementsFlags	iDisplayReq;
  1.2855 -	/** The name of the service provider. */
  1.2856 -		TBuf<KMaxSPNameSize>	iSPName;
  1.2857 -		TBuf<KMaxPLMNFieldSize>	iPLMNField;
  1.2858 -		}; 
  1.2859 -
  1.2860 -/** A typedef'd packaged TMobilePhoneServiceProviderNameV2 for passing through 
  1.2861 -a generic API function member. */
  1.2862 -	typedef TPckg<TMobilePhoneServiceProviderNameV2> TMobilePhoneServiceProviderNameV2Pckg;
  1.2863 -
  1.2864 -	IMPORT_C void GetServiceProviderName(TRequestStatus& aReqStatus, TDes8& aName) const;
  1.2865 -	
  1.2866 -	/**
  1.2867 -	Network investigation scan settings.
  1.2868 -	*/
  1.2869 -	enum TMobilePhoneInvestigationScan
  1.2870 -		{
  1.2871 -		/**
  1.2872 -		Network investigation setting in limited service mode.
  1.2873 -		*/
  1.2874 -		KNetworkInvLimited = 0x01,
  1.2875 -		/**
  1.2876 -		Network investigation setting after successful PLMN selection.
  1.2877 -		*/
  1.2878 -		KNetworkInvAfterPlmnSelection=0x02		
  1.2879 -		};
  1.2880 -		
  1.2881 -	/**
  1.2882 -	Network investigation scan events.
  1.2883 -	*/
  1.2884 -	enum TMobilePhoneInvestigationScanEvent
  1.2885 -		{
  1.2886 -		/**
  1.2887 -		No investigation scan events available.
  1.2888 -		*/
  1.2889 -		ENetworkInvestigationNoEvent,
  1.2890 -		/**
  1.2891 -		A higher priority network has been detected, but it does not offer CS Voice.
  1.2892 -		*/
  1.2893 -		ENetworkInvestigationHighPriorityPlmn
  1.2894 -		};
  1.2895 -	
  1.2896 -	IMPORT_C TInt GetNetworkInvScanSetting(TMobilePhoneInvestigationScan & aSetting) const;
  1.2897 -	IMPORT_C void NotifyNetworkInvScanChange(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScan& aSetting) const;
  1.2898 -	IMPORT_C void NotifyNetworkInvScanEvent(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScanEvent& aEvent) const;
  1.2899 -
  1.2900 -
  1.2901 -	/** 251 bytes is the maximum number of octets in an L3 message as defined in3GPP TS 44.006. */
  1.2902 -	enum { KMaxNetworkNameFieldSize = 251 };
  1.2903 -	
  1.2904 -	class TMobilePhoneNetworkNameV3 : public TMultimodeType
  1.2905 -	/**
  1.2906 -	Class containing short, long network names and location information for a PLMN.
  1.2907 -	*/
  1.2908 -		{
  1.2909 -	public:
  1.2910 -		IMPORT_C TMobilePhoneNetworkNameV3();
  1.2911 -	public:
  1.2912 -		/**
  1.2913 -		The long name (up to 20 characters) of the network operator.
  1.2914 -		*/
  1.2915 -		TMobilePhoneNetworkLongName	 iLongName;
  1.2916 -		/**
  1.2917 -		The short name (up to 10 characters) of the network operator.
  1.2918 -		*/
  1.2919 -		TMobilePhoneNetworkShortName	 iShortName;
  1.2920 -		/**
  1.2921 -		This buffer contains other long and short names for the registered PLMN coded as TLV objects.
  1.2922 -		*/
  1.2923 -		TBuf<KMaxNetworkNameFieldSize>	 iOtherNames;
  1.2924 -		};
  1.2925 -		
  1.2926 -	/**
  1.2927 - 	Packaging typedef for TMobilePhoneNetworkNameV3 class.
  1.2928 - 	*/	
  1.2929 -	typedef TPckg<TMobilePhoneNetworkNameV3>  TMobilePhoneNetworkNameV3Pckg;
  1.2930 -	
  1.2931 -	
  1.2932 -	class  TMobilePhoneOPlmnV3 : public TMultimodeType
  1.2933 -	/**
  1.2934 -	Class containing network name information.
  1.2935 -	*/
  1.2936 -		{
  1.2937 -	public:
  1.2938 -		IMPORT_C TMobilePhoneOPlmnV3();
  1.2939 -	public:
  1.2940 -		/**
  1.2941 -		The MCC of the registered PLMN, with "wild" values specified for the particular digits of the code.
  1.2942 -		*/
  1.2943 -		TMobilePhoneNetworkCountryCode iCountryCode;
  1.2944 -		/**
  1.2945 -		The MNC of the registered PLMN, with "wild" values specified for the particular digits of the code.
  1.2946 -		*/
  1.2947 -		TMobilePhoneNetworkIdentity iNetworkId;
  1.2948 -		/**
  1.2949 -		The id of the Network Name to be displayed for the (following) location area codes.
  1.2950 -		*/
  1.2951 -		TUint32 iPNNid;
  1.2952 -		/**
  1.2953 -		First Location area code for defining the entire range of LACs for the registered PLMN.
  1.2954 -		*/
  1.2955 -		TUint iFirstLocationAreaCode;
  1.2956 -		/**
  1.2957 -		Last Location area code defining the entire range of LACs for the registered PLMN.
  1.2958 -		*/
  1.2959 -		TUint iLastLocationAreaCode;
  1.2960 -		
  1.2961 -		};
  1.2962 -		
  1.2963 -	/**
  1.2964 - 	Packaging typedef for TMobilePhoneOPlmnV3 class.
  1.2965 - 	*/	
  1.2966 -	typedef TPckg<TMobilePhoneOPlmnV3>  TMobilePhoneOPlmnV3Pckg;
  1.2967 -	
  1.2968 -	IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName, TDes8& aLocInfo) const;
  1.2969 -	
  1.2970 -	/**
  1.2971 -	Identifiers for different access technologies.
  1.2972 -	*/
  1.2973 -	enum TMobilePhoneNetworkAccessCaps
  1.2974 -		{
  1.2975 -		/**
  1.2976 -		No network activity.
  1.2977 -		*/
  1.2978 -		KNetworkAccessUnknown=0x0000,
  1.2979 -		/**
  1.2980 -		Access technology is GSM.
  1.2981 -		*/
  1.2982 -		KNetworkAccessGsm=0x8000,
  1.2983 -		/**
  1.2984 -		Access technology is GSM COMPACT.
  1.2985 -		*/
  1.2986 -		KNetworkAccessGsmCompact=0x4000,
  1.2987 -		/**
  1.2988 -		Access technology is UTRAN (UMTS only).
  1.2989 -		*/
  1.2990 -		KNetworkAccessUtran=0x0080,
  1.2991 -		/** 
  1.2992 -		Indicates that a particular PLMN entry is a WLAN entry used for WLAN PLMN selection.
  1.2993 -		*/
  1.2994 -		KNetworkAccessWLAN=0x0040
  1.2995 -		};
  1.2996 -
  1.2997 -	typedef TUint32 TMobilePhoneNetworkAccessCapsFlags;
  1.2998 -		
  1.2999 -	class TMobilePreferredNetworkEntryV3 : public TMultimodeType
  1.3000 -	/**
  1.3001 -	Defines information for a preferred network.
  1.3002 -	*/
  1.3003 -		{
  1.3004 -	public:
  1.3005 -		IMPORT_C TMobilePreferredNetworkEntryV3();
  1.3006 -	public:
  1.3007 -		void InternalizeL(RReadStream& aStream);
  1.3008 -		void ExternalizeL(RWriteStream& aStream) const;
  1.3009 -	public:
  1.3010 -		/**
  1.3011 -		Access Technology supported.
  1.3012 -		Can contain a number of flags from RMobilePhone::TMobilePhoneNetworkAccessCaps.
  1.3013 -		*/
  1.3014 -		TMobilePhoneNetworkAccessCapsFlags iAccess;
  1.3015 -		/**
  1.3016 -		Editable preferences in the User-controlled Networks List with Access Technology.
  1.3017 -		*/
  1.3018 -		TBool iUserDefined;
  1.3019 -		/**
  1.3020 -		The MCC of the network.
  1.3021 -		*/
  1.3022 -		TMobilePhoneNetworkCountryCode iCountryCode;
  1.3023 -		/**
  1.3024 -		The MNC of the network.
  1.3025 -		*/
  1.3026 -		TMobilePhoneNetworkIdentity iNetworkId;
  1.3027 -		};
  1.3028 -		
  1.3029 -	IMPORT_C void StorePreferredNetworksListL(TRequestStatus& aReqStatus, CMobilePhoneStoredNetworkList* aList) const;
  1.3030 -	IMPORT_C void NotifyPreferredNetworksListChange(TRequestStatus& aReqStatus) const;
  1.3031 -		
  1.3032 -	/***********************************************************************************/		
  1.3033 -	//
  1.3034 -	// Mobile Multimedia Call Settings functional unit
  1.3035 -	//
  1.3036 -	/***********************************************************************************/
  1.3037 -	
  1.3038 -/** An enumerated list of settings for multimedia calls. */
  1.3039 -	enum TMobilePhoneMultimediaSettings
  1.3040 -		{
  1.3041 -	/** Accept all incoming multimedia calls with the fallback option enabled. (default). */
  1.3042 -		EAcceptMMCallsVoiceFallback,
  1.3043 -	/** Accept all incoming multimedia calls, but do not accept voice fallback. */
  1.3044 -		EAcceptMMCallsNoFallback,
  1.3045 -	/** Reject all incoming multimedia calls. */
  1.3046 -		ERejectMMCalls,
  1.3047 -	/** Reject all incoming multimedia calls, but drop to voice instead. */
  1.3048 -		EAnswerMMCallsAsVoice
  1.3049 -		};
  1.3050 -
  1.3051 -	IMPORT_C void SetMultimediaCallPreference(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings aMmSettings) const;
  1.3052 -	IMPORT_C TInt GetMultimediaCallPreference(TMobilePhoneMultimediaSettings& aMmSettings) const;
  1.3053 -	IMPORT_C void NotifyMultimediaCallPreferenceChange(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings& aMmSettings);
  1.3054 -
  1.3055 -	/***********************************************************************************/	
  1.3056 -	//
  1.3057 -	// MobilePrivacy functional unit
  1.3058 -	//
  1.3059 -	/***********************************************************************************/
  1.3060 -	
  1.3061 -/** The mobile phone privacy settings.
  1.3062 -
  1.3063 -Modes: CDMA */
  1.3064 -	enum TMobilePhonePrivacy
  1.3065 -		{
  1.3066 -	/** The privacy setting is unspecified. */
  1.3067 -		EPrivacyUnspecified,
  1.3068 -	/** The privacy setting is set to ON. */
  1.3069 -		EPrivacyOn,
  1.3070 -	/** The privacy setting is set to OFF. */
  1.3071 -		EPrivacyOff
  1.3072 -		};
  1.3073 -
  1.3074 -	IMPORT_C TInt GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const;
  1.3075 -	IMPORT_C void SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const;
  1.3076 -	IMPORT_C void NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const;
  1.3077 -
  1.3078 -	/***********************************************************************************/
  1.3079 -	//
  1.3080 -	// TSY Capabilities for supplementary call services
  1.3081 -	// 
  1.3082 -	/***********************************************************************************/
  1.3083 -	
  1.3084 -/** The call services.
  1.3085 -
  1.3086 -Modes: GSM/WCDMA */
  1.3087 -	enum TMobilePhoneCallServiceCaps
  1.3088 -		{
  1.3089 -	/** Phone supports retrieval of call forwarding status from a cache on the phone.
  1.3090 -	
  1.3091 -	Modes: GSM/WCDMA */
  1.3092 -		KCapsGetCFStatusCache				=0x00000001,
  1.3093 -	/** Phone supports retrieval of call forwarding status from the network.
  1.3094 -	
  1.3095 -	Modes: GSM/WCDMA */
  1.3096 -		KCapsGetCFStatusNetwork				=0x00000002,
  1.3097 -	/** Phone supports setting of call forwarding status (and registered information) 
  1.3098 -	in the network. */
  1.3099 -		KCapsSetCFStatus					=0x00000004,
  1.3100 -	/** Phone supports notification of change in status of any call forwarding service.
  1.3101 -	
  1.3102 -	Modes: GSM/WCDMA */
  1.3103 -		KCapsNotifyCFStatus					=0x00000008,
  1.3104 -	/** Phone supports retrieval of CLIP status from either a cache or the network.
  1.3105 -	
  1.3106 -	Modes: GSM/WCDMA */
  1.3107 -		KCapsGetClipStatus					=0x00000010,
  1.3108 -	/** Phone supports retrieval of CLIR status from either a cache or the network.
  1.3109 -	
  1.3110 -	Modes: GSM/WCDMA */
  1.3111 -		KCapsGetClirStatus					=0x00000020,
  1.3112 -	/** Phone supports retrieval of COLP status from either a cache or the network.
  1.3113 -	
  1.3114 -	Modes: GSM/WCDMA */
  1.3115 -		KCapsGetColpStatus					=0x00000040,
  1.3116 -	/** Phone supports retrieval of COLR status from either a cache or the network.
  1.3117 -	
  1.3118 -	Modes: GSM/WCDMA */
  1.3119 -		KCapsGetColrStatus					=0x00000080,
  1.3120 -	/** Phone supports retrieval of CNAP status from either a cache or the network.
  1.3121 -
  1.3122 -	Modes: GSM/WCDMA */
  1.3123 -		KCapsGetCnapStatus					=0x00000100,
  1.3124 -	/** Phone supports retrieval of call barring status from a cache on the phone.
  1.3125 -	
  1.3126 -	Modes: Common */
  1.3127 -		KCapsGetCBStatusCache				=0x00000200,
  1.3128 -	/** Phone supports retrieval of call barring status from the network.
  1.3129 -	
  1.3130 -	Modes: GSM/WCDMA */
  1.3131 -		KCapsGetCBStatusNetwork				=0x00000400,
  1.3132 -	/** Phone supports setting of call barring status in the network.
  1.3133 -	
  1.3134 -	Modes: Common */
  1.3135 -		KCapsSetCBStatus					=0x00000800,
  1.3136 -	/** Phone supports notification of change in call barring status for any service.
  1.3137 -	
  1.3138 -	Modes: Common */
  1.3139 -		KCapsNotifyCBStatus					=0x00001000,
  1.3140 -	/** Phone supports setting of a password for call barring service.
  1.3141 -	
  1.3142 -	Modes: Common */
  1.3143 -		KCapsChangeCBPassword				=0x00002000,
  1.3144 -	/** Phone supports BAIC call barring service.
  1.3145 -	
  1.3146 -	Modes: Common */
  1.3147 -		KCapsBarAllIncoming					=0x00004000,
  1.3148 -	/** Phone supports BIC-Roam call barring service.
  1.3149 -	
  1.3150 -	Modes: Common */
  1.3151 -		KCapsBarIncomingRoaming				=0x00008000,
  1.3152 -	/** Phone supports BAOC call barring service.
  1.3153 -	
  1.3154 -	Modes: Common */
  1.3155 -		KCapsBarAllOutgoing					=0x00010000,
  1.3156 -	/** Phone supports BOIC call barring service.
  1.3157 -	
  1.3158 -	Modes: Common */
  1.3159 -		KCapsBarOutgoingInternational		=0x00020000,
  1.3160 -	/** Phone supports BOIC-ExHC call barring service.
  1.3161 -	
  1.3162 -	Modes: Common */
  1.3163 -		KCapsBarOutgoingInternationalExHC	=0x00040000,
  1.3164 -	/** Phone supports barring all cases at once.
  1.3165 -	
  1.3166 -	Modes: Common */
  1.3167 -		KCapsBarAllCases					=0x00080000,
  1.3168 -	/** Phone supports retrieval of call waiting status from a cache on the phone.
  1.3169 -	
  1.3170 -	Modes: GSM/WCDMA */
  1.3171 -		KCapsGetCWStatusCache				=0x00100000,
  1.3172 -	/** Phone supports retrieval of call waiting status from the network.
  1.3173 -	
  1.3174 -	Modes: GSM/WCDMA */
  1.3175 -		KCapsGetCWStatusNetwork				=0x00200000,
  1.3176 -	/** Phone supports setting of call waiting status in the network.
  1.3177 -	
  1.3178 -	Modes: Common */
  1.3179 -		KCapsSetCWStatus					=0x00400000,
  1.3180 -	/** Phone supports notification of change in call waiting status for any service.
  1.3181 -	
  1.3182 -	Modes: GSM/WCDMA */
  1.3183 -		KCapsNotifyCWStatus					=0x00800000,
  1.3184 -	/** Phone supports retrieval of call completion (CCBS) status from a cache on the 
  1.3185 -	phone.
  1.3186 -	
  1.3187 -	Modes: GSM/WCDMA */
  1.3188 -		KCapsGetCCBSStatusCache				=0x01000000,
  1.3189 -	/** Phone supports retrieval of call completion (CCBS) status from the network.
  1.3190 -	
  1.3191 -	Modes: GSM/WCDMA */
  1.3192 -		KCapsGetCCBSStatusNetwork			=0x02000000,
  1.3193 -	/** Phone supports deactivation of all CCBS requests at once.
  1.3194 -	
  1.3195 -	Modes: GSM/WCDMA */
  1.3196 -		KCapsDeactivateAllCCBS				=0x04000000,
  1.3197 -		KCapsDeactivateCCBS					=0x08000000,
  1.3198 -	/** Phone supports retrieval of a list of active CCBS requests.
  1.3199 -	
  1.3200 -	Modes: GSM/WCDMA */
  1.3201 -		KCapsRetrieveActiveCCBS				=0x10000000,
  1.3202 -	/** The phone supports programming and retrieval of feature code against a CDMA 
  1.3203 -	network service.
  1.3204 -	
  1.3205 -	Modes: CDMA */
  1.3206 -		KCapsFeatureCode					=0x20000000,
  1.3207 -	/** The phone supports sending of generic network service request strings.
  1.3208 -	
  1.3209 -	Modes: Common */
  1.3210 -		KCapsNetworkServiceRequest			=0x40000000,
  1.3211 -	/** The phone supports retrieval of called line identification status.
  1.3212 -	
  1.3213 -	Modes: GSM/WCDMA */
  1.3214 -		KCapsGetCdipStatus					=0x80000000
  1.3215 -		};
  1.3216 -
  1.3217 -	IMPORT_C TInt GetCallServiceCaps(TUint32& aCaps) const;
  1.3218 -	IMPORT_C void NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.3219 -
  1.3220 -	/***********************************************************************************/
  1.3221 -	//
  1.3222 -	// MobilePhoneUserNetworkAccess functional unit
  1.3223 -	//
  1.3224 -	/***********************************************************************************/
  1.3225 -
  1.3226 -/** Mobile Phone network services.
  1.3227 -
  1.3228 -Modes: CDMA */
  1.3229 -	enum TMobilePhoneNetworkService
  1.3230 -		{
  1.3231 -	/** Network service is unspecified. */
  1.3232 -		ENetworkServiceUnspecified,
  1.3233 -	/** Feature code applies to call forwarding unconditional service. */
  1.3234 -		ECFUService,
  1.3235 -	/** Feature code applies to call forwarding on busy service. */
  1.3236 -		ECFBService,
  1.3237 -	/** Feature code applies to call forwarding on no reply service. */
  1.3238 -		ECFNRyService,
  1.3239 -	/** Feature code applies to call forwarding on not reachable service. */
  1.3240 -		ECFNRcService,
  1.3241 -	/** Feature code applies to user selective call forwarding service - when the 
  1.3242 -	user wishes to forward incoming call to voicemail. */
  1.3243 -		EDeflectToVoicemail,
  1.3244 -	/** Feature code applies to user selective call forwarding service - when the
  1.3245 -	user wishes to forward incoming call to a number supplied within the deflect 
  1.3246 -	request. */
  1.3247 -		EDeflectToNumber,
  1.3248 -	/** Feature code applies to user selective call forwarding service - when the 
  1.3249 -	user wishes to forward incoming call to a number pre-registered within the 
  1.3250 -	network. */
  1.3251 -		EDeflectToRegisteredNumber,
  1.3252 -	/** Feature code applies to call waiting service. */
  1.3253 -		ECWService,
  1.3254 -		ENextCallShowCLI,
  1.3255 -	/** Feature code applies to caller ID restriction service - when user wishes to 
  1.3256 -	hide their ID for the next call they make. */
  1.3257 -		ENextCallHideCLI
  1.3258 -		};
  1.3259 -
  1.3260 -/** Mobile phone service actions.
  1.3261 -
  1.3262 -Modes: Common */
  1.3263 -	enum TMobilePhoneServiceAction
  1.3264 -		{
  1.3265 -	/** The action is unspecified. */
  1.3266 -		EServiceActionUnspecified,
  1.3267 -	/** The client is registering new service information. If the service was not active 
  1.3268 -	then this action also activates the service. */
  1.3269 -		EServiceActionRegister,
  1.3270 -	/** The client is activating the service. */
  1.3271 -		EServiceActionActivate,
  1.3272 -	/** The client is invoking the service. */
  1.3273 -		EServiceActionInvoke,
  1.3274 -	/** The client is deactivating the service. */
  1.3275 -		EServiceActionDeactivate,
  1.3276 -	/** The client is erasing the currently registered service information. If the service 
  1.3277 -	was active then this action also deactivates the service. */
  1.3278 -		EServiceActionErase
  1.3279 -		};
  1.3280 -		
  1.3281 -	/**
  1.3282 -	Defines the type of SS operation
  1.3283 -	*/
  1.3284 -	enum TMobilePhoneNotifySendSSOperation
  1.3285 -		{
  1.3286 -		/**
  1.3287 -		SS Invoke operation.
  1.3288 -		*/
  1.3289 -		ESendSSInvoke,
  1.3290 -		/**
  1.3291 -		SS ReturnResult operation.
  1.3292 -		*/
  1.3293 -		ESendSSReturnResult,
  1.3294 -		/**
  1.3295 -		SS ReturnError operation.
  1.3296 -		*/
  1.3297 -		ESendSSReturnError,
  1.3298 -		/**
  1.3299 -		SS Reject operation.
  1.3300 -		*/
  1.3301 -		ESendSSReject		
  1.3302 -		};
  1.3303 -	
  1.3304 -	/** Size of additional info buffer. */	
  1.3305 -	enum{ KAdditionalInfoSize = 244 };
  1.3306 -	
  1.3307 -	class TMobilePhoneSendSSRequestV3 : public TMultimodeType
  1.3308 -	/**
  1.3309 -	Contains the operation code and buffer to hold any additional information when receiving a notification 
  1.3310 -	about a network service request.
  1.3311 -	*/
  1.3312 -		{
  1.3313 -	public:
  1.3314 -		IMPORT_C TMobilePhoneSendSSRequestV3();
  1.3315 -	public:
  1.3316 -		/**
  1.3317 -		This is the Operation Code for a Send SS Invoke or Return result events.
  1.3318 -		This is the Error or Problem Code for a Send SS Return Error or Reject events.
  1.3319 -		*/
  1.3320 -		TUint8	iOpCode;
  1.3321 -		/**
  1.3322 -		The additional information (parameters) for a Send SS Invoke or Return result or Return Error events.
  1.3323 -		This is not used for a Send SS Reject event
  1.3324 -		*/
  1.3325 -		TBuf<KAdditionalInfoSize>	iAdditionalInfo;
  1.3326 -		};
  1.3327 -	
  1.3328 -	/**
  1.3329 - 	Packaging typedef for TMobilePhoneSendSSRequestV3 class.
  1.3330 - 	*/	
  1.3331 -	typedef TPckg<TMobilePhoneSendSSRequestV3> TMobilePhoneSendSSRequestV3Pckg;
  1.3332 -
  1.3333 -	// API/TSY internal type
  1.3334 -
  1.3335 -	struct TNetworkServiceAndAction
  1.3336 -		{
  1.3337 -		TMobilePhoneNetworkService iService;
  1.3338 -		TMobilePhoneServiceAction iAction;
  1.3339 -		};
  1.3340 -	
  1.3341 -	IMPORT_C void ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
  1.3342 -	IMPORT_C void GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
  1.3343 -
  1.3344 -	IMPORT_C void SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
  1.3345 -	IMPORT_C void SendNetworkServiceRequestNoFdnCheck(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
  1.3346 -	IMPORT_C void NotifySendNetworkServiceRequest(TRequestStatus& aReqStatus, const TMobilePhoneNotifySendSSOperation aOperation, TDes8& aRequestComplete) const;
  1.3347 -	IMPORT_C void NotifyAllSendNetworkServiceRequest(TRequestStatus& aReqStatus, TMobilePhoneNotifySendSSOperation& aOperation, TDes8& aRequestComplete) const;
  1.3348 -
  1.3349 -	/***********************************************************************************/
  1.3350 -	//
  1.3351 -	// MobilePhoneCallForwarding functional unit
  1.3352 -	// 
  1.3353 -	/***********************************************************************************/
  1.3354 -
  1.3355 -/** The Call Forwarding flavours.
  1.3356 -
  1.3357 -Modes: GSM/WCDMA */
  1.3358 -	enum TMobilePhoneCFCondition
  1.3359 -		{
  1.3360 -	/** The call forwarding service is unspecified. */
  1.3361 -		ECallForwardingUnspecified,
  1.3362 -	/** All calls to this subscriber are forwarded. */
  1.3363 -		ECallForwardingUnconditional,
  1.3364 -	/** Calls are forwarded when this subscriber is busy. */
  1.3365 -		ECallForwardingBusy,
  1.3366 -	/** Calls are forwarded when this subscriber does not reply within a time-out period. */
  1.3367 -		ECallForwardingNoReply,
  1.3368 -	/** Calls are forwarded when this subscriber is unreachable. */
  1.3369 -		ECallForwardingNotReachable,
  1.3370 -	/** All of above CF services. Can be used to check all 4 call forwarding Fs 
  1.3371 -	at once. */
  1.3372 -		ECallForwardingAllCases,			// combination of all four above cases
  1.3373 -	/** All the conditional (busy, no reply, not reachable) CF services. Can be used 
  1.3374 -	to check all 3 conditional call forwarding conditions at once. */
  1.3375 -		ECallForwardingAllConditionalCases	// combination of CFB, CFNRy and CFNRc
  1.3376 -		};
  1.3377 -
  1.3378 -/** The Call Forwarding status
  1.3379 -
  1.3380 -Modes: GSM/WCDMA */
  1.3381 -	enum TMobilePhoneCFStatus
  1.3382 -		{
  1.3383 -	/** The CF service is currently active and operative. */
  1.3384 -		ECallForwardingStatusActive,
  1.3385 -	/** The CF service is currently deactivated. */
  1.3386 -		ECallForwardingStatusNotActive,
  1.3387 -	/** The CF service is not registered. */
  1.3388 -		ECallForwardingStatusNotRegistered,
  1.3389 -	/** The CF service is not provisioned. */
  1.3390 -		ECallForwardingStatusNotProvisioned,
  1.3391 -	/** The CF service is not available in the serving network. */
  1.3392 -		ECallForwardingStatusNotAvailable,
  1.3393 -	/** The phone can not determine CF service status. */
  1.3394 -		ECallForwardingStatusUnknown,
  1.3395 -	/** The Call Forwarding service is active and the presentation indicator is set 
  1.3396 -	to allowed */
  1.3397 -		ECallForwardingStatusActivePIAllowed,
  1.3398 -	/** The Call Forwarding service is active and the presentation indicator is set 
  1.3399 -	to not available */
  1.3400 -		ECallForwardingStatusActivePINotAvailable,
  1.3401 -	/** The Call Forwarding service is active and the presentation indicator is set 
  1.3402 -	to restricted
  1.3403 -	
  1.3404 -	The Call Forwarding service is active and the presentation indicator is set 
  1.3405 -	to restricted and screening returns "User provided, verified and passed". */
  1.3406 -		ECallForwardingStatusActivePIClir,
  1.3407 -	/** The Call Forwarding service is active and the presentation indicator is set 
  1.3408 -	to restricted and screening returns "User provided, not screened". */
  1.3409 -		ECallForwardingStatusActivePIClirSIVerified,
  1.3410 -	/** The Call Forwarding service is active and the presentation indicator is set 
  1.3411 -	to "restricted" and screening returns "Network provided". */
  1.3412 -		ECallForwardingStatusActivePIClirSINotScreened,
  1.3413 -	/** The Call Forwarding service is active and the presentation indicator is set 
  1.3414 -	to "restricted" and screening returns "Network provided". */
  1.3415 -		ECallForwardingStatusActivePIClirSINetwork,
  1.3416 -	/** The CF service is currently in the quiescent state. */	
  1.3417 -		ECallForwardingStatusQuiescent
  1.3418 -		};
  1.3419 -		
  1.3420 -	
  1.3421 -
  1.3422 -	class TMobilePhoneCFInfoEntryV1 : public TMultimodeType
  1.3423 -/** Defines information about the call forwarding service.
  1.3424 -
  1.3425 -Modes: GSM/WCDMA
  1.3426 -
  1.3427 -@see CMobilePhoneCFList
  1.3428 -@publishedPartner
  1.3429 -@released 
  1.3430 -*/
  1.3431 -		{
  1.3432 -	public:
  1.3433 -		IMPORT_C TMobilePhoneCFInfoEntryV1();
  1.3434 -	public:
  1.3435 -		void InternalizeL(RReadStream& aStream);
  1.3436 -		void ExternalizeL(RWriteStream& aStream) const;
  1.3437 -	public:
  1.3438 -	/** The CF service of this list entry.
  1.3439 -	
  1.3440 -	@see TMobilePhoneCFCondition */
  1.3441 -		TMobilePhoneCFCondition iCondition;
  1.3442 -	/** The basic service group associated to this CF service list entry.
  1.3443 -	
  1.3444 -	@see TMobileService */
  1.3445 -		TMobileService iServiceGroup;
  1.3446 -	/** The current status of the call forwarding condition.
  1.3447 -	
  1.3448 -	@see TMobilePhoneCFStatus */
  1.3449 -		TMobilePhoneCFStatus iStatus;
  1.3450 -	/** The "forward-to" telephone number registered for the call forwarding condition. 
  1.3451 -	An empty string if CF service is not registered, not provisioned or not available.
  1.3452 -	
  1.3453 -	@see TMobileAddress */
  1.3454 -		TMobileAddress iNumber;
  1.3455 -	/** The "No Reply" time-out (in seconds) registered for the call forwarding no reply 
  1.3456 -	condition.
  1.3457 -	
  1.3458 -	Equals to -1 if this value is not applicable. In GSM mode, will be between 
  1.3459 -	5 and 30 and in steps of 5 if this value is applicable. */
  1.3460 -		TInt iTimeout; // valid for CFRNy only
  1.3461 -		};
  1.3462 -
  1.3463 -	IMPORT_C void NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const;
  1.3464 -
  1.3465 -	class TMobilePhoneCFChangeV1 : public TMultimodeType
  1.3466 -/** Defines the call forward information.
  1.3467 -
  1.3468 -@see SetCallForwardingStatus()
  1.3469 -@publishedPartner
  1.3470 -@released 
  1.3471 -*/
  1.3472 -		{
  1.3473 -	public:
  1.3474 -		IMPORT_C TMobilePhoneCFChangeV1();
  1.3475 -	public:
  1.3476 -	/** The basic service group(s) to apply the CF status change to.
  1.3477 -	
  1.3478 -	@see TMobileService */
  1.3479 -		TMobileService iServiceGroup;
  1.3480 -	/** The service action for call forwarding.
  1.3481 -	
  1.3482 -	@see TMobilePhoneServiceAction */
  1.3483 -		TMobilePhoneServiceAction iAction;
  1.3484 -	/** A new "forward-to" number to be registered against the CF condition. This is 
  1.3485 -	applicable if iAction=EServiceActionRegister. In other cases, it is set to
  1.3486 -	an empty string.
  1.3487 -	
  1.3488 -	@see TMobileAddress */
  1.3489 -		TMobileAddress iNumber;
  1.3490 -	/** The new "No Reply" time-out in seconds to be registered. This is applicable 
  1.3491 -	if the CF condition is CFNRy and iAction=EServiceActionRegister. Equals -1 
  1.3492 -	if this value is not applicable. If applicable, in GSM mode will be between 
  1.3493 -	5 and 30 and in steps of 5. */
  1.3494 -		TInt iTimeout;
  1.3495 -		};
  1.3496 -
  1.3497 -	IMPORT_C void SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const;
  1.3498 -
  1.3499 -/** Call Forwarding Active Notification
  1.3500 -
  1.3501 -Modes: Common */
  1.3502 -	enum TMobilePhoneCFActive
  1.3503 -		{
  1.3504 -	/** CF Unconditional is currently active. */
  1.3505 -		ECFUnconditionalActive,
  1.3506 -	/** CF Busy, CF No Reply or CF Not Reachable is currently active. */
  1.3507 -		ECFConditionalActive
  1.3508 -		};
  1.3509 -
  1.3510 -	IMPORT_C void NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const;
  1.3511 -	
  1.3512 -	/**
  1.3513 -	Current status indicators for unconditional call forwarding.
  1.3514 -	*/
  1.3515 -	enum TCFUIndicatorStatus
  1.3516 -		{
  1.3517 -		/**
  1.3518 -		CFU Indicator status unknown.
  1.3519 -		*/
  1.3520 -		KCFUIndicatorUnknown = 0x0,
  1.3521 -		/**
  1.3522 -		CFU Indicator status for Voice (TMobileServiceGroup EVoice).
  1.3523 -		*/
  1.3524 -		KCFUIndicatorVoice=0x01,
  1.3525 -		/**
  1.3526 -		CFU Indicator status for Fax (TMobileServiceGroup EFax).
  1.3527 -		*/
  1.3528 -		KCFUIndicatorFax=0x02,
  1.3529 -		/**
  1.3530 -		CFU Indicator status for Data Teleservices(TMobileServiceGroup EData).
  1.3531 -		*/
  1.3532 -		KCFUIndicatorData=0x04,
  1.3533 -		/**
  1.3534 -		CFU Indicator status for Sms (TMobileServiceGroup ESms).
  1.3535 -		*/
  1.3536 -		KCFUIndicatorSms=0x08,
  1.3537 -		/**
  1.3538 -		CFU Indicator status for Data Bearer Services(TMobileServiceGroup EDataBearer).
  1.3539 -		*/
  1.3540 -		KCFUIndicatorDataBearer=0x10,
  1.3541 -		/**
  1.3542 -		CFU Indicator status for Auxiliary Voice (TMobileServiceGroup EAuxVoiceService).
  1.3543 -		*/
  1.3544 -		KCFUIndicatorAuxVoice=0x20
  1.3545 -		};
  1.3546 -
  1.3547 -	typedef TUint32 TCFUIndicatorStatusFlags;
  1.3548 -		
  1.3549 -	class TMobilePhoneCFUIndicatorV3 : public TMultimodeType
  1.3550 -	/**
  1.3551 -	Contains indicator parameters for unconditional call forwarding.
  1.3552 -	*/
  1.3553 -		{
  1.3554 -	public:
  1.3555 -		IMPORT_C TMobilePhoneCFUIndicatorV3();
  1.3556 -	public:
  1.3557 -		/**
  1.3558 -		Current setting for indicator status.
  1.3559 -		Can contain a number of flags from RMobilePhone::TCFUIndicatorStatus.
  1.3560 -		*/
  1.3561 -		TCFUIndicatorStatusFlags iIndicator;		
  1.3562 -		};
  1.3563 -		
  1.3564 -	typedef TPckg<TMobilePhoneCFUIndicatorV3> TMobilePhoneCFUIndicatorV3Pckg;
  1.3565 -
  1.3566 -	/**
  1.3567 -	The MSP number contains the Profile Identity of the subscriber profile.
  1.3568 -	The Profile Identity shall be any of the following enlisted.
  1.3569 -	@see 3GPP TS 31.102 v7.4.1 section 4.2.64
  1.3570 -	@see 3GPP TS 23.097 [36]
  1.3571 -	*/
  1.3572 -	enum TMultipleSubscriberProfileID
  1.3573 -		{
  1.3574 -		/**
  1.3575 -		Profile Identity Unknown
  1.3576 -		*/
  1.3577 -		KProfileIdentityUnknown = 0x0,
  1.3578 -		/**
  1.3579 -		Profile Identity 1
  1.3580 -		*/
  1.3581 -		KProfileIdentityOne = 0x01,
  1.3582 -		/**
  1.3583 -		Profile Identity 2
  1.3584 -		*/
  1.3585 -		KProfileIdentityTwo = 0x02,
  1.3586 -		/**
  1.3587 -		Profile Identity 3
  1.3588 -		*/
  1.3589 -		KProfileIdentityThree = 0x04,
  1.3590 -		/**
  1.3591 -		Profile Identity 4
  1.3592 -		*/
  1.3593 -		KProfileIdentityFour = 0x08
  1.3594 -		};
  1.3595 -
  1.3596 -	class TMobilePhoneCFUIndicatorV6 : public TMobilePhoneCFUIndicatorV3
  1.3597 -	/**
  1.3598 -	Contains the indicator parameters for unconditional call forwarding.
  1.3599 -	The TMobilePhoneCFUIndicatorV6 supports MSP number(Multiple Subscriber Profile) and Call Forwarding Number.
  1.3600 -	Upto four different profiles can be provisioned against a subscriber using the MSP feature.
  1.3601 -	@see 3GPP TS 31.102 v7.4.1 section 4.2.64
  1.3602 -	*/
  1.3603 -		{
  1.3604 -	public:
  1.3605 -		IMPORT_C TMobilePhoneCFUIndicatorV6();
  1.3606 -	public:
  1.3607 -		/**
  1.3608 -		@see RMoblie::TMobileAddress
  1.3609 -		*/
  1.3610 -		TMobileAddress iCFNumber;
  1.3611 -		/**
  1.3612 -		The profile IDs allow unambiguous identification of each profile. 
  1.3613 -		This will allow the subscriber to select the preferred profile for outgoing calls and for subscriber actions. 
  1.3614 -		For terminating calls the profile ID shall be part of the notification of the profile.
  1.3615 -		*/
  1.3616 -		TMultipleSubscriberProfileID iMultipleSubscriberProfileID;
  1.3617 -		};
  1.3618 -
  1.3619 -	typedef TPckg<TMobilePhoneCFUIndicatorV6> TMobilePhoneCFUIndicatorV6Pckg;
  1.3620 -
  1.3621 -	IMPORT_C void GetCallForwardingIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const;
  1.3622 -
  1.3623 -	/***********************************************************************************/
  1.3624 -	//
  1.3625 -	// Mobile Identity Service functional unit
  1.3626 -	// 
  1.3627 -	/***********************************************************************************/
  1.3628 -
  1.3629 -/** Phone ID services (CLIP/CNIP/CLIR).
  1.3630 -
  1.3631 -Modes: GSM/WCDMA */
  1.3632 -	enum TMobilePhoneIdService
  1.3633 -		{
  1.3634 -	/** The identity service is unspecified */
  1.3635 -		EIdServiceUnspecified,
  1.3636 -	/** The caller's ID is presented to the called party. */
  1.3637 -		EIdServiceCallerPresentation,
  1.3638 -	/** The caller's ID is restricted to the called party. */
  1.3639 -		EIdServiceCallerRestriction,
  1.3640 -	/** The connected party's ID is presented to the calling party. */
  1.3641 -		EIdServiceConnectedPresentation,
  1.3642 -	/** The connected party's ID is restricted to the calling party. */
  1.3643 -		EIdServiceConnectedRestriction,
  1.3644 -	/** The caller's name is presented to the called party. */
  1.3645 -		EIdServiceCallerName,
  1.3646 -	/** The called party is presented with the caller's ID. This command enables a 
  1.3647 -	called subscriber to get the called line identification of the called party 
  1.3648 -	when receiving a mobile terminated call. - maps to +CDIP. */
  1.3649 -		EIdServiceCalledPresentation
  1.3650 -		};
  1.3651 -
  1.3652 -/** Service status of the Phone ID services (CLIP/CLIR/CNIP).
  1.3653 -
  1.3654 -Modes: GSM/WCDMA */
  1.3655 -	enum TMobilePhoneIdServiceStatus
  1.3656 -		{
  1.3657 -	/** The interrogated Identity service is provisioned and active. This status is 
  1.3658 -	used for all identity services and in the case of the CLIR service means that 
  1.3659 -	it is permanently active with no subscription option set. */
  1.3660 -		EIdServiceActivePermanent,
  1.3661 -	/** This status is used for the CLIR service only and means that the service is 
  1.3662 -	provisioned and active.
  1.3663 -	
  1.3664 -	The CLIR subscription option is set to "Temporary, default restricted", therefore 
  1.3665 -	identity is always restricted unless over-ridden by the user during a call 
  1.3666 -	set-up. */
  1.3667 -		EIdServiceActiveDefaultRestricted,
  1.3668 -	/** This status is used for the CLIR service only and means that the service is 
  1.3669 -	provisioned and active.
  1.3670 -	
  1.3671 -	The CLIR subscription option is set to "Temporary, default allowed", therefore 
  1.3672 -	identity is always allowed unless over-ridden by the user during a call set-up. */
  1.3673 -		EIdServiceActiveDefaultAllowed,
  1.3674 -	/** The interrogated Identity service is not provisioned. */
  1.3675 -		EIdServiceNotProvisioned,
  1.3676 -	/** The status of the interrogated Identity service is unknown. */
  1.3677 -		EIdServiceUnknown
  1.3678 -		};
  1.3679 -
  1.3680 -	// for use by client-side API code and TSY only
  1.3681 -
  1.3682 -	struct TIdServiceAndLocation
  1.3683 -		{
  1.3684 -		TMobilePhoneIdService iService;
  1.3685 -		TMobileInfoLocation iLocation;
  1.3686 -		};
  1.3687 -
  1.3688 -	/** This function member retrieves the current status of the identity service specified.
  1.3689 -	
  1.3690 -	The phone will retrieve this service status information from the location 
  1.3691 -	specified by the client.
  1.3692 -	
  1.3693 -	If the client has requested EInfoLocationCache but there is no valid status 
  1.3694 -	information in the cache then the request will return KErrNotFound.
  1.3695 -	
  1.3696 -	If the client has requested EInfoLocationCachePreferred, the network will 
  1.3697 -	be interrogated if the cache is empty. Whenever the network is interrogated, 
  1.3698 -	the cache will be refreshed with the information from the network.
  1.3699 -	
  1.3700 -	Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneGetIdentityServiceStatus) 
  1.3701 -	to cancel a previously placed asynchronous GetIdentityServiceStatus() request.
  1.3702 -	
  1.3703 -	@param aReqStatus On return, KErrNone if successful.
  1.3704 -	@param aService The identity service to be queried.
  1.3705 -	@param aStatus On return, the service status.
  1.3706 -	@param aLocation The location to use. */
  1.3707 -	IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
  1.3708 -	
  1.3709 -	/**
  1.3710 -	Identifies default service status for provisioned identity services.
  1.3711 -	*/
  1.3712 -	enum TMobilePhoneIdServiceSetting
  1.3713 -		{
  1.3714 -		/** Sets the default setting to network default (unknown). */
  1.3715 -		EIdServiceNetworkDefault,
  1.3716 -		/** Sets the default setting to presentation restricted. */
  1.3717 -		EIdServicePresentationRestricted,
  1.3718 -		/** Sets the default setting to presentation allowed. */
  1.3719 -		EIdServicePresentationAllowed
  1.3720 -		};
  1.3721 -		
  1.3722 -	IMPORT_C void SetIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, const TMobilePhoneIdServiceSetting aSetting) const;
  1.3723 -	IMPORT_C void NotifyIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus) const;
  1.3724 -	IMPORT_C void NotifyIdentitySuppressionRejected(TRequestStatus& aReqStatus) const;
  1.3725 -
  1.3726 -	/***********************************************************************************/
  1.3727 -	//
  1.3728 -	// Mobile Call Barring Functional Unit
  1.3729 -	//
  1.3730 -	/***********************************************************************************/
  1.3731 -
  1.3732 -/** Mobile Phone Call Baring Conditions.
  1.3733 -
  1.3734 -Modes: Common */
  1.3735 -	enum TMobilePhoneCBCondition
  1.3736 -		{
  1.3737 -	/** The barring program is unspecified */
  1.3738 -		EBarUnspecified,
  1.3739 -	/** All incoming calls to this subscriber are barred (BAIC). */
  1.3740 -		EBarAllIncoming,
  1.3741 -	/** All incoming calls to this subscriber are barred when roaming outside the home 
  1.3742 -	PLMN country (BIC-roam). */
  1.3743 -		EBarIncomingRoaming,
  1.3744 -	/** All outgoing calls by this subscriber are barred (BAOC). */
  1.3745 -		EBarAllOutgoing,
  1.3746 -	/** All outgoing international calls by this subscriber are barred (BOIC). */
  1.3747 -		EBarOutgoingInternational,
  1.3748 -	/** All outgoing international calls except those directed to the home PLMN country 
  1.3749 -	by this subscriber are barred (BOIC-ExHC). */
  1.3750 -		EBarOutgoingInternationalExHC,
  1.3751 -	/** All of above CB services. */
  1.3752 -		EBarAllCases,
  1.3753 -		EBarAllOutgoingServices,
  1.3754 -		EBarAllIncomingServices
  1.3755 -		};
  1.3756 -
  1.3757 -/** Mobile Phone Call Barring Status and Information.
  1.3758 -
  1.3759 -Modes: Common */
  1.3760 -	enum TMobilePhoneCBStatus
  1.3761 -		{
  1.3762 -	/** The CB service is currently active and operative. */
  1.3763 -		ECallBarringStatusActive,
  1.3764 -	/** The CB service is currently deactivated or quiescent. */
  1.3765 -		ECallBarringStatusNotActive,
  1.3766 -	/** In GSM/WCDMA mode, the CB service is not provisioned. In CDMA mode, this value 
  1.3767 -	has no meaning. */
  1.3768 -		ECallBarringStatusNotProvisioned,
  1.3769 -	/** In GSM/WCDMA mode, the CB service is not available in serving network. In CDMA
  1.3770 -	mode, the CB service is not available in the phone. */
  1.3771 -		ECallBarringStatusNotAvailable,
  1.3772 -	/** The phone can not determine CB service status. */
  1.3773 -		ECallBarringStatusUnknown
  1.3774 -		};
  1.3775 -
  1.3776 -	
  1.3777 -
  1.3778 -	class TMobilePhoneCBInfoEntryV1 : public TMultimodeType
  1.3779 -/** Defines information about the call barring service.
  1.3780 -
  1.3781 -@see CMobilePhoneCBList
  1.3782 -@publishedPartner
  1.3783 -@released 
  1.3784 -*/
  1.3785 -		{
  1.3786 -	public:
  1.3787 -		void InternalizeL(RReadStream& aStream);
  1.3788 -		void ExternalizeL(RWriteStream& aStream) const;
  1.3789 -	public:
  1.3790 -		IMPORT_C TMobilePhoneCBInfoEntryV1();
  1.3791 -	public:
  1.3792 -	/** The CB service of this list entry.
  1.3793 -	
  1.3794 -	Modes: Common
  1.3795 -	
  1.3796 -	@see TMobilePhoneCBCondition */
  1.3797 -		TMobilePhoneCBCondition iCondition;
  1.3798 -	/** The service group associated to this list entry.
  1.3799 -	
  1.3800 -	Modes: Common
  1.3801 -	
  1.3802 -	@see TMobileService */
  1.3803 -		TMobileService iServiceGroup;
  1.3804 -	/** The CB service status of this list entry.
  1.3805 -	
  1.3806 -	Modes: Common
  1.3807 -	
  1.3808 -	@see TMobilePhoneCBStatus */
  1.3809 -		TMobilePhoneCBStatus iStatus;
  1.3810 -		};
  1.3811 -		
  1.3812 -	class TMobilePhoneCBInfoEntryV3 : public TMobilePhoneCBInfoEntryV1
  1.3813 -	/**
  1.3814 -	V3 class extending TMobilePhoneCBInfoEntryV1 to add a comparison method parameter.
  1.3815 -	*/
  1.3816 -		{
  1.3817 -	public:
  1.3818 -		void InternalizeL(RReadStream& aStream);
  1.3819 -		void ExternalizeL(RWriteStream& aStream) const;
  1.3820 -	public:
  1.3821 -		IMPORT_C TMobilePhoneCBInfoEntryV3();
  1.3822 -	public:
  1.3823 -		/**
  1.3824 -		The comparison method associated with this CB entry.
  1.3825 -		*/
  1.3826 -		TUint8 iCompMethod;
  1.3827 -		};
  1.3828 -		
  1.3829 -	class TMobilePhoneCBChangeV1 : public TMultimodeType
  1.3830 -/** Mobile Phone Call Barring Change.
  1.3831 -
  1.3832 -@see SetCallBarringStatus() 
  1.3833 -*/
  1.3834 -		{
  1.3835 -	public:
  1.3836 -		IMPORT_C TMobilePhoneCBChangeV1();
  1.3837 -	public:
  1.3838 -	/** The basic service group(s) to apply the CB status change to.
  1.3839 -	
  1.3840 -	@see TMobileService */
  1.3841 -		TMobileService iServiceGroup;
  1.3842 -	/** The service action for call barring.
  1.3843 -	
  1.3844 -	@see TMobilePhoneServiceAction */
  1.3845 -		TMobilePhoneServiceAction iAction;
  1.3846 -	/** Password required to perform the call barring service action.
  1.3847 -	
  1.3848 -	@see TMobilePassword */
  1.3849 -		TMobilePassword iPassword;
  1.3850 -		};
  1.3851 -
  1.3852 -	IMPORT_C void SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const;
  1.3853 -	IMPORT_C void NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const;
  1.3854 -	
  1.3855 -	class TMobilePhonePasswordChangeV1 : public TMultimodeType
  1.3856 -/** Mobile phone password change.
  1.3857 -
  1.3858 -@see SetCallBarringPassword()
  1.3859 -@see ChangeSecurityCode()
  1.3860 -@publishedPartner
  1.3861 -@released 
  1.3862 -*/
  1.3863 -		{
  1.3864 -	public:
  1.3865 -		IMPORT_C TMobilePhonePasswordChangeV1();
  1.3866 -	public:
  1.3867 -	/** Old password.
  1.3868 -	
  1.3869 -	Modes: Common
  1.3870 -	
  1.3871 -	@see TMobilePassword */
  1.3872 -		TMobilePassword iOldPassword;
  1.3873 -	/** New password.
  1.3874 -	
  1.3875 -	Modes: Common
  1.3876 -	
  1.3877 -	@see TMobilePassword */
  1.3878 -		TMobilePassword iNewPassword;
  1.3879 -		};
  1.3880 -
  1.3881 -	IMPORT_C void SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const;
  1.3882 -
  1.3883 -	class TMobilePhonePasswordChangeV2 : public TMobilePhonePasswordChangeV1
  1.3884 -/** Mobile phone password change version 2. 
  1.3885 -*/
  1.3886 -	{
  1.3887 -	public:
  1.3888 -		IMPORT_C TMobilePhonePasswordChangeV2();
  1.3889 -	public:
  1.3890 -	/** Verified password.
  1.3891 -	
  1.3892 -	Modes: Common
  1.3893 -	
  1.3894 -	@see TMobilePassword */
  1.3895 -		TMobilePassword iVerifiedPassword;
  1.3896 -	};
  1.3897 -
  1.3898 -/** A typedef'd packaged TMobilePhonePasswordChangeV2 passing through a generic 
  1.3899 -API function member. */
  1.3900 -	typedef TPckg<TMobilePhonePasswordChangeV2> TMobilePhonePasswordChangeV2Pckg;
  1.3901 -
  1.3902 -	IMPORT_C void SetSSPassword(TRequestStatus& aReqStatus, const TDesC8& aPassword, const TInt aService) const;
  1.3903 -	
  1.3904 -	IMPORT_C void GetCompMethodName(TRequestStatus& aReqStatus, TDes& aAlphaTag, const TUint8 aCmi) const;
  1.3905 -
  1.3906 -	/***********************************************************************************/
  1.3907 -	//
  1.3908 -	// Mobile Call Waiting Functional Unit
  1.3909 -	//
  1.3910 -	/***********************************************************************************/
  1.3911 -
  1.3912 -/** The mobile phone call waiting status.
  1.3913 -
  1.3914 -Modes: GSM/WCDMA */
  1.3915 -	enum TMobilePhoneCWStatus
  1.3916 -		{
  1.3917 -	/** The CW service is currently active and operative. */
  1.3918 -		ECallWaitingStatusActive,
  1.3919 -	/** The CW service is currently deactivated or quiescent. */
  1.3920 -		ECallWaitingStatusNotActive,
  1.3921 -	/** The CW service is not provisioned. */
  1.3922 -		ECallWaitingStatusNotProvisioned,
  1.3923 -	/** The CW service is not available in the serving network. */
  1.3924 -		ECallWaitingStatusNotAvailable,
  1.3925 -	/** The phone can not determine CW service status. */
  1.3926 -		ECallWaitingStatusUnknown
  1.3927 -		};
  1.3928 -
  1.3929 -	
  1.3930 -
  1.3931 -	class TMobilePhoneCWInfoEntryV1 : public TMultimodeType
  1.3932 -/** Defines information about the call waiting service.
  1.3933 -
  1.3934 -@see CMobilePhoneCWList 
  1.3935 -*/
  1.3936 -		{
  1.3937 -	public:
  1.3938 -		void InternalizeL(RReadStream& aStream);
  1.3939 -		void ExternalizeL(RWriteStream& aStream) const;
  1.3940 -	public:
  1.3941 -		IMPORT_C TMobilePhoneCWInfoEntryV1();
  1.3942 -	public:
  1.3943 -	/** The service group associated to this CW service list entry.
  1.3944 -	
  1.3945 -	Modes: GSM/WCDMA
  1.3946 -	
  1.3947 -	@see TMobileService */
  1.3948 -		TMobileService iServiceGroup;
  1.3949 -	/** The CW service status of this list entry.
  1.3950 -	
  1.3951 -	Modes: GSM/WCDMA
  1.3952 -	
  1.3953 -	@see TMobilePhoneCWStatus */
  1.3954 -		TMobilePhoneCWStatus iStatus;
  1.3955 -		};
  1.3956 -
  1.3957 -/** A typedef'd packaged TMobilePhoneCWInfoEntryV1 for passing through a generic 
  1.3958 -API function member. */
  1.3959 -	typedef TPckg<TMobilePhoneCWInfoEntryV1> TMobilePhoneCWInfoEntryV1Pckg;
  1.3960 -
  1.3961 -	IMPORT_C void SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const;
  1.3962 -	IMPORT_C void NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const;
  1.3963 -
  1.3964 -	/***********************************************************************************/
  1.3965 -	//
  1.3966 -	// Mobile Call Completion Unit
  1.3967 -	//
  1.3968 -	/***********************************************************************************/
  1.3969 -
  1.3970 -/** The Call Completion Busy Subscriber status of the phone.
  1.3971 -
  1.3972 -Modes: GSM/WCDMA */
  1.3973 -	enum TMobilePhoneCCBSStatus
  1.3974 -		{
  1.3975 -	/** User has CCBS provisioned and there is at least 1 (and up to 5) active CCBS 
  1.3976 -	requests. */
  1.3977 -		ECcbsActive,
  1.3978 -	/** User has CCBS provisioned but there are currently no active CCBS requests. */
  1.3979 -		ECcbsNotActive,
  1.3980 -	/** User has not subscribed to the CCBS service. */
  1.3981 -		ECcbsNotProvisioned,
  1.3982 -	/** The CCBS service is not available in the serving network. */
  1.3983 -		ECcbsNotAvailable,
  1.3984 -	/** MS is unable to determine status of the CCBS service. */
  1.3985 -		ECcbsUnknown
  1.3986 -		};
  1.3987 -
  1.3988 -/** CCBS recall events.
  1.3989 -
  1.3990 -@see RMobilePhone::TMobilePhoneCCBSEntryV2 */
  1.3991 -	enum TCCBSRecallEvent
  1.3992 -		{
  1.3993 -	/** Recall received. */
  1.3994 -		ECcbsRecallReceived,
  1.3995 -	/** Recall accepted. */
  1.3996 -		ECcbsRecallAccepted,
  1.3997 -	/** Recall refused. */
  1.3998 -		ECcbsRecallRefused,
  1.3999 -	/** Recall reason unspecified. */
  1.4000 -		ECcbsRecallUnspecified
  1.4001 -		};
  1.4002 -
  1.4003 -	
  1.4004 -
  1.4005 -	class TMobilePhoneCCBSEntryV1 : public TMultimodeType
  1.4006 -/** Defines information about the call completion (CCBS) service.
  1.4007 -
  1.4008 -@see CMobilePhoneCcbsList
  1.4009 -@publishedPartner
  1.4010 -@released 
  1.4011 -*/
  1.4012 -		{
  1.4013 -	public:
  1.4014 -		void InternalizeL(RReadStream& aStream);
  1.4015 -		void ExternalizeL(RWriteStream& aStream) const;
  1.4016 -	public:
  1.4017 -		IMPORT_C TMobilePhoneCCBSEntryV1();
  1.4018 -	public:
  1.4019 -	/** The CCBS index - a number allocated by the network.
  1.4020 -	
  1.4021 -	Modes: GSM/WCDMA */
  1.4022 -		TInt			iCcbsIndex;
  1.4023 -	/** The basic service group (voice/data/fax) this CCBS request is applicable to.
  1.4024 -	
  1.4025 -	Modes: GSM/WCDMA
  1.4026 -	
  1.4027 -	@see TMobileService */
  1.4028 -		TMobileService	iServiceGroup;
  1.4029 -	/** The phone number of the remote party to whom the CCBS request is aimed.
  1.4030 -	
  1.4031 -	Modes: GSM/WCDMA
  1.4032 -	
  1.4033 -	@see TMobileAddress */
  1.4034 -		TMobileAddress	iDestination;
  1.4035 -
  1.4036 -		};
  1.4037 -
  1.4038 -/** A typedef'd packaged TMobilePhoneCCBSEntryV1 for passing through a generic API 
  1.4039 -function member. */
  1.4040 -	typedef TPckg<TMobilePhoneCCBSEntryV1> TMobilePhoneCCBSEntryV1Pckg;
  1.4041 -
  1.4042 -
  1.4043 -	class TMobilePhoneCCBSEntryV2 : public TMobilePhoneCCBSEntryV1
  1.4044 -/** Defines information about the call completion (CCBS) service version 2. 
  1.4045 -*/
  1.4046 -		{
  1.4047 -	public:
  1.4048 -		IMPORT_C	TMobilePhoneCCBSEntryV2();
  1.4049 -	public:
  1.4050 -		TCCBSRecallEvent	iEvent;
  1.4051 -		}; 
  1.4052 -	
  1.4053 -/** A typedef'd packaged TMobilePhoneCCBSEntryV2 for passing through a generic API 
  1.4054 -function member. */
  1.4055 -	typedef TPckg<TMobilePhoneCCBSEntryV2> TMobilePhoneCCBSEntryV2Pckg;
  1.4056 -	
  1.4057 -	IMPORT_C void GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
  1.4058 -	IMPORT_C void NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const;
  1.4059 -	IMPORT_C void DeactivateCCBS(TRequestStatus& aReqStatus, TInt aIndex) const;
  1.4060 -	IMPORT_C void NotifyCCBSRecall(TRequestStatus& aReqStatus, TDes8& aCCBSEntry) const;
  1.4061 -	IMPORT_C void AcceptCCBSRecall(TRequestStatus& aReqStatus, TInt aIndex, TName& aCallName) const;
  1.4062 -	IMPORT_C TInt RefuseCCBSRecall(TInt aIndex) const;
  1.4063 -
  1.4064 -	/***********************************************************************************/
  1.4065 -	//
  1.4066 -	// Mobile Alternating Call Function Unit
  1.4067 -	//
  1.4068 -	/***********************************************************************************/
  1.4069 -
  1.4070 -/** Alternating Call Capabilities
  1.4071 -
  1.4072 -Modes: GSM */
  1.4073 -	enum TMobilePhoneAlternatingCallCaps
  1.4074 -		{
  1.4075 -	/** Phone supports outgoing Voice/Data calls
  1.4076 -	
  1.4077 -	Modes: GSM */
  1.4078 -		KCapsMOVoiceData = 0x00000001,
  1.4079 -	/** Phone supports outgoing Voice Then Data calls.
  1.4080 -	
  1.4081 -	Modes: GSM */
  1.4082 -		KCapsMOVoiceThenData = 0x00000002,
  1.4083 -	/** Phone supports outgoing Voice/Fax calls.
  1.4084 -	
  1.4085 -	Modes: GSM/WCDMA */
  1.4086 -		KCapsMOVoiceFax	= 0x00000004,
  1.4087 -	/** Phone supports incoming Voice/Data calls.
  1.4088 -	
  1.4089 -	Modes: GSM */
  1.4090 -		KCapsMTVoiceData = 0x00000008,
  1.4091 -	/** Phone supports incoming Voice Then Data calls.
  1.4092 -	
  1.4093 -	Modes: GSM */
  1.4094 -		KCapsMTVoiceThenData = 0x00000010,
  1.4095 -	/** Phone supports incoming Voice/Fax calls
  1.4096 -
  1.4097 -	Modes: GSM/WCDMA */
  1.4098 -		KCapsMTVoiceFax = 0x00000020
  1.4099 -		};
  1.4100 -
  1.4101 -	IMPORT_C TInt GetAlternatingCallCaps(TUint32& aCaps) const;
  1.4102 -	IMPORT_C void NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.4103 -
  1.4104 -/** Alternating Call Mode.
  1.4105 -
  1.4106 -Modes: Common */
  1.4107 -	enum TMobilePhoneAlternatingCallMode
  1.4108 -		{
  1.4109 -	/** The alternating call mode is unspecified
  1.4110 -	
  1.4111 -	Modes: Common */
  1.4112 -		EAlternatingModeUnspecified,
  1.4113 -	/** Next call will use a single bearer service - default setting
  1.4114 -	
  1.4115 -	Modes: Common */
  1.4116 -		EAlternatingModeSingle,
  1.4117 -	/** Next call will use voice/data alternating bearer service. 
  1.4118 -	
  1.4119 -	Modes: GSM */
  1.4120 -		EAlternatingModeVoiceData,
  1.4121 -	/** Next call will use voice then data alternating bearer service.
  1.4122 -	
  1.4123 -	Modes: GSM */
  1.4124 -		EAlternatingModeVoiceThenData,
  1.4125 -	/** Next call will use voice/fax alternating bearer service. 
  1.4126 -	
  1.4127 -	Modes: GSM/WCDMA */
  1.4128 -		EAlternatingModeVoiceFax
  1.4129 -		};
  1.4130 -
  1.4131 -	IMPORT_C TInt GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const;
  1.4132 -	IMPORT_C void SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const;
  1.4133 -	IMPORT_C void NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const;
  1.4134 -
  1.4135 -	/***********************************************************************************/
  1.4136 -	//
  1.4137 -	// Mobile Alternate Line Service Functional Unit
  1.4138 -	//
  1.4139 -	/***********************************************************************************/
  1.4140 -
  1.4141 -/** Alternate Line Primary settings.
  1.4142 -
  1.4143 -Modes: GSM */
  1.4144 -	enum TMobilePhoneALSLine
  1.4145 -		{
  1.4146 -	/** Current ALS line selection is the "Primary" voice line. */
  1.4147 -		EAlternateLinePrimary,
  1.4148 -	/** Current ALS line selection is the "Auxiliary" voice line. */
  1.4149 -		EAlternateLineAuxiliary,
  1.4150 -	/** ALS is supported by ME and SIM, but the TSY can not determine which line is 
  1.4151 -	currently selected. */
  1.4152 -		EAlternateLineUnknown,
  1.4153 -	/** The ME, SIM or serving network does not support ALS. */
  1.4154 -		EAlternateLineNotAvailable
  1.4155 -		};
  1.4156 -
  1.4157 -	IMPORT_C TInt GetALSLine(TMobilePhoneALSLine& aALSLine) const;
  1.4158 -	IMPORT_C void SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const;
  1.4159 -	IMPORT_C void NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const;
  1.4160 -
  1.4161 -	/***********************************************************************************/	
  1.4162 -	//
  1.4163 -	// Mobile Network Security Functional Unit
  1.4164 -	//
  1.4165 -	/***********************************************************************************/
  1.4166 -
  1.4167 -/** Enumerated network security types.
  1.4168 -
  1.4169 -Mode: Common */
  1.4170 -	enum TMobilePhoneNetworkSecurity
  1.4171 -		{
  1.4172 -	/** The encryption level is NONE.
  1.4173 -	
  1.4174 -	Mode: Common */
  1.4175 -		ECipheringOff,
  1.4176 -	/** The encryption level is GSM.(standard encryption algorithms for 2nd Generation 
  1.4177 -	Mobile networks).
  1.4178 -	
  1.4179 -	Mode: GSM */
  1.4180 -		ECipheringGSM,
  1.4181 -	/** The encryption level is WCDMA.(standard encryption algorithms for 3rd Generation 
  1.4182 -	Mobile networks).
  1.4183 -	
  1.4184 -	Mode: WCDMA */
  1.4185 -		ECipheringWCDMA,
  1.4186 -	/** The encryption level is CDMA.(standard encryption algorithms for 3rd Generation 
  1.4187 -	Mobile networks).
  1.4188 -	
  1.4189 -	Mode: CDMA */
  1.4190 -		ECipheringCDMA
  1.4191 -		};
  1.4192 -
  1.4193 -	IMPORT_C void GetNetworkSecurityLevel(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
  1.4194 -	IMPORT_C void NotifyNetworkSecurityLevelChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
  1.4195 -	
  1.4196 -	/**
  1.4197 -	Indicators for whether encryption status of the current call should be displayed.
  1.4198 -	*/
  1.4199 -	enum TMobileCallCipheringIndicator
  1.4200 -		{
  1.4201 -		/**
  1.4202 -		The ME indication displaying the encryption status of the current call should be off.
  1.4203 -		*/
  1.4204 -		ECipheringDisplayOff,
  1.4205 -		/**
  1.4206 -		The ME indication displaying the encryption status of the current call should be on.
  1.4207 -		*/
  1.4208 -		ECipheringDisplayOn 
  1.4209 -		};
  1.4210 -		
  1.4211 -    IMPORT_C void GetCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
  1.4212 -    IMPORT_C void NotifyCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
  1.4213 -
  1.4214 -	/***********************************************************************************/
  1.4215 -	//
  1.4216 -	// Mobile Cost Functional Unit
  1.4217 -	//
  1.4218 -	/***********************************************************************************/
  1.4219 -
  1.4220 -/** Call Cost Capabilities.
  1.4221 -
  1.4222 -Modes: GSM/WCDMA */
  1.4223 -	enum TMobilePhoneCostCaps
  1.4224 -		{
  1.4225 -	/** Indicates that the phone supports calculation and display of current and accumulated 
  1.4226 -	call cost on an information-only basis. (The AoCI service in GSM) 
  1.4227 -	
  1.4228 -	Modes: GSM/WCDMA */
  1.4229 -		KCapsCostInformation = 0x00000001,
  1.4230 -	/** Indicates that the phone supports calculation and display of current and accumulated 
  1.4231 -	call cost in order to support the charging service. (The AoCC service in GSM). 
  1.4232 -
  1.4233 -
  1.4234 -	Modes: Common */
  1.4235 -		KCapsCostCharging = 0x00000002,
  1.4236 -	/** Indicates that the phone supports clearing of cost meters (ACM or CCM) to zero.
  1.4237 -	
  1.4238 -	Modes: Common */
  1.4239 -		KCapsClearCost = 0x00000004,
  1.4240 -	/** Indicates that the phone supports setting the maximum allowed cost (ACMmax) 
  1.4241 -	to a non-zero value. 
  1.4242 -	
  1.4243 -	Modes: Common */
  1.4244 -		KCapsSetMaxCost = 0x00000008,
  1.4245 -	/** Indicates that the phone supports setting the currency and price per unit.
  1.4246 -	
  1.4247 -	Modes: GSM/WCDMA */
  1.4248 -		KCapsSetPuct = 0x00000010,
  1.4249 -	/** Indicates that the phone currently has call cost information available that 
  1.4250 -	the client can retrieve.
  1.4251 -	
  1.4252 -	Modes: Common */
  1.4253 -		KCapsGetCost = 0x00000020,
  1.4254 -	/** Indicates that the phone can notify the client when the call cost information 
  1.4255 -	changes. 
  1.4256 -	
  1.4257 -	Modes: Common */
  1.4258 -		KCapsNotifyCostChange = 0x00000040
  1.4259 -		};
  1.4260 -
  1.4261 -	IMPORT_C TInt GetCostCaps(TUint32& aCaps) const;
  1.4262 -	IMPORT_C void NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.4263 -
  1.4264 -/** Clear Cost Meter.
  1.4265 -
  1.4266 -Modes: Common */
  1.4267 -	enum TMobilePhoneCostMeters
  1.4268 -		{
  1.4269 -	/** Clear the Current Call Meter. */
  1.4270 -		EClearCCM,
  1.4271 -	/** Clear the Accumulated Charge Meter. */
  1.4272 -		EClearACM,
  1.4273 -	/** Clear all cost meters */
  1.4274 -		EClearAll
  1.4275 -		};
  1.4276 -
  1.4277 -	IMPORT_C void ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const;
  1.4278 -	IMPORT_C void SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const;
  1.4279 -
  1.4280 -	
  1.4281 -	
  1.4282 -	class  TMobilePhonePuctV1 : public TMultimodeType
  1.4283 -/** Defines the contents of the price/unit and currency table (PUCT) on the SIM.
  1.4284 -
  1.4285 -@see TMobilePhoneCostInfoV1
  1.4286 -@see SetPuct() 
  1.4287 -*/
  1.4288 -		{
  1.4289 -	public:
  1.4290 -		IMPORT_C TMobilePhonePuctV1();
  1.4291 -	public:
  1.4292 -	/** The Price per Unit. This floating point value is used to adjust the pricing 
  1.4293 -	units supplied by the network into real currency values. 
  1.4294 -	
  1.4295 -	Modes: GSM/WCDMA */
  1.4296 -		TReal   iPricePerUnit;
  1.4297 -	/** The three character currency indicator.
  1.4298 -	
  1.4299 -	Modes: GSM/WCDMA */
  1.4300 -		TBuf<4> iCurrencyName;
  1.4301 -		};
  1.4302 -
  1.4303 -/** A typedef'd packaged TMobilePhonePuctV1 for passing through a generic API function 
  1.4304 -member. */
  1.4305 -	typedef TPckg<TMobilePhonePuctV1> TMobilePhonePuctV1Pckg;
  1.4306 -	
  1.4307 -	IMPORT_C void SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const;
  1.4308 -	
  1.4309 -/** Cost Information
  1.4310 -
  1.4311 -Modes: GSM/WCDMA */
  1.4312 -	enum TMobilePhoneCostService
  1.4313 -		{
  1.4314 -	/** Phone supports call cost service but no calls are currently in progress so the 
  1.4315 -	network support and user subscription is unknown. */
  1.4316 -		ECostServiceUnknown,
  1.4317 -	/** The network or the phone does not support any of the call cost services. The 
  1.4318 -	call can be either in progress or not. If the user is subscribed to AoCI they 
  1.4319 -	will be able to continue to make calls but will not see any charging information. 
  1.4320 -	If the user is subscribed to AoCC then they will be prevented from making 
  1.4321 -	chargeable calls. */
  1.4322 -		ECostServiceNotAvailable,
  1.4323 -	/** Call is in progress and a call cost service is active but the phone is unable 
  1.4324 -	to determine whether it is an AoCI or AoCC service. */
  1.4325 -		ECostServiceAvailable,
  1.4326 -	/** Call is in progress and the call cost information (AoCI) service is currently 
  1.4327 -	operating.
  1.4328 -	
  1.4329 -	Modes: GSM/WCDMA */
  1.4330 -		ECostServiceInformation,
  1.4331 -	/** Call is in progress and the call cost charging (AoCC) service is currently operating.
  1.4332 -	
  1.4333 -	Modes: GSM/WCDMA */
  1.4334 -		ECostServiceCharging
  1.4335 -		};
  1.4336 -
  1.4337 -	
  1.4338 -
  1.4339 -	class TMobilePhoneCostInfoV1 : public TMultimodeType
  1.4340 -/** Defines the information related to current billing costs.
  1.4341 -
  1.4342 -@see GetCostInfo()
  1.4343 -@see NotifyCostInfoChange() 
  1.4344 -*/
  1.4345 -		{
  1.4346 -	public:
  1.4347 -		IMPORT_C TMobilePhoneCostInfoV1();
  1.4348 -	public:
  1.4349 -	/** The current status and type of call cost service.
  1.4350 -	
  1.4351 -	@see TMobilePhoneCostService */
  1.4352 -		TMobilePhoneCostService iService;
  1.4353 -	/** The current number of charging units in the Current Call Meter. This is set 
  1.4354 -	to zero if reset by the user or at the start of call set-up attempt. */
  1.4355 -		TUint iCCM;
  1.4356 -	/** The current number of charging units in the Accumulated Call Meter. This equals 
  1.4357 -	the accumulation of previous and current calls. */
  1.4358 -		TUint iACM;
  1.4359 -	/** The maximum number of charging units that the ACM can rise to before chargeable 
  1.4360 -	calls are stopped. Equals zero if Service != ECostServiceCharging. */
  1.4361 -		TUint iACMmax;
  1.4362 -	/** The Price per Unit and Currency Table.
  1.4363 -	
  1.4364 -	@see TMobilePhonePuctV1 */
  1.4365 -		TMobilePhonePuctV1 iPuct;
  1.4366 -		};
  1.4367 -
  1.4368 -/** A typedef'd packaged TMobilePhoneCostInfoV1 for passing through a generic API
  1.4369 -function member. */
  1.4370 -	typedef TPckg<TMobilePhoneCostInfoV1> TMobilePhoneCostInfoV1Pckg;
  1.4371 -
  1.4372 -	IMPORT_C void GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
  1.4373 -	IMPORT_C void NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
  1.4374 -
  1.4375 -	/***********************************************************************************/
  1.4376 -	//
  1.4377 -	// Mobile Security Functional Unit
  1.4378 -	//
  1.4379 -	/***********************************************************************************/
  1.4380 -
  1.4381 -/** Security Capabilities.
  1.4382 -
  1.4383 -Modes: Common */
  1.4384 -	enum TMobilePhoneSecurityCaps
  1.4385 -		{
  1.4386 -	/** The phone supports an overall "phone device lock" which can be enabled or disabled. 
  1.4387 -	If enabled, user must enter phone password before the phone can be used. When 
  1.4388 -	this capability is set the phone will support get lock info, notify lock info 
  1.4389 -	change and set lock setting for phone device lock.
  1.4390 -	
  1.4391 -	Modes: Common */
  1.4392 -		KCapsLockPhone = 0x0000001,
  1.4393 -	/** The phone supports locking the ICC (using the PIN1 security code), which can 
  1.4394 -	be enabled or disabled. If enabled, the user must enter PIN1 code before the 
  1.4395 -	ICC can be used. When this capability is set the phone will support get lock 
  1.4396 -	info, notify lock info change and set lock setting for ICC lock. 
  1.4397 -	
  1.4398 -	Modes: Common */
  1.4399 -		KCapsLockICC = 0x00000002,
  1.4400 -	/** The phone supports the "phone to ICC lock" which can be enabled or disabled. 
  1.4401 -	If enabled, at power-up the phone will check whether current ICC is the one 
  1.4402 -	the phone is locked to or not. If not, then the user must enter the phone
  1.4403 -	password before phone can be used with this ICC. When this capability is set 
  1.4404 -	the phone will support get lock info, notify lock info change and set lock 
  1.4405 -	setting for Phone-ICC lock. 
  1.4406 -	
  1.4407 -	Modes: Common */
  1.4408 -		KCapsLockPhoneToICC = 0x00000004,
  1.4409 -	/** The phone supports the "phone to first ICC lock" which can be enabled or disabled. 
  1.4410 -	If enabled, at power-up the phone will check whether current ICC is the one 
  1.4411 -	the phone is first locked to or not. If not, then user must enter the phone 
  1.4412 -	password before the phone can be used with this ICC. When this capability 
  1.4413 -	is set the phone will support get lock info, notify lock info change and set 
  1.4414 -	lock setting for Phone-First ICC lock.
  1.4415 -
  1.4416 -	Modes: Common */
  1.4417 -		KCapsLockPhoneToFirstICC = 0x00000008,
  1.4418 -	/** The phone supports the "Over The Air" programming lock which can be enabled 
  1.4419 -	or disabled. If enabled, the phone will prevent OTA programming by the network. 
  1.4420 -	If disabled, the phone will allow OTA programming by the network. When this 
  1.4421 -	capability is set the phone will support get lock info, notify lock info change 
  1.4422 -	and set lock setting for OTA lock. 
  1.4423 -	
  1.4424 -	Modes: CDMA */
  1.4425 -		KCapsLockOTA = 0x00000010,
  1.4426 -	/** The phone supports access to the PIN 1 security code. When this capability is 
  1.4427 -	set the phone will support verification of PIN1, unblocking PIN1, changing 
  1.4428 -	PIN1 and notification of PIN1 required. 
  1.4429 -	
  1.4430 -	Modes: Common */
  1.4431 -		KCapsAccessPin1 = 0x00000020,
  1.4432 -	/** The phone supports access to the PIN 2 security code. When this capability is 
  1.4433 -	set the phone will support verification of PIN2, unblocking PIN2, changing 
  1.4434 -	PIN2 and notification of PIN2 required.
  1.4435 -	
  1.4436 -	Modes: GSM/WCDMA */
  1.4437 -		KCapsAccessPin2 = 0x00000040,
  1.4438 -	/** The phone supports access to the phone password security code. When this capability 
  1.4439 -	is set the phone will support verification of the phone password, changing 
  1.4440 -	the phone password and notification if the phone password is required. 
  1.4441 -	
  1.4442 -	Modes: Common */
  1.4443 -		KCapsAccessPhonePassword = 0x00000080,
  1.4444 -	/** The phone supports access to the SPC (Service Programming Code) security code. 
  1.4445 -	This code may need to be verified before OTA can commence.
  1.4446 -	
  1.4447 -	Modes: CDMA */
  1.4448 -		KCapsAccessSPC = 0x00000100,
  1.4449 -	/** The phone supports access to the hidden key. When this capability is set the
  1.4450 -	phone will support verification of HiddenKey. 
  1.4451 -	
  1.4452 -	Modes: WCDMA */
  1.4453 -		KCapsAccessHiddenKey=0x00000200,
  1.4454 -	/** The phone supports access to the USIM Application PIN. An Application PIN allows 
  1.4455 -	access to any file on the UICC where it is referenced in the access rules.
  1.4456 -	
  1.4457 -	Modes: WCDMA */
  1.4458 -		KCapsAccessUSIMAppPin=0x00000400,
  1.4459 -	/** The phone supports access to the second USIM Application PIN. The second Application 
  1.4460 -	PIN allows access to files (where it is referenced in the access rules) within 
  1.4461 -	one USIM Application on the UICC. This is a local PIN.
  1.4462 -	
  1.4463 -	Modes: WCDMA */
  1.4464 -		KCapsAccessUSIMAppSecondPin =0x00000800,
  1.4465 -	/** The phone supports access to the Universal PIN. A Universal PIN is a PIN that 
  1.4466 -	is used in a multi-application UICC environment to allow several USIM applications 
  1.4467 -	to share one common PIN.
  1.4468 -	
  1.4469 -	Modes: WCDMA */
  1.4470 -		KCapsAccessUniversalPin =0x00001000
  1.4471 -		};
  1.4472 -
  1.4473 -	IMPORT_C TInt GetSecurityCaps(TUint32& aCaps) const;
  1.4474 -	IMPORT_C void NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.4475 -
  1.4476 -/** Lock Information.
  1.4477 -
  1.4478 -Modes: Common */
  1.4479 -	enum TMobilePhoneLock
  1.4480 -		{
  1.4481 -	/** Lock the whole device. Phone lock password is required to unlock when this lock 
  1.4482 -	is enabled. 
  1.4483 -
  1.4484 -	Modes: Common */
  1.4485 -		ELockPhoneDevice,
  1.4486 -	/** Lock PIN1 on the ICC. PIN1 security code is required to unlock when this lock 
  1.4487 -	is enabled. 
  1.4488 -	
  1.4489 -	Modes: Common */
  1.4490 -		ELockICC,
  1.4491 -	/** Lock the phone to the current ICC inserted in the phone Phone lock password 
  1.4492 -	is required to unlock when this lock is enabled.
  1.4493 -	
  1.4494 -	Modes: Common */
  1.4495 -		ELockPhoneToICC,
  1.4496 -	/** Lock the phone to the first ICC inserted in the phone. Phone lock password is 
  1.4497 -	required to unlock when this lock is enabled.
  1.4498 -	
  1.4499 -	Modes: Common */
  1.4500 -		ELockPhoneToFirstICC,
  1.4501 -	/** Lock the OTA facility on the phone. SPC security code may be required to unlock 
  1.4502 -	when this lock is enabled.
  1.4503 -	
  1.4504 -	Modes: CDMA */
  1.4505 -		ELockOTA,
  1.4506 -	/** Lock PIN2 on the ICC. PIN2 security code is required to unlock when this lock 
  1.4507 -	is enabled.
  1.4508 -	
  1.4509 -	Modes: Common */
  1.4510 -		ELockPin2,
  1.4511 -	/** Lock the phonebook hidden entries on the phone. Hidden key security code may 
  1.4512 -	be required to unlock when this lock is enabled.
  1.4513 -	
  1.4514 -	Modes: WCDMA */
  1.4515 -		ELockHiddenKey,
  1.4516 -	/** Lock the associated USIM Application. USIM Application PIN is required to unlock 
  1.4517 -	when this lock is enabled.
  1.4518 -	
  1.4519 -	Modes: WCDMA */
  1.4520 -		ELockUSimApp,
  1.4521 -	/** Lock the associated USIM Application. The second USIM Application PIN is required 
  1.4522 -	to unlock when this lock is enabled.
  1.4523 -	
  1.4524 -	Modes: WCDMA */
  1.4525 -		ELockSecondUSimApp,
  1.4526 -	/** Lock the associated USIM Application(s) that share this common lock. Universal 
  1.4527 -	Pin is required to unlock when this lock is enabled.
  1.4528 -	
  1.4529 -	Modes: WCDMA */
  1.4530 -		ELockUniversalPin,
  1.4531 -	/** Lock for the NAM.  The SPC is required to unlock.
  1.4532 -	
  1.4533 -	Modes: CDMA */
  1.4534 -		ELockNam
  1.4535 -		};
  1.4536 -
  1.4537 -/** Phone lock status.
  1.4538 -
  1.4539 -Modes: Common */
  1.4540 -	enum TMobilePhoneLockStatus
  1.4541 -		{
  1.4542 -	/** The status of the lock is unknown. */
  1.4543 -		EStatusLockUnknown,
  1.4544 -	/** Lock is closed - user can not access functionality governed by this lock until 
  1.4545 -	user correctly enters associated security code. */
  1.4546 -		EStatusLocked,
  1.4547 -	/** Lock is open - user can access functionality governed by this lock */
  1.4548 -		EStatusUnlocked,
  1.4549 -		EStatusBlocked
  1.4550 -		};
  1.4551 -
  1.4552 -/** The phone lock setting.
  1.4553 -
  1.4554 -Modes: Common */
  1.4555 -	enum TMobilePhoneLockSetting
  1.4556 -		{
  1.4557 -	/** The setting of the lock is unknown
  1.4558 -	
  1.4559 -	Modes: Common */
  1.4560 -		ELockSetUnknown,
  1.4561 -	/** Lock is enabled - associated security code will be required to unlock the 
  1.4562 -	lock, the next time the lock's status is EStatusLocked. 
  1.4563 -	
  1.4564 -	Modes: Common */
  1.4565 -		ELockSetEnabled,
  1.4566 -	/** Lock is disabled - so its status is always EStatusUnlocked.
  1.4567 -	
  1.4568 -	Modes: Common */
  1.4569 -		ELockSetDisabled,
  1.4570 -	/** Lock of the current Application is replaced by the Universal PIN. Only the 
  1.4571 -	Universal PIN is allowed as a replacement.
  1.4572 -
  1.4573 -	Modes: WCDMA */
  1.4574 -		ELockReplaced
  1.4575 -		};
  1.4576 -
  1.4577 -	
  1.4578 -
  1.4579 -	class TMobilePhoneLockInfoV1 : public TMultimodeType
  1.4580 -/** Defines the status of a phone lock.
  1.4581 -
  1.4582 -@see GetLockInfo()
  1.4583 -@see NotifyLockInfoChange()
  1.4584 -@publishedPartner
  1.4585 -@released
  1.4586 -*/
  1.4587 -		{
  1.4588 -	public:
  1.4589 -		IMPORT_C TMobilePhoneLockInfoV1();
  1.4590 -	public:
  1.4591 -	/** The current status of the lock.
  1.4592 -	
  1.4593 -	Modes: Common
  1.4594 -	
  1.4595 -	@see TMobilePhoneLockStatus */
  1.4596 -		TMobilePhoneLockStatus iStatus;
  1.4597 -	/** The current setting of the lock.
  1.4598 -	
  1.4599 -	Modes: Common
  1.4600 -	
  1.4601 -	@see TMobilePhoneLockSetting */
  1.4602 -		TMobilePhoneLockSetting iSetting;
  1.4603 -		};
  1.4604 -
  1.4605 -/** A typedef'd packaged TMobilePhoneLockInfoV1 for passing through a generic API 
  1.4606 -function member. */
  1.4607 -	typedef TPckg<TMobilePhoneLockInfoV1> TMobilePhoneLockInfoV1Pckg;
  1.4608 -
  1.4609 -	IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const;
  1.4610 -	IMPORT_C void NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const;
  1.4611 -	IMPORT_C void SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const;
  1.4612 -
  1.4613 -/** Change Security Code.
  1.4614 -
  1.4615 -Modes: Common */
  1.4616 -	enum TMobilePhoneSecurityCode
  1.4617 -		{
  1.4618 -	/** PIN 1 code (between 4-8 digits).
  1.4619 -
  1.4620 -	Modes: Common */
  1.4621 -		ESecurityCodePin1,
  1.4622 -	/** PIN 2 code (between 4-8 digits)
  1.4623 -	
  1.4624 -	Modes: GSM/WCDMA */
  1.4625 -		ESecurityCodePin2,
  1.4626 -	/** PIN 1 unblocking code (always 8 digits).
  1.4627 -	
  1.4628 -	Modes: Common */
  1.4629 -		ESecurityCodePuk1,
  1.4630 -	/** PIN 2 unblocking code (always 8 digits)
  1.4631 -	
  1.4632 -	Modes: GSM/WCDMA */
  1.4633 -		ESecurityCodePuk2,
  1.4634 -	/** Password used for Phone-SIM Lock and Phone Device Lock (up to 8 digits) 
  1.4635 -	
  1.4636 -	Modes: Common */
  1.4637 -		ESecurityCodePhonePassword,
  1.4638 -	/** Service Programming Code (SPC)
  1.4639 -	
  1.4640 -	Modes: CDMA */
  1.4641 -		ESecurityCodeSPC,
  1.4642 -	/** Phonebook key to display the hidden entries.
  1.4643 -	
  1.4644 -	Modes: WCDMA */
  1.4645 -		ESecurityHiddenKey,
  1.4646 -	/** USIM Application PIN.
  1.4647 -	
  1.4648 -	Modes: WCDMA */
  1.4649 -		ESecurityUSIMAppPin,
  1.4650 -	/** Second USIM Application PIN.
  1.4651 -	
  1.4652 -	Modes: WCDMA */
  1.4653 -		ESecuritySecondUSIMAppPin,
  1.4654 -	/** Universal PIN.
  1.4655 -	
  1.4656 -	Modes: WCDMA */
  1.4657 -		ESecurityUniversalPin,
  1.4658 -	/** Universal PIN unblocking code (always 8 digits).
  1.4659 -	
  1.4660 -	Modes: Common */
  1.4661 -		ESecurityUniversalPuk
  1.4662 -		};
  1.4663 -
  1.4664 -	IMPORT_C void ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const;
  1.4665 -
  1.4666 -	/** Defines the status of a security code.
  1.4667 -
  1.4668 -	@see GetSecurityCodeInfo()
  1.4669 -	@see NotifySecurityCodeInfoChange()
  1.4670 -	@publishedPartner
  1.4671 -	@released
  1.4672 -	*/
  1.4673 -	class TMobilePhoneSecurityCodeInfoV5 : public TMultimodeType
  1.4674 -		{
  1.4675 -	public:
  1.4676 -		IMPORT_C TMobilePhoneSecurityCodeInfoV5();
  1.4677 -	public:
  1.4678 -	/** Number of remaining security code entry attempts before the corresponding lock gets blocked
  1.4679 -	
  1.4680 -	Modes: Common
  1.4681 -	*/
  1.4682 -		TInt iRemainingEntryAttempts;
  1.4683 -		};
  1.4684 -	
  1.4685 -	/** A typedef'd packaged TMobilePhoneSecurityCodeInfoV5 for passing through a generic API
  1.4686 -	function member. */
  1.4687 -	typedef TPckg<TMobilePhoneSecurityCodeInfoV5> TMobilePhoneSecurityCodeInfoV5Pckg;
  1.4688 -	
  1.4689 -	IMPORT_C void GetSecurityCodeInfo(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aSecurityCode, TDes8& aSecurityCodeInfo) const;
  1.4690 -	IMPORT_C void NotifySecurityCodeInfoChange(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode& aSecurityCode, TDes8& aSecurityCodeInfo) const;
  1.4691 -
  1.4692 -/** Notify Security Events.
  1.4693 -
  1.4694 -Modes: Common */
  1.4695 -	enum TMobilePhoneSecurityEvent
  1.4696 -		{
  1.4697 -	/** The phone has detected that there is no ICC present. 
  1.4698 -	
  1.4699 -	Modes: Common */
  1.4700 -		ENoICCFound,
  1.4701 -	/** The phone has detected that the ICC is unusable. 
  1.4702 -	
  1.4703 -	Modes: Common */
  1.4704 -		EICCTerminated,
  1.4705 -	/** The phone requires PIN1 to be entered. 
  1.4706 -	
  1.4707 -	Modes: Common */
  1.4708 -		EPin1Required,
  1.4709 -	/** The phone requires PUK1 to be entered.
  1.4710 -	
  1.4711 -	Modes: Common */
  1.4712 -		EPuk1Required,
  1.4713 -	/** The phone requires PIN2 to be entered.
  1.4714 -	
  1.4715 -	Modes: GSM/WCDMA */
  1.4716 -		EPin2Required,
  1.4717 -	/** The phone requires PUK2 to be entered.
  1.4718 -	
  1.4719 -	Modes: GSM/WCDMA */
  1.4720 -		EPuk2Required,
  1.4721 -	/** The phone requires the Phone Password to be entered. 
  1.4722 -	
  1.4723 -	Modes: Common */
  1.4724 -		EPhonePasswordRequired,
  1.4725 -	/** The phone requires the SPC to be entered. 
  1.4726 -	
  1.4727 -	Modes: CDMA */
  1.4728 -		ESPCRequired,
  1.4729 -	/** The PIN1 verification procedure has passed. 
  1.4730 -	
  1.4731 -	Modes: Common */
  1.4732 -		EPin1Verified,
  1.4733 -	/** The PIN2 verification procedure has passed.
  1.4734 -
  1.4735 -	Modes: GSM/WCDMA */
  1.4736 -		EPin2Verified,
  1.4737 -	/** The PUK1 unblocking procedure has passed.
  1.4738 -	
  1.4739 -	Modes: Common */
  1.4740 -		EPuk1Verified,
  1.4741 -	/** The PUK2 unblocking procedure has passed. 
  1.4742 -	
  1.4743 -	Modes: GSM/WCDMA */
  1.4744 -		EPuk2Verified,
  1.4745 -	/** The Phone Password has been verified. 
  1.4746 -	
  1.4747 -	Modes: Common */
  1.4748 -		EPhonePasswordVerified,
  1.4749 -	/** The SPC verification procedure has passed.
  1.4750 -	
  1.4751 -	Modes: CDMA */
  1.4752 -		ESPCVerified,
  1.4753 -	/** The phone requires the phonebook hidden key to be entered.
  1.4754 -	
  1.4755 -	Modes: WCDMA */
  1.4756 -		EHiddenKeyRequired,
  1.4757 -	/** The phonebook hidden key procedure has passed.
  1.4758 -	
  1.4759 -	Modes: WCDMA */
  1.4760 -		EHiddenKeyVerified,
  1.4761 -	/** The phone requires the currently active USIM Application PIN to be entered.
  1.4762 -	
  1.4763 -	Modes: WCDMA */
  1.4764 -		EUSIMAppPinRequired,
  1.4765 -	/** The currently active USIM Application PIN procedure has passed.
  1.4766 -	
  1.4767 -	Modes: WCDMA */
  1.4768 -		EUSIMAppPinVerified,
  1.4769 -	/** The phone requires the currently active USIM Application second PIN to be entered.
  1.4770 -	
  1.4771 -	Modes: WCDMA */
  1.4772 -		ESecondUSIMAppPinRequired,
  1.4773 -	/** The currently active USIM Application second PIN procedure has passed.
  1.4774 -	
  1.4775 -	Modes: WCDMA */
  1.4776 -		ESecondUSIMAppPinVerified,
  1.4777 -	/** The phone requires the Universal PIN to be entered.
  1.4778 -	
  1.4779 -	Modes: WCDMA */
  1.4780 -		EUniversalPinRequired,
  1.4781 -	/** The currently active Universal PIN procedure has passed.
  1.4782 -	
  1.4783 -	Modes: WCDMA */
  1.4784 -		EUniversalPinVerified,
  1.4785 -	/** The Service Programming Code has been changed.
  1.4786 -	
  1.4787 -	Modes: CDMA */
  1.4788 -		ESPCChanged,
  1.4789 -	/** The phone requires Universal PUK to be entered.
  1.4790 -	
  1.4791 -	Modes: WCDMA */
  1.4792 -		EUniversalPukRequired,
  1.4793 -	/** The Universal PUK unblocking procedure has passed.
  1.4794 -	
  1.4795 -	Modes: WCDMA */
  1.4796 -		EUniversalPukVerified
  1.4797 -		};
  1.4798 -
  1.4799 -	IMPORT_C void NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const;
  1.4800 -
  1.4801 -	// for use by client-side API code and TSY only
  1.4802 -
  1.4803 -	struct TCodeAndUnblockCode
  1.4804 -		{
  1.4805 -		TMobilePassword iCode;
  1.4806 -		TMobilePassword iUnblockCode;
  1.4807 -		};	
  1.4808 -
  1.4809 -	IMPORT_C void VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType,
  1.4810 -		const TMobilePassword& aCode, const TMobilePassword& aUnblockCode) const;
  1.4811 -	IMPORT_C TInt AbortSecurityCode(TMobilePhoneSecurityCode aType) const;
  1.4812 -
  1.4813 -	/***********************************************************************************/	
  1.4814 -	// 
  1.4815 -	// MobileMessageWaiting
  1.4816 -	//
  1.4817 -	/***********************************************************************************/
  1.4818 -
  1.4819 -/** Display indicators. */
  1.4820 -	enum TMobilePhoneIndicatorDisplay
  1.4821 -		{
  1.4822 -	/** Display voicemail active. */
  1.4823 -		KDisplayVoicemailActive = 0x01,
  1.4824 -	/** Display fax active. */
  1.4825 -		KDisplayFaxActive = 0x02,
  1.4826 -	/** Display E-mail active. */
  1.4827 -		KDisplayEmailActive = 0x04,
  1.4828 -	/** Display other active. */
  1.4829 -		KDisplayOtherActive = 0x08,
  1.4830 -	/** Display Aux voicemail active. */
  1.4831 -		KDisplayAuxVoicemailActive = 0x10,
  1.4832 -	/** Display data active. */
  1.4833 -		KDisplayDataActive = 0x20,
  1.4834 -	/** Display Videomail active. */
  1.4835 -		KDisplayVideomailActive = 0x40
  1.4836 -		};
  1.4837 -
  1.4838 -	class TMobilePhoneMessageWaitingV1 : public TMultimodeType
  1.4839 -/** Message Waiting Indicators. See 3GPP TS 31 102.
  1.4840 -
  1.4841 -@see GetIccMessageWaitingIndicators()
  1.4842 -@see SetIccMessageWaitingIndicators()
  1.4843 -@see NotifyIccMessageWaitingIndicatorsChange() 
  1.4844 -*/
  1.4845 -		{
  1.4846 -	public:
  1.4847 -		IMPORT_C TMobilePhoneMessageWaitingV1();
  1.4848 -	public:
  1.4849 -	/** The flags for each indicator from TMobilePhoneIndicatorDisplay to specify whether 
  1.4850 -	the indicator should be displayed or not. E.g. Messages of the specified type are waiting.
  1.4851 -
  1.4852 -	Modes: Common */
  1.4853 -		TUint8	iDisplayStatus;
  1.4854 -	/** The number of voicemail messages waiting for the "main" voice line.
  1.4855 -	
  1.4856 -	Modes: Common */
  1.4857 -		TUint8	iVoiceMsgs;
  1.4858 -	/** The number of voicemail messages waiting for the "auxiliary" voice line.
  1.4859 -	
  1.4860 -	Modes: GSM */
  1.4861 -		TUint8	iAuxVoiceMsgs;
  1.4862 -	/** The number of messages waiting for the data line.
  1.4863 -	
  1.4864 -	Modes: Common */
  1.4865 -		TUint8	iDataMsgs;
  1.4866 -	/** The number of messages waiting for the fax line.
  1.4867 -	
  1.4868 -	Modes: Common */
  1.4869 -		TUint8	iFaxMsgs;
  1.4870 -	/** The number of email messages waiting.
  1.4871 -	
  1.4872 -	Modes: WCDMA */
  1.4873 -		TUint8	iEmailMsgs;
  1.4874 -	/** Contains the number of "unspecified" messages waiting.
  1.4875 -	
  1.4876 -	Modes: WCDMA */
  1.4877 -		TUint8	iOtherMsgs;
  1.4878 -		};
  1.4879 -
  1.4880 -/** A typedef'd packaged TMobilePhoneMessageWaitingV1 for passing through a generic 
  1.4881 -API function member. */
  1.4882 -	typedef TPckg<TMobilePhoneMessageWaitingV1> TMobilePhoneMessageWaitingV1Pckg;
  1.4883 -	
  1.4884 -	class TMobilePhoneMessageWaitingV8 : public TMobilePhoneMessageWaitingV1
  1.4885 -/** Message Waiting Indicators. See Section 4.2.63 of 3GPP TS 31 102 V6.18.0 .
  1.4886 -@see GetIccMessageWaitingIndicators()
  1.4887 -@see SetIccMessageWaitingIndicators()
  1.4888 -@see NotifyIccMessageWaitingIndicatorsChange() 
  1.4889 -*/
  1.4890 -		{
  1.4891 -	public:
  1.4892 -		IMPORT_C TMobilePhoneMessageWaitingV8();
  1.4893 -	public:
  1.4894 -	/** 
  1.4895 -	Contains the number of video messages waiting.
  1.4896 -	
  1.4897 -	Modes: Common */
  1.4898 -		TUint8	iVideoMsgs;
  1.4899 -		};
  1.4900 -
  1.4901 -/** A typedef'd packaged TMobilePhoneMessageWaitingV8 for passing through a generic 
  1.4902 -API function member. */
  1.4903 -	typedef TPckg<TMobilePhoneMessageWaitingV8> TMobilePhoneMessageWaitingV8Pckg;
  1.4904 -
  1.4905 -	IMPORT_C void GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
  1.4906 -	IMPORT_C void SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const;
  1.4907 -	IMPORT_C void NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
  1.4908 -
  1.4909 -	IMPORT_C void NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const;
  1.4910 -
  1.4911 -	/***********************************************************************************/
  1.4912 -	//
  1.4913 -	// Mobile Fixed Dialling Numbers Functional Unit
  1.4914 -	//
  1.4915 -	/***********************************************************************************/
  1.4916 -
  1.4917 -/** Fixed Dialling Numbers Status.
  1.4918 -
  1.4919 -Modes: Common */
  1.4920 -	enum TMobilePhoneFdnStatus
  1.4921 -		{
  1.4922 -	/** Fixed Dialling Number mode is supported but is not currently active. */
  1.4923 -		EFdnNotActive,
  1.4924 -	/** Fixed Dialling Number mode is supported and is currently active. Deactivating 
  1.4925 -	FDN mode is supported. */
  1.4926 -		EFdnActive,
  1.4927 -	/** Fixed Dialling Number mode is supported and is permanently active. Deactivating 
  1.4928 -	FDN mode is NOT supported with this SIM. */
  1.4929 -		EFdnPermanentlyActive,
  1.4930 -	/** Fixed Dialling Number mode is not supported by ME and/or SIM. */
  1.4931 -		EFdnNotSupported,
  1.4932 -	/** ME is currently unable to determine the status of FDN mode. */
  1.4933 -		EFdnUnknown
  1.4934 -		};
  1.4935 -
  1.4936 -	IMPORT_C TInt GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const;
  1.4937 -	IMPORT_C void GetFdnStatus(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
  1.4938 -
  1.4939 -/** Fixed Dialling Numbers Setting
  1.4940 -
  1.4941 -Modes: Common */
  1.4942 -	enum TMobilePhoneFdnSetting
  1.4943 -		{
  1.4944 -	/** Activate the FDN service. */
  1.4945 -		EFdnSetOn,
  1.4946 -	/** Deactivate the FDN service. */
  1.4947 -		EFdnSetOff
  1.4948 -		};
  1.4949 -
  1.4950 -	IMPORT_C void SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const;
  1.4951 -	IMPORT_C void NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
  1.4952 -
  1.4953 -	/***********************************************************************************/
  1.4954 -	//
  1.4955 -	// Multicall bearer settings
  1.4956 -	//
  1.4957 -	/***********************************************************************************/
  1.4958 -
  1.4959 -	class TMobilePhoneMulticallSettingsV1 : public TMultimodeType
  1.4960 -/** Multi call settings for version v1.0.
  1.4961 -
  1.4962 -@see GetMulticallParams()
  1.4963 -@see NotifyMulticallParamsChange() 
  1.4964 -@publishedPartner
  1.4965 -@released*/
  1.4966 -		{
  1.4967 -	public:
  1.4968 -		IMPORT_C TMobilePhoneMulticallSettingsV1();
  1.4969 -	public:
  1.4970 -	/** Maximum number of simultaneous CS bearers allowed - defined by the user. 
  1.4971 -	
  1.4972 -	Modes: WCDMA */
  1.4973 -		TInt iUserMaxBearers;
  1.4974 -	/** Maximum number of simultaneous bearers allowed - defined by the service provider.
  1.4975 -	
  1.4976 -	Modes: WCDMA */
  1.4977 -		TInt iServiceProviderMaxBearers;
  1.4978 -	/** Maximum number of simultaneous CS bearers supported by the network.
  1.4979 -	
  1.4980 -	Modes: WCDMA */
  1.4981 -		TInt iNetworkSupportedMaxBearers;
  1.4982 -	/** Maximum number of simultaneous CS bearers supported by the UE.
  1.4983 -	
  1.4984 -	Modes: WCDMA */
  1.4985 -		TInt iUESupportedMaxBearers;
  1.4986 -		};
  1.4987 -
  1.4988 -/** A typedef'd packaged TMobilePhoneMulticallSettingsV1 for passing through a generic 
  1.4989 -API function member. */
  1.4990 -	typedef TPckg<TMobilePhoneMulticallSettingsV1> TMobilePhoneMulticallSettingsV1Pckg;
  1.4991 -
  1.4992 -	IMPORT_C void GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
  1.4993 -	IMPORT_C void SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const;
  1.4994 -	IMPORT_C void NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
  1.4995 -	
  1.4996 -	enum TMobilePhoneMulticallIndicator
  1.4997 -	/**
  1.4998 -	Indicators for exceeding allowed multiple active bearers.
  1.4999 -	*/
  1.5000 -		{
  1.5001 -		/** The maximum number of multiple active bearers allowed by the service provider has been exceeded. */
  1.5002 -		EBearerNetworProviderExceeded,
  1.5003 -		/** The maximum number of multiple active bearers allowed by the mobile user  has been exceeded. */
  1.5004 -		EBearerUserExceeded
  1.5005 -		};
  1.5006 -		
  1.5007 -	IMPORT_C void NotifyMulticallIndicatorChange(TRequestStatus& aReqStatus, TMobilePhoneMulticallIndicator& aMulticallIndicator) const;
  1.5008 -
  1.5009 -	/***********************************************************************************/
  1.5010 -	//
  1.5011 -	// MobileNextIncomingCall Functional Unit
  1.5012 -	//
  1.5013 -	/***********************************************************************************/
  1.5014 -
  1.5015 -/** Incoming Call Types.
  1.5016 -
  1.5017 -Modes: Common */
  1.5018 -	enum TMobilePhoneIncomingCallType
  1.5019 -		{
  1.5020 -	/** MS will receive any type of incoming call.
  1.5021 -	
  1.5022 -	Modes: Common */
  1.5023 -		EIncomingTypeNotSpecified,
  1.5024 -	/** MS will request voice bearer for incoming calls.
  1.5025 -	
  1.5026 -	Modes: Common */
  1.5027 -		EIncomingVoice,
  1.5028 -	/** MS will request fax bearer for incoming calls 
  1.5029 -	
  1.5030 -	Modes: Common */
  1.5031 -		EIncomingFax,
  1.5032 -	/** MS will request data bearer for incoming calls
  1.5033 -	
  1.5034 -	Modes: Common */
  1.5035 -		EIncomingData,
  1.5036 -	/** MS will request a data bearer for use by a Multimedia CS call (voice fall back 
  1.5037 -	is acceptable) for incoming calls.
  1.5038 -	
  1.5039 -	Modes: GSM/WCDMA */
  1.5040 -		EIncomingMultimediaVoiceFallback,
  1.5041 -	/** MS will request a data bearer for use by a Multimedia CS call (voice fall back 
  1.5042 -	NOT acceptable) for incoming calls 
  1.5043 -	
  1.5044 -	Modes: GSM/WCDMA */
  1.5045 -		EIncomingMultimediaNoFallback,
  1.5046 -	/** The single numbering scheme call mode is alternating voice to fax.
  1.5047 -	
  1.5048 -	Modes: GSM/WCDMA */
  1.5049 -		EIncomingAlternatingVoiceFax,
  1.5050 -	/** The single numbering scheme call mode is alternating voice to data.
  1.5051 -	
  1.5052 -	Modes: GSM */
  1.5053 -		EIncomingAlternatingVoiceData,
  1.5054 -	/** The single numbering scheme call mode is alternating fax to voice.
  1.5055 -	
  1.5056 -	Modes: GSM */
  1.5057 -		EIncomingAlternatingFaxVoice,
  1.5058 -	/** The single numbering scheme call mode is alternating data to voice.
  1.5059 -	
  1.5060 -	Modes: GSM */
  1.5061 -		EIncomingAlternatingDataVoice,
  1.5062 -	/** The single numbering scheme call mode is alternating voice then data.
  1.5063 -	
  1.5064 -	Modes: GSM */
  1.5065 -		EIncomingAlternatingVoiceThenData
  1.5066 -		};
  1.5067 -
  1.5068 -	IMPORT_C void GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
  1.5069 -	IMPORT_C void SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const;
  1.5070 -	IMPORT_C void NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
  1.5071 -
  1.5072 -	/***********************************************************************************/
  1.5073 -	//
  1.5074 -	// User-To-User Signalling Functional Unit
  1.5075 -	//
  1.5076 -	/***********************************************************************************/
  1.5077 -
  1.5078 -/** UUS Settings Requests.
  1.5079 -
  1.5080 -Modes: GSM/WCDMA */
  1.5081 -	enum TMobilePhoneUUSSetting         // UUS settings of the phone
  1.5082 -		{
  1.5083 -	/** UUS is not specified. */
  1.5084 -		EIncomingUUSNotSpecified,
  1.5085 -	/** MS will accept incoming UUS activation request. */
  1.5086 -		EIncomingUUSAccepted,
  1.5087 -	/** MS will reject incoming UUS activation request. */
  1.5088 -		EIncomingUUSRejected
  1.5089 -		};
  1.5090 -
  1.5091 -	IMPORT_C void GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
  1.5092 -	IMPORT_C void SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const;
  1.5093 -	IMPORT_C void NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
  1.5094 -	
  1.5095 -	/***********************************************************************************/
  1.5096 -	//
  1.5097 -	// Mobile Smart Card Applications Functional Unit
  1.5098 -	//
  1.5099 -	/***********************************************************************************/
  1.5100 -	
  1.5101 -	
  1.5102 -	enum { KSmartCardApplicationLabelMaxSize=32 };
  1.5103 -	
  1.5104 -	/** Smart card application info version v5.0. 
  1.5105 -	Modes: Common
  1.5106 -
  1.5107 -	@see GetSmartCardApplicationInfo()
  1.5108 -	@publishedPartner
  1.5109 -	@released
  1.5110 -	*/
  1.5111 -	class TSmartCardApplicationInfoV5 : public TMultimodeType
  1.5112 -		{
  1.5113 -	public:
  1.5114 -		IMPORT_C TSmartCardApplicationInfoV5();
  1.5115 -	public:
  1.5116 -		/** 
  1.5117 -		Smart card application identifier.
  1.5118 -		*/
  1.5119 -		TAID iAID;
  1.5120 -		/** 
  1.5121 -		Smart card application label. 16 bit USC2 characters string provided by the application 
  1.5122 -		provider to be shown to the user for information, e.g. operator name. It is 
  1.5123 -		recommended by ETSI/3GPP spec that the application label does not exceed 32 
  1.5124 -		bytes.
  1.5125 -		
  1.5126 -		The application label is optional. If no label is provided, the buffer should 
  1.5127 -		be NULL.
  1.5128 -		 */
  1.5129 -		TBuf8<KSmartCardApplicationLabelMaxSize> iLabel;
  1.5130 -		};
  1.5131 -
  1.5132 -	/**
  1.5133 -	A typedef'd packaged TSmartCardApplicationInfoV5 for passing through a generic API 
  1.5134 -	function member. 
  1.5135 -	*/	
  1.5136 -	typedef TPckg<TSmartCardApplicationInfoV5> TSmartCardApplicationInfoV5Pckg;
  1.5137 -
  1.5138 -	/**
  1.5139 -	Specifies the max length of the buffer used to retrieve the smart
  1.5140 -	card application's supported EAP method list.  Value 255 since EAP
  1.5141 -	type list length fits into one byte (see table 5.1 of ETSI TS
  1.5142 -	102.310 v6.2.0).
  1.5143 -
  1.5144 -	@see RMobilePhone::GetSmartCardApplicationInfo()
  1.5145 -	@see RMobilePhone::TUiccApplicationEapInfoV6::iEapTypeList
  1.5146 -	*/
  1.5147 -	enum { KEapSupportedTypeListSize = 255 };
  1.5148 -
  1.5149 -	/**
  1.5150 -	UICC application info version v6.0.  Is a
  1.5151 -	TSmartCardApplicationInfoV5 object, but has an additional buffer
  1.5152 -	(iEapTypeList) for retrieving a list supported EAP methods on the
  1.5153 -	application.
  1.5154 -
  1.5155 -	Modes: GSM/WCDMA
  1.5156 -
  1.5157 -	@see RMobilePhone::GetSmartCardApplicationInfo()
  1.5158 -	@publishedPartner
  1.5159 -	@released
  1.5160 -	*/
  1.5161 -	class TUiccApplicationEapInfoV6 : public TSmartCardApplicationInfoV5
  1.5162 -		{
  1.5163 -	public:
  1.5164 -		IMPORT_C TUiccApplicationEapInfoV6();
  1.5165 -
  1.5166 -	public:
  1.5167 -		/**
  1.5168 -		Application EAP support type list, defining the EAP methods
  1.5169 -		supported by the UICC application (see RFC 3748 and
  1.5170 -		http://www.iana.org/assignments/eap-numbers).
  1.5171 -		
  1.5172 -		As reference, also worth seeing section 5.2 of ETSI TS 102.310
  1.5173 -		v6.2.0 and section 6.2 of RFC3748.
  1.5174 -
  1.5175 -		@see KETelSmartCardEapTypeMD5
  1.5176 -		@see KETelSmartCardEapTypeTLS
  1.5177 -		@see KETelSmartCardEapTypeSIM
  1.5178 -		@see KETelSmartCardEapTypeAKA
  1.5179 -		@see KETelSmartCardEapTypeTTLS
  1.5180 -		*/
  1.5181 -		TBuf8<KEapSupportedTypeListSize> iEapTypeList;	
  1.5182 -		};
  1.5183 -
  1.5184 -	/**
  1.5185 -	A typedef'd packaged TEapUiccApplicationInfoV6 for passing through
  1.5186 -	a generic API function member.
  1.5187 -
  1.5188 -	@see RMobilePhone::GetSmartCardApplicationInfo()
  1.5189 -	*/	
  1.5190 -	typedef TPckg<TUiccApplicationEapInfoV6> TUiccApplicationEapInfoV6Pckg;
  1.5191 -
  1.5192 -	/**
  1.5193 -	Smart card application notification events
  1.5194 -	
  1.5195 -	Modes: Common
  1.5196 -	*/	
  1.5197 -	enum TSmartCardApplicationEvent
  1.5198 -		{
  1.5199 -		/**
  1.5200 -		Smart card application has been installed.
  1.5201 -		*/
  1.5202 -		EScApplicationInstalled,
  1.5203 -		/**
  1.5204 -		Smart card application has been removed.
  1.5205 -		*/
  1.5206 -		EScApplicationRemoved,
  1.5207 -		/**
  1.5208 -		Smart card application has been activated.
  1.5209 -		*/
  1.5210 -		EScApplicationActivated,
  1.5211 -		/**
  1.5212 -		Smart card application has been terminated.
  1.5213 -		*/
  1.5214 -		EScApplicationTerminated
  1.5215 -		};
  1.5216 -
  1.5217 -	/**
  1.5218 -	Smart card application status.
  1.5219 -
  1.5220 -	Modes: Common
  1.5221 -	*/
  1.5222 -	enum TSmartCardApplicationAction
  1.5223 -		{
  1.5224 -		/**
  1.5225 -		Smart card application will be activated.
  1.5226 -		*/
  1.5227 -		EScApplicationActivate,
  1.5228 -		/** 
  1.5229 -		Smart card application will be terminated.
  1.5230 -		*/
  1.5231 -		EScTerminate
  1.5232 -		};
  1.5233 -
  1.5234 -	/**
  1.5235 -	Smart card application file types. For definitions see TS 102.221.
  1.5236 -	
  1.5237 -	Modes: Common
  1.5238 -	*/		
  1.5239 -	enum TScFileType
  1.5240 -		{
  1.5241 -		/**
  1.5242 -		Smart card file type is unknown.
  1.5243 -		*/
  1.5244 -		EUnknown,
  1.5245 -		/**
  1.5246 -		Smart card file type is linear fixed. 
  1.5247 -		
  1.5248 -		This is a record-based file.
  1.5249 -		*/
  1.5250 -		ELinearFixed,
  1.5251 -		/**
  1.5252 -		Smart card file type is cyclic. 
  1.5253 -		
  1.5254 -		This is a record-based file.
  1.5255 -		*/
  1.5256 -		ECyclic,
  1.5257 -		/**
  1.5258 -		Smart card file type is transparent. 
  1.5259 -		
  1.5260 -		This is a binary file.
  1.5261 -		*/
  1.5262 -		ETransparent
  1.5263 -		};
  1.5264 -
  1.5265 -	/**
  1.5266 -	Typedef to hold a 2-byte file identifier.
  1.5267 -	*/
  1.5268 -	typedef TUint16 TScFileID;
  1.5269 -
  1.5270 -	/** Smart card application file info version v5.0.
  1.5271 -	Modes: Common
  1.5272 -
  1.5273 -	@see GetScFileInfo()
  1.5274 -	@publishedPartner
  1.5275 -	@released
  1.5276 -	*/
  1.5277 -	class TScFileInfoV5 : public TMultimodeType
  1.5278 -		{
  1.5279 -	public:
  1.5280 -		IMPORT_C TScFileInfoV5();
  1.5281 -	public:
  1.5282 -		/**
  1.5283 -		Smart card file identifier.
  1.5284 -		*/
  1.5285 -		TScFileID iFileID;
  1.5286 -		/**
  1.5287 -		The type of the smart card file. Options are
  1.5288 -		Linear Fixed, Cyclic or Transparent.
  1.5289 -		*/
  1.5290 -		TScFileType iType;
  1.5291 -		/**
  1.5292 -		Total length of the file.  As specified in TS 102.221 the maximum length of an EF is 0xFFF bytes.
  1.5293 -		*/
  1.5294 -		TInt iTotalLength;
  1.5295 -		/**
  1.5296 -		If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the fixed length of a record in the file.
  1.5297 -		If file type is ETransparent then this value is unused and will be set to 0. 
  1.5298 -		
  1.5299 -		From TS 102.221 the maximum length of a record in an EF is 255 bytes.
  1.5300 -		*/
  1.5301 -		TInt iRecordLength;
  1.5302 -		/**
  1.5303 -		If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the number of records in the file.
  1.5304 -		If file type is ETransparent then this value is unused and will be set to 0. 
  1.5305 -		
  1.5306 -		From TS 102.221 the maximum number of records in an EF is 254.
  1.5307 -		*/
  1.5308 -		TInt iNumberRecords;
  1.5309 -		};
  1.5310 -	
  1.5311 -	
  1.5312 -	/** A typedef'd packaged TScFileInfoV5 for passing through a generic API 
  1.5313 -	function member. 
  1.5314 -	*/
  1.5315 -	typedef TPckg<TScFileInfoV5> TScFileInfoV5Pckg;
  1.5316 -	
  1.5317 -	/**
  1.5318 -	This based on the maximum number of bytes in a command PDU 
  1.5319 -	as defined in TS 102.221 however the actual path string is very unlikely to ever be this big.
  1.5320 -	
  1.5321 -	Modes: Common
  1.5322 -	*/
  1.5323 -	enum{ KMaxScFilePathLength = 256};
  1.5324 -	
  1.5325 -	/**
  1.5326 -	A typedef'd buffer to hold the path to an EF file.  
  1.5327 -	*/
  1.5328 -	typedef TBuf8<KMaxScFilePathLength> TScFilePathReference;
  1.5329 -	
  1.5330 -	
  1.5331 -	 /** 
  1.5332 -	 Class that holds a smart card applications AID and associated file path string.
  1.5333 -
  1.5334 -	 Modes: Common
  1.5335 -
  1.5336 -	 @see GetScFileInfo()
  1.5337 -	 @publishedPartner
  1.5338 -	 @released
  1.5339 -	 */
  1.5340 -	 class TScFilePath
  1.5341 -		{
  1.5342 -	 public:
  1.5343 -		IMPORT_C TScFilePath();
  1.5344 -     public:
  1.5345 -     	/** 
  1.5346 -     	AID of application. This may be empty implying the iPath is a path reference starting at the master file (MF).
  1.5347 -     	*/
  1.5348 -		TAID iAID;
  1.5349 -		/**
  1.5350 -		Full path reference to file.  
  1.5351 -		
  1.5352 -		The iPath must define the file path using full path referencing. This is because the client does not know 
  1.5353 -		what is the currently selected EF or DF and it is therefore necessary to select the file by full
  1.5354 -		path referencing from the master file.  
  1.5355 -		
  1.5356 -		If iAID value is empty then the iPath reference starts from the MF file but should not include the file ID of the MF (3F00) itself.
  1.5357 -		E.g. To reference the EF_DIR - iAID would be empty and iPath would be set to "2F00".
  1.5358 -		E.g. To refefence the EF_SMS under DF_TELECOM on a 2G SIM ICC - iAID would be empty and iPath would be set to "7F106F3C".
  1.5359 -		
  1.5360 -		If iAID is non-empty then it refers to the AID of the application and iPath is a path reference to a file in that application,
  1.5361 -		In this situation the path reference may start with the implicit FID of the application DF (7FFF).  
  1.5362 -		E.g.  The path to reference to the EF_SMS file in a USIM application using implicit ADF FID would 
  1.5363 -		be "7FFF6F3C".
  1.5364 -		
  1.5365 -		See TS102.221 section 8.4.2 for more information.  
  1.5366 -		*/
  1.5367 -		TScFilePathReference iPath;
  1.5368 -		};
  1.5369 -		
  1.5370 -	/** Smart card application file identifier and access offsets.  This class is used to identify a file and the 
  1.5371 -	location in a file to either read or write. Inherits attributes from TScFilePath which provide the 
  1.5372 -	parent AID and full path reference.
  1.5373 -	
  1.5374 -	Modes: Common
  1.5375 -
  1.5376 -	@see TScFilePath
  1.5377 -	@see ReadScFile()
  1.5378 -	@see UpdateScFile()
  1.5379 -	@publishedPartner
  1.5380 -	@released
  1.5381 -	*/
  1.5382 -	class TScFilePathWithAccessOffsets : public TScFilePath
  1.5383 -		{
  1.5384 -	public:
  1.5385 -		IMPORT_C TScFilePathWithAccessOffsets();
  1.5386 -	public:
  1.5387 -		/**
  1.5388 -		The type of the smart card file. Options are
  1.5389 -		Linear Fixed, Cyclic or Transparent.
  1.5390 -		*/
  1.5391 -		TScFileType iType;
  1.5392 -		/**
  1.5393 -		If file type is ELinearFixed or ECyclic then this is the starting record index to read or update.
  1.5394 -		This must be less than the number of records in the file.
  1.5395 -
  1.5396 -		If file type is ETransparent then this is the offset (in bytes) from the start of the transparent file to read or update.
  1.5397 -		This must be less than the total file size.
  1.5398 -		*/
  1.5399 -		TUint iStartOffset;
  1.5400 -		/**
  1.5401 -		If the file type is ELinearFixed or ECyclic then this is unused.
  1.5402 -		NOTE: A call to ReadScFile or UpdateScFile for a record based file type will only read or update
  1.5403 -		one record as described in TS 102.221 READ RECORD and UPDATE RECORD.
  1.5404 -
  1.5405 -		If file type is ETransparent then this is the number of bytes to read or update.
  1.5406 -		*/
  1.5407 -		TUint iCount;
  1.5408 -		};
  1.5409 -
  1.5410 -	IMPORT_C void EnumerateSmartCardApplications(TRequestStatus& aReqStatus, TUint& aCount) const;
  1.5411 -	IMPORT_C void GetSmartCardApplicationInfo(TRequestStatus& aReqStatus, TUint aAppIndex, TDes8& aInfo) const;
  1.5412 -	IMPORT_C void NotifySmartCardApplicationInfoChange(TRequestStatus& aReqStatus, TAID& aAID, TSmartCardApplicationEvent& aEvent) const;
  1.5413 -	IMPORT_C void SetSmartCardApplicationStatus(TRequestStatus& aReqStatus, const TAID& aAID, TSmartCardApplicationAction aAppAction) const;
  1.5414 -	IMPORT_C void GetScFileInfo(TRequestStatus& aReqStatus, const TScFilePath& aFilePathId, TDes8& aInfo) const;
  1.5415 -	IMPORT_C void ReadScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aReadBuffer) const;
  1.5416 -	IMPORT_C void UpdateScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aUpdateBuffer) const;
  1.5417 -	
  1.5418 -	/***********************************************************************************/
  1.5419 -	//
  1.5420 -	// Mobile USIM Applications Functional Unit
  1.5421 -	//
  1.5422 -	/***********************************************************************************/
  1.5423 -
  1.5424 -	enum { KUSimApplicationLabelMaxSize=32 };
  1.5425 -
  1.5426 -	IMPORT_C void EnumerateUSimApplications(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
  1.5427 -
  1.5428 -	class TUSimApplicationInfoV2 : public TMultimodeType
  1.5429 -	/** USIM application information for version v2.0. 
  1.5430 -		
  1.5431 -	@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
  1.5432 -	*/
  1.5433 -		{
  1.5434 -	public:
  1.5435 -		IMPORT_C TUSimApplicationInfoV2();
  1.5436 -	public:
  1.5437 -	/** USIM Application identifier.
  1.5438 -
  1.5439 -	Modes: WCDMA */
  1.5440 -		TAID								iAID;
  1.5441 -	/** USIM Application label. 16 bit USC2 characters string provided by the application 
  1.5442 -	provider to be shown to the user for information, e.g. operator name. It is 
  1.5443 -	recommended by ETSI/3GPP spec that the application label does not exceed 32 
  1.5444 -	bytes.
  1.5445 -	
  1.5446 -	The application label is optional. If no label is provided, the buffer should 
  1.5447 -	be NULL.
  1.5448 -	
  1.5449 -	Modes: WCDMA */
  1.5450 -		TBuf8<KUSimApplicationLabelMaxSize> iLabel; 
  1.5451 -	};
  1.5452 -
  1.5453 -	/** A typedef'd packaged TUSimApplicationInfoV2 for passing through a generic API 
  1.5454 -	function member. 
  1.5455 -
  1.5456 -	@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
  1.5457 -	*/
  1.5458 -	typedef TPckg<TUSimApplicationInfoV2> TUSimApplicationInfoV2Pckg;
  1.5459 -
  1.5460 -	IMPORT_C void GetUSimApplicationInfo(TRequestStatus& aReqStatus, TInt aUSimAppIndex, TDes8& aInfo) const; //deprecated 9.1
  1.5461 -	IMPORT_C void NotifyUSimApplicationsInfoChange(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
  1.5462 -
  1.5463 -	/** USIM Application Status.
  1.5464 -
  1.5465 -	Modes: WCDMA 
  1.5466 -
  1.5467 -	@deprecated 9.1 Use @see TSmartCardApplicationAction instead.
  1.5468 -	*/
  1.5469 -	enum TUSimAppAction
  1.5470 -		{
  1.5471 -	/** USIM application will be activated.
  1.5472 -	
  1.5473 -	Modes: WCDMA */
  1.5474 -		EUSimActivate,
  1.5475 -	/** USIM application will be terminated.
  1.5476 -	
  1.5477 -	Modes: WCDMA */
  1.5478 -		EUSimTerminate
  1.5479 -		};
  1.5480 -
  1.5481 -	IMPORT_C void SetUSimApplicationStatus(TRequestStatus& aReqStatus, const TAID aAID, TUSimAppAction aUsimAppAction) const; //deprecated 9.1
  1.5482 -
  1.5483 -	/** USIM Application selection mode.
  1.5484 -
  1.5485 -	Mode: WCDMA */
  1.5486 -	enum TUSimSelectionMode
  1.5487 -		{
  1.5488 -	/** USIM application is selected automatically by phone.
  1.5489 -	
  1.5490 -	Mode: WCDMA */
  1.5491 -		EUSimSelectionAutomatic,
  1.5492 -	/** USIM application is selected manually by user.
  1.5493 -	
  1.5494 -	Mode: WCDMA */
  1.5495 -		EUSimSelectionManual
  1.5496 -		};
  1.5497 -
  1.5498 -	IMPORT_C TInt SetUSimAppsSelectionMode(TUSimSelectionMode aUSimSelectionMode) const;
  1.5499 -	IMPORT_C TInt GetUSimAppsSelectionMode(TUSimSelectionMode& aUSimSelectionMode) const;
  1.5500 -	IMPORT_C void NotifyUSimAppsSelectionModeChange(TRequestStatus& aReqStatus, TUSimSelectionMode& aUSimSelectionMode) const;
  1.5501 -	IMPORT_C void GetCurrentActiveUSimApplication(TRequestStatus& aReqStatus, TAID& aAID) const;
  1.5502 -
  1.5503 -	/***********************************************************************************/
  1.5504 -	//
  1.5505 -	// Mobile MMS Functional Unit
  1.5506 -	// 
  1.5507 -	/***********************************************************************************/
  1.5508 -	
  1.5509 -	/** max size of MMS notification buffer. */
  1.5510 -	
  1.5511 -	enum{KMaxMmsNotification = 253};
  1.5512 -	
  1.5513 -	/**
  1.5514 -	Identifies current status of MMS.
  1.5515 -	*/
  1.5516 -	enum TMmsStatus
  1.5517 -		{
  1.5518 -		/**
  1.5519 -		The MMS has not been retrieved.
  1.5520 -		*/
  1.5521 -		EMmsNotRetrieved,
  1.5522 -		/**
  1.5523 -	    The MMS has been retrieved.
  1.5524 -	    */
  1.5525 -		EMmsRetrieved,
  1.5526 -		/**
  1.5527 -		The MMS has been rejected.
  1.5528 -		*/
  1.5529 -		EMmsRejected,
  1.5530 -		/**
  1.5531 -		The MMS has been forwarded.
  1.5532 -		*/
  1.5533 -		EMmsforwarded
  1.5534 -		};
  1.5535 -
  1.5536 -	/** 
  1.5537 -	MMS Implementation.
  1.5538 -	*/
  1.5539 -	enum TMmsImplementation
  1.5540 -		{
  1.5541 -		/**
  1.5542 -		Unknown implementation for MMS.
  1.5543 -		*/
  1.5544 -		KMmsImplUnknwown=0x00,
  1.5545 -		/**
  1.5546 -		Wap implementation for MMS.
  1.5547 -		*/
  1.5548 -		KWapImplementation=0x01
  1.5549 -		};
  1.5550 -	
  1.5551 -	/**
  1.5552 -	MMS Connectivity settings.
  1.5553 -	*/
  1.5554 -	enum TMmsConnParams
  1.5555 -		{
  1.5556 -		/**
  1.5557 -		MMS User Preferences.
  1.5558 -		*/
  1.5559 -		EUserPreferences,
  1.5560 -		/**
  1.5561 -		MMS Issuer Connectivity Parameters.
  1.5562 -		*/
  1.5563 -		EIssuerConnParams,
  1.5564 -		/**
  1.5565 -		MMS User Connectivity Parameters.
  1.5566 -		*/
  1.5567 -		EUserConnParams
  1.5568 -		};
  1.5569 -
  1.5570 -	/**
  1.5571 -	MMS field Id tags.
  1.5572 -	*/
  1.5573 -	enum TMobileMMSFieldTags
  1.5574 -		{
  1.5575 -		/**
  1.5576 -		Tag id for MMS connectivity parameters.
  1.5577 -		*/
  1.5578 -		ETagMmsConnParams=0xAB,
  1.5579 -		/**
  1.5580 -		Tag id for MMS Implementation.
  1.5581 -		*/
  1.5582 -		ETagMmsImpl=0x80,
  1.5583 -		/**
  1.5584 -		Tag id for MMS Relay/Server.
  1.5585 -		*/
  1.5586 -		ETagMmsServer=0x81,
  1.5587 -		/**
  1.5588 -		Tag id for Interface to Core Network and Bearer.
  1.5589 -		*/
  1.5590 -		ETagMmsBearerIE=0x82,
  1.5591 -		/**
  1.5592 -		Tag id for Gateway.
  1.5593 -		*/
  1.5594 -		ETagMmsGateway=0x83 	  
  1.5595 -		};
  1.5596 -		
  1.5597 -	class TMmsNotificationV3 : public TMultimodeType
  1.5598 -	/**
  1.5599 -	Class containing MMS notification paramters.
  1.5600 -	*/
  1.5601 -		{
  1.5602 -		public :
  1.5603 -			IMPORT_C TMmsNotificationV3();
  1.5604 -		public :
  1.5605 -			/**
  1.5606 -			Free/Used space.
  1.5607 -			*/
  1.5608 -			TBool iSpace;
  1.5609 -			/**
  1.5610 -			Notification read/not read.
  1.5611 -			*/
  1.5612 -			TBool iNotification;
  1.5613 -			/**
  1.5614 -			MMS status.
  1.5615 -			*/
  1.5616 -			TMmsStatus iMmsStatus;
  1.5617 -			/**
  1.5618 -			MMS implementation.
  1.5619 -			*/
  1.5620 -			TMmsImplementation iImplementation;
  1.5621 -			/**
  1.5622 -			MMS notification buffer.
  1.5623 -			*/
  1.5624 -			TBuf8<KMaxMmsNotification> iNotify;
  1.5625 -		};
  1.5626 -	
  1.5627 -	typedef TPckg<TMmsNotificationV3> TMmsNotificationV3Pckg;
  1.5628 -
  1.5629 -	//	MMS notification 	
  1.5630 -	IMPORT_C void NotifyMmsUpdate(TRequestStatus& aReqStatus, TDes8& aNotification) const;
  1.5631 -	IMPORT_C void SetMmsUserConnParams(TRequestStatus& aReqStatus, TDes8& aConnectivity) const;
  1.5632 -	IMPORT_C void SetMmsUserPreferences(TRequestStatus& aReqStatus, TDes8& aPreferences) const;
  1.5633 -	IMPORT_C void GetMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
  1.5634 -	IMPORT_C void NotifyMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
  1.5635 -	
  1.5636 -	/***********************************************************************************/
  1.5637 -	//
  1.5638 -	// Mobile MailBox Numbers Functional Unit 
  1.5639 -	// 
  1.5640 -	/***********************************************************************************/
  1.5641 -
  1.5642 -	class TMobilePhoneVoicemailIdsV3 : public TMultimodeType
  1.5643 -	/**
  1.5644 -	Contains mailbox numbers.
  1.5645 -	*/
  1.5646 -		{
  1.5647 -		public :
  1.5648 -			IMPORT_C TMobilePhoneVoicemailIdsV3();
  1.5649 -		public :
  1.5650 -			/**
  1.5651 -			Phonebook entry for "voicemail" mailbox number.
  1.5652 -			*/
  1.5653 -			TUint8	iVoice;
  1.5654 -			/** 
  1.5655 -			Phonebook entry for "data" mailbox number.
  1.5656 -			*/
  1.5657 -			TUint8	iData;
  1.5658 -			/**
  1.5659 -			Phonebook entry for "fax" mailbox number.
  1.5660 -			*/
  1.5661 -			TUint8	iFax;
  1.5662 -			/**
  1.5663 -			Phonebook entry for "other" mailbox number.
  1.5664 -			*/
  1.5665 -			TUint8	iOther;
  1.5666 -		};
  1.5667 -
  1.5668 -/** A typedef'd packaged TMobilePhoneVoicemailIdsV3 for passing through a generic 
  1.5669 -	API function member. */
  1.5670 -	typedef TPckg<TMobilePhoneVoicemailIdsV3> TMobilePhoneVoicemailIdsV3Pckg;
  1.5671 -
  1.5672 -	class TMobilePhoneVoicemailIdsV8 : public TMobilePhoneVoicemailIdsV3
  1.5673 -	/**
  1.5674 -	Contains mailbox numbers see section 4.2.62 of 3GPP TS 31.102 V6.18.0.
  1.5675 -	*/
  1.5676 -		{
  1.5677 -		public :
  1.5678 -			IMPORT_C TMobilePhoneVoicemailIdsV8();
  1.5679 -		public :
  1.5680 -			/**
  1.5681 -			Phonebook entry for "videomail" mailbox number.
  1.5682 -			*/
  1.5683 -			TUint8	 iVideo;
  1.5684 -		};
  1.5685 -		
  1.5686 -	/** A typedef'd packaged TMobilePhoneVoicemailIdsV8 for passing through a generic 
  1.5687 -	API function member. */
  1.5688 -	typedef TPckg<TMobilePhoneVoicemailIdsV8> TMobilePhoneVoicemailIdsV8Pckg;
  1.5689 -
  1.5690 -	IMPORT_C void GetMailboxNumbers(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
  1.5691 -	IMPORT_C void NotifyMailboxNumbersChange(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
  1.5692 -
  1.5693 -	/***********************************************************************************/
  1.5694 -	//
  1.5695 -	// Mobile APN Control List Functional Unit
  1.5696 -	// 
  1.5697 -	/***********************************************************************************/	
  1.5698 -	
  1.5699 -	enum { KMaxApnName = 100 };
  1.5700 -	
  1.5701 -	class TAPNEntryV3 : public TMultimodeType
  1.5702 -	/**
  1.5703 -	Contains parameters for an Access Point Name (APN) entry contained 
  1.5704 -	within the Access Control List EFacl file in the UICC.
  1.5705 -	*/
  1.5706 -		{
  1.5707 -	public:
  1.5708 -		IMPORT_C TAPNEntryV3();
  1.5709 -	public:
  1.5710 -		/**
  1.5711 -		GGSN DNS name.
  1.5712 -		*/
  1.5713 -		TBuf8<KMaxApnName> iApn;		
  1.5714 -		};
  1.5715 -		
  1.5716 -	typedef TPckg<TAPNEntryV3> TAPNEntryV3Pckg;
  1.5717 -	
  1.5718 -	IMPORT_C void EnumerateAPNEntries(TRequestStatus& aReqStatus, TUint32 &aIndex) const;
  1.5719 -	IMPORT_C void GetAPNname(TRequestStatus& aReqStatus, const TUint32 aIndex, TDes8& aAPN) const;
  1.5720 -	IMPORT_C void AppendAPNName(TRequestStatus& aReqStatus, const TDes8& aAPN) const;
  1.5721 -	IMPORT_C void DeleteAPNName(TRequestStatus& aReqStatus, TUint32 aIndex) const; 
  1.5722 -	IMPORT_C void NotifyAPNListChanged(TRequestStatus& aReqStatus) const;
  1.5723 -
  1.5724 -	enum TAPNControlListServiceStatus {
  1.5725 -		/**
  1.5726 -		The APN control list service is disabled.
  1.5727 -		*/
  1.5728 -		EAPNControlListServiceDisabled,
  1.5729 -		/**
  1.5730 -		The APN control list service is enabled.
  1.5731 -		*/
  1.5732 -		EAPNControlListServiceEnabled
  1.5733 -	};
  1.5734 -
  1.5735 -	IMPORT_C void SetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus aAPNControlListServiceStatus) const;
  1.5736 -	IMPORT_C void GetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
  1.5737 -	IMPORT_C void NotifyAPNControlListServiceStatusChange(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
  1.5738 -
  1.5739 -	/***********************************************************************************/
  1.5740 -	//
  1.5741 -	// Retrieve Total Air Time Duration Functional Unit
  1.5742 -	//
  1.5743 -	/***********************************************************************************/
  1.5744 -	IMPORT_C TInt GetAirTimeDuration(TTimeIntervalSeconds& aTime) const;
  1.5745 -	IMPORT_C void NotifyAirTimeDurationChange(TRequestStatus& aReqStatus,TTimeIntervalSeconds& aTime) const;
  1.5746 -	/***********************************************************************************/
  1.5747 -	//
  1.5748 -	// Terminate All Calls
  1.5749 -	//
  1.5750 -	/***********************************************************************************/
  1.5751 -	IMPORT_C void TerminateAllCalls(TRequestStatus& aReqStatus) const;
  1.5752 -	
  1.5753 -	/***********************************************************************************/
  1.5754 -	//
  1.5755 -	// Auto Redial Functional Unit
  1.5756 -	//
  1.5757 -	/***********************************************************************************/
  1.5758 -	IMPORT_C void ClearBlacklist(TRequestStatus& aReqStatus) const;
  1.5759 -
  1.5760 -	/***********************************************************************************/
  1.5761 -	//
  1.5762 -	// Mobile Personalisation Functional Unit
  1.5763 -	//
  1.5764 -	/***********************************************************************************/
  1.5765 -	
  1.5766 -	/**
  1.5767 -	Indentifies the personalisation scheme capabilities of the UICC/ME.
  1.5768 -	*/
  1.5769 -	enum TMobilePhonePersonalisationCaps
  1.5770 -		{
  1.5771 -		/**
  1.5772 -		UICC/ME personalisation based on network (MCC, MNC) information is possible.
  1.5773 -		*/
  1.5774 -		KCapsPersonalisedNetwork=0x01,
  1.5775 -		/**
  1.5776 -		UICC/ME personalisation based on network (MCC, MNC, IMSI network code group) information is possible.
  1.5777 -		*/
  1.5778 -		KCapsPersonalisedNetworkSub=0x02,
  1.5779 -		/**
  1.5780 -		UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFCNL) information is possible.
  1.5781 -		*/
  1.5782 -		KCapsPersonalisedServiceProvider=0x04,
  1.5783 -		/**
  1.5784 -		UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFGID2, EFCNL) information is possible.
  1.5785 -		*/
  1.5786 -		KCapsPersonalisedCorporate=0x08,
  1.5787 -		/**
  1.5788 -		UICC/ME personalisation based on (IMSI SIM/USIM code group) information is possible.
  1.5789 -		*/
  1.5790 -		KCapsPersonalisedUSim=0x10
  1.5791 -		};
  1.5792 -		
  1.5793 -	/**
  1.5794 -	Identifies the current personalisation schemes that are active. 
  1.5795 -	*/
  1.5796 -	enum TMobilePhonePersonalisationScheme
  1.5797 -		{
  1.5798 -		/**
  1.5799 -		The ME is personalised under the network scheme.
  1.5800 -		*/
  1.5801 -		KPersonalisedNetwork=0x01,
  1.5802 -		/**
  1.5803 -		The ME is personalised under the network sub scheme.
  1.5804 -		*/
  1.5805 -		KPersonalisedNetworkSub=0x02,
  1.5806 -		/**
  1.5807 -		The ME is personalised under the service provider scheme.
  1.5808 -		*/
  1.5809 -		KPersonalisedServiceProvider=0x04,
  1.5810 -		/**
  1.5811 -		The ME is personalised under the corprorate scheme.
  1.5812 -		*/
  1.5813 -		KPersonalisedCorporate=0x08,
  1.5814 -		/**
  1.5815 -		The ME is personalised under the  SIM/USIM scheme.
  1.5816 -		*/
  1.5817 -		KPersonalisedUSim=0x10	
  1.5818 -		};
  1.5819 -
  1.5820 -	/**
  1.5821 -	Identifies the personalisation scheme to be set.
  1.5822 -	*/
  1.5823 -	enum TMobilePhonePersonalisation
  1.5824 -		{
  1.5825 -		/**
  1.5826 -		Personalise the ME using the network scheme.
  1.5827 -		*/
  1.5828 -		EPersonaliseNetwork,
  1.5829 -		/**
  1.5830 -		Personalise the ME using the network sub scheme.
  1.5831 -		*/
  1.5832 -		EPersonaliseNetworkSub,
  1.5833 -		/**
  1.5834 -		Personalise the ME using the service provider scheme.
  1.5835 -		*/
  1.5836 -		EPersonaliseServiceProvider,
  1.5837 -		/**
  1.5838 -		Personalise the ME using the corporate scheme.
  1.5839 -		*/
  1.5840 -		EPersonaliseCorporate,
  1.5841 -		/**
  1.5842 -		Personalise the ME using the SIM/USIM scheme.
  1.5843 -		*/
  1.5844 -		EPersonaliseUsim
  1.5845 -		};
  1.5846 -		
  1.5847 -	IMPORT_C TInt GetPersonalisationCaps(TUint32& aCaps) const;
  1.5848 -	IMPORT_C void GetPersonalisationStatus(TRequestStatus& aReqStatus, TUint32& aPersSchemes) const;
  1.5849 -	IMPORT_C void SetPersonalisationStatus(TRequestStatus& aReqStatus, const TMobilePhonePersonalisation aPersSchemes, const TDes& aPersCode) const;
  1.5850 -	
  1.5851 -	/***********************************************************************************/
  1.5852 -	//
  1.5853 -	// Etel 3rd Party v1.0 Parameter classes
  1.5854 -	//
  1.5855 -	/***********************************************************************************/
  1.5856 -	
  1.5857 -	class TEtel3rdPartyMobileNetworkInfoV1 : public TMultimodeType
  1.5858 -	/**
  1.5859 -	Defines the parameters used to set-up of a call originated from an ETel 3rd Party client.
  1.5860 -
  1.5861 -	TEtel3rdPartyMobileNetworkInfoV1 was used to give an indication to the TSY of where the
  1.5862 -	request was originating from; i.e. if the request is from an application using the ISV
  1.5863 -	API or ETel API, which allowed the TSY to make a decision based on the origin.  This
  1.5864 -	data type also provided further protection by not including any location information
  1.5865 -	parameters.  With PlatSec being introduced in v9.0, there was no need to use this data
  1.5866 -	structure, as each API is policed with the adequate PlatSec capabilities.  Therefore,
  1.5867 -	in v9.0 TEtel3rdPartyMobileNetworkInfoV1 was deprecated and removed from the ETel ISV
  1.5868 -	(ETel3rdParty) implementation.
  1.5869 -
  1.5870 -	TEtel3rdPartyMobileNetworkInfoV1 was only used internally by the ETel ISV API when calls
  1.5871 -	are made to RMobilePhone::GetCurrentNetwork or RMobilePhone::NotifyCurrentNetworkChange.
  1.5872 -	The TSY no longer needs to support this as ETel ISV now uses the TMobilePhoneNetworkInfoV2
  1.5873 -	data structure and no distinction is required for ISV Apps.
  1.5874 -
  1.5875 -	@publishedPartner
  1.5876 -	@deprecated 9.0 This class has been deprecated from 9.0 and should no longer be used.
  1.5877 -	*/
  1.5878 -		{
  1.5879 -	public:
  1.5880 -		IMPORT_C TEtel3rdPartyMobileNetworkInfoV1();
  1.5881 -	public:
  1.5882 -	/** Mode of the network.
  1.5883 -	Modes: Common
  1.5884 -	
  1.5885 -	@see TMobilePhoneNetworkMode */
  1.5886 -		TMobilePhoneNetworkMode iMode;
  1.5887 -	/** Status of the network
  1.5888 -	
  1.5889 -	Modes: Common
  1.5890 -	
  1.5891 -	@see TMobilePhoneNetworkStatus */
  1.5892 -		TMobilePhoneNetworkStatus iStatus;
  1.5893 -	/** The band and band class of the CDMA network operator.
  1.5894 -	
  1.5895 -	Modes: CDMA
  1.5896 -	
  1.5897 -	@see TMobilePhoneNetworkBandInfo */
  1.5898 -		TMobilePhoneNetworkBandInfo iBandInfo;
  1.5899 -	/** The MCC of the network.
  1.5900 -	
  1.5901 -	Modes: Common
  1.5902 -	
  1.5903 -	@see TMobilePhoneNetworkCountryCode */
  1.5904 -		TMobilePhoneNetworkCountryCode iCountryCode;
  1.5905 -	/** The system identity (SID) of the CDMA network or the system identity (SID) of the AMPS network.
  1.5906 -	
  1.5907 -	Modes: CDMA
  1.5908 -
  1.5909 -	@see TMobilePhoneNetworkIdentity */
  1.5910 -		TMobilePhoneNetworkIdentity iCdmaSID;
  1.5911 -	/** The network identity (NID in CDMA and MNC in GSM).
  1.5912 -	
  1.5913 -	Modes: Common
  1.5914 -	
  1.5915 -	@see TMobilePhoneNetworkIdentity */
  1.5916 -		TMobilePhoneNetworkIdentity iNetworkId;
  1.5917 -	/** The alpha-tag displayed when this is the serving network.
  1.5918 -	
  1.5919 -	Modes: Common
  1.5920 -	
  1.5921 -	@see TMobilePhoneNetworkDisplayTag */
  1.5922 -		TMobilePhoneNetworkDisplayTag iDisplayTag;
  1.5923 -	/** The short name (up to 10 characters) of the network operator.
  1.5924 -	
  1.5925 -	Modes: GSM/WCDMA
  1.5926 -	
  1.5927 -	@see TMobilePhoneNetworkShortName */
  1.5928 -		TMobilePhoneNetworkShortName iShortName;
  1.5929 -	/** The long name (up to 20 characters) of the network operator.
  1.5930 -	
  1.5931 -	Modes: GSM/WCDMA
  1.5932 -	
  1.5933 -	@see TMobilePhoneNetworkLongName */
  1.5934 -		TMobilePhoneNetworkLongName iLongName;
  1.5935 -	/** The type of network access.
  1.5936 -	
  1.5937 -	@see TMobilePhoneNetworkAccess */
  1.5938 -		TMobilePhoneNetworkAccess iAccess;
  1.5939 -		};
  1.5940 -
  1.5941 -/** A typedef'd packaged TEtel3rdPartyMobileNetworkInfoV1 for passing through a generic
  1.5942 -API function member.
  1.5943 -
  1.5944 -@deprecated 9.0
  1.5945 -*/
  1.5946 -	typedef TPckg<TEtel3rdPartyMobileNetworkInfoV1>  TEtel3rdPartyMobileNetworkInfoV1Pckg;
  1.5947 -
  1.5948 -	/** IMS Authenticate constants,in accordance to 3GPP TS 33.102,
  1.5949 -	section 6.3.7, and RFC 3310*/
  1.5950 -	enum TMobilePhoneAuthenticate
  1.5951 -		{
  1.5952 -		/** length of autn is 128bits - 16octets*/
  1.5953 -		KAutnLength=16,
  1.5954 -		/** length of RAND is 16 octets */
  1.5955 -		KRandLength=16,
  1.5956 -		/** length of RES is 16 octets*/
  1.5957 -		KResLength=16,
  1.5958 -		/** length of IK is 16 octets*/
  1.5959 -		KIkLength=16,
  1.5960 -		/** length of CK is 16 octets*/
  1.5961 -		KCkLength=16,
  1.5962 -		/** length of Kc (GSM cipher key) is 8 octets*/
  1.5963 -		KKcLength=8,
  1.5964 -		/** length of is 112 bits - 14 octets */
  1.5965 -		KAutsLength=14,
  1.5966 -		};
  1.5967 -
  1.5968 -	/** Maximum size of the record in an EF is 0xff( 255 bytes) according to TS 102.221, section 8.2.2.2
  1.5969 -	*/
  1.5970 -	enum TMobilePhoneRelease5EFMaxSize
  1.5971 -	{
  1.5972 -	 KRelease5EFMaxSize=255,
  1.5973 -	};
  1.5974 -	
  1.5975 -	/** typedefs for encapsulation of the buffers that hold authorization data stored on the ISIM/USIM*/
  1.5976 -	/** typedef for Internet Multimedia Public Identity*/	
  1.5977 -	typedef TBuf8<KRelease5EFMaxSize> TIMPU;
  1.5978 -	/** typedef for Internet Multimedia Private Identity*/
  1.5979 -	typedef TBuf8<KRelease5EFMaxSize> TIMPI;
  1.5980 -	/** typedef for Home Network Domain Name*/
  1.5981 -	typedef TBuf8<KRelease5EFMaxSize> THNDN;
  1.5982 -
  1.5983 -
  1.5984 -	/** IMS Authenticate API*/
  1.5985 -	/** Class encapsulates data needed as an input/output for
  1.5986 -	ISIM/USIM AUTHENTICATE command
  1.5987 -	
  1.5988 -	@publishedPartner
  1.5989 -	@released
  1.5990 -	*/
  1.5991 -	class TImsAuthenticateDataV5: public TMultimodeType
  1.5992 -		{
  1.5993 -	public:
  1.5994 -		IMPORT_C TImsAuthenticateDataV5();
  1.5995 -		/** holds value of network challenge AUTN */
  1.5996 -		TBuf8<KAutnLength> iAUTN;
  1.5997 -		/** holds value of network challenge RAND */
  1.5998 -		TBuf8<KRandLength> iRAND;
  1.5999 -		/** holds result RES of AUTHENTICATE command when it's successfull*/
  1.6000 -		TBuf8<KResLength> iRES;
  1.6001 -		/** holds value of session key Integrity Key */
  1.6002 -		TBuf8<KIkLength> iIK;
  1.6003 -		/** holds value of session key Cipher Key */
  1.6004 -		TBuf8<KCkLength> iCK;
  1.6005 -		/** holds value of Authentication Token when  AUTHENTICATE fails*/
  1.6006 -		TBuf8<KAutsLength> iAUTS;
  1.6007 -		};
  1.6008 -
  1.6009 -	/** packaged version of TImsAuthenticateDataV5, used when this structure has to be passeed via IPC*/
  1.6010 -	typedef TPckg<TImsAuthenticateDataV5> TImsAuthenticateDataV5Pckg;
  1.6011 -	friend class CAsyncRetrieveAuthorizationInfo;
  1.6012 -
  1.6013 -	/** API that execute ISIM/USIM AUTHENTICATE command*/
  1.6014 -	IMPORT_C void ImsAuthenticate (TRequestStatus& aReqStatus,TDes8& aAuthenticateDataPckgd) const;
  1.6015 -
  1.6016 -	IMPORT_C void NotifyImsAuthorizationInfoChange(TRequestStatus& aReqStatus) const;
  1.6017 -
  1.6018 -	/**
  1.6019 -	Source location of IMS Authorization data.
  1.6020 -	*/
  1.6021 -	enum TAuthorizationDataSource
  1.6022 -		{
  1.6023 -		/** Authorization data source is USIM. */
  1.6024 -		EFromUSIM,
  1.6025 -		/** Authorization data source is ISIM. */
  1.6026 -		EFromISIM
  1.6027 -		};
  1.6028 -
  1.6029 -	/** 
  1.6030 -	Class encapsulates IMS authorization data stored in the ISIM or USIM
  1.6031 -
  1.6032 -	@publishedPartner
  1.6033 -	@released
  1.6034 -	*/
  1.6035 -	class CImsAuthorizationInfoV5 : public CBase	
  1.6036 -		{
  1.6037 -	public:
  1.6038 -		IMPORT_C ~CImsAuthorizationInfoV5();
  1.6039 -		IMPORT_C static CImsAuthorizationInfoV5* NewL();
  1.6040 -		IMPORT_C virtual void ExternalizeL(HBufC8*& aBuffer);
  1.6041 -		IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
  1.6042 -		IMPORT_C TUint ExtensionId() const;
  1.6043 -	public:
  1.6044 -		/**Internet Multimedia Private Identity stored on the ISIM/USIM*/
  1.6045 -		RMobilePhone::TIMPI iIMPI;
  1.6046 -		/**Internet Multimedia Public Identity(ies) stored on the ISIM/USIM*/
  1.6047 -		RArray<RMobilePhone::TIMPU> iIMPUArray;
  1.6048 -		/**Home Network Domain Name stored on the ISIM/USIM*/
  1.6049 -		RMobilePhone::THNDN iHomeNetworkDomainName;
  1.6050 -		/**indicates whether authorization data has been retrieved from the ISIM*/
  1.6051 -		TAuthorizationDataSource iAuthenticationDataSource;
  1.6052 -	protected:
  1.6053 -		CImsAuthorizationInfoV5();
  1.6054 -		/** version of the data supported*/
  1.6055 -		TUint iExtensionId;
  1.6056 -		};
  1.6057 -		
  1.6058 -	/******************************************************************************************************/
  1.6059 -	//
  1.6060 -	//           UICC Authentication 
  1.6061 -	//
  1.6062 -	/******************************************************************************************************/		
  1.6063 -	
  1.6064 -	/**	
  1.6065 -	Defines the input as well as the ouput parameters used when performing the
  1.6066 -	(U)ICC AUTHENTICATE command.
  1.6067 -
  1.6068 -	@publishedPartner
  1.6069 -	@released
  1.6070 -    */
  1.6071 -	class TSmartCardAuthenticateDataV6 : public TImsAuthenticateDataV5
  1.6072 -		{
  1.6073 -	public:
  1.6074 -		IMPORT_C TSmartCardAuthenticateDataV6();
  1.6075 -
  1.6076 -	public:
  1.6077 -		TBuf8<KKcLength> iKc;
  1.6078 -		};
  1.6079 -
  1.6080 -	/**
  1.6081 -	Packaged version of TSmartCardAuthenticateDataV6, used when this
  1.6082 -	structure has to be passeed via IPC.
  1.6083 -	*/
  1.6084 -	typedef TPckg<TSmartCardAuthenticateDataV6> TSmartCardAuthenticateDataV6Pckg;
  1.6085 -
  1.6086 -	IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, TDes8& aAuthDataPckgd) const;
  1.6087 -	IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, const TAID& aAID, TDes8& aAuthDataPckgd) const;
  1.6088 -	
  1.6089 -	/******************************************************************************************************/
  1.6090 -	//
  1.6091 -	//     Generic Bootstrapping Architecture (GBA_U) Authentication 
  1.6092 -	//
  1.6093 -	/******************************************************************************************************/
  1.6094 -	// used to set iExtensionId 
  1.6095 -	/** The mobile phone GBA and MBMS authentication extension IDs.
  1.6096 -
  1.6097 -	Modes: Common */
  1.6098 -	enum TMobilePhoneAuthDataExtId
  1.6099 -  		{
  1.6100 -		/** The iExtensionId contents indicate that the packaged class is a TGbaBootstrapAuthDataV8. */
  1.6101 -		KETelMobileGbaBootstrapAuthDataV8 = KEtelExtMultimodeV8,
  1.6102 -		/** The iExtensionId contents indicate that the packaged class is a TGbaNafAuthDataV8. */
  1.6103 -		KETelMobileGbaNafAuthDataV8,
  1.6104 -		/** The iExtensionId contents indicate that the packaged class is a TMbmsMskUpdateDataV8. */
  1.6105 -		KETelMobileMbmsMskUpdateDataV8,
  1.6106 -		/** The iExtensionId contents indicate that the packaged class is a TMbmsMtkGenerateDataV8. */
  1.6107 -		KETelMobileMbmsMtkGenerateDataV8,
  1.6108 -		/** The iExtensionId contents indicate that the packaged class is a TMbmsMskDeleteDataV8. */
  1.6109 -		KETelMobileMbmsMskDeleteDataV8,
  1.6110 -		/** The iExtensionId contents indicate that the packaged class is a TMbmsMukDeleteDataV8. */
  1.6111 -		KETelMobileMbmsMukDeleteDataV8,
  1.6112 -		/** The iExtensionId contents indicate that the packaged class is a TMbmsUserKeyV8. */
  1.6113 -		KETelMobileMbmsUserKeyV8,
  1.6114 -		/** The iExtensionId contents indicate that the packaged class is a TGbaBootstrapParamsV8. */
  1.6115 -		KETelMobileGbaBootstrapParamsV8
  1.6116 -  		};
  1.6117 -		
  1.6118 -	class TGbaBootstrapAuthDataV8 : public TImsAuthenticateDataV5
  1.6119 -	/**
  1.6120 -	The class is identical to its base class except for its GBA Bootstrapping specific V8 extension id.
  1.6121 -	Contains parameters to hold the input as well as the output parameters for the GBA authentication 
  1.6122 -	in the Bootstrapping mode. The parameters are used as follows: 
  1.6123 -
  1.6124 -	Input: RAND,AUTN
  1.6125 -	Output: 
  1.6126 -	RES (if the authentication procedure is successful) 
  1.6127 -	or
  1.6128 -	AUTS (contains the failure response in case of unsuccessful authentication procedure)
  1.6129 -	See section 7.1.1.4 and 7.1.2.3 of 3GPP TS 31.102 v6.18.0
  1.6130 -	 
  1.6131 -	@see TImsAuthenticateDataV5
  1.6132 -	 
  1.6133 -    @see RMobilePhone::SmartCardAuthenticate request
  1.6134 -	 
  1.6135 -    @publishedPartner
  1.6136 -	@released
  1.6137 -	*/
  1.6138 -		{
  1.6139 -	public:
  1.6140 -		IMPORT_C TGbaBootstrapAuthDataV8();
  1.6141 -		};
  1.6142 -	
  1.6143 -	/**
  1.6144 -	Packaged version of TGbaBootstrapAuthDataV8, used when this structure has to be passed via IPC.
  1.6145 -	
  1.6146 -	@publishedPartner
  1.6147 -	@released
  1.6148 -	*/	
  1.6149 -	typedef TPckg<TGbaBootstrapAuthDataV8> TGbaBootstrapAuthDataV8Pckg;
  1.6150 -	
  1.6151 -	
  1.6152 -	enum 
  1.6153 -		{ 
  1.6154 -		/** The Maximum permitted size of Bootstrapping Transaction Identifier(B-TID) of 
  1.6155 -		the GBA_U bootstapped key 
  1.6156 -		see section 4.2.79 of 3GPP TS 31.102 v6.18.0
  1.6157 -		*/
  1.6158 -		KBtidLength = 255,
  1.6159 -		/** The Maximum permitted size of lifetime of the GBA_U bootstrapped keys 
  1.6160 -		see section 4.2.79 of 3GPP TS 31.102 v6.18.0
  1.6161 -		*/
  1.6162 -		KKeyLifetimeLength = 255
  1.6163 -		};
  1.6164 -	
  1.6165 -	class TBsfDataV8 : public TMultimodeType
  1.6166 -	/**
  1.6167 -	 Contains parameters to store B-TID and the Key lifetime that are supplied by the the BSF(EF_GBABP).
  1.6168 -	 See section 4.2.79 of 3GPP TS 31.102 v6.18.0	
  1.6169 -	 
  1.6170 -	 @see RMobilePhone::SetGbaBootstrapParams request
  1.6171 -	 
  1.6172 -	 @publishedPartner
  1.6173 -	 @released
  1.6174 -	*/
  1.6175 -		{
  1.6176 -	 public:
  1.6177 -	    IMPORT_C TBsfDataV8();	
  1.6178 -	 public: 
  1.6179 -	 	/** The Bootstrapping Transaction Identifier (B-TID) of the GBA_U bootstrapped key. */  	
  1.6180 -	 	TBuf8<KBtidLength>			iBtid;
  1.6181 -	 	/** The lifetime of the GBA_U bootstrapped keys. */  		
  1.6182 -	 	TBuf8<KKeyLifetimeLength>	iKeyLifetime;
  1.6183 -		};
  1.6184 -		
  1.6185 -	/**
  1.6186 -	Packaged version of TBsfDataV8, used when this structure has to be passeed via IPC.
  1.6187 -	
  1.6188 -	@publishedPartner
  1.6189 -	@released
  1.6190 -	*/
  1.6191 -	typedef TPckg<TBsfDataV8> TBsfDataV8Pckg;
  1.6192 -	
  1.6193 -	IMPORT_C void SetGbaBootstrapParams(TRequestStatus& aReqStatus, const TAID& aAID, const TDesC8& aParams) const;
  1.6194 -
  1.6195 -	enum 
  1.6196 -		{ 
  1.6197 -		/**  The Maximum permitted size of NAF_ID of the Network Application Function(NAF) 
  1.6198 -		used in the GBA_U NAF derivation procedure 
  1.6199 -		see section 7.1.2.4 of 3GPP TS 31.102 v6.18.0
  1.6200 -		*/
  1.6201 -		KNafIdLength = 255,
  1.6202 -		/**  The Maximum permitted size of the private user identity of the GBA_U NAF
  1.6203 -		see section 7.1.2.4 of 3GPP TS 31.102 v6.18.0
  1.6204 -		*/
  1.6205 -		KImpiLength = 255,
  1.6206 -		/**  The The Maximum permitted size of the Ks_ext_Naf key returned by the UICC application 
  1.6207 -		see section 7.1.2.4 of 3GPP TS 31.102 v6.18.0
  1.6208 -		*/
  1.6209 -		KKsExtNafLength = 255
  1.6210 -		};
  1.6211 -	 	
  1.6212 -	class TGbaNafAuthDataV8 : public TMultimodeType
  1.6213 -	/**
  1.6214 -	 Contains parameters to hold the input as well as the output parameters for the GBA authentication 
  1.6215 -	 in the NAF(Network Apllication Function) Derivation mode.
  1.6216 -	 See section 7.1.1.5 and 7.1.2.4 of 3GPP TS 31.102 v6.18.0
  1.6217 -	 
  1.6218 -	 @see RMobilePhone::SmartCardAuthenticate request
  1.6219 -	 
  1.6220 -	 @publishedPartner
  1.6221 -  	 @released
  1.6222 -	*/
  1.6223 -		{
  1.6224 -	 public:
  1.6225 -	 	IMPORT_C TGbaNafAuthDataV8();
  1.6226 -	 public:
  1.6227 -	 	/** Input Parameter: The NAF_ID of the Network Application Function (NAF) used in the 
  1.6228 -	 	GBA_U NAF Derivation procedure. */  	
  1.6229 -	 	TBuf8<KNafIdLength>	iNafId;	
  1.6230 -	  	/** Input Parameter: The Private user identity. */  			
  1.6231 -	 	TBuf8<KImpiLength>	iImpi;
  1.6232 -		/** Output Parameter: The Ks_ext_NAF key returned by the UICC app.  */  		 	
  1.6233 -	 	TBuf8<KKsExtNafLength> iKsExtNaf;
  1.6234 -		};
  1.6235 -		
  1.6236 -	/**
  1.6237 -	Packaged version of TGbaNafAuthDataV8, used when this structure has to be passeed via IPC.
  1.6238 -	
  1.6239 -	@publishedPartner
  1.6240 -	@released
  1.6241 -	*/
  1.6242 -	typedef TPckg <TGbaNafAuthDataV8> TGbaNafAuthDataV8Pckg;
  1.6243 -	
  1.6244 -	class TGbaBootstrapParamsV8 : public TMultimodeType
  1.6245 -	/**
  1.6246 -	 Contains parameters for the GBA Bootstrapping Parametres (EF_GBABP).
  1.6247 -	 See section 4.2.79 of 3GPP TS 31.102 v6.18.0	
  1.6248 -	 
  1.6249 -	 @see RMobilePhone::GetAuthenticationParams request
  1.6250 -	 
  1.6251 -	 @publishedPartner
  1.6252 -	 @released
  1.6253 -	*/
  1.6254 -		{
  1.6255 -	public:
  1.6256 -		IMPORT_C TGbaBootstrapParamsV8();
  1.6257 -	public:
  1.6258 -		/** The RAND (AKA Random challenge) value used in the GBA_U bootstrapping procedure. */  		
  1.6259 -		TBuf8<KRandLength>		iRand;
  1.6260 -		/** The Bootstrapping Transaction Identifier (B-TID) associated with the GBA_U bootstrapped 
  1.6261 -		keys. The client requesting the GBA Bootstrapping procedure receives this value from the network 
  1.6262 -		(i.e. BSF) and it then stores it on the UICC. */  		
  1.6263 -		TBuf8<KBtidLength>		iBtid;
  1.6264 -		/** The lifetime of the GBA_U bootstrapped keys. The client requesting the GBA Bootstrapping
  1.6265 -		 procedure receives this value from the network (i.e. BSF) and it then stores it on the UICC. */  		
  1.6266 -		TBuf8<KKeyLifetimeLength>	iKeyLifetime;
  1.6267 -		};
  1.6268 -	
  1.6269 -	/**
  1.6270 -	Packaged version of TGbaBootstrapParamsV8, used when this structure has to be passeed via IPC.
  1.6271 -	
  1.6272 -	@publishedPartner
  1.6273 -	@released
  1.6274 -	*/
  1.6275 -	typedef TPckg<TGbaBootstrapParamsV8> TGbaBootstrapParamsV8Pckg;
  1.6276 -	
  1.6277 -	enum TAuthData
  1.6278 -	/**
  1.6279 -	The type of the authentication related data that has been modified as a result of the 
  1.6280 -	UICC authentication command.
  1.6281 -	
  1.6282 -	@see RMobilePhone::GetAuthenticationParams
  1.6283 -	
  1.6284 -	@publishedPartner
  1.6285 -	@released
  1.6286 -	*/	
  1.6287 -		{
  1.6288 -		/** The GBA Bootstrapping parameters. 
  1.6289 -		The GBA Bootstrapping parameters are stored under EF_GBABP of the UICC app. */
  1.6290 -		EGbaBootstrapParams,
  1.6291 -		/** The list of the GBA Network Application Function (NAF) IDs and the Bootstrapping
  1.6292 -		Transaction Identifiers (B-TIDs), associated with the previous GBA NAF derivation procedure.
  1.6293 -		The list is stored under EF_GBANL of the UICC app.  */
  1.6294 -		EGbaNafIdList,
  1.6295 -		/** The list of MBMS Service Keys (MSKs) and corresponding time stamp counters, which are 
  1.6296 -		related to an MBMS Key Domain. 
  1.6297 -		This list is stored in the EF_MSK file of the UICC app. */
  1.6298 -		EMbmsMskIdList,
  1.6299 -		/** The identifier of the MBMS User Key (MUK) that is used to protect the transfer of MBMS 
  1.6300 -		Service Keys (MSK). 
  1.6301 -		The MUK ID is stored in the EF_MUK file of the UICC app.*/
  1.6302 -		EMbmsMuk
  1.6303 -		};
  1.6304 -		
  1.6305 -	class TAuthInfoV8 : public TMultimodeType
  1.6306 -	/**
  1.6307 -	 Contains parameters for Authentication related information
  1.6308 -	 */	
  1.6309 -		{
  1.6310 -	public:
  1.6311 -		IMPORT_C TAuthInfoV8();
  1.6312 -	public:
  1.6313 -		/** Application identifier (AID) of the UICC application performing the authentication. */
  1.6314 -		TAID  	iAID;
  1.6315 -		/** The type of the authentication related data that has been modified as a result of the 
  1.6316 -		UICC authentication command*/
  1.6317 -		TAuthData	iData;
  1.6318 -		};
  1.6319 -	
  1.6320 -	/**
  1.6321 -	Packaged version of TAuthInfoV8 
  1.6322 -	*/	
  1.6323 -	typedef TPckg<TAuthInfoV8>  TAuthInfoV8Pckg;
  1.6324 -	
  1.6325 -	IMPORT_C void NotifyAuthenticateDataChange(TRequestStatus& aReqstatus, TDes8& aAuthInfo) const;
  1.6326 -	IMPORT_C void GetAuthenticationParams(TRequestStatus& aReqstatus, const TDesC8& aAuthInfo, TDes8& aParams) const;
  1.6327 -	
  1.6328 -	
  1.6329 -	class TGbaNafEntryV8 : public TMultimodeType
  1.6330 -	/**
  1.6331 -	Contains parameters for the GBA NAF entry(EF_GBANL)
  1.6332 -	See section 4.2.83 of 3GPP TS 31.102 v6.18.0
  1.6333 -		
  1.6334 -	@publishedPartner
  1.6335 -	@released
  1.6336 -	*/	
  1.6337 -		{
  1.6338 -	public:
  1.6339 -		void InternalizeL(RReadStream& aStream);
  1.6340 -		void ExternalizeL(RWriteStream& aStream) const;
  1.6341 -	public:
  1.6342 -		IMPORT_C TGbaNafEntryV8();
  1.6343 -	public:
  1.6344 -		/** The identifier of the Network Application Function (NAF) used in the GBA_U NAF 
  1.6345 -		Derivation procedure. */  	
  1.6346 -		TBuf8<KNafIdLength>		iNafId;
  1.6347 -		/** The Bootstrapping Transaction Identifier (B-TID) associated with the GBA_U 
  1.6348 -		bootstrapped keys. The client requesting the GBA Bootstrapping procedure receives 
  1.6349 -		this value from the network (i.e. BSF) and it then stores it on the UICC.  */  
  1.6350 -		TBuf8<KBtidLength>		iBtid;
  1.6351 -		};
  1.6352 -	
  1.6353 -	/**
  1.6354 -	Packaged version of TGbaNafEntryV8, used when this structure has to be passeed via IPC.
  1.6355 -	
  1.6356 -	@publishedPartner
  1.6357 -	@released
  1.6358 -	*/	
  1.6359 -	typedef TPckg<TGbaNafEntryV8> TGbaNafEntryV8Pckg;
  1.6360 -	
  1.6361 -	/************************************************************************************************/
  1.6362 -    //
  1.6363 - 	//    Multimedia Broadcast Multicast Service (MBMS) Authentication
  1.6364 - 	//  
  1.6365 -	/************************************************************************************************/
  1.6366 -	
  1.6367 -	/** The Maximum permitted size of multimedia internet Keying message 
  1.6368 -	see section 7.1.2.5 of 3GPP TS 31.102 v6.18.0
  1.6369 -	*/
  1.6370 -	enum { KMikeyLength = 255 };
  1.6371 -	typedef TBuf8<KMikeyLength> TMikey;
  1.6372 -	
  1.6373 -	class TMbmsMskUpdateDataV8 : public TMultimodeType
  1.6374 -	/**
  1.6375 -	Contains parameters to hold the input as well as the output parameters for the MBMS 
  1.6376 -	authentication in the MSK Update mode.  
  1.6377 -	See section 7.1.1.6 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0
  1.6378 -	
  1.6379 -	@see RMobilePhone::SmartCardAuthenticate request
  1.6380 -	
  1.6381 -	@publishedPartner
  1.6382 -	@released
  1.6383 -	*/
  1.6384 -		{
  1.6385 -	public:
  1.6386 -		IMPORT_C TMbmsMskUpdateDataV8();
  1.6387 -	public:
  1.6388 -	    /** Input Parameter:MIKEY (Multimedia Internet Keying) message containing the MSK update 
  1.6389 -	    message from the network.  */
  1.6390 -		TMikey  iInputMikey;
  1.6391 -		/** Output Parameter: The output MIKEY (Multimedia Internet Keying) message containing 
  1.6392 -		the MSK Verification message from the UICC as the command response.
  1.6393 -		This is an optional parameter and it is only returned if the V-bit in the HDR field of 
  1.6394 -		the received MIKEY message is set. */
  1.6395 -		TMikey  iOutputMikey;
  1.6396 -		};
  1.6397 -		
  1.6398 -	/**
  1.6399 -	Packaged version of TMbmsMskUpdateDataV8, used when this structure has to be passeed via IPC.
  1.6400 -	
  1.6401 -	@publishedPartner
  1.6402 -	@released
  1.6403 -	*/		
  1.6404 -	typedef TPckg<TMbmsMskUpdateDataV8> TMbmsMskUpdateDataV8Pckg;
  1.6405 -	
  1.6406 -	/**
  1.6407 -	The Maximum permitted size of MTK length.
  1.6408 -	see section 7.1.2.5 of 3GPP TS 31.102 v6.18.0.
  1.6409 -	*/
  1.6410 -	enum {KMtkLength = 255};
  1.6411 -	
  1.6412 -	/**
  1.6413 -	The Salt key length.
  1.6414 -	see section 6.4.5.3 of 3GPP TS 33.246 v6.11.0.
  1.6415 -	*/
  1.6416 -	enum {KSaltLength = 14};
  1.6417 -	
  1.6418 -	class TMbmsMtkGenerateDataV8 : public TMultimodeType
  1.6419 -	/**
  1.6420 -	Contains parameters to hold the input as well as the output parameters for the MBMS 
  1.6421 -	authentication in MTK Generation mode.  
  1.6422 -	See section 7.1.1.7 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0  
  1.6423 -	
  1.6424 -	@see RMobilePhone::SmartCardAuthenticate request
  1.6425 -	
  1.6426 -	@publishedPartner
  1.6427 -	@released 
  1.6428 -	*/
  1.6429 -		{
  1.6430 -	public:
  1.6431 -		IMPORT_C TMbmsMtkGenerateDataV8();
  1.6432 -	public:
  1.6433 -		/** Input Parameter: The input MIKEY message containing an MTK and a Salt key (if Salt key is available). */
  1.6434 -		TMikey	iMikey;
  1.6435 -		/** Output Parameter: The MBMS Traffic Key.  */
  1.6436 -		TBuf8<KMtkLength>	iMtk;
  1.6437 -		/** Output Parameter: A random or pseudo-random string used to protect against some off-line 
  1.6438 -		pre computation attacks on the underlying security protocol.
  1.6439 -		This is an optional parameter. */
  1.6440 -		TBuf8<KSaltLength>	iSaltKey;
  1.6441 -		};
  1.6442 -	
  1.6443 -	/**
  1.6444 -	Packaged version of TMbmsMtkGenerateDataV8, used when this structure has to be passeed via IPC.
  1.6445 -	
  1.6446 -	@publishedPartner
  1.6447 -	@released 
  1.6448 -	*/		
  1.6449 -	typedef TPckg<TMbmsMtkGenerateDataV8> TMbmsMtkGenerateDataV8Pckg;
  1.6450 -	
  1.6451 -	/**
  1.6452 -	The Key domain id length.
  1.6453 -	see section 6.3.2.1. 3GPP TS 33.246 v6.11.0
  1.6454 -	*/
  1.6455 -	enum {KKeyDomainIdLength = 3};
  1.6456 -	
  1.6457 -	/**
  1.6458 -	The Key group length.
  1.6459 -	see section 6.3.2.1. 3GPP TS 33.246 v6.11.0
  1.6460 -	*/
  1.6461 -	enum {KKeyGroupLength = 2};
  1.6462 -	
  1.6463 -	class TMbmsMskDeleteDataV8 : public TMultimodeType
  1.6464 -	/**
  1.6465 -	Contains parameters to hold the input as well as the output parameters for the MBMS authentication
  1.6466 -	in the MSK Deletion mode.  
  1.6467 -	See section 7.1.1.8 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0 
  1.6468 -	
  1.6469 -	@see RMobilePhone::SmartCardAuthenticate request
  1.6470 -	
  1.6471 -	@publishedPartner
  1.6472 -	@released 
  1.6473 -	*/	
  1.6474 -		{
  1.6475 -	public:
  1.6476 -		IMPORT_C TMbmsMskDeleteDataV8();
  1.6477 -	public:
  1.6478 -		/** Input parameter : Every MSK is uniquely identifiable by its Key Domain ID and MSK ID. 
  1.6479 -		Key Domain ID = MCC || MNC and is 3 bytes long. */
  1.6480 -		TBuf8<KKeyDomainIdLength>	iKeyDomainId;
  1.6481 -		/** Input Parameter: The Key Group part is used to group keys together in order to allow
  1.6482 -		redundant MSKs to be deleted. 
  1.6483 -		The Key group part is contained within bytes 0 and 1 of the MSK ID. */
  1.6484 -		TBuf8<KKeyGroupLength>	iMskIdKeyGroup;
  1.6485 -		};
  1.6486 -	
  1.6487 -	/**
  1.6488 -	Packaged version of TMbmsMskDeleteDataV8, used when this structure has to be passeed via IPC.
  1.6489 -	
  1.6490 -	@publishedPartner
  1.6491 -	@released 
  1.6492 -	*/		
  1.6493 -	typedef TPckg<TMbmsMskDeleteDataV8> TMbmsMskDeleteDataV8Pckg;
  1.6494 -	
  1.6495 -	/**
  1.6496 -	The Maximum permitted size of MUK ID TLV length.
  1.6497 -	see section 6.4.5 of 3GPP TS 33.246 v6.11.0
  1.6498 -	*/
  1.6499 -	enum {KMukIdTlvLength = 255};
  1.6500 -	
  1.6501 -	class TMbmsMukDeleteDataV8 : public TMultimodeType
  1.6502 -	/**
  1.6503 -	Contains parameters to hold the input as well as the output parameters for the MBMS 
  1.6504 -	authentication in the MUK Deletion mode.  
  1.6505 -	See section 7.1.1.9 and 7.1.2.5 of 3GPP TS 31.102 v6.18.0  
  1.6506 -	
  1.6507 -	@see RMobilePhone::SmartCardAuthenticate request
  1.6508 -	
  1.6509 -	@publishedPartner
  1.6510 -	@released 
  1.6511 -	*/	
  1.6512 -		{
  1.6513 -	public:
  1.6514 -		IMPORT_C TMbmsMukDeleteDataV8();
  1.6515 -	public:
  1.6516 -		/** Input parameter : The MUK ID TLV containing the MUK IDr and MUK IDi. 
  1.6517 -		This field will contain the MUK ID as a TLV object containing the MUK IDr and MUK IDi.*/
  1.6518 -		TBuf8<KMukIdTlvLength> iMukIdTlv;
  1.6519 -		};
  1.6520 -
  1.6521 -	/**
  1.6522 -	Packaged version of TMbmsMukDeleteDataV8, used when this structure has to be passeed via IPC.
  1.6523 -	
  1.6524 -	@publishedPartner
  1.6525 -	@released 
  1.6526 -	*/		
  1.6527 -	typedef TPckg<TMbmsMukDeleteDataV8> TMbmsMukDeleteDataV8Pckg;
  1.6528 -		
  1.6529 -	/**
  1.6530 -	The Maximum permitted size of MUK IDi length.
  1.6531 -	see section 6.4.5 of 3GPP TS 33.246 v6.11.0
  1.6532 -	*/
  1.6533 -	enum { KMukIdiLength = 255 };
  1.6534 -	
  1.6535 -	/**
  1.6536 -	The Maximum permitted size of MUK IDr length.
  1.6537 -	see section 6.4.5 of 3GPP TS 33.246 v6.11.0
  1.6538 -	*/
  1.6539 -	enum { KMukIdrLength = 255 };
  1.6540 -	
  1.6541 -	/**
  1.6542 -	The time stamp counter length.
  1.6543 -	see section 6.4.3 of 3GPP TS 33.246 v6.11.0.
  1.6544 -	*/
  1.6545 -	enum { KTimeStampCounterLength = 4 };
  1.6546 -	
  1.6547 -	class TMbmsUserKeyV8 : public TMultimodeType
  1.6548 -	/**
  1.6549 -	Contains parameters for MBMS User Key(MUK)(EF_MUK).
  1.6550 -	See section 4.2.81 of 3GPP TS 31.102 v6.18.0.  
  1.6551 -	
  1.6552 -	@see RMobilePhone::GetAuthenticationParams
  1.6553 -	
  1.6554 -	@publishedPartner
  1.6555 -	@released  
  1.6556 -	*/	
  1.6557 -		{
  1.6558 -	public:
  1.6559 -		IMPORT_C TMbmsUserKeyV8();
  1.6560 -	public:
  1.6561 -		/** The IDi part of MBMS User Key (MUK). */
  1.6562 -		TBuf8<KMukIdiLength>	iMukIdi;
  1.6563 -		/** The IDr part of MBMS User Key (MUK). */
  1.6564 -		TBuf8<KMukIdrLength>	iMukIdr;
  1.6565 -		/** The counter for MIKEY replay protection in MSK delivery. The counter is associated 
  1.6566 -		with the particular MUK. */
  1.6567 -		TBuf8<KTimeStampCounterLength>	iTimeStampCounter;	
  1.6568 -		};
  1.6569 -		
  1.6570 -	/**
  1.6571 -	Packaged version of TMbmsUserKeyV8, used when this structure has to be passeed via IPC.
  1.6572 -	
  1.6573 -	@publishedPartner
  1.6574 -	@released
  1.6575 -	*/		
  1.6576 -	typedef TPckg<TMbmsUserKeyV8> TMbmsUserKeyV8Pckg;
  1.6577 -	
  1.6578 -	/**
  1.6579 -	The MSK id length.
  1.6580 -	see section 6.3.2.1. TS 33.246 v6.11.0
  1.6581 -	*/
  1.6582 -	enum { KMskIdLength =4 };
  1.6583 -
  1.6584 -	class TMskEntryV8 : public TMultimodeType
  1.6585 -	/**
  1.6586 -	contains Parameters for MBMS MSK ID Entry (EF_MSK).
  1.6587 -	See section 4.2.80 of 3GPP TS 31.102 v6.18.0. 
  1.6588 -	 
  1.6589 -    @publishedPartner
  1.6590 -	@released  
  1.6591 -	*/		
  1.6592 -		{
  1.6593 -	public:
  1.6594 -		void InternalizeL(RReadStream& aStream);
  1.6595 -		void ExternalizeL(RWriteStream& aStream) const;
  1.6596 -	public:
  1.6597 -		IMPORT_C TMskEntryV8();
  1.6598 -	public:
  1.6599 -		/** Identifier of the Domain of the BM-SC providing MBMS service */
  1.6600 -		TBuf8<KKeyDomainIdLength>	iKeyDomainId;
  1.6601 -		/** Identifier of MBMS Service Key(MSK) with in a paricular Key Domain */
  1.6602 -		TBuf8<KMskIdLength>		iMskId;
  1.6603 -		/** Counter for MIKEY replay protection in MTK delivery.Each counter is
  1.6604 -		 associated with a particular MSK */
  1.6605 -		TBuf8<KTimeStampCounterLength>	iTimeStampCounter;
  1.6606 -		};
  1.6607 -
  1.6608 -	/*************************************************************************************/
  1.6609 -	//
  1.6610 -	//    WLAN Parameters 
  1.6611 -	//
  1.6612 -	/*************************************************************************************/	
  1.6613 -	
  1.6614 -	/**
  1.6615 -	This type indicates which of the following fields, within the WLAN data structure,
  1.6616 -	contain valid data. 
  1.6617 -	*/
  1.6618 -	enum TUsimWlanDataFlags
  1.6619 -		{
  1.6620 -		/** The iPseudonym field is valid in the Wlan data class */
  1.6621 -		KWlanPseudonym  =0x00000001,
  1.6622 -		/** The iReauthenticationId field is valid in the Wlan data class */
  1.6623 -		KWlanReauthenticationId  = 0x00000002,
  1.6624 -		/** The iMasterKey field is valid in the Wlan data class */
  1.6625 -		KWlanMasterKey   = 0x00000004,
  1.6626 -		/** The iCounter field is valid in the Wlan data class */
  1.6627 -		KWlanCounter     = 0x00000008
  1.6628 -		};	
  1.6629 -		
  1.6630 -	/**
  1.6631 -	Holds a Maximum permitted size of the temporary user Identity or 
  1.6632 -	pseudonym stored in EF_Pseudo of the currently active USIM.
  1.6633 -	see section 4.4.5.6 of 3GPP TS 31.102 v6.18.0
  1.6634 -	*/
  1.6635 -	enum {	KWlanUserIdentity = 255 };
  1.6636 -	typedef TBuf8 <KWlanUserIdentity> TWlanUserIdentity;
  1.6637 -
  1.6638 -	/**
  1.6639 -	Holds a Maximum permitted size of re-authentication identity stored
  1.6640 -	in EF_WRI of the currently active USIM.
  1.6641 -	see section 4.4.5.6 of 3GPP TS 31.102 v6.18.0.
  1.6642 -	*/
  1.6643 -	enum { KWlanMasterKeyLength = 255 };
  1.6644 -
  1.6645 -	/**
  1.6646 -	Holds a Maximum permitted size of master key used in the process of re-authentication. 
  1.6647 -	see section 4.4.5.6 of 3GPP TS 31.102 v6.18.0.
  1.6648 -	*/
  1.6649 -	enum { KCounterLength = 255 };
  1.6650 -
  1.6651 -	/**
  1.6652 -	Contains Parameters for Wlan Pseudonym(EF_Pseudo) and Reauthentication Id(EF_WRI).
  1.6653 -	See section 4.4.5.1 and 4.4.5.6 of 3GPP TS 31.102 v6.18.0. 
  1.6654 -	@see RMobilePhone::SetWlanData
  1.6655 -	@see RMobilePhone::GetWlanData
  1.6656 -	@see RMobilePhone::NotifyWlanDataChange
  1.6657 -
  1.6658 -	@publishedPartner
  1.6659 -	@released  
  1.6660 -	*/
  1.6661 -	class TUsimWlanDataV8 : public TMultimodeType
  1.6662 -		{
  1.6663 -	public:
  1.6664 -		IMPORT_C TUsimWlanDataV8();
  1.6665 -	public:
  1.6666 -		/** A bit-wise sum of TUsimWlanDataCaps constants indicating which of the following 
  1.6667 -		fields, within the WLAN data structure, contain valid data. */
  1.6668 -		TUint32 	iFieldsUsed;  
  1.6669 -		/** Holds a buffer containing the temporary user Identity or pseudonym stored in EF_Pseudo 
  1.6670 -		of the currently active USIM. */
  1.6671 -		TWlanUserIdentity iPseudonym;
  1.6672 -		/** Holds a buffer containing the re-authentication identity stored in EF_WRI of the 
  1.6673 -		currently active USIM. */
  1.6674 -		TWlanUserIdentity	iReauthenticationId;
  1.6675 -		/** Holds the master key used in the process of re-authentication. */
  1.6676 -		TBuf8<KWlanMasterKeyLength>	iMasterKey;
  1.6677 -		/** A counter value to be used in the fast re-authentication. This value is provided as a 
  1.6678 -		part of a previous authentication sequence. */ 
  1.6679 -		TBuf8<KCounterLength>	iCounter; 
  1.6680 -		};
  1.6681 -			
  1.6682 -	/** Packaged version of TUsimWlanDataV8, used when this structure has to be passeed via IPC.
  1.6683 -	
  1.6684 -	@publishedPartner
  1.6685 -	@released
  1.6686 -	*/	
  1.6687 -	typedef TPckg<TUsimWlanDataV8> TUsimWlanDataV8Pckg;
  1.6688 -
  1.6689 -	IMPORT_C void SetWlanData(TRequestStatus& aReqStatus, const TDesC8& aData) const;
  1.6690 -	IMPORT_C void GetWlanData(TRequestStatus& aReqStatus, TDes8& aData) const;
  1.6691 -	IMPORT_C void NotifyWlanDataChange(TRequestStatus& aReqStatus, TDes8& aData) const;
  1.6692 -
  1.6693 -	/**
  1.6694 -	Holds a Maximum permitted size of Wlan Specific Identifier.
  1.6695 -	see section 4.4.5.4 of 31.102 v6.18.0. 
  1.6696 -	*/	
  1.6697 -	enum { KWlanSIDLength = 255 };
  1.6698 -
  1.6699 -	/**
  1.6700 -	Contains Parameters for User controlled WLAN Specific IDentifier List (EF_UWSIDL) and Operator 
  1.6701 -	controlled WLAN Specific IDentifier List(EF_OWSIDL).
  1.6702 -	See section 4.4.5.4 and 4.4.5.5 of 3GPP TS 31.102 v6.18.0.
  1.6703 -	 
  1.6704 -	@see RMobilePhone::StorePreferredWlanSIDListL
  1.6705 -	@see RMobilePhone::NotifyPreferredWlanSIDListChange
  1.6706 -	
  1.6707 -	@publishedPartner
  1.6708 -	@released 
  1.6709 -	*/
  1.6710 -	class TWlanSIDV8 : public TMultimodeType	
  1.6711 -		{
  1.6712 -	public:
  1.6713 -		IMPORT_C TWlanSIDV8();
  1.6714 -	public:
  1.6715 -		void InternalizeL(RReadStream& aStream);
  1.6716 -		void ExternalizeL(RWriteStream& aStream) const;
  1.6717 -	public:
  1.6718 -		/** Holds a buffer containing WLAN Specific Identifier (SID)*/
  1.6719 -		TBuf8<KWlanSIDLength>	iWSID;
  1.6720 -		/** Editable preferences in the User-controlled WLAN Specific IDentifier List */
  1.6721 -		TBool	iUserDefined;
  1.6722 -		};
  1.6723 -
  1.6724 -	/** Packaged version of TWlanSIDV8, used when this structure has to be passeed via IPC.
  1.6725 -	
  1.6726 -	@publishedPartner
  1.6727 -	@released
  1.6728 -	*/	
  1.6729 -	typedef TPckg<TWlanSIDV8> TWlanSIDV8Pckg;
  1.6730 -
  1.6731 -	IMPORT_C void StorePreferredWlanSIDListL(TRequestStatus& aReqStatus, CMobilePhoneStoredWlanSIDList* aList) const;
  1.6732 -	IMPORT_C void NotifyPreferredWlanSIDListChange(TRequestStatus& aReqStatus) const;	
  1.6733 -		
  1.6734 -
  1.6735 -private:
  1.6736 -	CMobilePhonePtrHolder* iMmPtrHolder;
  1.6737 -	RMobilePhone(const RMobilePhone& aPhone);
  1.6738 -
  1.6739 -protected:
  1.6740 -	IMPORT_C void ConstructL();
  1.6741 -	IMPORT_C void Destruct();
  1.6742 -	};
  1.6743 -
  1.6744 -/*********************************************************/
  1.6745 -//
  1.6746 -// Phone Storage functionality (RMobilePhoneStore)
  1.6747 -//
  1.6748 -/*********************************************************/
  1.6749 -
  1.6750 -
  1.6751 -
  1.6752 -class CMobilePhoneStorePtrHolder;
  1.6753 -class RMobilePhoneStore : public RTelSubSessionBase
  1.6754 -/**
  1.6755 -Abstract class used to define common phone storage actions and types
  1.6756 -
  1.6757 -Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore
  1.6758 -*/
  1.6759 -	{
  1.6760 -public:
  1.6761 -	friend class CAsyncRetrieveStoreList;
  1.6762 -
  1.6763 -/** Types of store.
  1.6764 -
  1.6765 -Modes: Common */
  1.6766 -	enum TMobilePhoneStoreType
  1.6767 -		{
  1.6768 -	/** Store type is unknown.
  1.6769 -	
  1.6770 -	Modes: Common */
  1.6771 -		EPhoneStoreTypeUnknown,
  1.6772 -	/** Store contains SMS messages.
  1.6773 -	
  1.6774 -	Modes: Common */
  1.6775 -		EShortMessageStore,
  1.6776 -	/** Store contains NAM entries.
  1.6777 -	
  1.6778 -	Modes: CDMA */
  1.6779 -		ENamStore,
  1.6780 -	/** Store contains PhoneBook entries.
  1.6781 -	
  1.6782 -	Modes: Common */
  1.6783 -		EPhoneBookStore,
  1.6784 -	/** Store contains emergency number entries.
  1.6785 -	
  1.6786 -	Modes: Common */
  1.6787 -		EEmergencyNumberStore,
  1.6788 -	/** Store contains own number entries.
  1.6789 -
  1.6790 -	Modes: Common */
  1.6791 -		EOwnNumberStore
  1.6792 -		};
  1.6793 -
  1.6794 -/** Store capabilities. */
  1.6795 -	enum TMobilePhoneStoreCaps
  1.6796 -		{
  1.6797 -	/** The store can be accessed as a whole using the ReadAll() and StoreAll() member
  1.6798 -	functions. */
  1.6799 -		KCapsWholeStore			= 0x80000000,
  1.6800 -	/** The store can be accessed one entry at a time using the RMobilePhoneStore::Read(), 
  1.6801 -	RMobilePhoneStore::Write() and RMobilePhoneStore::Delete() member functions. */
  1.6802 -		KCapsIndividualEntry	= 0x40000000,
  1.6803 -	/** The store can be accessed in order to read entries. */
  1.6804 -		KCapsReadAccess			= 0x20000000,
  1.6805 -	/** The store can be accessed in order to write or delete entries. */
  1.6806 -		KCapsWriteAccess		= 0x10000000,
  1.6807 -	/** The TSY supports deleting all the store entries at once. */
  1.6808 -		KCapsDeleteAll			= 0x08000000,
  1.6809 -	/** The TSY supports notification of store events such as entries added, deleted
  1.6810 -	or store becoming full. */
  1.6811 -		KCapsNotifyEvent		= 0x04000000
  1.6812 -		};
  1.6813 -
  1.6814 -/** The type of store information. As defined in TMobilePhoneStoreInfoV1::iExtensionId
  1.6815 -
  1.6816 -Modes: Common
  1.6817 -
  1.6818 -@see TMobilePhoneStoreInfoV1
  1.6819 -@see RMobilePhone::TMultimodeType */
  1.6820 -	enum TMobilePhoneStoreInfoExtId
  1.6821 -		{
  1.6822 -	/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneStore::TMobilePhoneStoreInfoV1.
  1.6823 -	Modes: Common */
  1.6824 -		KETelMobilePhoneStoreV1=KETelExtMultimodeV1,
  1.6825 -	/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneBookStore::TMobilePhoneBookInfoV1.
  1.6826 -	Modes: Common */
  1.6827 -		KETelMobilePhonebookStoreV1,
  1.6828 -	/** Reserved for SMS store specific information class.
  1.6829 -	Modes: Common */
  1.6830 -		KETelMobileSmsStoreV1,
  1.6831 -	/** The iExtensionId contents indicate that the packaged class is a RMobileNamStore::TMobileNamStoreInfoV1.
  1.6832 -	Modes: CDMA */
  1.6833 -		KETelMobileNamStoreV1,
  1.6834 -	/** The iExtensionId contents indicate that the packaged class is a RMobileONStore::TMobileONStoreInfoV1.
  1.6835 -	Modes: Common */
  1.6836 -		KETelMobileONStoreV1,
  1.6837 -	/** Reserved for Emergency Number store specific infoprmation class.
  1.6838 -	Modes: Common */
  1.6839 -		KETelMobileENStoreV1,
  1.6840 -	/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
  1.6841 -	Modes: Common */
  1.6842 -		KETelMobilePhonebookStoreV2=KETelExtMultimodeV2,
  1.6843 -		
  1.6844 -	/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
  1.6845 - 	Modes: Common */
  1.6846 - 		KETelMobilePhonebookStoreV5=KEtelExtMultimodeV5
  1.6847 -		};
  1.6848 -
  1.6849 -
  1.6850 -
  1.6851 -	class TMobilePhoneStoreInfoV1 : public RMobilePhone::TMultimodeType
  1.6852 -/** Defines information and capabilities of a phone-side store.
  1.6853 -@publishedPartner
  1.6854 -@released */
  1.6855 -		{
  1.6856 -	public:
  1.6857 -		IMPORT_C TMobilePhoneStoreInfoV1();
  1.6858 -
  1.6859 -	/** The type of entry in the phone-side store. 
  1.6860 -	
  1.6861 -	Modes: Common
  1.6862 -
  1.6863 -	@see TMobilePhoneStoreType */
  1.6864 -		TMobilePhoneStoreType		iType;
  1.6865 -	/** Indicates the total number of entries that may be held in this store. */
  1.6866 -		TInt						iTotalEntries;
  1.6867 -	/** Indicates the current number of entries held in this store.
  1.6868 -	
  1.6869 -	Is equal to KIndexNotUsed if the TSY is unable to determine current number 
  1.6870 -	of entries.
  1.6871 -	
  1.6872 -	Modes: Common */
  1.6873 -		TInt						iUsedEntries;
  1.6874 -	/** Indicates the capabilities of the store. It is the sum of caps constants defined
  1.6875 -	in TMobilePhoneStoreCaps and those defined for a specialised phone store.
  1.6876 -	
  1.6877 -	Modes: Common */
  1.6878 -		TUint32						iCaps;
  1.6879 -	/** The name of the phone-side store. A valid list of names is given in the description 
  1.6880 -	of each specialised store. 
  1.6881 -	
  1.6882 -	Modes: Common
  1.6883 -
  1.6884 -	@see RMobilePhone::TMobileName */
  1.6885 -		RMobilePhone::TMobileName	iName;
  1.6886 -		};
  1.6887 -
  1.6888 -/** A typedef'd packaged TMobilePhoneStoreInfoV1 for passing through a generic
  1.6889 -API member function. */
  1.6890 -	typedef TPckg<TMobilePhoneStoreInfoV1> TMobilePhoneStoreInfoV1Pckg;
  1.6891 -
  1.6892 -	
  1.6893 -
  1.6894 -	class TMobilePhoneStoreEntryV1 : public RMobilePhone::TMultimodeType
  1.6895 -/** Defines common contents of an entry in a phone-side store. 
  1.6896 -*/
  1.6897 -		{
  1.6898 -	public:
  1.6899 -
  1.6900 -		enum
  1.6901 -			{
  1.6902 -			KIndexNotUsed = -1
  1.6903 -			};
  1.6904 -
  1.6905 -	protected:
  1.6906 -		TMobilePhoneStoreEntryV1();
  1.6907 -	public:
  1.6908 -		void InternalizeL(RReadStream& aStream);
  1.6909 -		void ExternalizeL(RWriteStream& aStream) const;
  1.6910 -	public:
  1.6911 -	/** The slot location of the entry within phone-side storage.
  1.6912 -	
  1.6913 -	Modes: Common */
  1.6914 -		TInt  iIndex;
  1.6915 -		};
  1.6916 -
  1.6917 -	IMPORT_C void GetInfo(TRequestStatus& aReqStatus, TDes8& aInfo) const;
  1.6918 -
  1.6919 -	IMPORT_C void Read(TRequestStatus& aReqStatus, TDes8& aEntry) const;
  1.6920 -	IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aEntry) const;
  1.6921 -
  1.6922 -	IMPORT_C void Delete(TRequestStatus& aReqStatus, TInt aIndex) const;
  1.6923 -	IMPORT_C void DeleteAll(TRequestStatus& aReqStatus) const;
  1.6924 -
  1.6925 -/** The store events. It is possible for more than one event to occur at the same 
  1.6926 -time, therefore the events are a bitmask and should be tested as a bitmask.
  1.6927 -
  1.6928 -Modes: Common
  1.6929 -
  1.6930 -@see NotifyStoreEvent() */
  1.6931 -	enum TMobileStoreEvent
  1.6932 -		{
  1.6933 -	/** The store has become full. This event will trigger after the last possible 
  1.6934 -	entry in a store has been written. */
  1.6935 -		KStoreFull =0x00000001,
  1.6936 -	/** The store was full but now has some space. This event will trigger after one 
  1.6937 -	or more entries have been deleted from a full store. */
  1.6938 -		KStoreHasSpace =0x00000002,
  1.6939 -	/** The store is empty. This event will trigger after the last entry in a store 
  1.6940 -	has been deleted or if all entries are deleted at once. */
  1.6941 -		KStoreEmpty =0x00000004,
  1.6942 -	/** The store has a new entry, placed in the slot indicated by the aIndex parameter. */
  1.6943 -		KStoreEntryAdded =0x00000008,
  1.6944 -	/** The store has deleted the entry that was in the slot indicated by the aIndex 
  1.6945 -	parameter. */
  1.6946 -		KStoreEntryDeleted =0x00000010,
  1.6947 -	/** The store has changed the entry that was in the slot indicated by the aIndex 
  1.6948 -	parameter. */
  1.6949 -		KStoreEntryChanged =0x00000020,
  1.6950 -	/** The store contents have substantially changed and the TSY is recommending that 
  1.6951 -	the client performs a refresh by reading all the contents again. */
  1.6952 -		KStoreDoRefresh =0x00000040
  1.6953 -		};
  1.6954 -
  1.6955 -	IMPORT_C void NotifyStoreEvent(TRequestStatus& aReqStatus, TUint32& aEvent, TInt& aIndex) const;
  1.6956 -
  1.6957 -protected:
  1.6958 -	CMobilePhoneStorePtrHolder* iStorePtrHolder;
  1.6959 -
  1.6960 -protected:
  1.6961 -	RMobilePhoneStore();
  1.6962 -	IMPORT_C void BaseConstruct(CMobilePhoneStorePtrHolder* aPtrHolder);
  1.6963 -	IMPORT_C void Destruct();
  1.6964 -	};
  1.6965 -
  1.6966 -
  1.6967 -/*********************************************************/
  1.6968 -//
  1.6969 -// Call based functionality (RMobileCall)
  1.6970 -// 
  1.6971 -/*********************************************************/
  1.6972 -
  1.6973 -
  1.6974 -
  1.6975 -class CMobileCallPtrHolder;
  1.6976 -
  1.6977 -class RMobileCall : public RCall
  1.6978 -/** Provides access to the functionality associated with a specific mobile call.
  1.6979 -
  1.6980 -RMobileCall encapsulates access to a mobile phone. The functionality of RMobileCall 
  1.6981 -is divided into a number of functional units, for the purpose of easier documentation 
  1.6982 -and navigation and selectable support by TSY. 
  1.6983 -
  1.6984 -Note: Some RMobileCall function members must be supported by the TSY while 
  1.6985 -others are part of optional "functional unit" and only need to be supported
  1.6986 -if the TSY supports that functional unit. When a functional unit is mandatory 
  1.6987 -then the TSY should at least support the Get...Caps() member function to indicate 
  1.6988 -the member functions that are supported for this unit. 
  1.6989 - */
  1.6990 -	{
  1.6991 -public:
  1.6992 -	IMPORT_C RMobileCall();
  1.6993 -	/***********************************************************************************/
  1.6994 -	//
  1.6995 -	//  Mobile call parameters - used within Dial/Answer API
  1.6996 -	//
  1.6997 -	/***********************************************************************************/
  1.6998 -
  1.6999 -	// used to set iExtensionId in RCall::TCallParams
  1.7000 -/** The mobile call parameter extension IDs.
  1.7001 -
  1.7002 -Modes: Common */
  1.7003 -	enum TMobileCallParamsExtensionId
  1.7004 -		{
  1.7005 -	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV1. */
  1.7006 -		KETelMobileCallParamsV1=KETelExtMultimodeV1,
  1.7007 -	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV1.
  1.7008 -	
  1.7009 -	Modes: Common */
  1.7010 -		KETelMobileDataCallParamsV1,
  1.7011 -	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV1.
  1.7012 -	
  1.7013 -	Modes: GSM/WCDMA */
  1.7014 -		KETelMobileHscsdCallParamsV1,
  1.7015 -	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV2.
  1.7016 -	
  1.7017 -	Modes: Common */
  1.7018 -		KETelMobileCallParamsV2=KETelExtMultimodeV2,
  1.7019 -	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV2.
  1.7020 -	
  1.7021 -	Modes: Common */
  1.7022 -		KETelMobileDataCallParamsV2,
  1.7023 -	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV2.
  1.7024 -
  1.7025 -	Modes: GSM/WCDMA */
  1.7026 -		KETelMobileHscsdCallParamsV2,
  1.7027 -	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV7.
  1.7028 -
  1.7029 -	Modes: GSM/WCDMA */ 
  1.7030 -		KETelMobileCallParamsV7=KEtelExtMultimodeV7,
  1.7031 -	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV7.
  1.7032 -
  1.7033 -	Modes: GSM/WCDMA */
  1.7034 -		KETelMobileHscsdCallParamsV7,
  1.7035 -		
  1.7036 -	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV8.
  1.7037 -
  1.7038 -	Modes: GSM/WCDMA */
  1.7039 -		KETelMobileHscsdCallParamsV8 = KEtelExtMultimodeV8,
  1.7040 -
  1.7041 -	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV8.
  1.7042 -
  1.7043 -	Modes: GSM/WCDMA */
  1.7044 -		KETelMobileDataCallParamsV8,
  1.7045 -		
  1.7046 -	/** The iExtensionId contents indicate that the packaged class is a TEtel3rdPartyMobileCallParamsV1. 
  1.7047 -			
  1.7048 -	Modes: Common */	
  1.7049 -	KETel3rdPartyCallParamsV1=KETelExt3rdPartyV1
  1.7050 -		
  1.7051 -		};
  1.7052 -
  1.7053 -/** Caller Id restriction settings.
  1.7054 -
  1.7055 -Modes: Common
  1.7056 -
  1.7057 -@see TMobileCallParamsV1 */
  1.7058 -	enum TMobileCallIdRestriction
  1.7059 -		{
  1.7060 -	/** The default setting should be used if the user has not explicitly requested 
  1.7061 -	their identity to be restricted/allowed. */
  1.7062 -		EIdRestrictDefault,
  1.7063 -	/** The user has explicitly requested their identity to be sent for this call. */
  1.7064 -		ESendMyId,
  1.7065 -	/** The user has explicitly requested their identity not to be sent for this call. */
  1.7066 -		EDontSendMyId
  1.7067 -		};
  1.7068 -
  1.7069 -	class TMobileCallCugV1 : public RMobilePhone::TMultimodeType
  1.7070 -/** This class is used to set up a CUG (Closed User Group) call. 
  1.7071 -
  1.7072 -TMobileCallCugV1() is valid in GSM/WCDMA mode only. The client application 
  1.7073 -should set the CUG settings for the call depending on the user's choice. If
  1.7074 -the user has not explicitly requested a CUG call then this parameter should 
  1.7075 -indicate that explicit CUG invoke is false. The TSY ignores this parameter 
  1.7076 -if in CDMA mode. 
  1.7077 -*/
  1.7078 -		{
  1.7079 -	public:
  1.7080 -		IMPORT_C TMobileCallCugV1();
  1.7081 -	public:
  1.7082 -	/** A boolean indicating whether Closed User Group is being explicitly invoked by 
  1.7083 -	the client or not. If this parameter is false, the other entries in this structure 
  1.7084 -	will be ignored. */
  1.7085 -		TBool	iExplicitInvoke;
  1.7086 -	/** The Closed User Group index that the user has specified for this call (if no
  1.7087 -	index has been specified then this element will equal -1). */
  1.7088 -		TInt	iCugIndex;
  1.7089 -	/** A boolean indicating whether the user has suppressed their Outgoing Access option 
  1.7090 -	or not. */
  1.7091 -		TBool	iSuppressOA;
  1.7092 -	/** A boolean indicating whether the user has suppressed the use of their preferential 
  1.7093 -	Closed User Group or not. */
  1.7094 -		TBool	iSuppressPrefCug;
  1.7095 -		};
  1.7096 -	
  1.7097 -/** Multicall Operation set-up.
  1.7098 -
  1.7099 -Mode: WCDMA */
  1.7100 -	enum TMobileCallMulticallBearerMode
  1.7101 -		{
  1.7102 -	/** Multicall is not supported. */
  1.7103 -		EMulticallNotSupported,
  1.7104 -	/** MS will accept incoming call and establish a connection using an existing bearer. */
  1.7105 -		EMulticallShareBearer,
  1.7106 -	/** MS will accept incoming call and establish a connection by creating a new bearer. */
  1.7107 -		EMulticallNewBearer
  1.7108 -		};
  1.7109 -
  1.7110 -	/** 
  1.7111 -	 The originator of a call.
  1.7112 -	 
  1.7113 -	 @see RSat::TCallParamOrigin
  1.7114 -	 */
  1.7115 -	enum TCallParamOrigin
  1.7116 -		{
  1.7117 -		/** The call originator is unknown. */
  1.7118 -		EOriginatorUnknown,
  1.7119 -		/** The call originated/originates from the SIM. */
  1.7120 -		EOriginatorSIM,
  1.7121 -		/** The call originated/originates from an Etel Client. */
  1.7122 -		EOriginatorEtelClient,
  1.7123 -		/** The call originated/originates from an external device connected to the modem. */
  1.7124 -		EOriginatorExternal 
  1.7125 -		}; 
  1.7126 -
  1.7127 -	/** The maximum size of a sub-address.
  1.7128 -
  1.7129 -	 @see TSubAddress
  1.7130 -
  1.7131 -	 @see RSat::KSubAddressMaxSize*/
  1.7132 -	enum {KSubAddressMaxSize=21};
  1.7133 -
  1.7134 -	/** A buffer to hold the sub-address of a telephone number. 
  1.7135 -	 
  1.7136 -	 @see KSubAddressMaxSize
  1.7137 -	 
  1.7138 -	 @see RSat::TSubAddress
  1.7139 -	 */
  1.7140 -	typedef TBuf<KSubAddressMaxSize> TSubAddress;	
  1.7141 -
  1.7142 -	/** The maximum size of the 8-bit capability configuration parameter buffer.
  1.7143 -	 @see TCcp
  1.7144 -	 
  1.7145 -	 @see RSat::KCcpMaxSize
  1.7146 -	 */
  1.7147 -	enum {KCcpMaxSize=15};
  1.7148 -
  1.7149 -	/** TCcp ( Capability configuration parameters ) is an 8-bit data buffer that
  1.7150 -	contains the bearer capabilities as coded in ETSI 24.008(Ver 04.11 2003-06) and 
  1.7151 -	defined in ETSI 31.111. It is 15 bytes long as it does not include the IEI (Information 
  1.7152 -	Element Identity).
  1.7153 -	
  1.7154 -	@see TMobileCallParamsV7
  1.7155 -	
  1.7156 -	@see RSat::TCcp
  1.7157 -	*/
  1.7158 -	typedef TBuf8<KCcpMaxSize> TCcp;
  1.7159 -
  1.7160 -	/** Bearer Capability Repeat Indicator.
  1.7161 -	 
  1.7162 -	 @see TMobileCallParamsV7
  1.7163 -	 
  1.7164 -	 @see RSat::TBCRepeatIndicator
  1.7165 -	 */
  1.7166 -	enum TBCRepeatIndicator
  1.7167 -	        {
  1.7168 -	        /** The alternate mode of the Bearer Capability Repeat Indicator. */
  1.7169 -	        EBCAlternateMode,
  1.7170 -	        /** Support of fallback - mode 1 preferred, mode 2 selected if setup of mode 1 fails. */
  1.7171 -	        EBCFallbackMode,
  1.7172 -	        /** Service change and fallback - mode 1 alternate mode 2, mode 1 preferred. */
  1.7173 -	        EBCServiceChangeAndFallbackMode
  1.7174 -	        };
  1.7175 -
  1.7176 -	/** Describes the state of the icon.
  1.7177 -	    
  1.7178 -	@see TIconId
  1.7179 -	
  1.7180 -	@see RSat::TIconQualifier
  1.7181 -	*/
  1.7182 -	enum TIconQualifier
  1.7183 -	        {
  1.7184 -	        /** Icon qualifier is not set. */
  1.7185 -	        EIconQualifierNotSet,
  1.7186 -	        /** Icon is not present. */
  1.7187 -	        ENoIconId,
  1.7188 -	        /** Icon is present; It is self explanatory. 
  1.7189 -	         Display instead of the alpha ID or text string. */
  1.7190 -	        ESelfExplanatory,
  1.7191 -	        /** Icon is present; It is not self explanatory. 
  1.7192 -	         Display both the icon and the alpha ID or text string. */
  1.7193 -	        ENotSelfExplanatory
  1.7194 -	        };
  1.7195 -
  1.7196 -	/** Holds details about an icon.
  1.7197 -	
  1.7198 -	@see TMobileCallParamsV7
  1.7199 -	@see TMobileCallInfoV7
  1.7200 -	
  1.7201 -	@see RSat::TIconId
  1.7202 -	*/
  1.7203 -	struct TIconId
  1.7204 -	        {
  1.7205 -	        /** Describes the state of the icon. */
  1.7206 -	        TIconQualifier iQualifier;
  1.7207 -	        /** Icon identifier */
  1.7208 -	        TUint8 iIdentifier;
  1.7209 -	        };
  1.7210 -
  1.7211 -	/** The maximum size of the alpha ID buffer.
  1.7212 -
  1.7213 -	@see TAlphaIdBuf
  1.7214 -	
  1.7215 -	@see RSat::KAlphaIdMaxSize
  1.7216 -	*/
  1.7217 -	enum {KAlphaIdMaxSize=254};
  1.7218 -
  1.7219 -	/**
  1.7220 -	A buffer to hold an alpha identifier. 
  1.7221 -	
  1.7222 -	@see TMobileCallParamsV7
  1.7223 -	@see TMobileCallInfoV7
  1.7224 -	
  1.7225 -	@see RSat::TAlphaIdBuf
  1.7226 -	*/
  1.7227 -	typedef TBuf<KAlphaIdMaxSize> TAlphaIdBuf;
  1.7228 -	
  1.7229 -	 
  1.7230 -	class TMobileCallParamsV1 : public RCall::TCallParams
  1.7231 -/** Defines the parameters used for set-up of a call of any type. 
  1.7232 -*/
  1.7233 -		{
  1.7234 -	public:
  1.7235 -		IMPORT_C TMobileCallParamsV1();
  1.7236 -	public:
  1.7237 -	/** Call Id restriction setting to be used for this call.
  1.7238 -
  1.7239 -	@see TMobileCallIdRestriction */
  1.7240 -		TMobileCallIdRestriction iIdRestrict;
  1.7241 -	/** Closed User Group setting to be used for this call.
  1.7242 -	
  1.7243 -	@see TMobileCallCugV1 */
  1.7244 -		TMobileCallCugV1 iCug;
  1.7245 -	/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated 
  1.7246 -	redial (ETrue). */
  1.7247 -		TBool iAutoRedial;
  1.7248 -		};
  1.7249 -
  1.7250 -	/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API function 
  1.7251 -	member. */
  1.7252 -	typedef TPckg<TMobileCallParamsV1> TMobileCallParamsV1Pckg;
  1.7253 -
  1.7254 -	
  1.7255 - 
  1.7256 - 	class TMobileCallParamsV2 : public TMobileCallParamsV1
  1.7257 - 	/** Defines the parameters used for set-up of a call of any type 
  1.7258 -	for version v2.0 of the API.
  1.7259 -	A new parameter (iBearerMode) is required to support Multicall.
  1.7260 -	
  1.7261 -	@publishedPartner
  1.7262 -	@released 
  1.7263 - 	*/
  1.7264 - 		{
  1.7265 - 	public:
  1.7266 - 		IMPORT_C TMobileCallParamsV2();
  1.7267 - 	public:
  1.7268 -	/** The bearer mode. */
  1.7269 - 		TMobileCallMulticallBearerMode iBearerMode;
  1.7270 - 		};
  1.7271 - 
  1.7272 - 	/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API 
  1.7273 -	function member. */
  1.7274 - 	typedef TPckg<TMobileCallParamsV2> TMobileCallParamsV2Pckg;
  1.7275 - 
  1.7276 -
  1.7277 - 	class TMobileCallParamsV7 : public TMobileCallParamsV2
  1.7278 - 	/** Defines the parameters used for set-up of a call of any type 
  1.7279 -	for version v7.0 of the API.
  1.7280 -
  1.7281 -	@publishedPartner
  1.7282 -	@released 
  1.7283 - 	*/
  1.7284 - 		{        
  1.7285 - 	public:
  1.7286 - 		IMPORT_C TMobileCallParamsV7();
  1.7287 - 	public:
  1.7288 - 		/**
  1.7289 - 		 The origin of the call.
  1.7290 - 		 */
  1.7291 - 		TCallParamOrigin iCallParamOrigin;        
  1.7292 - 		/**
  1.7293 - 		 The sub-address of the remote party. 
  1.7294 - 		 */
  1.7295 - 		TSubAddress iSubAddress;
  1.7296 - 		/**
  1.7297 - 		 Capability configuration parameters for the first bearer.
  1.7298 - 		 */
  1.7299 - 		TCcp iBearerCap1;
  1.7300 - 		/**
  1.7301 - 		 Capability configuration parameters for the second bearer. 		  
  1.7302 - 		 */
  1.7303 - 		TCcp iBearerCap2;
  1.7304 - 		/**
  1.7305 - 		 The bearer capability repeat indicator. 
  1.7306 - 		 */
  1.7307 - 		TBCRepeatIndicator iBCRepeatIndicator;
  1.7308 - 		/**
  1.7309 - 		 The icon identifier of the icon to display.  
  1.7310 - 		 This can be used, for example, to provide 
  1.7311 - 		 graphical notification that the call is taking place.
  1.7312 - 		 
  1.7313 - 		 @see TIconQualifier
  1.7314 - 		 */	 	
  1.7315 - 		TIconId iIconId;
  1.7316 - 		/**
  1.7317 - 		 Buffer to hold the alpha identifier.  This is used to describe
  1.7318 - 		 the icon stored in iIconId if iIconId.iQualifier is set to
  1.7319 - 		 RMobileCall::ENotSelfExplanatory, 
  1.7320 - 		 RMobileCall::EIconQualifierNotSet or 
  1.7321 - 		 RMobileCall::ENoIconId.
  1.7322 - 		 */
  1.7323 -	 	TAlphaIdBuf iAlphaId;
  1.7324 - 		};
  1.7325 - 	
  1.7326 - 	/** A typedef'd packaged TMobileCallParamsV7 for passing through a generic API 
  1.7327 -	function member. */
  1.7328 - 	typedef TPckg<TMobileCallParamsV7> TMobileCallParamsV7Pckg;
  1.7329 - 	
  1.7330 -	/***********************************************************************************/
  1.7331 -	//
  1.7332 -	// Mobile Call Data Functional Unit
  1.7333 -	//
  1.7334 -	/***********************************************************************************/
  1.7335 -
  1.7336 -/** In GSM mode, maps to list of supported speeds returned in response to AT+CBST=?. 
  1.7337 -In CDMA mode, maps to data rates supported by supported service options.
  1.7338 -
  1.7339 -@see TMobileCallDataCapsV1 */
  1.7340 -	enum TMobileCallDataSpeedCaps
  1.7341 -		{
  1.7342 -	/** Call can support autobauding. */
  1.7343 -		KCapsSpeedAutobauding = 0x00000001,
  1.7344 -	/** Call can support a speed of 2400bps. */
  1.7345 -		KCapsSpeed2400  = 0x00000002,
  1.7346 -	/** Call can support a speed of 4800bps. */
  1.7347 -		KCapsSpeed4800  = 0x00000004,
  1.7348 -	/** Call can support a speed of 9600bps. */
  1.7349 -		KCapsSpeed9600  = 0x00000008,
  1.7350 -	/** Call can support a speed of 14400bps. */
  1.7351 -		KCapsSpeed14400 = 0x00000010,
  1.7352 -	/** Call can support a speed of 19200bps. */
  1.7353 -		KCapsSpeed19200 = 0x00000020,
  1.7354 -	/** Call can support a speed of 28800bps. */
  1.7355 -		KCapsSpeed28800 = 0x00000040,
  1.7356 -	/** Call can support a speed of 32000bps. */
  1.7357 -		KCapsSpeed32000 = 0x00000080,
  1.7358 -	/** Call can support a speed of 33600bps. */
  1.7359 -		KCapsSpeed33600 = 0x00000100,
  1.7360 -	/** Call can support a speed of 38400bps. */
  1.7361 -		KCapsSpeed38400 = 0x00000200,
  1.7362 -	/** Call can support a speed of 43200bps. */
  1.7363 -		KCapsSpeed43200 = 0x00000400,
  1.7364 -	/** Call can support a speed of 48000bps. */
  1.7365 -		KCapsSpeed48000 = 0x00000800,
  1.7366 -	/** Call can support a speed of 56000bps. */
  1.7367 -		KCapsSpeed56000 = 0x00001000,
  1.7368 -	/** Call can support a speed of 57600bps. */
  1.7369 -		KCapsSpeed57600 = 0x00002000,
  1.7370 -	/** Call can support a speed of 64000bps. */
  1.7371 -		KCapsSpeed64000 = 0x00004000,
  1.7372 -	/** Call can support extended data speed capabilities. This flag is reserved for 
  1.7373 -	future expansion of API and should always be set to zero. */
  1.7374 -		KCapsSpeedExtended = 0x80000000		
  1.7375 -		};
  1.7376 -
  1.7377 -/** List of supported values of the <speed> parameter returned in response to AT+CBST=?
  1.7378 -
  1.7379 -Not applicable to CDMA mode
  1.7380 -
  1.7381 -@see TMobileDataCallParamsV1 */
  1.7382 -	enum TMobileCallDataProtocolCaps
  1.7383 -		{
  1.7384 -	/** Call can support V.22bis standard
  1.7385 -	
  1.7386 -	Modes: COMMON */
  1.7387 -		KCapsProtocolV22bis = 0x00000001,
  1.7388 -	/** Call can support V.32 standard.
  1.7389 -	
  1.7390 -	Modes: COMMON */
  1.7391 -		KCapsProtocolV32 = 0x00000002,
  1.7392 -	/** Call can support V.34 standard.
  1.7393 -	
  1.7394 -	Modes: COMMON */
  1.7395 -		KCapsProtocolV34 = 0x00000004,
  1.7396 -	/** Call can support V.110 standard.
  1.7397 -	
  1.7398 -	Modes: GSM/WCDMA */
  1.7399 -		KCapsProtocolV110 = 0x00000008,
  1.7400 -	/** Call can support V.120 standard.
  1.7401 -	
  1.7402 -	Modes: GSM/WCDMA */
  1.7403 -		KCapsProtocolV120 = 0x00000010,
  1.7404 -	/** Call can support bit transparent service.
  1.7405 -	
  1.7406 -	Modes: GSM/WCDMA */
  1.7407 -		KCapsProtocolBitTransparent = 0x00000020,
  1.7408 -	/** Call can support X31 flag stuffing standard.
  1.7409 -	
  1.7410 -	Modes: GSM/WCDMA */
  1.7411 -		KCapsProtocolX31FlagStuffing = 0x00000040,
  1.7412 -	/** Call can support both PIAF standards (32000bps and 64000bps).
  1.7413 -	
  1.7414 -	Modes: GSM/WCDMA */
  1.7415 -		KCapsProtocolPIAFS = 0x00000080,
  1.7416 -	/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
  1.7417 -	with voice fallback.
  1.7418 -	
  1.7419 -	Modes: WCDMA */
  1.7420 -		KCapsPstnMultimediaVoiceFallback = 0x00000100,
  1.7421 -	/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
  1.7422 -	without voice fallback
  1.7423 -	
  1.7424 -	Modes: WCDMA */
  1.7425 -		KCapsPstnMultimedia = 0x00000200,
  1.7426 -	/** Call can support request for Multimedia protocol (3G-324M) over a call to ISDN 
  1.7427 -	(voice fallback not possible).
  1.7428 -	
  1.7429 -	Modes: WCDMA */
  1.7430 -		KCapsIsdnMultimedia = 0x00000400,
  1.7431 -	/** Call can support extended data carrier capabilities. This flag is reserved for 
  1.7432 -	future expansion and should always be set to zero for v1.0 of this API.
  1.7433 -	
  1.7434 -	Modes: COMMON */
  1.7435 -		KCapsProtocolExtended = 0x80000000
  1.7436 -		};
  1.7437 -
  1.7438 -/** In GSM mode, maps to list of supported <name> returned in response to AT+CBST=? 
  1.7439 -In CDMA mode, maps to supported service options.
  1.7440 -
  1.7441 -Modes: COMMON
  1.7442 -
  1.7443 -@see TMobileCallDataCapsV1 */
  1.7444 -	enum TMobileCallDataServiceCaps
  1.7445 -		{
  1.7446 -		KCapsDataCircuitAsynchronous = 0x00000001,
  1.7447 -		KCapsDataCircuitAsynchronousRDI = 0x00000002,
  1.7448 -		KCapsDataCircuitSynchronous = 0x00000004,
  1.7449 -		KCapsDataCircuitSynchronousRDI = 0x00000008,
  1.7450 -	/** Call can support "PAD Access (asynchronous) (UDI)".
  1.7451 -	
  1.7452 -	Modes: GSM/WCDMA */
  1.7453 -		KCapsPADAsyncUDI = 0x00000010,
  1.7454 -	/** Call can support "PAD Access (asynchronous) (RDI)"
  1.7455 -
  1.7456 -	Modes: GSM/WCDMA */
  1.7457 -		KCapsPADAsyncRDI = 0x00000020,
  1.7458 -	/** Call can support "Packet Access (synchronous) (UDI)" 
  1.7459 -	
  1.7460 -	Modes: GSM/WCDMA */
  1.7461 -		KCapsPacketAccessSyncUDI = 0x00000040,
  1.7462 -	/** Call can support "Packet Access (synchronous) (RDI)".
  1.7463 -
  1.7464 -	Modes: GSM/WCDMA */
  1.7465 -		KCapsPacketAccessSyncRDI = 0x00000080,
  1.7466 -	/** Call can support extended data service capabilities. This flag is reserved for 
  1.7467 -	future expansion of this API and should always be set to zero for v1.0 of 
  1.7468 -	this API.
  1.7469 -	
  1.7470 -	Modes: COMMON */
  1.7471 -		KCapsServiceExtended = 0x80000000
  1.7472 -		};
  1.7473 -
  1.7474 -/** Maps to list of supported <ce> returned in response to AT+CBST=?
  1.7475 -
  1.7476 -Not applicable to CDMA mode.
  1.7477 -
  1.7478 -@see TMobileCallDataCapsV1 */
  1.7479 -	enum TMobileCallDataQoSCaps
  1.7480 -		{
  1.7481 -	/** Call can support a request for "transparent only" connection. */
  1.7482 -		KCapsTransparent = 0x00000001,
  1.7483 -	/** Call can support a request for "non-transparent only" connection. */
  1.7484 -		KCapsNonTransparent = 0x00000002,
  1.7485 -	/** Call can support a request for "transparent preferred" connection. */
  1.7486 -		KCapsTransparentPreferred = 0x00000004,
  1.7487 -	/** Call can support a request for "non-transparent preferred" connection. */
  1.7488 -		KCapsNonTransparentPreferred = 0x00000008
  1.7489 -		};
  1.7490 -
  1.7491 -/** Supported Air Interface User Rates. */
  1.7492 -	enum TMobileCallAiurCodingCaps
  1.7493 -		{
  1.7494 -	/** Air interface user rate of 4.8k is supported. */
  1.7495 -		KCapsAiurCoding48 = 0x01,
  1.7496 -	/** Air interface user rate of 9.6k is supported. */
  1.7497 -		KCapsAiurCoding96 = 0x04,
  1.7498 -	/** Air interface user rate of 14.4k is supported. */
  1.7499 -		KCapsAiurCoding144 = 0x08
  1.7500 -		};
  1.7501 -
  1.7502 -/** HSCSD coding capabilities.
  1.7503 -
  1.7504 -Modes: GSM/WCDMA */
  1.7505 -	enum TMobileCallTchCodingsCaps
  1.7506 -		{
  1.7507 -	/** Call supports HSCSD coding on 4.8K full rate data traffic channel. */
  1.7508 -		KCapsTchCoding48  = 0x00000001,
  1.7509 -	/** Call supports HSCSD coding on 9.6K full rate data traffic channel. */
  1.7510 -		KCapsTchCoding96  = 0x00000004,
  1.7511 -	/** Call supports HSCSD coding on 14.4K full rate data traffic channel. */
  1.7512 -		KCapsTchCoding144 = 0x00000008,
  1.7513 -	/** Call supports HSCSD coding on 28.8K full rate data traffic channel (only possible 
  1.7514 -	when 14.4K is supported). */
  1.7515 -		KCapsTchCoding288 = 0x00000010,
  1.7516 -	/** Call supports HSCSD coding on 32.0K full rate data traffic channel (only possible 
  1.7517 -	in a two-timeslot configuration). */
  1.7518 -		KCapsTchCoding320 = 0x00000020,
  1.7519 -	/** Call supports HSCSD coding on 43.2K full rate data traffic channel (only possible 
  1.7520 -	when 14.4K is supported). */
  1.7521 -		KCapsTchCoding432 = 0x00000040
  1.7522 -		};
  1.7523 -
  1.7524 -/** The call asymmetry capabilities.
  1.7525 -
  1.7526 -Modes: GSM/WCDMA
  1.7527 -
  1.7528 -@see TMobileCallDataCapsV1 */
  1.7529 -	enum TMobileCallAsymmetryCaps
  1.7530 -		{
  1.7531 -	/** Call supports "No Preference" option for asymmetry bias of a Non-Transparent
  1.7532 -	ECSD call. */
  1.7533 -		KCapsAsymmetryNoPreference= 0x00000001,
  1.7534 -	/** Call supports "Downlink bias" option for asymmetry bias of a Non-Transparent 
  1.7535 -	ECSD call. 
  1.7536 -	
  1.7537 -	This means 8-PSK modulation is preferred downlink and GMSK modulation uplink. */
  1.7538 -		KCapsAsymmetryDownlink = 0x00000002,
  1.7539 -	/** Call supports "Uplink bias" option for asymmetry bias of a Non-Transparent ECSD 
  1.7540 -	call. 
  1.7541 -	
  1.7542 -	This means 8-PSK modulation is preferred uplink and GMSK modulation downlink. */
  1.7543 -		KCapsAsymmetryUplink = 0x00000004
  1.7544 -		};
  1.7545 -
  1.7546 -/** The supported Call RLP versions.
  1.7547 -
  1.7548 -Modes: GSM/WCDMA
  1.7549 -
  1.7550 -@see TMobileCallDataCapsV1 */
  1.7551 -	enum TMobileCallRLPVersionCaps
  1.7552 -		{
  1.7553 -	/** Call supports the single link, basic RLP version 0. */
  1.7554 -		KCapsRLPSingleLinkVersion0 = 0x00000001,
  1.7555 -	/** Call supports the single link, extended RLP version 1. */
  1.7556 -		KCapsRLPSingleLinkVersion1 = 0x00000002,
  1.7557 -	/** Call supports the multi link, RLP version 2. */
  1.7558 -		KCapsRLPMultiLinkVersion2  = 0x00000004
  1.7559 -		};
  1.7560 -
  1.7561 -/** The supported V42bis options.
  1.7562 -
  1.7563 -Modes: GSM/WCDMA
  1.7564 -
  1.7565 -@see TMobileCallDataCapsV1 */
  1.7566 -	enum TMobileCallV42bisCaps
  1.7567 -		{
  1.7568 -	/** Call supports V42bis compression in initiator-responder direction. */
  1.7569 -		KCapsV42bisTxDirection = 0x00000001,
  1.7570 -	/** Call supports V42bis compression in responder-initiator direction. */
  1.7571 -		KCapsV42bisRxDirection = 0x00000002,
  1.7572 -	/** Call supports V42bis compression in both directions. */
  1.7573 -		KCapsV42bisBothDirections = 0x00000004
  1.7574 -		};
  1.7575 -
  1.7576 -	
  1.7577 -
  1.7578 -	class TMobileCallDataCapsV1 : public RMobilePhone::TMultimodeType
  1.7579 -	/** Defines the capabilities of a circuit switched data call. 
  1.7580 -	@publishedPartner
  1.7581 -	@released
  1.7582 -	*/
  1.7583 -		{
  1.7584 -	public:
  1.7585 -		IMPORT_C TMobileCallDataCapsV1();
  1.7586 -	public:
  1.7587 -	/** Data speed capabilities - a bit wise sum of the caps defined in TMobileCallDataSpeedCaps. */
  1.7588 -		TUint32	iSpeedCaps;
  1.7589 -	/** Data protocol capabilities - a bit wise sum of the caps defined in TMobileCallDataProtocolCaps. */
  1.7590 -		TUint32	iProtocolCaps;
  1.7591 -	/** Data service capabilities - a bit wise sum of the caps defined in TMobileCallDataServiceCaps. */
  1.7592 -		TUint32	iServiceCaps;
  1.7593 -	/** Data QoS capabilities - a bit wise sum of the caps defined in TMobileCallDataQoSCaps.
  1.7594 -	
  1.7595 -	Note: Only available in GSM/WCDMA mode. */
  1.7596 -		TUint32	iQoSCaps;
  1.7597 -	/** A boolean indicating whether or not the MS supports HSCSD for this call. If 
  1.7598 -	this attribute equals EFalse all the following attributes are invalid.
  1.7599 -
  1.7600 -	Note: Only available in GSM/WCDMA mode. */
  1.7601 -		TBool	iHscsdSupport;
  1.7602 -	/** For HSCSD: The multi-slot class supported. */
  1.7603 -		TInt	iMClass;
  1.7604 -	/** For HSCSD: The maximum supported number of time-slots in the receive (down-link) 
  1.7605 -	direction. */
  1.7606 -		TInt	iMaxRxTimeSlots;
  1.7607 -	/** For HSCSD: The maximum supported number of time-slots in the transmit (up-link) 
  1.7608 -	direction. */
  1.7609 -		TInt	iMaxTxTimeSlots;
  1.7610 -	/** For HSCSD: The maximum supported total number of receive and transmit time-slots 
  1.7611 -	that can be used at same time. */
  1.7612 -		TInt	iTotalRxTxTimeSlots;
  1.7613 -	/** For HSCSD: A bit-wise sum of the supported air interface channel codings defined 
  1.7614 -	in TMobileCallAiurCodingCaps. */
  1.7615 -		TUint32	iCodingCaps;
  1.7616 -	/** For HSCSD: A bit-wise sum of the supported asymmetry bias defined in TMobileCallAsymmetryCaps. */
  1.7617 -		TUint32 iAsymmetryCaps;
  1.7618 -	/** For HSCSD: A boolean indicating whether or not the MS supports automatic user 
  1.7619 -	initiated service level upgrading. */
  1.7620 -		TBool 	iUserInitUpgrade;
  1.7621 -	/** For HSCSD and CSD: A bit-wise sum of the supported Radio Link Protocol versions 
  1.7622 -	defined in TMobileCallRLPVersionCaps. */
  1.7623 -		TUint32	iRLPVersionCaps;
  1.7624 -	/** For HSCSD and CSD: A bit-wise sum of the supported V42bis compression capabilities 
  1.7625 -	defined in TMobileCallV42bisCaps . */
  1.7626 -		TUint32	iV42bisCaps;
  1.7627 -		};
  1.7628 -
  1.7629 -/** A typedef'd packaged TMobileCallDataCapsV1 for passing through a generic API 
  1.7630 -function member. */
  1.7631 -	typedef TPckg<TMobileCallDataCapsV1> TMobileCallDataCapsV1Pckg;
  1.7632 -
  1.7633 -	IMPORT_C TInt GetMobileDataCallCaps(TDes8& aCaps) const;
  1.7634 -	IMPORT_C void NotifyMobileDataCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
  1.7635 -
  1.7636 -/** The call setup requested data speed.
  1.7637 -
  1.7638 -@see TMobileDataCallParamsV1 */
  1.7639 -	enum TMobileCallDataSpeed
  1.7640 -		{
  1.7641 -	/** Call set-up will request speed depending on data carrier chosen. */
  1.7642 -		ESpeedUnspecified,
  1.7643 -	/** Call set-up will request autobauding. */
  1.7644 -		ESpeedAutobauding,
  1.7645 -	/** Call set-up will request 2400bps. */
  1.7646 -		ESpeed2400,
  1.7647 -	/** Call set-up will request 4800bps. */
  1.7648 -		ESpeed4800,
  1.7649 -	/** Call set-up will request 9600bps. */
  1.7650 -		ESpeed9600,
  1.7651 -	/** Call set-up will request 14400bps. */
  1.7652 -		ESpeed14400,
  1.7653 -	/** Call set-up will request 19200bps. */
  1.7654 -		ESpeed19200,
  1.7655 -	/** Call set-up will request 28800bps. */
  1.7656 -		ESpeed28800,
  1.7657 -	/** Call set-up will request 32000bps. */
  1.7658 -		ESpeed32000,
  1.7659 -	/** Call set-up will request 33600bps. */
  1.7660 -		ESpeed33600,
  1.7661 -	/** Call set-up will request 38400bps. */
  1.7662 -		ESpeed38400,
  1.7663 -	/** Call set-up will request 43200bps. */
  1.7664 -		ESpeed43200,
  1.7665 -	/** Call set-up will request 48000bps. */
  1.7666 -		ESpeed48000,
  1.7667 -	/** Call set-up will request 56000bps. */
  1.7668 -		ESpeed56000,
  1.7669 -	/** Call set-up will request 57600bps. */
  1.7670 -		ESpeed57600,
  1.7671 -	/** Call set-up will request 64000bps. */
  1.7672 -		ESpeed64000
  1.7673 -		};
  1.7674 -
  1.7675 -/** The call set-up requested data protocol.
  1.7676 -
  1.7677 -Modes: GSM/WCDMA */
  1.7678 -	enum TMobileCallDataProtocol
  1.7679 -		{
  1.7680 -	/** Call set-up will request carrier depending on data speed chosen. */
  1.7681 -		EProtocolUnspecified,
  1.7682 -	/** Call set-up will request the V.22bis standard. */
  1.7683 -		EProtocolV22bis,
  1.7684 -	/** Call set-up will request the V.32 standard. */
  1.7685 -		EProtocolV32,
  1.7686 -	/** Call set-up will request the V.34 standard. */
  1.7687 -		EProtocolV34,
  1.7688 -	/** Call set-up will request the V.110 standard. */
  1.7689 -		EProtocolV110,
  1.7690 -	/** Call set-up will request the V.120 standard. */
  1.7691 -		EProtocolV120,
  1.7692 -	/** Call set-up will request the X31FlagStuffing standard. */
  1.7693 -		EProtocolX31FlagStuffing,
  1.7694 -	/** Call set-up will request the PIAFS standard. */
  1.7695 -		EProtocolPIAFS,
  1.7696 -	/** Call set-up will request the bit transparent service. */
  1.7697 -		EProtocolBitTransparent,
  1.7698 -	/** Call set-up will request a PSTN multimedia call with voice fallback if multimedia 
  1.7699 -	fails.
  1.7700 -	
  1.7701 -	WCDMA mode only. */
  1.7702 -		EProtocolPstnMultimediaVoiceFallback,
  1.7703 -	/** Call set-up will request a PSTN multimedia call.
  1.7704 -	
  1.7705 -	WCDMA mode only. */
  1.7706 -		EProtocolPstnMultimedia,
  1.7707 -	/** Call set-up will request a ISDN multimedia call.
  1.7708 -	
  1.7709 -	WCDMA mode only. */
  1.7710 -		EProtocolIsdnMultimedia
  1.7711 -		};
  1.7712 -
  1.7713 -/** The call setup requested data services.
  1.7714 -
  1.7715 -Modes: Common
  1.7716 -
  1.7717 -@see TMobileDataCallParamsV1 */
  1.7718 -	enum TMobileCallDataService
  1.7719 -		{
  1.7720 -	/** Call set-up will request its default service type.
  1.7721 -	
  1.7722 -	Modes: Common */
  1.7723 -		EServiceUnspecified,
  1.7724 -	/** Call set-up will request:
  1.7725 -	
  1.7726 -	GSM mode - Data circuit asynchronous (UDI or 3.1 KHz, ex PLMN) service 
  1.7727 -
  1.7728 -	In CDMA mode - Async Data service 
  1.7729 -	
  1.7730 -	Modes: Common */
  1.7731 -		EServiceDataCircuitAsync,
  1.7732 -	/** Call set-up will request Data circuit asynchronous (RDI) service.
  1.7733 -	
  1.7734 -	Modes: GSM/WCDMA */
  1.7735 -		EServiceDataCircuitAsyncRdi,
  1.7736 -	/** Call set-up will request Data circuit synchronous (UDI or 3.1 KHz, ex PLMN) 
  1.7737 -	service.
  1.7738 -	
  1.7739 -	Modes: GSM/WCDMA */
  1.7740 -		EServiceDataCircuitSync,
  1.7741 -	/** Call set-up will request Data circuit synchronous (RDI) service.
  1.7742 -	
  1.7743 -	Modes: GSM/WCDMA */
  1.7744 -		EServiceDataCircuitSyncRdi,
  1.7745 -	/** Call set-up will request PAD asynchronous (UDI) service.
  1.7746 -	
  1.7747 -	Modes: GSM/WCDMA */
  1.7748 -		EServicePADAsyncUDI,
  1.7749 -	/** Call set-up will request PAD asynchronous (RDI) service.
  1.7750 -	
  1.7751 -	Modes: GSM/WCDMA */
  1.7752 -		EServicePADAsyncRDI,
  1.7753 -	/** Call set-up will request Packet Access synchronous (UDI) service.
  1.7754 -	
  1.7755 -	Modes: GSM/WCDMA */
  1.7756 -		EServicePacketAccessSyncUDI,
  1.7757 -	/** Call set-up will request Packet Access synchronous (RDI) service.
  1.7758 -	
  1.7759 -	Modes: GSM/WCDMA */
  1.7760 -		EServicePacketAccessSyncRDI
  1.7761 -		};
  1.7762 -
  1.7763 -/** The call set-up requested quality of service (QoS).
  1.7764 -
  1.7765 -Modes: GSM/WCDMA
  1.7766 -
  1.7767 -@see TMobileDataCallParamsV1 */
  1.7768 -	enum TMobileCallDataQoS
  1.7769 -		{
  1.7770 -	/** Call set-up will request its default connection. */
  1.7771 -		EQoSUnspecified,
  1.7772 -	/** Call set-up will request a transparent connection. */
  1.7773 -		EQoSTransparent,
  1.7774 -	/** Call set-up will request a non-transparent connection. */
  1.7775 -		EQoSNonTransparent,
  1.7776 -	/** Call set-up will prefer a transparent connection. */
  1.7777 -		EQosTransparentPreferred,
  1.7778 -	/** Call set-up will prefer a non-transparent connection. */
  1.7779 -		EQosNonTransparentPreferred
  1.7780 -		};
  1.7781 -
  1.7782 -/** The call set-up requested RLP version.
  1.7783 -
  1.7784 -@see TMobileDataCallParamsV1 */
  1.7785 -	enum TMobileCallDataRLPVersion
  1.7786 -		{
  1.7787 -	/** Call set-up will request no RLP version. */
  1.7788 -		ERLPNotRequested,
  1.7789 -	/** Call set-up will request single link basic RLP (version 0). */
  1.7790 -		ERLPSingleLinkVersion0,
  1.7791 -	/** Call set-up will request single link extended RLP (version 1). */
  1.7792 -		ERLPSingleLinkVersion1,
  1.7793 -	/** Call set-up will prefer multi link RLP (version 2). */
  1.7794 -		ERLPMultiLinkVersion2
  1.7795 -		};
  1.7796 -
  1.7797 -/** The V.42bis parameters used in the call set-up of a V.42bis data call.
  1.7798 -
  1.7799 -@see TMobileDataCallParamsV1 */
  1.7800 -	enum TMobileCallDataV42bis
  1.7801 -		{
  1.7802 -	/** Call set-up will not request V.42bis compression. */
  1.7803 -		EV42bisNeitherDirection,
  1.7804 -	/** Call set-up will request V.42bis compression in initiator-responder direction 
  1.7805 -	only. */
  1.7806 -		EV42bisTxDirection,
  1.7807 -	/** Call set-up will request V.42bis compression in responder-initiator direction 
  1.7808 -	only. */
  1.7809 -		EV42bisRxDirection,
  1.7810 -	/** Call set-up will request V.42bis compression in both directions. */
  1.7811 -		EV42bisBothDirections
  1.7812 -		};
  1.7813 -
  1.7814 -	
  1.7815 -	
  1.7816 -
  1.7817 -	class TMobileDataCallParamsV1 : public TMobileCallParamsV1
  1.7818 -/** Defines the parameters used for setup of a circuit switched data call. 
  1.7819 -*/
  1.7820 -		{
  1.7821 -	public:
  1.7822 -		IMPORT_C TMobileDataCallParamsV1();
  1.7823 -	public:
  1.7824 -	/** The type of data service.
  1.7825 -	
  1.7826 -	@see TMobileCallDataService */
  1.7827 -		TMobileCallDataService iService;
  1.7828 -	/** The data transfer rate.
  1.7829 -
  1.7830 -	@see TMobileCallDataSpeed */
  1.7831 -		TMobileCallDataSpeed iSpeed;
  1.7832 -	/** The ITU-T standard modulation protocol or higher application protocol. */
  1.7833 -		TMobileCallDataProtocol iProtocol;
  1.7834 -	/** The quality of data service.
  1.7835 -	
  1.7836 -	@see TMobileCallDataQoS */
  1.7837 -		TMobileCallDataQoS iQoS;
  1.7838 -	/** The version of Radio Link Protocol.
  1.7839 -	
  1.7840 -	Modes: GSM/WCDMA
  1.7841 -	
  1.7842 -	@see TMobileCallDataRLPVersion */
  1.7843 -		TMobileCallDataRLPVersion iRLPVersion;
  1.7844 -	/** The IWF to MS windows size.
  1.7845 -	
  1.7846 -	Modes: GSM/WCDMA */
  1.7847 -		TInt iModemToMSWindowSize;
  1.7848 -	/** The MS window to IWF size.
  1.7849 -	
  1.7850 -	Modes: GSM/WCDMA */
  1.7851 -		TInt iMSToModemWindowSize;
  1.7852 -	/** The acknowledgement timer.
  1.7853 -	
  1.7854 -	Modes: GSM/WCDMA */
  1.7855 -		TInt iAckTimer;
  1.7856 -	/** The number of retransmission attempts.
  1.7857 -	
  1.7858 -	Modes: GSM/WCDMA */
  1.7859 -		TInt iRetransmissionAttempts;
  1.7860 -	/** The resequencing period in integer format.
  1.7861 -	
  1.7862 -	Modes: GSM/WCDMA */
  1.7863 -		TInt iResequencingPeriod;
  1.7864 -	/** The V42bis compression request parameter.
  1.7865 -	
  1.7866 -	@see TMobileCallDataV42bis */
  1.7867 -		TMobileCallDataV42bis iV42bisReq;
  1.7868 -	/** The number of codewords in the algorithm. */
  1.7869 -		TInt iV42bisCodewordsNum;
  1.7870 -	/** The maximum encodable data string length. */
  1.7871 -		TInt iV42bisMaxStringLength;
  1.7872 -		TBool iUseEdge; // True for ECSD
  1.7873 -		};
  1.7874 -
  1.7875 -/** A typedef'd packaged TMobileDataCallParamsV1 for passing through a generic API 
  1.7876 -function member. */
  1.7877 -	typedef TPckg<TMobileDataCallParamsV1> TMobileDataCallParamsV1Pckg;
  1.7878 -
  1.7879 -	class TMobileDataCallParamsV2 : public TMobileDataCallParamsV1
  1.7880 -/** Defines the parameters used for setup of a circuit switched data call for version 
  1.7881 -v2.0 of the API. 
  1.7882 -*/
  1.7883 -		{
  1.7884 -	public:
  1.7885 -		IMPORT_C TMobileDataCallParamsV2();
  1.7886 -	public:
  1.7887 -	/** The bearer mode. */
  1.7888 -		TMobileCallMulticallBearerMode iBearerMode;
  1.7889 -		};
  1.7890 -
  1.7891 -/** A typedef'd packaged TMobileDataCallParamsV2 for passing through a generic 
  1.7892 -API function member. */
  1.7893 -	typedef TPckg<TMobileDataCallParamsV2> TMobileDataCallParamsV2Pckg;
  1.7894 -
  1.7895 -	class TMobileDataCallParamsV8 : public TMobileDataCallParamsV2
  1.7896 -	/** Defines the parameters used for setup of a circuit switched data call for version 
  1.7897 -	v8.0 of the API. 
  1.7898 -	*/
  1.7899 -		{
  1.7900 -	public:
  1.7901 -		IMPORT_C TMobileDataCallParamsV8();
  1.7902 -	public:
  1.7903 -	/** The origin of the call.
  1.7904 -		
  1.7905 -		@see TCallParamOrigin */
  1.7906 -		TCallParamOrigin iCallParamOrigin;
  1.7907 -	
  1.7908 -	/** The sub-address of the remote party.
  1.7909 -	 	
  1.7910 -	 	@see TSubAddress */
  1.7911 -		TSubAddress iSubAddress;
  1.7912 -	
  1.7913 -	/** Capability configuration parameters for the first bearer. 	 	
  1.7914 -		
  1.7915 -		@see TCcp */
  1.7916 -		TCcp iBearerCap1;
  1.7917 -	
  1.7918 -	/** Capability configuration parameters for the second bearer.
  1.7919 -		
  1.7920 -		@see TCcp */
  1.7921 -		TCcp iBearerCap2;
  1.7922 -	
  1.7923 -	/** The bearer capability repeat indicator. 
  1.7924 -		
  1.7925 -		@see TBCRepeatIndicator */
  1.7926 -		TBCRepeatIndicator iBCRepeatIndicator;
  1.7927 -	
  1.7928 -	/**	The icon identifier of the icon to display.  
  1.7929 -		This can be used, for example, to provide 
  1.7930 -		graphical notification that the call is taking place.
  1.7931 -		 
  1.7932 -		@see TIconQualifier
  1.7933 -		*/	 	
  1.7934 -		TIconId iIconId;
  1.7935 -		
  1.7936 -	/** Buffer to hold the alpha identifier.  This is used to describe
  1.7937 -		the icon stored in iIconId if iIconId.iQualifier is set to
  1.7938 -		RMobileCall::ENotSelfExplanatory, 
  1.7939 -		RMobileCall::EIconQualifierNotSet or 
  1.7940 -		*/
  1.7941 -	 	TAlphaIdBuf iAlphaId;
  1.7942 -		};
  1.7943 -
  1.7944 -/** A typedef'd packaged TMobileDataCallParamsV8 for passing through a generic 
  1.7945 -API function member. */
  1.7946 -	typedef TPckg<TMobileDataCallParamsV8> TMobileDataCallParamsV8Pckg;
  1.7947 -	
  1.7948 -/** The Air interface user rate.
  1.7949 -
  1.7950 -Modes: GSM/WCDMA. */
  1.7951 -	enum TMobileCallAiur
  1.7952 -		{
  1.7953 -	/** Air interface user rate is not set. */
  1.7954 -		EAiurBpsUnspecified,
  1.7955 -	/** Air interface user rate of 9.6Kbps. */
  1.7956 -		EAiurBps9600,
  1.7957 -	/** Air interface user rate of 14.4Kbps. */
  1.7958 -		EAiurBps14400,
  1.7959 -	/** Air interface user rate of 19.2Kbps. */
  1.7960 -		EAiurBps19200,
  1.7961 -	/** Air interface user rate of 28.8Kbps. */
  1.7962 -		EAiurBps28800,
  1.7963 -	/** Air interface user rate of 38.4Kbps. */
  1.7964 -		EAiurBps38400,
  1.7965 -	/** Air interface user rate of 43.2Kbps. */
  1.7966 -		EAiurBps43200,
  1.7967 -	/** Air interface user rate of 57.6Kbps. */
  1.7968 -		EAiurBps57600
  1.7969 -		};
  1.7970 -
  1.7971 -/** Call Asymmetry preferences.
  1.7972 -
  1.7973 -Modes: GSM/WCDMA
  1.7974 -
  1.7975 -@see TMobileHscsdCallParamsV1 */
  1.7976 -	enum TMobileCallAsymmetry
  1.7977 -		{
  1.7978 -	/** There is no preference for Asymmetry Bias. */
  1.7979 -		EAsymmetryNoPreference,
  1.7980 -	/** Downlink Bias is preferred. */
  1.7981 -		EAsymmetryDownlink,
  1.7982 -	/** Uplink Bias is preferred. */
  1.7983 -		EAsymmetryUplink
  1.7984 -		};
  1.7985 -
  1.7986 -/** The call channel coding used.
  1.7987 -
  1.7988 -Modes: GSM/WCDMA */
  1.7989 -	enum TMobileCallTchCoding
  1.7990 -		{
  1.7991 -	/** Channel coding is unspecified. */
  1.7992 -		ETchCodingUnspecified,
  1.7993 -	/** 4.8K full rate data traffic channel is used. */
  1.7994 -		ETchCoding48,
  1.7995 -	/** 9.6K full rate data traffic channel is used. */
  1.7996 -		ETchCoding96,
  1.7997 -	/** 14.4K full rate data traffic channel is used. */
  1.7998 -		ETchCoding144,
  1.7999 -	/** 28.8K full rate data traffic channel is used. */
  1.8000 -		ETchCoding288,
  1.8001 -	/** 32.0K full rate data traffic channel is used. */
  1.8002 -		ETchCoding320,
  1.8003 -	/** 43.2K full rate data traffic channel is used. */
  1.8004 -		ETchCoding432
  1.8005 -		};
  1.8006 -
  1.8007 -	
  1.8008 -
  1.8009 -	class TMobileDataRLPRangesV1 : public RMobilePhone::TMultimodeType
  1.8010 -/** Defines the parameters for minimum and maximum RLP parameter ranges.
  1.8011 -
  1.8012 -Modes: GSM/WCDMA 
  1.8013 -
  1.8014 -*/
  1.8015 -		{
  1.8016 -	public:
  1.8017 -		IMPORT_C TMobileDataRLPRangesV1();
  1.8018 -	public:
  1.8019 -	/** Maximum modem to MS window size value. */
  1.8020 -		TInt  iIWSMax;
  1.8021 -	/** Minimum modem to MS window size value. */
  1.8022 -		TInt  iIWSMin;
  1.8023 -	/** Maximum MS to modem window size value. */
  1.8024 -		TInt  iMWSMax;
  1.8025 -	/** Minimum MS to modem window size value. */
  1.8026 -		TInt  iMWSMin;
  1.8027 -	/** Maximum acknowledgement timer value. */
  1.8028 -		TInt  iT1Max;
  1.8029 -	/** Minimum acknowledgement timer value. */
  1.8030 -		TInt  iT1Min;
  1.8031 -	/** Maximum retransmission attempts value. */
  1.8032 -		TInt  iN2Max;
  1.8033 -	/** Minimum retransmission attempts value. */
  1.8034 -		TInt  iN2Min;
  1.8035 -	/** Maximum resequencing period value. */
  1.8036 -		TInt  iT4Max;
  1.8037 -	/** Minimum resequencing period value. */
  1.8038 -		TInt  iT4Min;
  1.8039 -		};
  1.8040 -
  1.8041 -/** A typedef'd packaged TMobileDataRLPRangesV1 for passing through a generic API 
  1.8042 -function member. */
  1.8043 -	typedef TPckg<TMobileDataRLPRangesV1> TMobileDataRLPRangesV1Pckg;
  1.8044 -
  1.8045 -	IMPORT_C void GetMobileDataCallRLPRange(TRequestStatus& aReqStatus, TInt aRLPVersion, TDes8& aRLPRange) const;
  1.8046 -	
  1.8047 -	class TMobileHscsdCallParamsV1 : public TMobileDataCallParamsV1
  1.8048 -/** The High Speed Circuit Switched Data parameters. 
  1.8049 -*/
  1.8050 -		{
  1.8051 -	public:
  1.8052 -		IMPORT_C TMobileHscsdCallParamsV1();
  1.8053 -	public:
  1.8054 -	/** The wanted Air Interface Rate for the HSCSD call being set-up.
  1.8055 -	
  1.8056 -	Modes: GSM/WCDMA
  1.8057 -
  1.8058 -	@see TMobileCallAiur */
  1.8059 -		TMobileCallAiur	iWantedAiur;
  1.8060 -	/** The wanted number of receive timeslots for the HSCSD call being set-up.
  1.8061 -	
  1.8062 -	Modes: GSM/WCDMA */
  1.8063 -		TInt iWantedRxTimeSlots;
  1.8064 -		TInt iMaxTimeSlots;
  1.8065 -	/** Bit-wise sum of acceptable air interface channel codings TMobileCallAiurCodingCaps 
  1.8066 -	for the HSCSD call being set-up.
  1.8067 -	
  1.8068 -	Modes: GSM/WCDMA */
  1.8069 -		TUint iCodings;
  1.8070 -	/** The wanted asymmetry bias for the HSCSD call being set-up.
  1.8071 -	
  1.8072 -	Modes: GSM/WCDMA
  1.8073 -	
  1.8074 -	@see TMobileCallAsymmetry */
  1.8075 -		TMobileCallAsymmetry  iAsymmetry;
  1.8076 -	/** A boolean indicating whether or not automatic user initiated service level upgrading 
  1.8077 -	is active for the HSCSD call being set-up. ETrue means enabled, EFalse means 
  1.8078 -	disabled.
  1.8079 -	
  1.8080 -	Modes: GSM/WCDMA */
  1.8081 -		TBool iUserInitUpgrade;
  1.8082 -		};
  1.8083 -
  1.8084 -/** A typedef'd packaged TMobileHscsdCallParamsV1 for passing through a generic 
  1.8085 -API function member. */
  1.8086 -	typedef TPckg<TMobileHscsdCallParamsV1> TMobileHscsdCallParamsV1Pckg;
  1.8087 -
  1.8088 -	class TMobileHscsdCallParamsV2 : public TMobileHscsdCallParamsV1
  1.8089 -/** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v2.0 
  1.8090 -of the API. 
  1.8091 -
  1.8092 -*/
  1.8093 -		{
  1.8094 -	public:
  1.8095 -		IMPORT_C TMobileHscsdCallParamsV2();
  1.8096 -	public:
  1.8097 -	/** The bearer mode. */
  1.8098 -		TMobileCallMulticallBearerMode iBearerMode;
  1.8099 -		};
  1.8100 -
  1.8101 -/** A typedef'd packaged TMobileHscsdCallParamsV2 for passing through a generic 
  1.8102 -API function member. */
  1.8103 -	typedef TPckg<TMobileHscsdCallParamsV2> TMobileHscsdCallParamsV2Pckg;
  1.8104 -
  1.8105 -	
  1.8106 -	class TMobileHscsdCallParamsV7 : public TMobileHscsdCallParamsV2
  1.8107 -	/** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v7.0
  1.8108 -	of the API. 
  1.8109 -	*/
  1.8110 -			{
  1.8111 -		public:
  1.8112 -			IMPORT_C TMobileHscsdCallParamsV7();
  1.8113 -		public:
  1.8114 -			/** The originator of the call. */
  1.8115 -			TCallParamOrigin iCallParamOrigin;
  1.8116 -	 		/**
  1.8117 -	 		 The icon identifier of the icon to display.  
  1.8118 -	 		 This can be used, for example, to provide 
  1.8119 -	 		 graphical notification that the call is taking place.
  1.8120 -	 		 
  1.8121 -	 		 @see TIconQualifier
  1.8122 -	 		 */	 	
  1.8123 -	 		TIconId iIconId;
  1.8124 -	 		/**
  1.8125 -	 		 Buffer to hold the alpha identifier.  This is used to describe
  1.8126 -	 		 the icon stored in iIconId if iIconId.iQualifier is set to
  1.8127 -	 		 RMobileCall::ENotSelfExplanatory, 
  1.8128 -	 		 RMobileCall::EIconQualifierNotSet or 
  1.8129 -	 		 RMobileCall::ENoIconId.
  1.8130 -	 		 */
  1.8131 -		 	TAlphaIdBuf iAlphaId;
  1.8132 -			};
  1.8133 -
  1.8134 -	/** A typedef'd packaged TMobileHscsdCallParamsV7 for passing through a generic 
  1.8135 -	API function member. */
  1.8136 -	typedef TPckg<TMobileHscsdCallParamsV7> TMobileHscsdCallParamsV7Pckg;
  1.8137 -	
  1.8138 -	class TMobileHscsdCallParamsV8 : public TMobileHscsdCallParamsV7
  1.8139 -		/** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v8.0
  1.8140 -		of the API. 
  1.8141 -		*/
  1.8142 -			{
  1.8143 -		public:
  1.8144 -			IMPORT_C TMobileHscsdCallParamsV8();
  1.8145 -		public:
  1.8146 -		
  1.8147 -			/** The sub-address of the remote party.
  1.8148 -				
  1.8149 -			@see TSubAddress */
  1.8150 -			TSubAddress iSubAddress;
  1.8151 -			
  1.8152 -	 		/** Capability configuration parameters for the first bearer. 
  1.8153 -			
  1.8154 -			@see TCcp */
  1.8155 -	 		TCcp iBearerCap1;
  1.8156 -	 		
  1.8157 -	 		/** Capability configuration parameters for the second bearer. 	
  1.8158 -	 		
  1.8159 -	 		@see TCcp */
  1.8160 -	 		TCcp iBearerCap2;
  1.8161 -	 		
  1.8162 -	 		/** The bearer capability repeat indicator. 
  1.8163 -	 		
  1.8164 -	 		@see TBCRepeatIndicator */
  1.8165 -		 	TBCRepeatIndicator iBCRepeatIndicator;
  1.8166 -			};
  1.8167 -
  1.8168 -	/** A typedef'd packaged TMobileHscsdCallParamsV8 for passing through a generic 
  1.8169 -	API function member. */
  1.8170 -	typedef TPckg<TMobileHscsdCallParamsV8> TMobileHscsdCallParamsV8Pckg;
  1.8171 -	
  1.8172 -	IMPORT_C void SetDynamicHscsdParams(TRequestStatus& aReqStatus, TMobileCallAiur aAiur, TInt aRxTimeslots) const;
  1.8173 -
  1.8174 -	class TMobileCallHscsdInfoV1 : public RMobilePhone::TMultimodeType
  1.8175 -/** The HSCSD settings.
  1.8176 -
  1.8177 -Modes: GSM/WCDMA 
  1.8178 -
  1.8179 -*/
  1.8180 -		{
  1.8181 -	public:
  1.8182 -		IMPORT_C TMobileCallHscsdInfoV1();
  1.8183 -	public:
  1.8184 -	/** Current AIUR for the HSCSD call.
  1.8185 -	
  1.8186 -	@see TMobileCallAiur */
  1.8187 -		TMobileCallAiur	iAiur;
  1.8188 -	/** Current number of receive timeslots for the HSCSD call. */
  1.8189 -		TInt iRxTimeSlots;
  1.8190 -	/** Current number of transmit time slots for the HSCSD call. */
  1.8191 -		TInt iTxTimeSlots;
  1.8192 -	/** Current channel coding for the HSCSD call. */
  1.8193 -		TMobileCallTchCoding iCodings;
  1.8194 -		};
  1.8195 -
  1.8196 -/** A typedef'd packaged TMobileCallHscsdInfoV1 for passing through a generic API 
  1.8197 -function member. */
  1.8198 -	typedef TPckg<TMobileCallHscsdInfoV1> TMobileCallHscsdInfoV1Pckg;
  1.8199 -
  1.8200 -	class TMobileCallHscsdInfoV7 : public TMobileCallHscsdInfoV1
  1.8201 -	/** Version 7 of the HSCSD settings.
  1.8202 -
  1.8203 -	Modes: GSM/WCDMA 
  1.8204 -	*/
  1.8205 -			{
  1.8206 -		public:
  1.8207 -			IMPORT_C TMobileCallHscsdInfoV7();
  1.8208 -		public:
  1.8209 -			/** The originator of the call. */
  1.8210 -			TCallParamOrigin iCallParamOrigin;
  1.8211 -	    	/**
  1.8212 -	    	The icon identifier which can be used for indication that the 
  1.8213 -	    	call is being made.
  1.8214 -	     	*/
  1.8215 -	    	TIconId iIconId;
  1.8216 -	    	/**
  1.8217 -	    	The alpha identifier to describe the icon.
  1.8218 -	     	*/
  1.8219 -	    	TAlphaIdBuf iAlphaId;
  1.8220 -	    	/**
  1.8221 -	    	An indication of whether the call parameters have been modified.  
  1.8222 -	    	Set to ETrue if they have been modified, EFalse otherwise.
  1.8223 -	     	*/
  1.8224 -	    	TBool iParamsCallControlModified;
  1.8225 -			};
  1.8226 -
  1.8227 -	/** A typedef'd packaged TMobileCallHscsdInfoV7 for passing through a generic API 
  1.8228 -function member. */
  1.8229 -	typedef TPckg<TMobileCallHscsdInfoV7> TMobileCallHscsdInfoV7Pckg;		
  1.8230 -	
  1.8231 -	class TMobileCallHscsdInfoV8 : public TMobileCallHscsdInfoV7
  1.8232 -	/** Version 8 of the HSCSD settings.
  1.8233 -
  1.8234 -	Modes: GSM/WCDMA 
  1.8235 -	*/
  1.8236 -			{
  1.8237 -		public:
  1.8238 -			IMPORT_C TMobileCallHscsdInfoV8();
  1.8239 -		public:
  1.8240 -		
  1.8241 -			/** The sub-address of the remote party.
  1.8242 -				
  1.8243 -			@see TSubAddress */
  1.8244 -			TSubAddress iSubAddress;
  1.8245 -			
  1.8246 -	 		/** Capability configuration parameters for the first bearer. 
  1.8247 -			
  1.8248 -			@see TCcp */
  1.8249 -	 		TCcp iBearerCap1;
  1.8250 -	 		
  1.8251 -	 		/** Capability configuration parameters for the second bearer. 	
  1.8252 -	 		
  1.8253 -	 		@see TCcp */
  1.8254 -	 		TCcp iBearerCap2;
  1.8255 -	 		
  1.8256 -	 		/** The bearer capability repeat indicator. 
  1.8257 -	 		
  1.8258 -	 		@see TBCRepeatIndicator */
  1.8259 -		 	TBCRepeatIndicator iBCRepeatIndicator;
  1.8260 -			};
  1.8261 -
  1.8262 -	/** A typedef'd packaged TMobileCallHscsdInfoV8 for passing through a generic 
  1.8263 -	API function member. */
  1.8264 -	typedef TPckg<TMobileCallHscsdInfoV8> TMobileCallHscsdInfoV8Pckg;	
  1.8265 -	
  1.8266 -	
  1.8267 -	IMPORT_C TInt GetCurrentHscsdInfo(TDes8& aHSCSDInfo) const;
  1.8268 -	IMPORT_C void NotifyHscsdInfoChange(TRequestStatus& aReqStatus, TDes8& aHSCSDInfo) const;
  1.8269 -
  1.8270 -	/***********************************************************************************/
  1.8271 -	//
  1.8272 -	// Multimedia Calls
  1.8273 -	//
  1.8274 -	/***********************************************************************************/
  1.8275 -
  1.8276 -	IMPORT_C void AnswerMultimediaCallAsVoice(TRequestStatus& aReqStatus, const TDesC8& aCallParams, TName& aCallName) const;
  1.8277 -	IMPORT_C void NotifyVoiceFallback(TRequestStatus& aReqStatus, TName& aCallName) const;
  1.8278 -
  1.8279 -	//
  1.8280 -	// Mobile Alternating Call Functional Unit
  1.8281 -	//
  1.8282 -
  1.8283 -	IMPORT_C void SwitchAlternatingCall(TRequestStatus& aReqStatus) const;
  1.8284 -	IMPORT_C void NotifyAlternatingCallSwitch(TRequestStatus& aReqStatus) const;
  1.8285 -
  1.8286 -	/***********************************************************************************/
  1.8287 -	//
  1.8288 -	// MobileCallControl functional unit
  1.8289 -	//
  1.8290 -	/***********************************************************************************/
  1.8291 -
  1.8292 -/** Mobile call control capabilites.
  1.8293 -
  1.8294 -Modes: Common */
  1.8295 -	enum TMobileCallControlCaps 
  1.8296 -		{
  1.8297 -		//KCapsData=0x00000001, // taken from etel.h
  1.8298 -		//KCapsFax=0x00000002,
  1.8299 -		//KCapsVoice=0x00000004,
  1.8300 -		//KCapsDial=0x00000008,
  1.8301 -		//KCapsConnect=0x00000010,
  1.8302 -		//KCapsHangUp=0x00000020,
  1.8303 -		//KCapsAnswer=0x00000040,
  1.8304 -		//KCapsLoanDataPort=0x00000080, 
  1.8305 -		//KCapsRecoverDataPort=0x00000100
  1.8306 -	/** Indicates that this call can be put on hold. This implies that the call is currently 
  1.8307 -	active and that there is no other held call. */
  1.8308 -		KCapsHold = 0x00000200,
  1.8309 -	/** Indicates that this call can be resumed. This implies that the call is currently 
  1.8310 -	on hold and that there is no other active call. 
  1.8311 -	
  1.8312 -	Modes: Common */
  1.8313 -		KCapsResume = 0x00000400,
  1.8314 -	/** Indicates that this call's state can be swapped to the opposite state. This
  1.8315 -	implies that this call is either active or held. There may be another call 
  1.8316 -	in the opposite state and if this is the case then both calls will be simultaneously 
  1.8317 -	swapped to their opposite state. 
  1.8318 -	
  1.8319 -	Modes: Common */
  1.8320 -		KCapsSwap = 0x00000800,
  1.8321 -	/** Indicates that this incoming call can be deflected to another destination. 
  1.8322 -	
  1.8323 -	Modes: GSM/WCDMA */
  1.8324 -		KCapsDeflect = 0x00001000,
  1.8325 -	/** Indicates that this call can be transferred to the remote party of another call. 
  1.8326 -	For this capability to be set there must be one active call and one held or 
  1.8327 -	dialing call.
  1.8328 -	
  1.8329 -	Modes: GSM/WCDMA */
  1.8330 -		KCapsTransfer = 0x00002000,
  1.8331 -	/** Indicates that this call can be joined either to another single call to form 
  1.8332 -	a conference call or to an existing conference call.
  1.8333 -	
  1.8334 -	Modes: Common */
  1.8335 -		KCapsJoin = 0x00004000,
  1.8336 -	/** Indicates that this call (within a conference call) can go into One to One mode. 
  1.8337 -	This action would put the rest of the conference call on hold. 
  1.8338 -	
  1.8339 -	Modes: GSM/WCDMA */
  1.8340 -		KCapsOneToOne = 0x00008000,
  1.8341 -	/** Indicates that the user can activate a CCBS request on this failed call set-up. 
  1.8342 -	
  1.8343 -	Modes: GSM/WCDMA */
  1.8344 -		KCapsActivateCCBS = 0x00010000,
  1.8345 -	/** Indicates that this call is part of an alternating call and the client can call 
  1.8346 -	SwitchAlternatingCall() on this call in order to switch it to its other mode.
  1.8347 -	
  1.8348 -	Modes: GSM/WCDMA */
  1.8349 -		KCapsSwitchAlternatingCall = 0x00020000,
  1.8350 -	/** Indicates that this call can use/create a new bearer. This means that multiple 
  1.8351 -	calls (multicall) can be active at the same time using no more that 7 bearers 
  1.8352 -	simultaneously. The other option is to swap with an active call, therefore 
  1.8353 -	it becomes held and shares the same bearer.
  1.8354 -	
  1.8355 -	Modes: WCDMA */
  1.8356 -		KCapsMulticall = 0x00040000
  1.8357 -		};
  1.8358 -
  1.8359 -
  1.8360 -/** Mobile call events capabilities.
  1.8361 -
  1.8362 -Modes: Common */
  1.8363 -	enum TMobileCallEventCaps
  1.8364 -		{
  1.8365 -	/** Indicates that local hold notifications are supported.
  1.8366 -	
  1.8367 -	Modes: Common */
  1.8368 -		KCapsLocalHold = 0x00000001,
  1.8369 -	/** Indicates that local resume notifications are supported. 
  1.8370 -	
  1.8371 -	Modes: Common */
  1.8372 -		KCapsLocalResume = 0x00000002,
  1.8373 -	/** Indicates that local deflect transfer notifications are supported. 
  1.8374 -	
  1.8375 -	Modes: GSM/WCDMA */
  1.8376 -		KCapsLocalDeflectCall = 0x00000004,
  1.8377 -	/** Indicates that local explicit transfer notifications are supported. 
  1.8378 -	
  1.8379 -	Modes: GSM/WCDMA */
  1.8380 -		KCapsLocalTransfer = 0x00000008,
  1.8381 -	/** Indicates that remote hold notifications are supported. 
  1.8382 -
  1.8383 -	Modes: GSM/WCDMA */
  1.8384 -		KCapsRemoteHold = 0x00000010,
  1.8385 -	/** Indicates that remote resume notifications are supported. 
  1.8386 -	
  1.8387 -	Modes: GSM/WCDMA */
  1.8388 -		KCapsRemoteResume = 0x00000020,
  1.8389 -	/** Indicates that remote termination notifications are supported. 
  1.8390 -	
  1.8391 -	Modes: Common */
  1.8392 -		KCapsRemoteTerminate = 0x00000040,
  1.8393 -	/** Indicates that remote conference invocation notifications are supported.
  1.8394 -	
  1.8395 -	Modes: GSM/WCDMA */
  1.8396 -		KCapsRemoteConferenceCreate = 0x00000080
  1.8397 -		};
  1.8398 -
  1.8399 -	
  1.8400 -
  1.8401 -	class TMobileCallCapsV1 : public RMobilePhone::TMultimodeType
  1.8402 -/** Defines the dynamic capabilities of a mobile call. 
  1.8403 -*/
  1.8404 -		{
  1.8405 -	public:
  1.8406 -		IMPORT_C TMobileCallCapsV1();
  1.8407 -	public:
  1.8408 -	/** Call control capability information - a bit wise sum of TMobileCallControlCaps 
  1.8409 -	constants */
  1.8410 -		TUint32 iCallControlCaps;
  1.8411 -	/** Call event capability information - a bit wise sum of TMobileCallEventCaps constants. */
  1.8412 -		TUint32 iCallEventCaps;
  1.8413 -		};
  1.8414 -
  1.8415 -/** A typedef'd packaged TMobileCallCapsV1 for passing through a generic API function 
  1.8416 -member. */
  1.8417 -	typedef TPckg<TMobileCallCapsV1> TMobileCallCapsV1Pckg;
  1.8418 -
  1.8419 -	IMPORT_C TInt GetMobileCallCaps(TDes8& aCaps) const;
  1.8420 -	IMPORT_C void NotifyMobileCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
  1.8421 -
  1.8422 -	IMPORT_C void Hold(TRequestStatus& aReqStatus) const;
  1.8423 -	IMPORT_C void Resume(TRequestStatus& aReqStatus) const;
  1.8424 -	IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
  1.8425 -	IMPORT_C void DialISV(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);
  1.8426 -	IMPORT_C void AnswerIncomingCallISV(TRequestStatus& aStatus,const TDesC8& aCallParams);
  1.8427 -
  1.8428 -/** The type of call deflection requested.
  1.8429 -
  1.8430 -@see Deflect() */
  1.8431 -	enum TMobileCallDeflect
  1.8432 -		{
  1.8433 -	/** Destination is not specified. */
  1.8434 -		EDeflectUnspecified,
  1.8435 -	/** Call will be deflected to voicemail. */
  1.8436 -		EDeflectVoicemail,
  1.8437 -	/** Call will be deflected to the pre-registered number for the call forwarding 
  1.8438 -	service. */
  1.8439 -		EDeflectRegisteredNumber,
  1.8440 -	/** Call will be deflected to the number supplied in the aDestination parameter. */
  1.8441 -		EDeflectSuppliedNumber
  1.8442 -		};
  1.8443 -
  1.8444 -	IMPORT_C void Deflect(TRequestStatus& aReqStatus, TMobileCallDeflect aDeflectType, const RMobilePhone::TMobileAddress& aDestination) const;
  1.8445 -	IMPORT_C void Transfer(TRequestStatus& aReqStatus) const;
  1.8446 -	IMPORT_C void GoOneToOne(TRequestStatus& aReqStatus) const;
  1.8447 -
  1.8448 -/** The mobile call events.
  1.8449 -
  1.8450 -Modes: Common */
  1.8451 -	enum TMobileCallEvent
  1.8452 -		{
  1.8453 -	/** The call has been placed on hold as a result of a local action. 
  1.8454 -	
  1.8455 -	Modes: Common */
  1.8456 -		ELocalHold,
  1.8457 -	/** The call has been resumed as a result of a local action. 
  1.8458 -	
  1.8459 -	Modes: Common */
  1.8460 -		ELocalResume,
  1.8461 -	/** The call has been deflected to another remote party as a result of a local action. 
  1.8462 -	
  1.8463 -	
  1.8464 -	Modes: GSM/WCDMA */
  1.8465 -		ELocalDeflectCall,
  1.8466 -	/** The call has been transferred to another remote party as a result of a local 
  1.8467 -	action. 
  1.8468 -	
  1.8469 -	Modes: Common */
  1.8470 -		ELocalTransfer,
  1.8471 -	/** The call has been placed on hold by the remote connected party. 
  1.8472 -	
  1.8473 -	Modes: GSM/WCDMA */
  1.8474 -		ERemoteHold,
  1.8475 -	/** The call has been resumed by the remote connected party. 
  1.8476 -	
  1.8477 -	Modes: GSM/WCDMA */
  1.8478 -		ERemoteResume,
  1.8479 -	/** The call has been terminated by the remote party. 
  1.8480 -	
  1.8481 -	Modes: Common */
  1.8482 -		ERemoteTerminated,
  1.8483 -	/** The call has been joined by the remote connected party to other call(s) to create/add 
  1.8484 -	to a conference call. 
  1.8485 -	
  1.8486 -	Modes: GSM/WCDMA */
  1.8487 -		ERemoteConferenceCreate,
  1.8488 -		ERemoteTransferring,
  1.8489 -		ERemoteTransferAlerting,
  1.8490 -	/** The outgoing call has been barred by the remote party. 
  1.8491 -	
  1.8492 -	Modes: GSM/WCDMA */
  1.8493 -		ERemoteBarred,
  1.8494 -	/** The call is being forwarded by the remote party. 
  1.8495 -	
  1.8496 -	Modes: GSM/WCDMA */
  1.8497 -		ERemoteForwarding,
  1.8498 -	/** The call is waiting at the remote end. 
  1.8499 -	
  1.8500 -	Modes: GSM/WCDMA */
  1.8501 -		ERemoteWaiting,
  1.8502 -	/** The outgoing call has been barred by the local party. 
  1.8503 -	
  1.8504 -	Modes: GSM/WCDMA */
  1.8505 -		ELocalBarred
  1.8506 -		};
  1.8507 -
  1.8508 -	IMPORT_C void NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) const;
  1.8509 -
  1.8510 -/** Describes the possible call states. */
  1.8511 -	enum TMobileCallStatus
  1.8512 -		{
  1.8513 -	/** Indicates that the call status is unknown. */
  1.8514 -		EStatusUnknown,			// same as RCall::EStatusUnknown
  1.8515 -	/** Indicates that the call is idle. */
  1.8516 -		EStatusIdle,			// same as RCall::EStatusIdle
  1.8517 -		EStatusDialling,		// same as RCall::EStatusDialling
  1.8518 -	/** Indicates that the MT call is ringing but not answered yet by the local user. */
  1.8519 -		EStatusRinging,			// same as RCall::EStatusRinging
  1.8520 -	/** Indicates that the local user has answered the MT call but the network has not 
  1.8521 -	acknowledged the call connection yet. */
  1.8522 -		EStatusAnswering,		// same as RCall::EStatusAnswering
  1.8523 -	/** MO Call: the network notifies to the MS that the remote party is now ringing. */
  1.8524 -		EStatusConnecting,		// same as RCall::EStatusConnecting
  1.8525 -	/** Indicates that call is connected and active. */
  1.8526 -		EStatusConnected,		// same as RCall::EStatusConnected
  1.8527 -	/** Indicates that call is disconnecting. */
  1.8528 -		EStatusDisconnecting,	// same as RCall::EStatusHangingUp
  1.8529 -	/** Indicates that the call is disconnecting with inband data (to enable the network 
  1.8530 -	to send an audio tone), signifying that the call is not to be released until 
  1.8531 -	the user terminates the call. */
  1.8532 -		EStatusDisconnectingWithInband,
  1.8533 -	/** Indicates that call is undergoing temporary channel loss and it may or may not 
  1.8534 -	be reconnected. */
  1.8535 -		EStatusReconnectPending,
  1.8536 -	/** Indicates that the call is connected but on hold. */
  1.8537 -		EStatusHold,
  1.8538 -	/** Indicates that the call is the non-active half of an alternating call. This 
  1.8539 -	call is waiting for its active half or the remote end to switch alternating 
  1.8540 -	call mode. */
  1.8541 -		EStatusWaitingAlternatingCallSwitch,
  1.8542 -		EStatusTransferring,
  1.8543 -		EStatusTransferAlerting
  1.8544 -		};
  1.8545 -
  1.8546 -	IMPORT_C TInt GetMobileCallStatus(TMobileCallStatus& aStatus) const;
  1.8547 -	IMPORT_C void NotifyMobileCallStatusChange(TRequestStatus& aReqStatus, TMobileCallStatus& aStatus) const;
  1.8548 -
  1.8549 -	IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC& aTelNumber) const;
  1.8550 -	IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC8& aCallParams,const TDesC& aTelNumber) const;
  1.8551 -	
  1.8552 -	IMPORT_C void DialCallControl(TRequestStatus& aStatus, const TDesC8& aCallParams, const TTelNumberC& aTelNumber) const;
  1.8553 -	
  1.8554 -	/**
  1.8555 -	Contains audio tone events.
  1.8556 -	*/
  1.8557 -	enum TMobileCallAudioToneEvent
  1.8558 -		{
  1.8559 -		/**
  1.8560 -		Stop audio tone.
  1.8561 -		*/
  1.8562 -		EAudioStop,
  1.8563 -		/**
  1.8564 -		Start audio tone.
  1.8565 -		*/
  1.8566 -		EAudioStart		
  1.8567 -		};
  1.8568 -		
  1.8569 -	/**
  1.8570 -	List of 3GPP defined supervisory audio tones taken from technical specification 3GPP TS 22.001 v4.0.0 Annex F.
  1.8571 -
  1.8572 -	This enumeration is based on the signal information element specified in Table 10.5.130/3GPP TS 24.008 v5.15.0
  1.8573 -	*/
  1.8574 -	enum TMobileCallAudioTones	
  1.8575 -		{
  1.8576 -		/** 
  1.8577 -		No tone.  Not defined in specification used for initialisation of 
  1.8578 -		iTone class member variable during TAudioToneV3 construction.
  1.8579 -		*/
  1.8580 -		ENoTone,
  1.8581 -		/**
  1.8582 -		Dial tone.
  1.8583 -		*/
  1.8584 -		EDialTone,
  1.8585 -		/**
  1.8586 -		Subscriber busy tone.
  1.8587 -		*/
  1.8588 -		ESubscriberBusyTone,
  1.8589 -		/**
  1.8590 -		Congestion tone.
  1.8591 -		*/
  1.8592 -		ECongestionTone,
  1.8593 -		/**
  1.8594 -		Radio path acknowledgement tone.
  1.8595 -		*/
  1.8596 -		ERadioPathAcknowledgement,
  1.8597 -		/**
  1.8598 -		Radio path not available tone.
  1.8599 -		*/
  1.8600 -		ERadioPathNotAvailable,
  1.8601 -		/**
  1.8602 -		Call dropped (Mobile Originated only).
  1.8603 -		*/
  1.8604 - 		EMOCallDropped,
  1.8605 - 		/**
  1.8606 -		Error special information.
  1.8607 -		*/
  1.8608 - 		EErrorSpecialInformation,
  1.8609 - 		/**
  1.8610 -		Number unobtainable.
  1.8611 -		*/
  1.8612 - 		ENumberUnobtainable,
  1.8613 - 		/**
  1.8614 -		Authentication failure.
  1.8615 -		*/
  1.8616 - 		EAuthenticationFailure,
  1.8617 - 		/**
  1.8618 -		Call waiting.
  1.8619 -		*/
  1.8620 - 		ECallWaiting,
  1.8621 - 		/**
  1.8622 -		Ringback tone.
  1.8623 -		*/
  1.8624 -		ERingback
  1.8625 -		};
  1.8626 -
  1.8627 -	class TAudioToneV3 :  public RMobilePhone::TMultimodeType
  1.8628 -	/**
  1.8629 -	Audio tone version 1 class. Contains information relating to the  call control playing of audio tones. 
  1.8630 -	Tones maybe generated by the network (in-band) or signalled to be played locally by the ME.
  1.8631 -	@publishedPartner
  1.8632 -	@released
  1.8633 -	*/
  1.8634 -		{
  1.8635 -	public:
  1.8636 -		IMPORT_C TAudioToneV3();
  1.8637 -		
  1.8638 -	public:
  1.8639 -		/**
  1.8640 -		Indicates whether the tone is starting or stopping playing.
  1.8641 -		
  1.8642 -		@see TMobileCallAudioToneEvent
  1.8643 -		*/
  1.8644 -		TMobileCallAudioToneEvent iEvent;
  1.8645 -		/**
  1.8646 -		Indicates which tone is to be played.
  1.8647 -		
  1.8648 -		@see TMobileCallAudioTones
  1.8649 -		*/
  1.8650 -		TMobileCallAudioTones	iTone;
  1.8651 -		/**
  1.8652 -		Indicates whether the tone is played by the network or is to be played locally by the ME.
  1.8653 -		*/
  1.8654 -		TBool iPlayedLocally; 
  1.8655 -		};
  1.8656 -
  1.8657 -	/**
  1.8658 -	Packaging typedef for TAudioToneV3 class.
  1.8659 -	*/
  1.8660 -	typedef TPckg<TAudioToneV3> TAudioToneV3Pckg;
  1.8661 -	
  1.8662 -	IMPORT_C void NotifyAudioToneEvent(TRequestStatus& aReqStatus, TDes8& aToneInfo) const;
  1.8663 -
  1.8664 -	/***********************************************************************************/
  1.8665 -	//
  1.8666 -	// MobilePrivacy functional unit
  1.8667 -	//
  1.8668 -	/***********************************************************************************/
  1.8669 -
  1.8670 -	IMPORT_C TInt SetPrivacy(RMobilePhone::TMobilePhonePrivacy aPrivacySetting) const;
  1.8671 -	IMPORT_C void NotifyPrivacyConfirmation(TRequestStatus& aReqStatus, RMobilePhone::TMobilePhonePrivacy& aPrivacySetting) const;
  1.8672 -
  1.8673 -	/***********************************************************************************/
  1.8674 -	//
  1.8675 -	// MobileTrafficChannel function unit
  1.8676 -	//
  1.8677 -	/***********************************************************************************/
  1.8678 -
  1.8679 -/** Call traffic channels.
  1.8680 -
  1.8681 -Modes: CDMA */
  1.8682 -	enum TMobileCallTch
  1.8683 -		{
  1.8684 -	/** The traffic channel of the call is unknown. */
  1.8685 -		ETchUnknown,
  1.8686 -	/** The call has a digital traffic channel */
  1.8687 -		ETchDigital,
  1.8688 -	/** The call has an analog traffic channel */
  1.8689 -		ETchAnalog
  1.8690 -		};
  1.8691 -
  1.8692 -	IMPORT_C TInt SetTrafficChannel(TMobileCallTch aTchRequest) const;
  1.8693 -	IMPORT_C void NotifyTrafficChannelConfirmation(TRequestStatus& aReqStatus, TMobileCallTch& aTchType) const;
  1.8694 -
  1.8695 -	/***********************************************************************************/
  1.8696 -	//
  1.8697 -	// MobileCallInformation functional unit
  1.8698 -	//
  1.8699 -	/***********************************************************************************/
  1.8700 -
  1.8701 -	/**
  1.8702 -	Remote party Identity status.
  1.8703 -
  1.8704 -	Modes: Common
  1.8705 -
  1.8706 -	@see TMobileCallRemotePartyInfoV1
  1.8707 -	*/
  1.8708 -	enum TMobileCallRemoteIdentityStatus
  1.8709 -		{
  1.8710 -		/**
  1.8711 -		The remote party's identity can not be determined.  Calling
  1.8712 -		party's Binary Coded Decimal (BCD) number is not available.
  1.8713 -		Cause of No CLI is "unavailable".
  1.8714 -		*/
  1.8715 -		ERemoteIdentityUnknown,
  1.8716 -
  1.8717 -		/**
  1.8718 -		The remote party's identity, or BCD number, is available.
  1.8719 -		However, cause of No CLI has not been set.
  1.8720 -		*/
  1.8721 -		ERemoteIdentityAvailable,
  1.8722 -
  1.8723 -		/**
  1.8724 -		The remote party has suppressed the transmission of its
  1.8725 -		identity; i.e. their BCD number is not available.  Cause of No
  1.8726 -		CLI is "reject by user".
  1.8727 -		*/
  1.8728 -		ERemoteIdentitySuppressed,
  1.8729 -		/**
  1.8730 -		The remote party's identity, or BCD number, is available.  The
  1.8731 -		cause of No CLI is "reject by user".
  1.8732 -
  1.8733 -		To be used where the network has specified that displaying of
  1.8734 -		CLI information of the remote party has been rejected by the
  1.8735 -		caller but the TMobileCallRemotePartyInfoV1::iRemoteNumber
  1.8736 -		parameter has been populated with some other string which may
  1.8737 -		be of use to the client.
  1.8738 -		*/
  1.8739 -		ERemoteIdentityAvailableNoCliRejectedByUser,
  1.8740 -
  1.8741 -		/**
  1.8742 -		The remote party's identity is available; a BCD number is
  1.8743 -		available.  The cause of No CLI is "Interaction with other
  1.8744 -		service".
  1.8745 -
  1.8746 -		To be used where the network has specified that CLI information
  1.8747 -		of the remote party is not available due to ineraction with
  1.8748 -		another service.  However, the
  1.8749 -		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
  1.8750 -		populated with some other string which may be of use to the
  1.8751 -		client.
  1.8752 -		*/
  1.8753 -		ERemoteIdentityAvailableNoCliInteractionWithOtherService,
  1.8754 -		/**
  1.8755 -		The remote party's identity, or BCD number, is unavailable.
  1.8756 -		Cause of No CLI is "interaction with other service".
  1.8757 -		*/
  1.8758 -		ERemoteIdentityUnavailableNoCliInteractionWithOtherService,
  1.8759 -
  1.8760 -		/**
  1.8761 -		The remote party's identity, or BCD number, is available.
  1.8762 -		Cause of No CLI is "Coin Line/ Payphone".
  1.8763 -
  1.8764 -		To be used where the network has specified that CLI information
  1.8765 -		of the remote party is not available as the caller is calling
  1.8766 -		from a coin/ payphone.  However, the
  1.8767 -		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
  1.8768 -		populated with some other string which may be of use to the
  1.8769 -		client.
  1.8770 -		*/
  1.8771 -		ERemoteIdentityAvailableNoCliCoinOrPayphone,
  1.8772 -		/**
  1.8773 -		The remote party's identity, or BCD number, is not available.
  1.8774 -		Cause of No CLI is "Coin Line/ Payphone".
  1.8775 -		*/
  1.8776 -		ERemoteIdentityUnavailableNoCliCoinOrPayphone,
  1.8777 -
  1.8778 -		/**
  1.8779 -		The remote party's identity, or BCD number, is available.
  1.8780 -		Cause of No CLI is "unavailable".
  1.8781 -
  1.8782 -		To be used where the network has specified that the CLI
  1.8783 -		information of the remote party is not available but the
  1.8784 -		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
  1.8785 -		populated with some other string which may be of use to the
  1.8786 -		client.
  1.8787 -		*/
  1.8788 -		ERemoteIdentityAvailableNoCliUnavailable
  1.8789 -		};
  1.8790 -
  1.8791 -
  1.8792 -	/**
  1.8793 -	The direction of the mobile call.
  1.8794 -
  1.8795 -	Modes: Common
  1.8796 -
  1.8797 -	@see TMobileCallRemotePartyInfoV1
  1.8798 -	*/
  1.8799 -	enum TMobileCallDirection
  1.8800 -		{
  1.8801 -	/** The direction of the call is unknown. */
  1.8802 -		EDirectionUnknown,
  1.8803 -	/** The call was originated by this phone, i.e. it is an outgoing call. */
  1.8804 -		EMobileOriginated,
  1.8805 -	/** The call was terminated by this phone, i.e. it is an incoming call. */
  1.8806 -		EMobileTerminated
  1.8807 -		};
  1.8808 -
  1.8809 -	enum { KCallingNameSize=80 };
  1.8810 -
  1.8811 -	
  1.8812 -
  1.8813 -	class TMobileCallRemotePartyInfoV1 : public RMobilePhone::TMultimodeType
  1.8814 -/** Defines information about the remote party of a mobile call. 
  1.8815 -*/
  1.8816 -		{
  1.8817 -	public:
  1.8818 -		IMPORT_C TMobileCallRemotePartyInfoV1();
  1.8819 -	public:
  1.8820 -	/** Indicates whether the remote party information in the rest of this structure 
  1.8821 -	is valid or not.
  1.8822 -	
  1.8823 -	Modes: Common
  1.8824 -	
  1.8825 -	@see TMobileCallRemoteIdentityStatus */
  1.8826 -		TMobileCallRemoteIdentityStatus iRemoteIdStatus;
  1.8827 -	/** The direction of the call and hence the role of the remote party, i.e. if the 
  1.8828 -	call is mobile originated then the remote party is the called party whereas 
  1.8829 -	if the call is mobile terminated then the remote party is the calling party.
  1.8830 -	
  1.8831 -	Modes: Common
  1.8832 -	
  1.8833 -	@see TMobileCallDirection */
  1.8834 -		TMobileCallDirection iDirection;
  1.8835 -	/** The phone number of the remote party if available.
  1.8836 -	
  1.8837 -	Modes: Common
  1.8838 -	
  1.8839 -	@see RMobilePhone::TMobileAddress */
  1.8840 -		RMobilePhone::TMobileAddress iRemoteNumber;
  1.8841 -	/** Calling party name available through the CNAP supplementary service (if provisioned). 
  1.8842 -	
  1.8843 -	
  1.8844 -	Modes: Common */
  1.8845 -		TBuf<KCallingNameSize> iCallingName;
  1.8846 -		};
  1.8847 -
  1.8848 -/** A typedef'd packaged TMobileCallRemotePartyInfoV1 for passing through a generic 
  1.8849 -API function member. */
  1.8850 -	typedef TPckg<TMobileCallRemotePartyInfoV1> TMobileCallRemotePartyInfoV1Pckg;
  1.8851 -
  1.8852 -	IMPORT_C void NotifyRemotePartyInfoChange(TRequestStatus& aReqStatus, TDes8& aRemotePartyInfo) const;
  1.8853 -
  1.8854 -/** Determines which fields in the class are valid.
  1.8855 -
  1.8856 -@see TMobileCallInfoV1 */
  1.8857 -	enum TMobileCallInfoFlags
  1.8858 -		{
  1.8859 -	/** The iStartTime field is valid in the call info class.
  1.8860 -	
  1.8861 -	Modes: COMMON */
  1.8862 -		KCallStartTime		= 0x00000001,
  1.8863 -	/** The iDuration field is valid in the call info class.
  1.8864 -	
  1.8865 -	Modes: COMMON */
  1.8866 -		KCallDuration		= 0x00000002,
  1.8867 -	/** The iCallId field is valid in the call info class.
  1.8868 -	
  1.8869 -	Modes: COMMON */
  1.8870 -		KCallId				= 0x00000004,
  1.8871 -	/** The iRemoteParty field is valid in the call info class.
  1.8872 -	
  1.8873 -	Modes: COMMON */
  1.8874 -		KCallRemoteParty	= 0x00000008,
  1.8875 -	/** The iDialledParty field is valid in the call info class.
  1.8876 -	
  1.8877 -	Modes: COMMON */
  1.8878 -		KCallDialledParty	= 0x00000010,
  1.8879 -	/** The iExitCode field is valid in the call info class.
  1.8880 -	
  1.8881 -	Modes: COMMON */
  1.8882 -		KCallExitCode		= 0x00000020,
  1.8883 -	/** The iEmergency field is valid in the call info class.
  1.8884 -	
  1.8885 -	Modes: COMMON */
  1.8886 -		KCallEmergency		= 0x00000040,
  1.8887 -	/** The iForwarded field is valid in the call info class.
  1.8888 -	
  1.8889 -	Modes: COMMON */
  1.8890 -		KCallForwarded		= 0x00000080,
  1.8891 -	/** The iPrivacy field is valid in the call info class.
  1.8892 -	
  1.8893 -	Modes: CDMA */
  1.8894 -		KCallPrivacy		= 0x00000100,
  1.8895 -	/** The iTch field is valid in the call info class.
  1.8896 -	
  1.8897 -	Modes: CDMA */
  1.8898 -		KCallTch			= 0x00000200,
  1.8899 -	/** The iAlternatingCall field is valid in the call info class.
  1.8900 -	
  1.8901 -	Modes: GSM/WCDMA */
  1.8902 -		KCallAlternating	= 0x00000400,
  1.8903 -	/** The iSecurity field is valid in the call info class.
  1.8904 -	
  1.8905 -	Modes: GSM/WCDMA */		
  1.8906 -		KCallSecurity		= 0x00000800,
  1.8907 -	/** The iCallParamOrigin field is valid in the call info class.
  1.8908 -	
  1.8909 -	Modes: GSM/WCDMA */		
  1.8910 -		KCallParamOrigin	= 0x00001000,
  1.8911 -	/** The iIconId field is valid in the call info class.
  1.8912 -	
  1.8913 -	Modes: GSM/WCDMA */		
  1.8914 -		KCallIconId			= 0x00002000,
  1.8915 -	/** The iAlphaId field is valid in the call info class.
  1.8916 -	
  1.8917 -	Modes: GSM/WCDMA */		
  1.8918 -		KCallAlphaId		= 0x00004000,
  1.8919 -	/** The iParamsCallControlModified field is valid in the call 
  1.8920 -	info class.
  1.8921 -	
  1.8922 -	Modes: GSM/WCDMA */		
  1.8923 -		KCallParamsCallControlModified	= 0x00008000,	
  1.8924 -		
  1.8925 -	/** The iSubAddress field is valid in the call 
  1.8926 -	info class.
  1.8927 -					
  1.8928 -	Modes: GSM/WCDMA */		
  1.8929 -		KCallSubAddress	= 0x0010000,	
  1.8930 -				
  1.8931 -	/** The iBearerCap1 field is valid in the call 
  1.8932 -	info class.
  1.8933 -							
  1.8934 -	Modes: GSM/WCDMA */		
  1.8935 -		KCallBearerCap1	= 0x0020000,	
  1.8936 -			
  1.8937 -	/** The iBearerCap2 field is valid in the call 
  1.8938 -	info class.
  1.8939 -									
  1.8940 -	Modes: GSM/WCDMA */		
  1.8941 -		KCallBearerCap2	= 0x0040000,	
  1.8942 -			
  1.8943 -	/** The iBCRepeatIndicator field is valid in the call 
  1.8944 -	info class.
  1.8945 -										
  1.8946 -	Modes: GSM/WCDMA */		
  1.8947 -		KCallBCRepeatIndicator	= 0x0080000,
  1.8948 -				
  1.8949 -		};
  1.8950 -	
  1.8951 -
  1.8952 -	class TMobileCallInfoV1 : public RMobilePhone::TMultimodeType
  1.8953 -/** Defines general information about a mobile call. 
  1.8954 -*/
  1.8955 -		{
  1.8956 -	public:
  1.8957 -		IMPORT_C TMobileCallInfoV1();
  1.8958 -	public:
  1.8959 -	/** A bit-wise sum of TMobileCallInfoFlags indicating which of the following optional 
  1.8960 -	fields contain valid data. */
  1.8961 -		TUint32 iValid;
  1.8962 -	/** The call service (voice, data, fax, aux. voice) that this call provides.
  1.8963 -	
  1.8964 -	@see RMobilePhone::TMobileService */
  1.8965 -		RMobilePhone::TMobileService iService;
  1.8966 -	/** The mobile call status.
  1.8967 -	
  1.8968 -	@see TMobileCallStatus */
  1.8969 -		TMobileCallStatus iStatus;
  1.8970 -	/** The call ID number assigned to an ongoing call. Will equal -1 if the call does 
  1.8971 -	not have an allocated ID. */
  1.8972 -		TInt iCallId;
  1.8973 -	/** The reason for termination of a finished call. Will equal KErrNone if the call 
  1.8974 -	ended normally and KErrNotFound if the call has not ended. */
  1.8975 -		TInt iExitCode;
  1.8976 -	/** ETrue if the call is an emergency call or EFalse if it is not. */
  1.8977 -		TBool iEmergency;
  1.8978 -	/** For a MT call, this attribute equals ETrue if the call has been forwarded to 
  1.8979 -	this phone or EFalse if it has not. For a MO call, this attribute equals ETrue 
  1.8980 -	if the call has been forwarded to another destination or EFalse if it has 
  1.8981 -	not. If the phone can not determine whether the call has been forwarded or 
  1.8982 -	not then the attribute will return EFalse. */
  1.8983 -		TBool iForwarded;
  1.8984 -	/** This attribute indicates whether privacy is on or off for this call.
  1.8985 -	
  1.8986 -	@see RMobilePhone::TMobilePhonePrivacy */
  1.8987 -		RMobilePhone::TMobilePhonePrivacy iPrivacy;
  1.8988 -	/** This attribute indicates whether this call is an alternating call or not.
  1.8989 -	
  1.8990 -	@see RMobilePhone::TMobilePhoneAlternatingCallMode */
  1.8991 -		RMobilePhone::TMobilePhoneAlternatingCallMode iAlternatingCall;
  1.8992 -	/** The current duration of the call.
  1.8993 -	
  1.8994 -	@see TTimeIntervalSeconds */
  1.8995 -		TTimeIntervalSeconds iDuration;
  1.8996 -	/** This attribute indicates whether a digital or analog traffic channel is being 
  1.8997 -	used for this call.
  1.8998 -	
  1.8999 -	@see TMobileCallTch */
  1.9000 -		TMobileCallTch iTch;
  1.9001 -	/** Information about remote party of a connected call.
  1.9002 -	
  1.9003 -	@see TMobileCallRemotePartyInfoV1 */
  1.9004 -		TMobileCallRemotePartyInfoV1 iRemoteParty;
  1.9005 -	/** The original number (including DTMF) dialled for an outgoing call.
  1.9006 -	
  1.9007 -	@see RMobilePhone::TMobileAddress */
  1.9008 -		RMobilePhone::TMobileAddress iDialledParty;
  1.9009 -	/** The time and date the call started.
  1.9010 -	
  1.9011 -	@see TDateTime */
  1.9012 -		TDateTime iStartTime;
  1.9013 -	/** The name of the call.
  1.9014 -	
  1.9015 -	@see TName */
  1.9016 -		TName iCallName;
  1.9017 -	/** The name of the line on which the call is open.
  1.9018 -	
  1.9019 -	@see TName */
  1.9020 -		TName iLineName;
  1.9021 -		};
  1.9022 -
  1.9023 -/** A typedef'd packaged TMobileCallInfoV1 for passing through a generic API function 
  1.9024 -member. */
  1.9025 -	typedef TPckg<TMobileCallInfoV1> TMobileCallInfoV1Pckg;
  1.9026 -	
  1.9027 -	class TMobileCallInfoV3 : public TMobileCallInfoV1
  1.9028 -	/**
  1.9029 -	Extends the TMobileCallInfoV1 claass to include extra call info parameter relating to network security.
  1.9030 -	@publishedPartner
  1.9031 -	@released
  1.9032 -	*/
  1.9033 -		{
  1.9034 -	public:
  1.9035 -		IMPORT_C TMobileCallInfoV3();
  1.9036 -	public:
  1.9037 -		/**
  1.9038 -		Indicates whether Ciphering Status of a call is enabled or disabled. 
  1.9039 -		*/
  1.9040 -		RMobilePhone::TMobilePhoneNetworkSecurity  iSecurity;
  1.9041 -		};
  1.9042 -		
  1.9043 -	typedef TPckg<TMobileCallInfoV3> TMobileCallInfoV3Pckg; ///< Package descriptor to hold a TMobileCallInfoV3.
  1.9044 -
  1.9045 -	
  1.9046 -	class TMobileCallInfoV7 : public TMobileCallInfoV3
  1.9047 -	/**
  1.9048 -	Extends the TMobileCallInfoV3 claass to include extra parameters
  1.9049 -	to indicate the origin of the call, an icon and identifier to 
  1.9050 -	describe the call and an indication of whether the call parameters
  1.9051 -	have been modified.
  1.9052 -	
  1.9053 -	@publishedPartner
  1.9054 -	@released
  1.9055 -	*/
  1.9056 -    	{        
  1.9057 -    public:
  1.9058 -    	IMPORT_C TMobileCallInfoV7();
  1.9059 -    public:
  1.9060 -    	/**
  1.9061 -    	The origin of the call.
  1.9062 -    	*/
  1.9063 -    	TCallParamOrigin iCallParamOrigin;
  1.9064 -    	/**
  1.9065 -    	The icon identifier which can be used for indication that the 
  1.9066 -    	call is being made.
  1.9067 -     	*/
  1.9068 -    	TIconId iIconId;
  1.9069 -    	/**
  1.9070 -    	The alpha identifier to describe the icon.
  1.9071 -     	*/
  1.9072 -    	TAlphaIdBuf iAlphaId;
  1.9073 -    	/**
  1.9074 -    	An indication of whether the call parameters have been modified.  
  1.9075 -    	Set to ETrue if they have been modified, EFalse otherwise.
  1.9076 -     	*/
  1.9077 -    	TBool iParamsCallControlModified;
  1.9078 -    };
  1.9079 -	
  1.9080 -    typedef TPckg<TMobileCallInfoV7> TMobileCallInfoV7Pckg; ///< Package descriptor to hold a TMobileCallInfoV7.
  1.9081 -	
  1.9082 -    class TMobileCallInfoV8 : public TMobileCallInfoV7
  1.9083 -    	/**
  1.9084 -    	Extends the TMobileCallInfoV7 claass to include extra parameters
  1.9085 -    	to indicate the bearer capabilities, repeat indicator and sub address. 
  1.9086 -        	
  1.9087 -    	@publishedPartner
  1.9088 -    	@released
  1.9089 -    	*/
  1.9090 -        {        
  1.9091 -    public:
  1.9092 -       	IMPORT_C TMobileCallInfoV8();
  1.9093 -    public:
  1.9094 -        /** The sub-address of the remote party. 
  1.9095 -    	
  1.9096 -    	@see TSubAddress */
  1.9097 -        TSubAddress iSubAddress;
  1.9098 -        
  1.9099 -        /** Capability configuration parameters for the first bearer. 
  1.9100 -        
  1.9101 -        @see TCcp */
  1.9102 -       	TCcp iBearerCap1;
  1.9103 -        
  1.9104 -        /** Capability configuration parameters for the second bearer. 	 	
  1.9105 -       	
  1.9106 -        @see TCcp */
  1.9107 -       	TCcp iBearerCap2;
  1.9108 -       	
  1.9109 -        /** The bearer capability repeat indicator. 
  1.9110 -       	
  1.9111 -        @see TBCRepeatIndicator */
  1.9112 -        TBCRepeatIndicator iBCRepeatIndicator;
  1.9113 -        };
  1.9114 -    	
  1.9115 -    typedef TPckg<TMobileCallInfoV8> TMobileCallInfoV8Pckg; ///< Package descriptor to hold a TMobileCallInfoV8.
  1.9116 -      
  1.9117 -	IMPORT_C TInt GetMobileCallInfo(TDes8& aCallInfo) const;
  1.9118 -
  1.9119 -	/***********************************************************************************/
  1.9120 -	//
  1.9121 -	// MobileCallEmergency functional unit
  1.9122 -	//
  1.9123 -	/***********************************************************************************/
  1.9124 -
  1.9125 -	IMPORT_C void DialEmergencyCall(TRequestStatus& aReqStatus, const TDesC& aNumber) const;
  1.9126 -
  1.9127 -	/***********************************************************************************/
  1.9128 -	//
  1.9129 -	// MobileCallCompletion
  1.9130 -	//
  1.9131 -	/***********************************************************************************/
  1.9132 -
  1.9133 -	IMPORT_C void ActivateCCBS(TRequestStatus& aReqStatus, TInt& aIndex) const;
  1.9134 -	IMPORT_C TInt RejectCCBS() const;
  1.9135 -		//
  1.9136 -	// User-To-User Signalling Functional Unit
  1.9137 -	//
  1.9138 -	/***********************************************************************************/
  1.9139 -
  1.9140 -/** The UUS capabilities of the call.
  1.9141 -
  1.9142 -Modes: GSM/WCDMA. */
  1.9143 -	enum TMobileCallUUSCaps			// UUS capabilities of the call
  1.9144 -		{
  1.9145 -	/** Indicates that MS supports UUS1 implicit request. */
  1.9146 -		KCapsSetupUUS1Implicit=0x00000001,
  1.9147 -	/** Indicates that MS supports UUS1 explicit request. */
  1.9148 -		KCapsSetupUUS1Explicit=0x00000002,
  1.9149 -	/** Indicates that MS supports UUS2 request. */
  1.9150 -		KCapsSetupUUS2=0x00000004,
  1.9151 -	/** Indicates that MS supports UUS3 request. */
  1.9152 -		KCapsSetupUUS3=0x00000008,
  1.9153 -	/** Indicates that MS supports activating more than one UUS request at a time. */
  1.9154 -		KCapsSetupMultipleUUS=0x00000010,
  1.9155 -	/** Indicates that UUS1 is active for this call. */
  1.9156 -		KCapsActiveUUS1=0x00000020,
  1.9157 -	/** Indicates that UUS2 is active for this call. */
  1.9158 -		KCapsActiveUUS2=0x00000040,
  1.9159 -	/** Indicates that UUS3 is active for this call. */
  1.9160 -		KCapsActiveUUS3=0x00000080
  1.9161 -		};
  1.9162 -
  1.9163 -	IMPORT_C TInt GetUUSCaps(TUint32& aCaps) const;
  1.9164 -	IMPORT_C void NotifyUUSCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
  1.9165 -
  1.9166 -/** UUS Service requests.
  1.9167 -
  1.9168 -Modes: GSM/WCDMA */
  1.9169 -	enum TMobileCallUUSReqs			// UUS Service requests
  1.9170 -		{
  1.9171 -	/** UUS1 is implicitly requested. */
  1.9172 -		KUUS1Implicit=0x00000001,
  1.9173 -	/** UUS1 is explicitly requested, but it is not mandatory for this call to proceed. */
  1.9174 -		KUUS1ExplicitRequested=0x00000002,
  1.9175 -	/** UUS1 is explicitly requested and it is mandatory for this call to proceed. */
  1.9176 -		KUUS1ExplicitRequired=0x00000004,
  1.9177 -	/** UUS2 is (explicitly) requested, but it is not mandatory for this call to proceed. */
  1.9178 -		KUUS2Requested=0x00000008,
  1.9179 -	/** UUS2 is (explicitly) requested and it is mandatory for this call to proceed. */
  1.9180 -		KUUS2Required=0x00000010,
  1.9181 -	/** UUS3 is (explicitly) requested, but it is not mandatory for this call to proceed. */
  1.9182 -		KUUS3Requested=0x00000020,
  1.9183 -	/** UUS3 is (explicitly) requested and it is mandatory for this call to proceed. */
  1.9184 -		KUUS3Required=0x00000040
  1.9185 -		};
  1.9186 -
  1.9187 -	enum 
  1.9188 -		{
  1.9189 -		KMaxUUISize = 129,
  1.9190 -		};
  1.9191 -
  1.9192 -/** Buffer for the UUI element. */
  1.9193 -	typedef TBuf<KMaxUUISize> TMobileCallUUI;
  1.9194 -
  1.9195 -	class  TMobileCallUUSRequestV1 : public RMobilePhone::TMultimodeType
  1.9196 -/** The mobile Call User-to-User Signaling request. 
  1.9197 -*/
  1.9198 -		{
  1.9199 -	public:
  1.9200 -		IMPORT_C  TMobileCallUUSRequestV1();
  1.9201 -	public:
  1.9202 -	/** This field indicates whether the specified service is requested or required 
  1.9203 -	for the call. */
  1.9204 -		TUint             iServiceReq;
  1.9205 -	/** The UUI element. This field only contains data if iServiceReq indicates UUS1.
  1.9206 -	
  1.9207 -	@see TMobileCallUUI */
  1.9208 -		TMobileCallUUI	  iUUI;
  1.9209 -		};
  1.9210 -	
  1.9211 -/** A typedef'd packaged TMobileCallUUSRequestV1 for passing through a generic API 
  1.9212 -function member. */
  1.9213 -	typedef TPckg<TMobileCallUUSRequestV1> TMobileCallUUSRequestV1Pckg;
  1.9214 -
  1.9215 -	IMPORT_C void ActivateUUS(TRequestStatus& aReqStatus, const TDesC8& aUUSRequest) const;
  1.9216 -	IMPORT_C void SendUUI(TRequestStatus& aReqStatus, TBool aMore, const TMobileCallUUI& aUUI) const;
  1.9217 -	IMPORT_C void ReceiveUUI(TRequestStatus& aReqStatus, TMobileCallUUI& aUUI) const;
  1.9218 -	IMPORT_C void HangupWithUUI(TRequestStatus& aReqStatus, const TMobileCallUUI& aUUI) const;
  1.9219 -	IMPORT_C void AnswerIncomingCallWithUUI(TRequestStatus& aReqStatus, const TDesC8& aCallParams, const TMobileCallUUI& aUUI) const;
  1.9220 -	
  1.9221 -	/***********************************************************************************/
  1.9222 -	//
  1.9223 -	// Etel 3rd Party v1.0 Parameter classes
  1.9224 -	//
  1.9225 -	/***********************************************************************************/
  1.9226 -	
  1.9227 -	class TEtel3rdPartyMobileCallParamsV1 : public RCall::TCallParams
  1.9228 -/** Defines the parameters used to set-up of a call originated from an ETel 3rd Party client. 
  1.9229 -@publishedPartner
  1.9230 -@released
  1.9231 -*/
  1.9232 -		{
  1.9233 -	public:
  1.9234 -		IMPORT_C TEtel3rdPartyMobileCallParamsV1();
  1.9235 -	public:
  1.9236 -	/** Call Id restriction setting to be used for this call.
  1.9237 -	
  1.9238 -	@see TMobileCallIdRestriction */
  1.9239 -		TMobileCallIdRestriction iIdRestrict;
  1.9240 -	/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated 
  1.9241 -	redial (ETrue). */
  1.9242 -		TBool iAutoRedial;		
  1.9243 -		};
  1.9244 -		
  1.9245 -/** A typedef'd packaged TEtel3rdPartyMobileCallParamsV1 for passing through a generic API 
  1.9246 -function member. */
  1.9247 -	typedef TPckg<TEtel3rdPartyMobileCallParamsV1>TEtel3rdPartyMobileCallParamsV1Pckg;	
  1.9248 -	
  1.9249 -private:
  1.9250 -	RMobileCall(const RMobileCall& aCall);
  1.9251 -	CMobileCallPtrHolder* iMmPtrHolder;
  1.9252 -protected:
  1.9253 -	IMPORT_C void ConstructL();
  1.9254 -	IMPORT_C void Destruct();
  1.9255 -	};
  1.9256 -
  1.9257 -
  1.9258 -/*********************************************************/
  1.9259 -//
  1.9260 -// Line based functionality (RMobileLine)
  1.9261 -// 
  1.9262 -/*********************************************************/
  1.9263 -
  1.9264 -
  1.9265 -
  1.9266 -class CMobileLinePtrHolder;
  1.9267 -
  1.9268 -class RMobileLine : public RLine
  1.9269 -/** Provides access to the functionality associated with a specific mobile line. 
  1.9270 -*/
  1.9271 -	{
  1.9272 -public:
  1.9273 -	IMPORT_C RMobileLine();
  1.9274 -
  1.9275 -	/***********************************************************************************/
  1.9276 -	//
  1.9277 -	// MobileLineStatus functional unit
  1.9278 -	// 
  1.9279 -	/***********************************************************************************/
  1.9280 -
  1.9281 -	IMPORT_C TInt GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const;
  1.9282 -	IMPORT_C void NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const;
  1.9283 -
  1.9284 -	//
  1.9285 -	// Additional Caps
  1.9286 -	//
  1.9287 -/** Enumerated auxiliary capabilities. */
  1.9288 -	enum TMobileLineAdditionalCaps
  1.9289 -		{
  1.9290 -	/** Indicates whether the line is a Primary or Auxiliary voice line offset added 
  1.9291 -	so that core Etel and additional line caps can be returned in one TUint. */
  1.9292 -		KCapsAuxVoice=0x00000008	
  1.9293 -		};
  1.9294 -
  1.9295 -private:
  1.9296 -	RMobileLine(const RMobileLine& aLine);
  1.9297 -	CMobileLinePtrHolder* iMmPtrHolder;
  1.9298 -protected:
  1.9299 -	IMPORT_C void ConstructL();
  1.9300 -	IMPORT_C void Destruct();
  1.9301 -	};
  1.9302 -
  1.9303 -
  1.9304 -/*********************************************************/
  1.9305 -//
  1.9306 -// SMS Messaging (RMobileSmsMessaging)
  1.9307 -// 
  1.9308 -/*********************************************************/
  1.9309 -
  1.9310 -
  1.9311 -
  1.9312 -class CMobilePhoneSmspList;
  1.9313 -class CSmsMessagingPtrHolder;
  1.9314 -
  1.9315 -class RMobileSmsMessaging : public RTelSubSessionBase
  1.9316 -/** Provides client access to SMS messaging functionality provided by TSY.
  1.9317 -@publishedPartner
  1.9318 -@released 
  1.9319 -*/
  1.9320 -	{
  1.9321 -public:
  1.9322 -
  1.9323 -	friend class CRetrieveMobilePhoneSmspList;
  1.9324 -
  1.9325 -	IMPORT_C RMobileSmsMessaging();
  1.9326 -
  1.9327 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
  1.9328 -	IMPORT_C void Close();
  1.9329 -
  1.9330 -/** Defines capabilities of SMS messaging.
  1.9331 -
  1.9332 -Modes: GSM/WCDMA */
  1.9333 -	enum TMobileSmsModeCaps
  1.9334 -		{
  1.9335 -	/** SMS is supported in GSM and WCDMA modes. SMS are sent across MM ETel API in 
  1.9336 -	a GSM 03.40 TPDU format.
  1.9337 -	
  1.9338 -	Modes: GSM/WCDMA */
  1.9339 -		KCapsGsmSms=0x00000001,
  1.9340 -	/** SMS is supported in CDMA mode. SMS are sent across MM ETel API in a IS-637 
  1.9341 -	Teleservice message PDU format. 
  1.9342 -	
  1.9343 -	Modes: CDMA */
  1.9344 -		KCapsCdmaSms=0x00000002
  1.9345 -		};
  1.9346 -
  1.9347 -/** Defines SMS control capabilities.
  1.9348 -
  1.9349 -Modes: Common */
  1.9350 -	enum TMobileSmsControlCaps
  1.9351 -		{
  1.9352 -	/** TSY supports receiving incoming SMS that have been stored and acknowledged 
  1.9353 -	by the phone prior to forwarding to the TSY. If this flag is set then KCapsReceiveEither 
  1.9354 -	will not be set and the client can receive stored messages only while the 
  1.9355 -	TSY-phone link is in "receive stored" mode.
  1.9356 -	
  1.9357 -	Modes: Common */
  1.9358 -		KCapsReceiveStored=0x00000001,
  1.9359 -	/** TSY supports receiving incoming SMS that have been acknowledged by the phone 
  1.9360 -	but have NOT already been stored. It is the client's responsibility to do 
  1.9361 -	the storage. If this flag is set then KCapsReceiveEither will not be set and 
  1.9362 -	the client can receive unstored messages only while the TSY-phone link is 
  1.9363 -	in "receive unstored with phone ack" mode.
  1.9364 -	
  1.9365 -	Modes: Common */
  1.9366 -		KCapsReceiveUnstoredPhoneAck=0x00000002,
  1.9367 -	/** TSY supports receiving incoming SMS that have NOT already been stored and acknowledged
  1.9368 -	by the phone. It is the client's responsibility to do both the storage and 
  1.9369 -	the acknowledgment or rejection. If this flag is set then KCapsReceiveEither 
  1.9370 -	will not be set and the client can receive unstored messages only while the 
  1.9371 -	TSY-phone link is in "receive unstored with client ack" mode.
  1.9372 -	
  1.9373 -	Modes: Common */
  1.9374 -		KCapsReceiveUnstoredClientAck=0x00000004,
  1.9375 -	/** TSY supports receiving either stored or unstored incoming SMS at any time. 
  1.9376 -	If this flag is set then any other KCapsReceive... flags will not be set and 
  1.9377 -	the client can receive stored or unstored messages while the TSY-phone link 
  1.9378 -	is in "receive either" mode.
  1.9379 -	
  1.9380 -	Modes: Common */
  1.9381 -		KCapsReceiveEither=0x00000008,
  1.9382 -	/** TSY supports creating a default acknowledgment or rejection TPDU using only 
  1.9383 -	a "cause code" supplied by the client. If this flag is not set then the client 
  1.9384 -	must supply the full ack or nack TPDU if it calls RMobileSmsMessaging::AckSmsStored() 
  1.9385 -	or RMobileSmsMessaging::NackSmsStored().
  1.9386 -	
  1.9387 -	Modes: Common */
  1.9388 -		KCapsCreateAck=0x00000010,
  1.9389 -	/** TSY supports sending SMS messages but does not support returning the service 
  1.9390 -	centre's acknowledgment of the submitted message to the client.
  1.9391 -	
  1.9392 -	Modes: Common */
  1.9393 -		KCapsSendNoAck=0x00000020,
  1.9394 -	/** TSY supports sending SMS messages and also supports returning the service centre's 
  1.9395 -	acknowledgment of the submitted message to the client.
  1.9396 -	
  1.9397 -	Modes: GSM/WCDMA */
  1.9398 -		KCapsSendWithAck=0x00000040,
  1.9399 -	/** TSY supports retrieval of the SMS parameter list.
  1.9400 -	
  1.9401 -	Modes: GSM/WCDMA */
  1.9402 -		KCapsGetSmspList=0x00000080,
  1.9403 -	/** TSY supports storage of the SMS parameter list
  1.9404 -	
  1.9405 -	Modes: GSM/WCDMA */
  1.9406 -		KCapsSetSmspList=0x00000100
  1.9407 -		};
  1.9408 -
  1.9409 -	class TMobileSmsCapsV1 : public RMobilePhone::TMultimodeType
  1.9410 -/** Defines capabilities of SMS messaging.
  1.9411 -*/
  1.9412 -		{
  1.9413 -	public:
  1.9414 -		IMPORT_C TMobileSmsCapsV1();
  1.9415 -
  1.9416 -	/** Sum of TMobileSmsModeCaps constants.
  1.9417 -	
  1.9418 -	Modes: Common */
  1.9419 -		TUint32 iSmsMode;
  1.9420 -	/** Sum of TMobileSmsControlCaps constants.
  1.9421 -	
  1.9422 -	Modes: Common */
  1.9423 -		TUint32 iSmsControl;
  1.9424 -		};
  1.9425 -
  1.9426 -/** A typedef'd packaged TMobileSmsCapsV1 for passing through a generic API member 
  1.9427 -function. */
  1.9428 -	typedef TPckg<TMobileSmsCapsV1> TMobileSmsCapsV1Pckg;
  1.9429 -
  1.9430 -	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
  1.9431 -
  1.9432 -	// Definitions for sizes of TPDU and User Data fields
  1.9433 -	enum 
  1.9434 -		{ 
  1.9435 -		KGsmTpduSize = 165,		// 140 bytes user data + 25 bytes TPDU header
  1.9436 -		KCdmaTpduSize  = 256	// Max size of Bearer Data in Transport Layer message
  1.9437 -		};
  1.9438 -
  1.9439 -/** A typedef'd buffer for GSM or WCDMA message data. */
  1.9440 -	typedef TBuf8<KGsmTpduSize>			TMobileSmsGsmTpdu;
  1.9441 -/** A typedef'd buffer for CDMA message data. */
  1.9442 -	typedef TBuf8<KCdmaTpduSize>		TMobileSmsCdmaTpdu;
  1.9443 -
  1.9444 -	/***********************************************************************************/
  1.9445 -	//
  1.9446 -	// Enum used by TSY to distinguish which SMS attribute class is used by client
  1.9447 -	//
  1.9448 -	/***********************************************************************************/
  1.9449 -
  1.9450 -/** Used by TSY to distinguish which SMS attribute class is used by client.
  1.9451 -
  1.9452 -Modes: Common
  1.9453 -
  1.9454 -@see RMobileSmsMessaging::TMobileSmsSendAttributesV1 */
  1.9455 -	enum TMobileSmsAttributeExtensionId
  1.9456 -		{
  1.9457 -	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsAttributesV1. */
  1.9458 -		KETelMobileSmsAttributesV1=KETelExtMultimodeV1,
  1.9459 -	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsReceiveAttributesV1. */
  1.9460 -		KETelMobileSmsReceiveAttributesV1,
  1.9461 -	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsSendAttributesV1. */
  1.9462 -		KETelMobileSmsSendAttributesV1,
  1.9463 -	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsCdmaSendAttributesV4. */
  1.9464 -		KETelMobileSmsCdmaSendAttributesV4=KETelExtMultimodeV4
  1.9465 -		};
  1.9466 -
  1.9467 -/** Defines common attributes of all SMS messages.
  1.9468 -
  1.9469 -Modes: CDMA
  1.9470 -
  1.9471 -@see TMobileSmsAttributesV1 */
  1.9472 -	enum TMobileSmsAttributeFlags
  1.9473 -		{
  1.9474 -	/** The iCdmaTeleservice field is valid in the attribute class.
  1.9475 -	
  1.9476 -	Modes: CDMA */
  1.9477 -		KCdmaTeleservice = 0x00000001,
  1.9478 -	/** The iCdmaServiceCategory field is valid in the attribute class.
  1.9479 -	
  1.9480 -	Modes: CDMA */
  1.9481 -		KCdmaServiceCategory = 0x00000002,
  1.9482 -	/** The iGsmServiceCentre field is valid in the attribute class.
  1.9483 -	
  1.9484 -	Modes: GSM/WCDMA */
  1.9485 -		KGsmServiceCentre = 0x00000004,
  1.9486 -	/** The iDataFormat field is valid in the attribute class.
  1.9487 -	
  1.9488 -	Modes: Common */
  1.9489 -		KSmsDataFormat = 0x00000008,	
  1.9490 -	/** The iOriginator or iDestination field is valid in the attribute class.
  1.9491 -	
  1.9492 -	Modes: Common */
  1.9493 -		KRemotePartyInfo = 0x00000010,
  1.9494 -	/** The iStatus field is valid in the attribute class.
  1.9495 -	
  1.9496 -	Modes: Common */
  1.9497 -		KIncomingStatus = 0x00000020,
  1.9498 -	/** The iStore and iStoreIndex fields are valid in the attribute class.
  1.9499 -	
  1.9500 -	Modes: Common */
  1.9501 -		KStorageLocation = 0x00000040,
  1.9502 -	/** The iMsgRef field is valid in the attribute class.
  1.9503 -
  1.9504 -	Modes: Common */
  1.9505 -		KMessageReference = 0x00000080,
  1.9506 -	/** The iSubmitReport field is valid in the attribute class.
  1.9507 -	
  1.9508 -	Modes: GSM/WCDMA */
  1.9509 -		KGsmSubmitReport = 0x00000100,
  1.9510 -	/** The iMore field is valid in the attribute class.
  1.9511 -	
  1.9512 -	Modes: Common */
  1.9513 -		KMoreToSend = 0x00000200,
  1.9514 -	/** Indicates to the TSY that it should keep the traffic channel open since there is
  1.9515 -	    another message ready to be sent immediately after this one (typically used when
  1.9516 -	    sending messages to multiple recipients). TSY should then keep the channel open 
  1.9517 -	    until a message is sent with this bit cleared.
  1.9518 -	
  1.9519 -	Modes: CDMA */
  1.9520 -		KCdmaKeepChannelOpen = 0x00000400,
  1.9521 -	/** Indicates to the TSY that it must wait for the Transport Layer Acknowledgement from the network
  1.9522 -	
  1.9523 -	Modes: CDMA */
  1.9524 -		KCdmaTLAckRequired = 0x00000800,
  1.9525 -	/** The iAddressAuthentication field is valid in the attribute class.
  1.9526 -	
  1.9527 -	Modes: CDMA */
  1.9528 -		KCdmaAddressAuthentication = 0x00001000
  1.9529 -		};
  1.9530 -
  1.9531 -/** Defines the SMS data format.
  1.9532 -
  1.9533 -Modes: Common */
  1.9534 -	enum TMobileSmsDataFormat
  1.9535 -		{
  1.9536 -	/** The format is not specified.
  1.9537 -
  1.9538 -	Modes: Common */
  1.9539 -		EFormatUnspecified,
  1.9540 -	/** The message data format complies to a SMS TPDU coded as octets according to 
  1.9541 -	GSM 03.40.
  1.9542 -	
  1.9543 -	Modes: GSM/WCDMA */
  1.9544 -		EFormatGsmTpdu,
  1.9545 -	/** The message data format complies to a SMS Teleservice PDU coded as octets according 
  1.9546 -	to IS-637.
  1.9547 -	
  1.9548 -	Modes: CDMA */
  1.9549 -		EFormatCdmaTpdu
  1.9550 -		};
  1.9551 -
  1.9552 -	class TMobileSmsAttributesV1 : public RMobilePhone::TMultimodeType
  1.9553 -	/** Defines common attributes of all SMS messages. 
  1.9554 -	@publishedPartner
  1.9555 -	@released
  1.9556 -	*/
  1.9557 -		{
  1.9558 -	protected:
  1.9559 -		TMobileSmsAttributesV1();
  1.9560 -	public:
  1.9561 -	/** The bit-mask flags from TMobileSmsAttributeFlags indicating which attributes 
  1.9562 -	are present in this instance.
  1.9563 -	
  1.9564 -	Modes: Common */
  1.9565 -		TUint32 iFlags;
  1.9566 -	/** The format of the message data buffer .
  1.9567 -	
  1.9568 -	Modes: Common
  1.9569 -	
  1.9570 -	@see TMobileSmsDataFormat */
  1.9571 -		TMobileSmsDataFormat iDataFormat;
  1.9572 -	/** The teleservice this message belongs to, coded according to SMS teleservice 
  1.9573 -	identifier values table in TIA/EIA-41-D.
  1.9574 -	
  1.9575 -	Modes: CDMA */
  1.9576 -		TInt iCdmaTeleservice;
  1.9577 -	/** The service category this message belongs to.
  1.9578 -	
  1.9579 -	Modes: CDMA */
  1.9580 -		TInt iCdmaServiceCategory;
  1.9581 -	/** The GSM service centre used for this SMS.
  1.9582 -	
  1.9583 -	Modes: GSM/WCDMA
  1.9584 -	
  1.9585 -	@see RMobilePhone::TMobileAddress */
  1.9586 -		RMobilePhone::TMobileAddress iGsmServiceCentre;
  1.9587 -		};
  1.9588 -
  1.9589 -/** A typedef'd packaged TMobileSmsAttributesV1 for passing through a generic 
  1.9590 -API member function. */
  1.9591 -	typedef TPckg<TMobileSmsAttributesV1> TMobileSmsAttributesV1Pckg;
  1.9592 -
  1.9593 -/** Defines attributes of incoming SMS messages.
  1.9594 -
  1.9595 -Modes: Common */
  1.9596 -	enum TMobileSmsIncomingStatus
  1.9597 -		{
  1.9598 -	/** The status of the incoming SMS is unknown. */
  1.9599 -		EMtMessageUnknownStatus,
  1.9600 -	/** The incoming SMS is not stored phone-side but has already been acknowledged 
  1.9601 -	by the phone. */
  1.9602 -		EMtMessageUnstoredPhoneAck,
  1.9603 -	/** The incoming SMS is not stored phone-side and needs to be acknowledged by the 
  1.9604 -	client. */
  1.9605 -		EMtMessageUnstoredClientAck,
  1.9606 -	/** The incoming SMS is stored phone-side. */
  1.9607 -		EMtMessageStored
  1.9608 -		};
  1.9609 -
  1.9610 -	class TMobileSmsReceiveAttributesV1 : public TMobileSmsAttributesV1
  1.9611 -	/** Defines attributes of incoming SMS messages. 
  1.9612 -	@publishedPartner
  1.9613 -	@released
  1.9614 -	*/
  1.9615 -		{
  1.9616 -	public:
  1.9617 -		IMPORT_C TMobileSmsReceiveAttributesV1();
  1.9618 -	public:
  1.9619 -	/** Indicates the status of the incoming message -whether it is stored phone-side 
  1.9620 -	or has been acknowledged by the phone.
  1.9621 -	
  1.9622 -	Modes: Common
  1.9623 -	
  1.9624 -	@see TMobileSmsIncomingStatus */
  1.9625 -		TMobileSmsIncomingStatus	 iStatus;	// indicates if MT message is stored phone-side
  1.9626 -	/** If the message is stored phone-side, indicates the index (within the phone-side 
  1.9627 -	store) where the message is stored.
  1.9628 -	
  1.9629 -	Modes: Common */
  1.9630 -		TInt						 iStoreIndex;// used if MT message is stored phone-side
  1.9631 -	/** If the message is stored phone-side, indicates the name of the appropriate 
  1.9632 -	phone-side store.
  1.9633 -	
  1.9634 -	Modes: Common
  1.9635 -	
  1.9636 -	@see RMobilePhone::TMobileName */
  1.9637 -		RMobilePhone::TMobileName	 iStore;		// used if MT message is stored phone-side
  1.9638 -	/** The address of the originator of the SMS.
  1.9639 -
  1.9640 -	Modes: Common
  1.9641 -	
  1.9642 -	@see RMobilePhone::TMobileAddress */
  1.9643 -		RMobilePhone::TMobileAddress iOriginator;
  1.9644 -		};
  1.9645 -
  1.9646 -/** A typedef'd packaged TMobileSmsReceiveAttributesV1 for passing through a generic 
  1.9647 -API member function. */
  1.9648 -	typedef TPckg<TMobileSmsReceiveAttributesV1> TMobileSmsReceiveAttributesV1Pckg;
  1.9649 -
  1.9650 -	
  1.9651 -
  1.9652 -	class TMobileSmsSendAttributesV1 : public TMobileSmsAttributesV1
  1.9653 -	/** Defines attributes of sent SMS messages.
  1.9654 -	@publishedPartner
  1.9655 -	@released */
  1.9656 -		{
  1.9657 -	public:
  1.9658 -		IMPORT_C TMobileSmsSendAttributesV1();
  1.9659 -	public:
  1.9660 -	/** The message reference assigned to a sent message.
  1.9661 -	
  1.9662 -	Modes: Common */
  1.9663 -		TUint16						 iMsgRef;
  1.9664 -	/** A boolean indicating whether the client is going to send another SMS immediately 
  1.9665 -	after this one. Equals ETrue if this is the case, EFalse if it is not.
  1.9666 -	
  1.9667 -	Modes: Common */
  1.9668 -		TBool						 iMore;
  1.9669 -	/** The SMS-SUBMIT-REPORT TPDU received from network in response to a sent message.
  1.9670 -	
  1.9671 -	Modes: GSM/WCDMA
  1.9672 -	
  1.9673 -	@see TMobileSmsGsmTpdu */
  1.9674 -		TMobileSmsGsmTpdu			 iSubmitReport;
  1.9675 -	/** The address of the destination of the SMS.
  1.9676 -	
  1.9677 -	Modes: Common
  1.9678 -	
  1.9679 -	@see RMobilePhone::TMobileAddress */
  1.9680 -		RMobilePhone::TMobileAddress iDestination;
  1.9681 -		};
  1.9682 -	
  1.9683 -/** A typedef'd packaged TMobileSmsSendAttributesV1 for passing through a generic 
  1.9684 -API member function. */
  1.9685 -	typedef TPckg<TMobileSmsSendAttributesV1> TMobileSmsSendAttributesV1Pckg;
  1.9686 -
  1.9687 -	class TMobileSmsCdmaSendAttributesV4 : public TMobileSmsAttributesV1
  1.9688 -	/**
  1.9689 -	Defines attributes of sent SMS messages (CDMA only).
  1.9690 -
  1.9691 -	@publishedPartner
  1.9692 -	@released
  1.9693 -	*/
  1.9694 -		{
  1.9695 -	public:
  1.9696 -		IMPORT_C TMobileSmsCdmaSendAttributesV4();
  1.9697 -	public:
  1.9698 -		/** 
  1.9699 -		The message id allocated by the SMS stack. The TSY should
  1.9700 -		retrieve the value from iCdmaTeleserviceId to determine
  1.9701 -		which teleservice this message id corresponds to. 
  1.9702 -		*/
  1.9703 -		TUint16 iMsgRef;
  1.9704 -		/** Indicates whether the client is going to send another 
  1.9705 -		PDU immediately after this one (typically used when sending
  1.9706 -		messages of more than one PDU). Equals ETrue if at least 
  1.9707 -		one more PDU is needed to complete the message and EFalse
  1.9708 -		otherwise.
  1.9709 -		*/
  1.9710 -		TBool iMore;
  1.9711 -		/** TPDU received from network in response to a sent message */
  1.9712 -		TMobileSmsCdmaTpdu iTLAck;
  1.9713 -		/** The address of the destination of the SMS. */
  1.9714 -		RMobilePhone::TMobileAddress iDestination;
  1.9715 -		/** Transport layer authentication parameter */
  1.9716 -		TUint32 iAddressAuthentication;
  1.9717 -		};
  1.9718 -
  1.9719 -/** A typedef'd packaged TMobileSmsCdmaSendAttributesV4 for passing through a generic 
  1.9720 -API member function. */
  1.9721 -	typedef TPckg<TMobileSmsCdmaSendAttributesV4> TMobileSmsCdmaSendAttributesV4Pckg;
  1.9722 -
  1.9723 -	//
  1.9724 -	// Setting up the storage & acknowledgement mode
  1.9725 -	//
  1.9726 -
  1.9727 -/** Defines the SMS receive modes.
  1.9728 -
  1.9729 -Modes: Common */
  1.9730 -	enum TMobileSmsReceiveMode
  1.9731 -		{
  1.9732 -	/** Receive mode is unspecified and phone will use its default. */
  1.9733 -		EReceiveModeUnspecified,
  1.9734 -	/** Phone will acknowledge but NOT store all incoming messages before passing them 
  1.9735 -	onto TSY. It is client's responsibility to store the message. */
  1.9736 -		EReceiveUnstoredPhoneAck,	// client stores but phone acknowledges message
  1.9737 -	/** Phone will NOT acknowledge or store any incoming messages before passing them 
  1.9738 -	onto TSY. It is client's responsibility to attempt storage and then either
  1.9739 -	acknowledge or reject the message. */
  1.9740 -		EReceiveUnstoredClientAck,	// client acknowledges and stores message
  1.9741 -	/** Phone will store and acknowledge all incoming messages before passing them 
  1.9742 -	onto TSY. */
  1.9743 -		EReceiveStored,				// phone acknowledges and store message
  1.9744 -	/** Phone may pass on either stored or unstored messages to TSY. It is client's 
  1.9745 -	responsibility to check RMobileSmsMessaging::TMobileSmsReceiveAttributesV1::iStatus 
  1.9746 -	to determine what action(s) the client needs to take for a message. */
  1.9747 -		EReceiveEither				// client deals with stored & unstored messages
  1.9748 -		};
  1.9749 -		
  1.9750 -	IMPORT_C void SetReceiveMode(TRequestStatus& aReqStatus, TMobileSmsReceiveMode aReceiveMode) const;
  1.9751 -	IMPORT_C TInt GetReceiveMode(TMobileSmsReceiveMode& aReceiveMode) const;
  1.9752 -	IMPORT_C void NotifyReceiveModeChange(TRequestStatus& aStatus, TMobileSmsReceiveMode& aReceiveMode);
  1.9753 -
  1.9754 -	/***********************************************************************************/
  1.9755 -	//
  1.9756 -	// Incoming SMS
  1.9757 -	//
  1.9758 -	/***********************************************************************************/
  1.9759 -
  1.9760 -	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
  1.9761 -
  1.9762 -	/***********************************************************************************/
  1.9763 -	//
  1.9764 -	// Responding to incoming SMS
  1.9765 -	//
  1.9766 -	/***********************************************************************************/
  1.9767 -
  1.9768 -	IMPORT_C void AckSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TBool aFull=EFalse) const;
  1.9769 -	IMPORT_C void NackSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TInt aRpCause) const;
  1.9770 -	IMPORT_C void ResumeSmsReception(TRequestStatus& aReqStatus) const;
  1.9771 -
  1.9772 -	/***********************************************************************************/
  1.9773 -	//
  1.9774 -	// Outgoing SMS
  1.9775 -	//
  1.9776 -	/***********************************************************************************/
  1.9777 -
  1.9778 -	IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
  1.9779 -	IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
  1.9780 -
  1.9781 -/** Defines the SMS bearer.
  1.9782 -
  1.9783 -Modes: GSM */
  1.9784 -	enum TMobileSmsBearer
  1.9785 -		{
  1.9786 -	/** SMS messages will only be sent over a packet-switched (GPRS) network. */
  1.9787 -		ESmsBearerPacketOnly,
  1.9788 -	/** SMS messages will only be sent over a circuit-switched (GSM) network. */
  1.9789 -		ESmsBearerCircuitOnly,
  1.9790 -	/** SMS messages will be sent over the packet-switched (GPRS) network if possible, 
  1.9791 -	otherwise over circuit-switched (GSM) network. */
  1.9792 -		ESmsBearerPacketPreferred,
  1.9793 -	/** SMS messages will be sent over the circuit-switched (GSM) network if possible, 
  1.9794 -	otherwise over packet-switched (GPRS) network. */
  1.9795 -		ESmsBearerCircuitPreferred
  1.9796 -		};
  1.9797 -
  1.9798 -	IMPORT_C void SetMoSmsBearer(TRequestStatus& aReqStatus, TMobileSmsBearer aBearer) const;
  1.9799 -	IMPORT_C TInt GetMoSmsBearer(TMobileSmsBearer& aBearer) const;
  1.9800 -	IMPORT_C void NotifyMoSmsBearerChange(TRequestStatus& aReqStatus, TMobileSmsBearer& aBearer);
  1.9801 -
  1.9802 -	/***********************************************************************************/
  1.9803 -	//
  1.9804 -	// Get information on phone-side SMS storage
  1.9805 -	//
  1.9806 -	/***********************************************************************************/
  1.9807 -
  1.9808 -	IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const;
  1.9809 -	IMPORT_C void GetMessageStoreInfo(TRequestStatus& aReqStatus, TInt aIndex, TDes8& aInfo) const;
  1.9810 -
  1.9811 -	/***********************************************************************************/
  1.9812 -	//
  1.9813 -	// Read/Write SMS parameters to phone-side storage
  1.9814 -	//
  1.9815 -	/***********************************************************************************/
  1.9816 -
  1.9817 -	enum { KMaxSmspTextSize=30 };
  1.9818 -
  1.9819 -/** Defines the valid SMS parameters store.
  1.9820 -
  1.9821 -Modes: GSM/WCDMA
  1.9822 -
  1.9823 -@see TMobileSmspEntryV1 */
  1.9824 -	enum TMobileSmspStoreValidParams
  1.9825 -		{
  1.9826 -	/** The entry includes a valid iDestination field. */
  1.9827 -		KDestinationIncluded=0x00000001,
  1.9828 -	/** The entry includes a valid iServiceCentre field. */
  1.9829 -		KSCAIncluded=0x00000002,
  1.9830 -	/** The entry includes a valid iProtocolId field. */
  1.9831 -		KProtocolIdIncluded=0x00000004,
  1.9832 -	/** The entry includes a valid iDcs field. */
  1.9833 -		KDcsIncluded=0x00000008,
  1.9834 -	/** The entry includes a valid iValidityPeriod field. */
  1.9835 -		KValidityPeriodIncluded=0x00000010
  1.9836 - 		};
  1.9837 -
  1.9838 -	class TMobileSmspEntryV1 : public RMobilePhone::TMultimodeType
  1.9839 -
  1.9840 -	/** Defines a set of SMS parameters. 
  1.9841 -	@publishedPartner
  1.9842 -	@released
  1.9843 -	*/
  1.9844 -		{
  1.9845 -	public:
  1.9846 -		IMPORT_C TMobileSmspEntryV1();
  1.9847 -	public:
  1.9848 -		void InternalizeL(RReadStream& aStream);
  1.9849 -		void ExternalizeL(RWriteStream& aStream) const;
  1.9850 -	public:
  1.9851 -	/** The slot index where this SMSP entry is stored in the SIM's SMSP file. */
  1.9852 -		TInt iIndex;
  1.9853 -	/** A bit-wise sum of the constants defined in TMobileSmspStoreValidParams, that 
  1.9854 -	specifies which parameters are valid within this entry. */
  1.9855 -		TUint32	iValidParams;
  1.9856 -	/** Default protocol ID. Coded according to GSM 03.40. */
  1.9857 -		TUint8 iProtocolId;
  1.9858 -	/** Default data coding scheme. Coded according to GSM 03.40. */
  1.9859 -		TUint8 iDcs;
  1.9860 -	/** Default validity period, in relative format and coded on 8 bits as defined 
  1.9861 -	by GSM 03.40. */
  1.9862 -		TUint8 iValidityPeriod;
  1.9863 -	/** Reserved for future use. */
  1.9864 -		TUint8 iReservedFiller;
  1.9865 -	/** Default destination for outgoing SMS.
  1.9866 -	
  1.9867 -	@see RMobilePhone::TMobileAddress */
  1.9868 -		RMobilePhone::TMobileAddress iDestination;
  1.9869 -	/** Default service centre for outgoing SMS.
  1.9870 -	
  1.9871 -	@see RMobilePhone::TMobileAddress */
  1.9872 -		RMobilePhone::TMobileAddress iServiceCentre;
  1.9873 -	/** The alpha-tag associated with this SMSP entry, expressed as Unicode characters. */
  1.9874 -		TBuf<KMaxSmspTextSize> iText;
  1.9875 -		};
  1.9876 -
  1.9877 -/** A typedef'd packaged TMobileSmspEntryV1 for passing through a generic API member
  1.9878 -function. */
  1.9879 -	typedef TPckg<TMobileSmspEntryV1> TMobileSmspEntryV1Pckg;
  1.9880 -	IMPORT_C void StoreSmspListL(TRequestStatus& aReqStatus, CMobilePhoneSmspList* aSmspList) const;
  1.9881 -	IMPORT_C void NotifySmspListChange(TRequestStatus& aReqStatus) const;
  1.9882 -
  1.9883 -private:
  1.9884 -	RMobileSmsMessaging(const RMobileSmsMessaging&);
  1.9885 -	CSmsMessagingPtrHolder* iSmsMessagingPtrHolder;
  1.9886 -protected:
  1.9887 -	IMPORT_C void ConstructL();
  1.9888 -	IMPORT_C void Destruct();
  1.9889 -	};
  1.9890 -
  1.9891 -
  1.9892 -/*********************************************************/
  1.9893 -//
  1.9894 -// Broadcast Messaging (RMobileBroadcastMessaging)
  1.9895 -// 
  1.9896 -/*********************************************************/
  1.9897 -
  1.9898 -
  1.9899 -
  1.9900 -class CMobilePhoneBroadcastIdList;
  1.9901 -
  1.9902 -class CCbsMessagingPtrHolder;
  1.9903 -class RMobileBroadcastMessaging : public RTelSubSessionBase
  1.9904 -/** This sub-session provides access to the broadcast message services provided 
  1.9905 -by GSM/WCDMA and CDMA networks.
  1.9906 -
  1.9907 -Clients will open a RMobileBroadcastMessaging sub-session and then wait for 
  1.9908 -incoming broadcast messages. The broadcast messages received can depend upon 
  1.9909 -a "message filter" which defines the languages and/or identifiers of acceptable 
  1.9910 -(or unacceptable) messages. This sub-session and the function members within 
  1.9911 -this section must be supported if the TSY indicates that it supports the MobileBroadcastMessaging
  1.9912 -functional unit. 
  1.9913 -
  1.9914 -@publishedPartner
  1.9915 -@released*/
  1.9916 -	{
  1.9917 -public:
  1.9918 -	
  1.9919 -	friend class CRetrieveMobilePhoneBroadcastIdList;
  1.9920 -
  1.9921 -	IMPORT_C RMobileBroadcastMessaging();
  1.9922 -
  1.9923 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
  1.9924 -	IMPORT_C void Close();
  1.9925 -
  1.9926 -	/***********************************************************************************/
  1.9927 -	//
  1.9928 -	// Broadcast messaging capabilities
  1.9929 -	//
  1.9930 -	/***********************************************************************************/
  1.9931 -
  1.9932 -/** Broadcast capabilities.
  1.9933 -
  1.9934 -Modes:GSM/WCDMA */
  1.9935 -	enum TMobileBroadcastModeCaps
  1.9936 -		{
  1.9937 -	/** GSM 03.41 cell broadcast messages are supported.
  1.9938 -	
  1.9939 -	Modes:GSM/WCDMA */
  1.9940 -		KCapsGsmTpduFormat = 0x00000001,
  1.9941 -	/** IS-637-A broadcast messages are supported.
  1.9942 -	
  1.9943 -	Modes:CDMA */
  1.9944 -		KCapsCdmaTpduFormat = 0x00000002,
  1.9945 -	/** 3GPP 25.324 Release 4 cell broadcast messages are supported.
  1.9946 -	
  1.9947 -	Modes: WCDMA */
  1.9948 -		KCapsWcdmaTpduFormat = 0x00000004
  1.9949 -		};
  1.9950 -
  1.9951 -/** Broadcast message filter capabilities.
  1.9952 -
  1.9953 -Modes: Common
  1.9954 -
  1.9955 -@see RMobileBroadcastMessaging::GetLanguageFilter() */
  1.9956 -	enum TBroadcastMessagingFilterCaps
  1.9957 -		{
  1.9958 -	/** Phone supports switching broadcast messages on or off. This means the EbroadcastAcceptNone 
  1.9959 -	and EBroadcastAcceptAll settings of TMobilePhoneBroadcastFilter are supported.
  1.9960 -	
  1.9961 -	Modes: Common */
  1.9962 -		KCapsSimpleFilter = 0x00000001,
  1.9963 -	/** Phone supports filtering of broadcast messages depending upon their language. 
  1.9964 -	The language filter is a list of languages used only for broadcast filtering.
  1.9965 -	
  1.9966 -	Modes: Common
  1.9967 -	
  1.9968 -	@see RMobileBroadcastMessaging::GetLanguageFilter() */
  1.9969 -		KCapsLangFilter = 0x00000002,
  1.9970 -	/** Phone supports filtering of broadcast messages depending upon their subject. 
  1.9971 -	The subject of a message is identified in GSM/WCDMA mode by the Cell Broadcast 
  1.9972 -	Message Identifier (CBMI) and in CDMA mode by the Service Category.
  1.9973 -	
  1.9974 -	Modes: Common */
  1.9975 -		KCapsIdFilter = 0x00000004
  1.9976 -		};
  1.9977 -
  1.9978 -	
  1.9979 -
  1.9980 -	class TMobileBroadcastCapsV1 : public RMobilePhone::TMultimodeType
  1.9981 -	/** Defines capabilities of Broadcast messaging. 
  1.9982 -	@publishedPartner
  1.9983 -	@released
  1.9984 -	*/
  1.9985 -		{
  1.9986 -	public:
  1.9987 -		IMPORT_C TMobileBroadcastCapsV1();
  1.9988 -	public:
  1.9989 -	/** Sum of TMobileBroadcastModeCaps constants.
  1.9990 -	
  1.9991 -	Modes: GSM/WCDMA */
  1.9992 -		TUint32 iModeCaps;
  1.9993 -	/** Sum of TBroadcastMessagingFilterCaps constants.
  1.9994 -	
  1.9995 -	Modes: GSM/WCDMA */
  1.9996 -		TUint32 iFilterCaps;
  1.9997 -		};
  1.9998 -
  1.9999 -/** A typedef'd packaged TMobileBroadcastCapsV1 for passing through a generic API 
 1.10000 -function member. */
 1.10001 -	typedef TPckg<TMobileBroadcastCapsV1> TMobileBroadcastCapsV1Pckg;
 1.10002 -
 1.10003 -	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
 1.10004 -
 1.10005 -/** Defines the broadcast attributes.
 1.10006 -
 1.10007 -Modes: Common */
 1.10008 -	enum TMobileBroadcastAttributeFlags
 1.10009 -		{
 1.10010 -	/** The iFormat field is valid in the attribute class.
 1.10011 -	
 1.10012 -	Modes: Common */
 1.10013 -		KBroadcastDataFormat = 0x00000001,
 1.10014 -	/** The iServiceCategory field is valid in the attribute class.
 1.10015 -	
 1.10016 -	Modes: CDMA */
 1.10017 -		KCdmaServiceCategory = 0x00000002
 1.10018 -		};
 1.10019 -
 1.10020 -/** The mobile broadcast data format, used byTMobileBroadcastAttributesV1.
 1.10021 -
 1.10022 -Modes: Common */
 1.10023 -	enum TMobileBroadcastDataFormat
 1.10024 -		{
 1.10025 -	/** The message data format is not specified.
 1.10026 -	
 1.10027 -	Modes: Common */
 1.10028 -		EFormatUnspecified,
 1.10029 -	/** The message data format complies to a Cell Broadcast TPDU coded as 88 octets 
 1.10030 -	(6 for header and 82 for message data) according to GSM 03.41.
 1.10031 -	
 1.10032 -	Modes: GSM/WCDMA */
 1.10033 -		EFormatGsmTpdu,
 1.10034 -	/** The message data format complies to IS-637-A encoding of the Bearer Data parameter 
 1.10035 -	within the Transport Layer's SMS-Broadcast message.
 1.10036 -	
 1.10037 -	Modes: CDMA */
 1.10038 -		EFormatCdmaTpdu,
 1.10039 -	/** The message data format complies to a Cell Broadcast TPDU coded as 1252 octets 
 1.10040 -	(6 for header and a maximum of 1246 for message data) according to 3GPP 25.324.
 1.10041 -	
 1.10042 -	Modes: WCDMA */
 1.10043 -		EFormatWcdmaTpdu
 1.10044 -		};
 1.10045 -
 1.10046 -	
 1.10047 -
 1.10048 -	class TMobileBroadcastAttributesV1 : public RMobilePhone::TMultimodeType
 1.10049 -	/** Defines attributes of a Broadcast message.
 1.10050 -	@publishedPartner
 1.10051 -	@released
 1.10052 -	*/
 1.10053 -		{
 1.10054 -	public:
 1.10055 -		IMPORT_C TMobileBroadcastAttributesV1();
 1.10056 -	public:
 1.10057 -	/** The bit-mask flags indicating which attributes are present in this instance.
 1.10058 -	
 1.10059 -	Modes: Common
 1.10060 -	
 1.10061 -	@see TMobileBroadcastAttributeFlags */
 1.10062 -		TUint32	iFlags;
 1.10063 -	/** Format of the message data buffer.
 1.10064 -	
 1.10065 -	Modes: Common
 1.10066 -	
 1.10067 -	@see TMobileBroadcastDataFormat */
 1.10068 -		TMobileBroadcastDataFormat	iFormat;
 1.10069 -	/** Service category of the message.
 1.10070 -	
 1.10071 -	Modes: CDMA */
 1.10072 -		TInt iServiceCategory;
 1.10073 -		};
 1.10074 -
 1.10075 -/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic 
 1.10076 -API function member. */
 1.10077 -	typedef TPckg<TMobileBroadcastAttributesV1> TMobileBroadcastAttributesV1Pckg;
 1.10078 -
 1.10079 -
 1.10080 -	
 1.10081 -
 1.10082 -	class TMobileBroadcastAttributesV2 : public TMobileBroadcastAttributesV1
 1.10083 -	/** Defines attributes of a UMTS Broadcast message for version v2.0 of the API. 
 1.10084 -	@publishedPartner
 1.10085 -	@released
 1.10086 -	*/
 1.10087 -		{
 1.10088 -	public:
 1.10089 -		IMPORT_C TMobileBroadcastAttributesV2();
 1.10090 -	public:
 1.10091 -	/** The number of pages that the current broadcast message consists of. The maximum 
 1.10092 -	number of pages for WCDMA Broadcast messages is 15. */
 1.10093 -		TInt	 iNumberOfPages;
 1.10094 -	/** This parameter is used to store the message type for this broadcast message. */
 1.10095 -		TUint8	 iMessageType;
 1.10096 -	/** This parameter is used to store the message id for this broadcast message.
 1.10097 -	
 1.10098 -	This parameter is used to store the serial number for this broadcast message.
 1.10099 -	
 1.10100 -	This parameter is used to store the data coding scheme for this broadcast 
 1.10101 -	message. */
 1.10102 -		TUint16	 iMessageId;
 1.10103 -	/** This parameter is used to store the serial number for this broadcast message. */
 1.10104 -		TUint16	 iSerialNum;
 1.10105 -	/** This parameter is used to store the data coding scheme for this broadcast message. */
 1.10106 -		TUint8	 iDCS;
 1.10107 -		};
 1.10108 -
 1.10109 -/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic 
 1.10110 -API function member. */
 1.10111 -	typedef TPckg<TMobileBroadcastAttributesV2> TMobileBroadcastAttributesV2Pckg;
 1.10112 -
 1.10113 -	/***********************************************************************************/
 1.10114 -	//
 1.10115 -	// Receiving broadcast messages
 1.10116 - 	//
 1.10117 -	/***********************************************************************************/
 1.10118 -
 1.10119 -	/** A constant which defines the length of the buffer to be passed to ReceiveMessage.	
 1.10120 -	
 1.10121 -	This constant should be used for all message types: GSM, CDMA and WCDMA.*/
 1.10122 -	enum
 1.10123 -		{
 1.10124 -		KBroadcastPageSize = 88	
 1.10125 -		};
 1.10126 -	
 1.10127 -	/** Buffer for received messages. 
 1.10128 -	
 1.10129 -	This buffer should be used for all message types: GSM, CDMA and WCDMA.*/
 1.10130 -	typedef TBuf8<KBroadcastPageSize> TBroadcastPageData;
 1.10131 -
 1.10132 -	/** Old buffer sizes.  KBroadcastPageSize should be used instead. */
 1.10133 -	enum 
 1.10134 -		{
 1.10135 -		KGsmBroadcastDataSize = KBroadcastPageSize,
 1.10136 -		KCdmaBroadcastDataSize = KBroadcastPageSize,
 1.10137 -		KWCdmaBroadcastPageSize = KBroadcastPageSize
 1.10138 -		};
 1.10139 -
 1.10140 -	/** Buffer for GSM messages.  TBroadcastPageData should be used instead. */
 1.10141 -	typedef TBuf8<KGsmBroadcastDataSize>  TGsmBroadcastMessageData;
 1.10142 -	/** Buffer for CDMA messages.  TBroadcastPageData should be used instead.  */
 1.10143 -	typedef TBuf8<KCdmaBroadcastDataSize> TCdmaBroadcastMessageData;
 1.10144 -	/** Buffer for WCDMA messages.  TBroadcastPageData should be used instead. */
 1.10145 -	typedef TBuf8<KWCdmaBroadcastPageSize> TWCdmaBroadcastPageData;
 1.10146 -
 1.10147 -	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
 1.10148 -
 1.10149 -	/***********************************************************************************/
 1.10150 -	//
 1.10151 -	// Filters
 1.10152 -	//
 1.10153 -	/***********************************************************************************/
 1.10154 -
 1.10155 -/** The filter settings of the mobile phone.
 1.10156 -
 1.10157 -Modes: Common */
 1.10158 -	enum TMobilePhoneBroadcastFilter
 1.10159 -		{
 1.10160 -	/** The phone does not have a filter setting. */
 1.10161 -		EBroadcastFilterUnspecified,
 1.10162 -	/** The phone is not accepting any broadcast messages. */
 1.10163 -		EBroadcastAcceptNone,
 1.10164 -	/** The phone is accepting all broadcast messages. */
 1.10165 -		EBroadcastAcceptAll,
 1.10166 -	/** The phone is accepting those broadcast messages included within the language 
 1.10167 -	and identifier filters. */
 1.10168 -		EBroadcastAcceptFilter,
 1.10169 -	/** The phone is rejecting those broadcast messages included within the language 
 1.10170 -	or identifier filters. */
 1.10171 -		EBroadcastRejectFilter
 1.10172 -		};
 1.10173 -
 1.10174 -	IMPORT_C TInt GetFilterSetting(TMobilePhoneBroadcastFilter& aSetting) const;
 1.10175 -	IMPORT_C void SetFilterSetting(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter aSetting) const;
 1.10176 -	IMPORT_C void NotifyFilterSettingChange(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter& aSetting) const;
 1.10177 -
 1.10178 -	IMPORT_C void GetLanguageFilter(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
 1.10179 -	IMPORT_C void SetLanguageFilter(TRequestStatus& aReqStatus, const TDesC16& aLangFilter) const;
 1.10180 -	IMPORT_C void NotifyLanguageFilterChange(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
 1.10181 -
 1.10182 -	class TMobileBroadcastIdEntryV1 : public RMobilePhone::TMultimodeType
 1.10183 -	/** In GSM - defines a Cell Broadcast Message Identifier (CBMI) list entry. In 
 1.10184 -	CDMA - defines a Service Category list entry. 
 1.10185 -	@publishedPartner
 1.10186 -	@released
 1.10187 -	*/
 1.10188 -		{
 1.10189 -	public:
 1.10190 -		void InternalizeL(RReadStream& aStream);
 1.10191 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10192 -		IMPORT_C TMobileBroadcastIdEntryV1();
 1.10193 -	public:
 1.10194 -	/** The value of the message identifier. */
 1.10195 -		TUint16	iId;
 1.10196 -		};
 1.10197 -
 1.10198 -/** Defines the broadcast types. */
 1.10199 -	enum TMobileBroadcastIdType
 1.10200 -		{
 1.10201 -	/** GSM broadcast. */
 1.10202 -		EGsmBroadcastId,
 1.10203 -	/** CDMA broadcast. */
 1.10204 -		ECdmaBroadcastId
 1.10205 -		};
 1.10206 -
 1.10207 -	IMPORT_C void StoreBroadcastIdListL(TRequestStatus& aReqStatus, CMobilePhoneBroadcastIdList* aIdList, TMobileBroadcastIdType aIdType);
 1.10208 -	IMPORT_C void NotifyBroadcastIdListChange(TRequestStatus& aReqStatus) const;
 1.10209 -
 1.10210 -private:
 1.10211 -	RMobileBroadcastMessaging(const RMobileBroadcastMessaging&);
 1.10212 -	CCbsMessagingPtrHolder* iCbsMessagingPtrHolder;
 1.10213 -protected:
 1.10214 -	IMPORT_C void ConstructL();
 1.10215 -	IMPORT_C void Destruct();
 1.10216 -	};
 1.10217 -
 1.10218 -/*********************************************************/
 1.10219 -//
 1.10220 -// USSD Messaging (RMobileUssdMessaging)
 1.10221 -// 
 1.10222 -/*********************************************************/
 1.10223 -
 1.10224 -
 1.10225 -
 1.10226 -class CUssdMessagingPtrHolder;
 1.10227 -class RMobileUssdMessaging : public RTelSubSessionBase
 1.10228 -/** Provides client access to USSD functionality provided by TSY. 
 1.10229 -*/
 1.10230 -	{
 1.10231 -public:
 1.10232 -	IMPORT_C RMobileUssdMessaging();
 1.10233 -
 1.10234 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
 1.10235 -	IMPORT_C void Close();
 1.10236 -
 1.10237 -/** Defines the USSD Messaging Format Capabilities.
 1.10238 -
 1.10239 -Modes: GSM/WCDMA */
 1.10240 -	enum TMobileUssdFormatCaps
 1.10241 -		{
 1.10242 -	/** USSD messages coded as a packed string within 160 octets, as defined for a 
 1.10243 -	ussd-String within GSM 04.80 and GSM 03.38.
 1.10244 -	
 1.10245 -	Modes: GSM/WCDMA */
 1.10246 -		KCapsPackedString=0x00000001
 1.10247 -		};
 1.10248 -
 1.10249 -/** Defines the USSD Messaging Type Capabilities.
 1.10250 -
 1.10251 -Modes: GSM/WCDMA */
 1.10252 -	enum TMobileUssdTypeCaps
 1.10253 -		{
 1.10254 -	/** Outgoing USSD messages are supported.
 1.10255 -	
 1.10256 -	Modes: GSM/WCDMA */
 1.10257 -		KCapsMOUssd=0x00000001,
 1.10258 -	/** Incoming USSD messages are supported.
 1.10259 -	
 1.10260 -	Modes: GSM/WCDMA */
 1.10261 -		KCapsMTUssd=0x00000002
 1.10262 -		};
 1.10263 -
 1.10264 -	
 1.10265 -
 1.10266 -	class TMobileUssdCapsV1 : public RMobilePhone::TMultimodeType
 1.10267 -	/** Defines capabilities of USSD messaging. 
 1.10268 -	@publishedPartner
 1.10269 -	@released
 1.10270 -	*/
 1.10271 -		{
 1.10272 -	public:
 1.10273 -		IMPORT_C TMobileUssdCapsV1();
 1.10274 -	/** Sum of TMobileUssdFormatCaps constants.
 1.10275 -	
 1.10276 -	Modes: GSM/WCDMA
 1.10277 -
 1.10278 -	@see TMobileUssdFormatCaps */
 1.10279 -		TUint32 iUssdFormat;
 1.10280 -	/** Sum of TMobileUssdTypeCaps constants.
 1.10281 -	
 1.10282 -	Modes: GSM/WCDMA
 1.10283 -
 1.10284 -	@see TMobileUssdTypeCaps */
 1.10285 -		TUint32 iUssdTypes;
 1.10286 -		};
 1.10287 -
 1.10288 -/** A typedef'd packaged TMobileUssdCapsV1 for passing through a generic API member 
 1.10289 -function. */
 1.10290 -	typedef TPckg<TMobileUssdCapsV1> TMobileUssdCapsV1Pckg;
 1.10291 -
 1.10292 -	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
 1.10293 -
 1.10294 -/** Defines the USSD Messaging Attributes.
 1.10295 -
 1.10296 -Modes: GSM/WCDMA
 1.10297 -
 1.10298 -@see TMobileUssdAttributesV1 */
 1.10299 -	enum TMobileUssdAttributeFlags
 1.10300 -		{
 1.10301 -	/** The iFormat field is valid in the attribute class. */
 1.10302 -		KUssdDataFormat = 0x00000001,
 1.10303 -	/** The iType field is valid in the attribute class. */
 1.10304 -		KUssdMessageType = 0x00000002,
 1.10305 -	/** The iDcs field is valid in the attribute class. */
 1.10306 -		KUssdMessageDcs = 0x00000004
 1.10307 -		};
 1.10308 -
 1.10309 -/** Defines the USSD Data Formats.
 1.10310 -
 1.10311 -Modes: Common */
 1.10312 -	enum TMobileUssdDataFormat
 1.10313 -		{
 1.10314 -	/** The message data format is unspecified.
 1.10315 -	
 1.10316 -	Modes: Common */
 1.10317 -		EFormatUnspecified,
 1.10318 -	/** The message data format complies to a USSD coded as 160 octets as defined for 
 1.10319 -	a ussd-String within GSM 04.80 and GSM 03.38.
 1.10320 -	
 1.10321 -	Modes: GSM/WCDMA */
 1.10322 -		EFormatPackedString
 1.10323 -		};
 1.10324 -
 1.10325 -/** Defines the USSD Message Types.
 1.10326 -
 1.10327 -Modes: GSM/WCDMA */
 1.10328 -	enum TMobileUssdMessageType
 1.10329 -		{
 1.10330 -	/** Message is an unknown type. */
 1.10331 -		EUssdUnknown,
 1.10332 -	/** Message is a mobile originated USSD request. The MS expects the network to 
 1.10333 -	send a USSD MT reply. */
 1.10334 -		EUssdMORequest,
 1.10335 -	/** Message is a reply to a previously received network initiated USSD request. 
 1.10336 -	It is a USSD MO reply. */
 1.10337 -		EUssdMOReply,
 1.10338 -	/** Message is a one-off network initiated USSD notification. The network expects the MS to
 1.10339 -	send a USSD MO acknowledgement with empty message content. */
 1.10340 -		EUssdMTNotify,
 1.10341 -	/** Message is a network initiated USSD request. The network expects
 1.10342 -	the MS to send a USSD MO reply. */
 1.10343 -		EUssdMTRequest,
 1.10344 -	/** Message is a network initiated reply to a previously sent MO USSD request. */
 1.10345 -		EUssdMTReply,
 1.10346 -	/** For acknowledging MT USSD notifications (empty message content). */
 1.10347 -		EUssdMOAcknowledgement
 1.10348 -		};
 1.10349 -
 1.10350 -	
 1.10351 -
 1.10352 -	class TMobileUssdAttributesV1 : public RMobilePhone::TMultimodeType
 1.10353 -	/** Defines attributes of a USSD message. 
 1.10354 -	@publishedPartner
 1.10355 -	@released
 1.10356 -	*/
 1.10357 -		{
 1.10358 -	public:
 1.10359 -		IMPORT_C TMobileUssdAttributesV1();
 1.10360 -	public:
 1.10361 -	/** The TMobileUssdAttributeFlags bit-mask flags indicating which attributes are
 1.10362 -	present in this instance.
 1.10363 -	
 1.10364 -	Modes: GSM/WCDMA
 1.10365 -
 1.10366 -	@see TMobileUssdAttributeFlags */
 1.10367 -		TUint32 iFlags;
 1.10368 -	/** Format of the message data buffer.
 1.10369 -	
 1.10370 -	Modes: GSM/WCDMA
 1.10371 -	
 1.10372 -	@see TMobileUssdDataFormat */
 1.10373 -		TMobileUssdDataFormat iFormat;
 1.10374 -	/** The type of USSD message.
 1.10375 -	
 1.10376 -	Modes: GSM/WCDMA
 1.10377 -	
 1.10378 -	@see TMobileUssdMessageType */
 1.10379 -		TMobileUssdMessageType iType;
 1.10380 -	/** The Data Coding Scheme of the USSD message.
 1.10381 -	
 1.10382 -	Modes: GSM/WCDMA */
 1.10383 -		TUint8 iDcs;
 1.10384 -		};
 1.10385 -	
 1.10386 -/** A typedef'd packaged TMobileUssdAttributesV1 for passing through a generic 
 1.10387 -API member function. */
 1.10388 -	typedef TPckg<TMobileUssdAttributesV1> TMobileUssdAttributesV1Pckg;
 1.10389 -
 1.10390 -	/***********************************************************************************/
 1.10391 -	//
 1.10392 -	// Receiving USSD messages
 1.10393 - 	//
 1.10394 -	/***********************************************************************************/
 1.10395 -
 1.10396 -	enum 
 1.10397 -		{
 1.10398 -		KGsmUssdDataSize = 160
 1.10399 -		};
 1.10400 -
 1.10401 -/** A typedef'd buffer to hold the message data. */
 1.10402 -	typedef TBuf8<KGsmUssdDataSize> TGsmUssdMessageData;
 1.10403 -
 1.10404 -	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
 1.10405 -
 1.10406 -	/***********************************************************************************/
 1.10407 -	//
 1.10408 -	// Sending USSD messages
 1.10409 -	//
 1.10410 -	/***********************************************************************************/
 1.10411 -
 1.10412 -	IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
 1.10413 -	IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
 1.10414 -	
 1.10415 -	IMPORT_C void SendRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
 1.10416 -	IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
 1.10417 -	IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
 1.10418 -
 1.10419 -private:
 1.10420 -	RMobileUssdMessaging(const RMobileUssdMessaging&);
 1.10421 -	CUssdMessagingPtrHolder* iUssdMessagingPtrHolder;
 1.10422 -protected:
 1.10423 -	IMPORT_C void ConstructL();
 1.10424 -	IMPORT_C void Destruct();
 1.10425 -	};
 1.10426 -
 1.10427 -
 1.10428 -
 1.10429 -/*********************************************************/
 1.10430 -//
 1.10431 -// SMS Message Storage (RMobileSmsStore)
 1.10432 -//
 1.10433 -/*********************************************************/
 1.10434 -
 1.10435 -
 1.10436 -
 1.10437 -class CSmsStorePtrHolder;
 1.10438 -class CMobilePhoneSmsList;
 1.10439 -class RMobileSmsStore : public RMobilePhoneStore
 1.10440 -/** Provides client access to SMS storage functionality provided by TSY.
 1.10441 -@publishedPartner
 1.10442 -@released
 1.10443 -*/
 1.10444 -	{
 1.10445 -public:
 1.10446 -
 1.10447 -	IMPORT_C RMobileSmsStore();
 1.10448 -	IMPORT_C TInt Open(RMobileSmsMessaging& aMessaging, const TDesC& aStoreName);
 1.10449 -	IMPORT_C void Close();
 1.10450 -
 1.10451 -/** Defines the SMS Store Capabilities.
 1.10452 -
 1.10453 -Modes: Common */
 1.10454 -	enum TMobileSmsStoreCaps
 1.10455 -		{
 1.10456 -	/** The store contains unread, incoming SMS entries.
 1.10457 -	
 1.10458 -	Modes: Common */
 1.10459 -		KCapsUnreadMessages = 0x00000001,
 1.10460 -	/** The store contains read, incoming SMS entries.
 1.10461 -	
 1.10462 -	Modes: Common */
 1.10463 -		KCapsReadMessages = 0x00000002,
 1.10464 -	/** The store contains sent SMS entries.
 1.10465 -	
 1.10466 -	Modes: Common */
 1.10467 -		KCapsSentMessages = 0x00000004,
 1.10468 -	/** The store contains un sent SMS entries. */
 1.10469 -		KCapsUnsentMessages = 0x00000008,
 1.10470 -	/** The store contains GSM SMS message entries – so TMobileGsmSmsEntryV1 class 
 1.10471 -	should be used.
 1.10472 -	
 1.10473 -	Modes: GSM/WCDMA */
 1.10474 -		KCapsGsmMessages = 0x00000010,
 1.10475 -	/** The store contains CDMA SMS message entries – so TMobileCdmaSmsEntryV1 class 
 1.10476 -	should be used.
 1.10477 -	
 1.10478 -	Modes: CDMA */
 1.10479 -		KCapsCdmaMessages = 0x00000020
 1.10480 -		};
 1.10481 -
 1.10482 -/** Defines contents of a fixed-size, stored SMS entry.
 1.10483 -
 1.10484 -Modes: Common */
 1.10485 -	enum TMobileSmsStoreStatus
 1.10486 -		{
 1.10487 -	/** The status of the SMS is unknown. */
 1.10488 -		EStoredMessageUnknownStatus,
 1.10489 -	/** The SMS is stored phone-side. It is an incoming message that has not been read 
 1.10490 -	yet. */
 1.10491 -		EStoredMessageUnread,
 1.10492 -	/** The SMS is stored phone-side. It is an incoming message that has already been 
 1.10493 -	read. */
 1.10494 -		EStoredMessageRead,
 1.10495 -	/** The SMS is stored phone-side. It is an outgoing message that has not been sent 
 1.10496 -	yet. */
 1.10497 -		EStoredMessageUnsent,
 1.10498 -	/** The SMS is stored phone-side. It is an outgoing message that has already been 
 1.10499 -	sent but a delivery/status report has either not been received yet or was 
 1.10500 -	not requested in the first place. */
 1.10501 -		EStoredMessageSent,
 1.10502 -	/** The SMS is stored phone-side. It is an outgoing message that has already been 
 1.10503 -	sent and a delivery/status report has been received */
 1.10504 -		EStoredMessageDelivered
 1.10505 -		};
 1.10506 -
 1.10507 -	//
 1.10508 -	// Enum used by TSY to distinguish which SMS entry class is used by client
 1.10509 -	//
 1.10510 -
 1.10511 -/** Used by TSY to distinguish which SMS entry class is used by client. */
 1.10512 -	enum TMobileSmsEntryExtensionId
 1.10513 -		{
 1.10514 -	/** Type is unknown. */
 1.10515 -		KETelMobileSmsEntryV1=KETelExtMultimodeV1,
 1.10516 -	/** The iExtensionId contents indicate that the packaged class is a TMobileGsmSmsEntryV1.
 1.10517 -	
 1.10518 -	Also used to indicate that GSM SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
 1.10519 -		KETelMobileGsmSmsEntryV1,
 1.10520 -	/** The iExtensionId contents indicate that the packaged class is a TMobileCdmaSmsEntryV1.
 1.10521 -	
 1.10522 -	Also used to indicate that CDMA SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
 1.10523 -		KETelMobileCdmaSmsEntryV1
 1.10524 -		};
 1.10525 -
 1.10526 -	class TMobileSmsEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
 1.10527 -	/** Defines contents of a fixed-size, stored SMS entry.
 1.10528 -	@publishedPartner
 1.10529 -	@released 
 1.10530 -	*/
 1.10531 -		{
 1.10532 -	public:
 1.10533 -		void InternalizeL(RReadStream& aStream);
 1.10534 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10535 -	protected:
 1.10536 -		TMobileSmsEntryV1();
 1.10537 -	public:
 1.10538 -	/** The status of the stored message.
 1.10539 -	
 1.10540 -	Modes: Common
 1.10541 -	
 1.10542 -	@see TMobileSmsStoreStatus */
 1.10543 -		TMobileSmsStoreStatus	iMsgStatus;	
 1.10544 -		};
 1.10545 -
 1.10546 -/** A typedef'd packaged TMobileSmsEntryV1 for passing through a generic API 
 1.10547 -member function. */
 1.10548 -	typedef TPckg<TMobileSmsEntryV1> TMobileSmsEntryV1Pckg;
 1.10549 -	
 1.10550 -	class TMobileGsmSmsEntryV1 : public TMobileSmsEntryV1
 1.10551 -/** Defines contents of a fixed-size, stored GSM SMS entry.
 1.10552 -@publishedPartner
 1.10553 -@released */
 1.10554 -		{
 1.10555 -	public:
 1.10556 -		void InternalizeL(RReadStream& aStream);
 1.10557 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10558 -	public:
 1.10559 -		IMPORT_C TMobileGsmSmsEntryV1();
 1.10560 -	public:
 1.10561 -	/** The service centre to use (or used) for the message.
 1.10562 -	
 1.10563 -	Modes: GSM/WCDMA
 1.10564 -	
 1.10565 -	@see RMobilePhone::TMobileAddress */
 1.10566 -		RMobilePhone::TMobileAddress iServiceCentre;
 1.10567 -	/** The GSM 03.40 TPDU.
 1.10568 -	
 1.10569 -	Modes: GSM/WCDMA
 1.10570 -	
 1.10571 -	@see RMobileSmsMessaging::TMobileSmsGsmTpdu */
 1.10572 -		RMobileSmsMessaging::TMobileSmsGsmTpdu	iMsgData;	
 1.10573 -		};
 1.10574 -
 1.10575 -/** A typedef'd packaged TMobileGsmSmsEntryV1 for passing through a generic API 
 1.10576 -member function. */
 1.10577 -	typedef TPckg<TMobileGsmSmsEntryV1> TMobileGsmSmsEntryV1Pckg;
 1.10578 -
 1.10579 -	class TMobileCdmaSmsEntryV1 : public TMobileSmsEntryV1
 1.10580 -	/** Defines contents of a fixed-size, stored CDMA SMS entry. 
 1.10581 -	@publishedPartner
 1.10582 -	@released
 1.10583 -	*/
 1.10584 -		{
 1.10585 -	public:
 1.10586 -		void InternalizeL(RReadStream& aStream);
 1.10587 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10588 -	public:
 1.10589 -		IMPORT_C TMobileCdmaSmsEntryV1();
 1.10590 -	public:
 1.10591 -	/** The teleservice identifier of the stored message.
 1.10592 -	
 1.10593 -	Modes: CDMA */
 1.10594 -		TInt iTeleservice;
 1.10595 -	/** The service category of the stored message.
 1.10596 -	
 1.10597 -	Modes: CDMA */
 1.10598 -		TInt iServiceCategory;
 1.10599 -	/** The remote party (destination or originator) of the stored message.
 1.10600 -	
 1.10601 -	Modes: CDMA
 1.10602 -	
 1.10603 -	@see RMobilePhone::TMobileAddress */
 1.10604 -		RMobilePhone::TMobileAddress iRemoteParty;
 1.10605 -	/** The teleservice layer bearer data of the stored message.
 1.10606 -	
 1.10607 -	Modes: CDMA
 1.10608 -	
 1.10609 -	@see RMobileSmsMessaging::TMobileSmsCdmaTpdu */
 1.10610 -		RMobileSmsMessaging::TMobileSmsCdmaTpdu iMsgData;	
 1.10611 -		};
 1.10612 -
 1.10613 -/** A typedef'd packaged TMobileCdmaSmsEntryV1 for passing through a generic API 
 1.10614 -member function. */
 1.10615 -	typedef TPckg<TMobileCdmaSmsEntryV1> TMobileCdmaSmsEntryV1Pckg;
 1.10616 -
 1.10617 -protected:
 1.10618 -	IMPORT_C void ConstructL();
 1.10619 -private:
 1.10620 -	RMobileSmsStore(const RMobileSmsStore&);
 1.10621 -	};
 1.10622 -
 1.10623 -/*********************************************************/
 1.10624 -//
 1.10625 -// NAM Storage (RMobileNamStore)
 1.10626 -//
 1.10627 -/*********************************************************/
 1.10628 -
 1.10629 -
 1.10630 -
 1.10631 -class CNamStorePtrHolder;
 1.10632 -class CMobilePhoneNamList;
 1.10633 -class CMobilePhoneNamListV4;
 1.10634 -
 1.10635 -class RMobileNamStore : public RMobilePhoneStore
 1.10636 -/**
 1.10637 -Provides client access to NAM storage functionality provided by TSY
 1.10638 -
 1.10639 -*/
 1.10640 -	{
 1.10641 -public:
 1.10642 -	IMPORT_C RMobileNamStore();
 1.10643 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
 1.10644 -	IMPORT_C void Close();
 1.10645 -
 1.10646 -
 1.10647 -
 1.10648 -	class TMobileNamStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
 1.10649 -	/**
 1.10650 -	Defines information about a NAM store
 1.10651 -	
 1.10652 -	@publishedPartner
 1.10653 -    @released
 1.10654 -	*/
 1.10655 -		{
 1.10656 -	public:
 1.10657 -		IMPORT_C TMobileNamStoreInfoV1();
 1.10658 -	public:
 1.10659 -	/** The number of enabled NAMs within the NAM store.
 1.10660 -	
 1.10661 -	Modes: CDMA */
 1.10662 -		TInt iNamCount;
 1.10663 -	/** The index of the NAM that is currently the active NAM, will be between 0 and 
 1.10664 -	iNamCount-1.
 1.10665 -	
 1.10666 -	Modes: CDMA */
 1.10667 -		TInt iActiveNam;
 1.10668 -		};
 1.10669 -
 1.10670 -/** A typedef'd packaged TMobileNamStoreInfoV1 for passing through a generic API 
 1.10671 -member function. */
 1.10672 -	typedef TPckg<TMobileNamStoreInfoV1> TMobileNamStoreInfoV1Pckg;
 1.10673 -
 1.10674 -	IMPORT_C void SetActiveNam(TRequestStatus& aReqStatus, TInt aNamId) const;
 1.10675 -
 1.10676 -	enum
 1.10677 -		{
 1.10678 -		/* The original maximum NAM parameter size for a TMobileNamEntryV1 */
 1.10679 -		KMaxNamParamSize = 64,
 1.10680 -		/* Updated maximum NAM parameter size for TMobileNamEntryV4 */
 1.10681 -		KMaxNamParamSizeV4 = 256
 1.10682 -		};
 1.10683 -
 1.10684 -	class TMobileNamEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
 1.10685 -	/**
 1.10686 -	Defines contents of a NAM store entry
 1.10687 -	
 1.10688 -	@publishedPartner
 1.10689 -	@released
 1.10690 -	*/
 1.10691 -		{
 1.10692 -	public:
 1.10693 -		IMPORT_C TMobileNamEntryV1();
 1.10694 -	public:
 1.10695 -		void InternalizeL(RReadStream& aStream);
 1.10696 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10697 -	public:
 1.10698 -	/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfoV1::iNamCount-1.
 1.10699 -	
 1.10700 -	Modes: CDMA */
 1.10701 -		TInt iNamId;
 1.10702 -	/** The identifier of the NAM parameter to be accessed.
 1.10703 -	
 1.10704 -	TSY must define values of parameter identifiers.
 1.10705 -	
 1.10706 -	Modes: CDMA */
 1.10707 -		TInt iParamIdentifier;
 1.10708 -	/** The data contents of the selected parameter.
 1.10709 -	
 1.10710 -	Modes: CDMA
 1.10711 -	
 1.10712 -	@see KMaxNamParamSize */
 1.10713 -		TBuf8<KMaxNamParamSize> iData;
 1.10714 -		};
 1.10715 -
 1.10716 -	/** A typedef'd packaged TMobileNamEntryV1 for passing through a generic API member 
 1.10717 -	function. */
 1.10718 -	typedef TPckg<TMobileNamEntryV1> TMobileNamEntryV1Pckg;
 1.10719 -
 1.10720 -	/** Enumeration for the standard NAM parameters (see 3GPP2 C.S0005-A appendix F.3)
 1.10721 -	Modes: CDMA */
 1.10722 -	enum TStandardNamParameters
 1.10723 -		{
 1.10724 -		/** The 64-bit pattern stored in the Mobile Station and 
 1.10725 -			Home Location Register/Authentication Centre used to generate/update the 
 1.10726 -			mobile station’s Shared Secret Data
 1.10727 -			Corresponds to NAM Indicator 'A_KEY' */
 1.10728 -		EAKey,
 1.10729 -		/** 64-bit key used for authentication
 1.10730 -			Corresponds to NAM Indicator 'SSD_A(s-p)' */
 1.10731 -		ESharedSecretDataA,
 1.10732 -		/** 64-bit key used as input to generate encryption mask and long code
 1.10733 -			Corresponds to NAM Indicator 'SSD_B(s-p)' */
 1.10734 -		ESharedSecretDataB,
 1.10735 -		/** Modulo-64 event counter maintained by the mobile station and Authentication Center 
 1.10736 -			used for clone detection
 1.10737 -			Corresponds to NAM Indicator 'COUNT(s-p)' */
 1.10738 -		EParameterUpdateReceivedCount,
 1.10739 -		/** Class of the International Mobile Station Identity (IMSI) containing a MIN as 
 1.10740 -			the lower 10 digits 
 1.10741 -			Corresponds to NAM Indicator 'IMSI_M_CLASS(p)' */
 1.10742 -		EMinBasedImsiClass,
 1.10743 -		/** The class of the International Mobile Station Identity (IMSI) not containing a MIN as 
 1.10744 -			the lower 10 digits 
 1.10745 -			Corresponds to NAM Indicator 'IMSI_T_CLASS(p)' */
 1.10746 -		ETrueImsiClass,
 1.10747 -		/** 34-bit number derived from the IMSI M used as input for authentication
 1.10748 -			Corresponds to NAM Indicator 'IMSI_M_S(p)' */
 1.10749 -		EMinBasedImsiS,
 1.10750 -		/** 34-bit number derived from the IMSI T used as input for authentication
 1.10751 -			Corresponds to NAM Indicator 'IMSI_T_S(p)' */
 1.10752 -		ETrueImsiS,
 1.10753 -		/** Number of digits in the IMSI M minus 4
 1.10754 -			Corresponds to NAM Indicator 'IMSI_M_ADDR_NUM(p)' */
 1.10755 -		EMinBasedImsiAddressNum,
 1.10756 -		/** The number of digits in the IMSI T minus 4
 1.10757 -			Corresponds to NAM Indicator 'IMSI_T_ADDR_NUM(p)' */
 1.10758 -		ETrueImsiAddressNum,
 1.10759 -		/** The 11th and 12th digits in the IMSI M
 1.10760 -			Corresponds to NAM Indicator 'IMSI_M_11_12(p)' */
 1.10761 -		EMinBasedImsiDigits11and12,
 1.10762 -		/** The 11th and 12th digits in the IMSI T
 1.10763 -			Corresponds to NAM Indicator 'IMSI_T_11_12(p)' */
 1.10764 -		ETrueImsiDigits11and12,
 1.10765 -		/** The country code for the IMSI M
 1.10766 -			Corresponds to NAM Indicator 'MCC_M(p)' */
 1.10767 -		EMinBasedMobileCountryCode,
 1.10768 -		/** The country code for the IMSI T
 1.10769 -			Corresponds to NAM Indicator 'MCC_T(p)' */
 1.10770 -		ETrueMobileCountryCode,
 1.10771 -		/** Up to 15 digit dialable number associated with the mobile station through a service 
 1.10772 -			subscription
 1.10773 -			Corresponds to NAM Indicator 'MDN(p)' */
 1.10774 -		EMobileDirectoryNumber,
 1.10775 -		/** 4-bit number giving the length of the assigning Temporary Mobile Station Identity (TMSI) zone 
 1.10776 -			(can range from 1 to 8 octets)
 1.10777 -			Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE_LEN(s-p)' */
 1.10778 -		EAssigningTmsiZoneLen,
 1.10779 -		/** Temporary Mobile Station Identity (TMSI) zone is an arbitrary set of base stations 
 1.10780 -			for the administrative assignment of TMSI
 1.10781 -			Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE(s-p)' */
 1.10782 -		EAssigningTmsiZone,
 1.10783 -		/** The uniquely assigned number to a mobile station inside a TMSI zone
 1.10784 -			Corresponds to NAM Indicator 'TMSI_CODE(s-p)' */
 1.10785 -		ETmsiCode,
 1.10786 -		/** The expiration time used to automatically delete the assigned TMSI
 1.10787 -			Corresponds to NAM Indicator 'TMSI_EXP_TIME(s-p)' */
 1.10788 -		ETmsiExpTime,
 1.10789 -		/** Mobile station's home System Id for 800MHz analog operation
 1.10790 -			Corresponds to NAM Indicator 'HOME_SID(p)' */
 1.10791 -		EHomeSystemIdAnalog,
 1.10792 -		/** Mobile station's home System Id
 1.10793 -			Corresponds to NAM Indicator 'SID(p)' */
 1.10794 -		EHomeSystemId,
 1.10795 -		/** Mobile station's home Network Id
 1.10796 -			Corresponds to NAM Indicator 'NID(p)' */
 1.10797 -		EHomeNetworkId,
 1.10798 -		/** Mobile station is configured to receive mobile station terminated calls when 
 1.10799 -			using a home (SID, NID) pair
 1.10800 -			Corresponds to NAM Indicator 'MOB_TERM_HOME(p)' */
 1.10801 -		EReceiveCallsHome,
 1.10802 -		/** The mobile station is configured to receive mobile station terminated calls when 
 1.10803 -			it is a foreign SID roamer
 1.10804 -			Corresponds to NAM Indicator 'MOB_TERM_FOR_SID(p)' */
 1.10805 -		EReceiveCallsForeignSystem,
 1.10806 -		/** The mobile station is configured to receive mobile station terminated calls when 
 1.10807 -			it is a foreign NID roamer
 1.10808 -			Corresponds to NAM Indicator 'MOB_TERM_FOR_NID(p)' */
 1.10809 -		EReceiveCallsForeignNetwork,
 1.10810 -		/**	A TSY may use this as the first TSY-defined non-standard NAM parameter */
 1.10811 -		ENumStandardNamParameters
 1.10812 -		};
 1.10813 -
 1.10814 -	class TMobileNamEntryV4 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
 1.10815 -	/**
 1.10816 -	Defines contents of a NAM store entry
 1.10817 -
 1.10818 -	The differences between the original TMobileNamEntryV1, and updated TMobileNamEntryV4 are:
 1.10819 -	- the maximum mobile NAM parameter size is KMaxNamParamSize(64) for TMobileNamEntryV1
 1.10820 -	  and KMaxNamParamSizeV4(256) for TMobileNamEntryV4
 1.10821 -	- TMobileNamEntryV4 defines a set of standard NAM parameters for the iParamIdentifier as
 1.10822 -	  described in 3GPP2 C.S0005-A appendix F.3
 1.10823 -	
 1.10824 -	@publishedPartner
 1.10825 -	@released
 1.10826 -	*/
 1.10827 -		{
 1.10828 -	public:
 1.10829 -		IMPORT_C TMobileNamEntryV4();
 1.10830 -	public:
 1.10831 -		void InternalizeL(RReadStream& aStream);
 1.10832 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10833 -	public:
 1.10834 -	/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfo::iNamCount-1.
 1.10835 -	
 1.10836 -	Modes: CDMA */
 1.10837 -		TInt iNamId;
 1.10838 -
 1.10839 -	/** The identifier of the NAM parameter to be accessed.
 1.10840 -	iParamIdentifier will be a TStandardNamParameters value if a standard NAM parameter is being accessed, 
 1.10841 -	however a TSY may support and define NAM parameters in addition to those given by TStandardNamParameters	
 1.10842 -	Modes: CDMA */
 1.10843 -		TInt iParamIdentifier;
 1.10844 -
 1.10845 -	/** The data contents of the selected parameter.
 1.10846 -	
 1.10847 -	Modes: CDMA
 1.10848 -	
 1.10849 -	@see KMaxNamParamSizeV4 */
 1.10850 -		TBuf8<KMaxNamParamSizeV4> iData;
 1.10851 -		};
 1.10852 -
 1.10853 -	/** A typedef'd packaged TMobileNamEntryV4 for passing through a generic API member 
 1.10854 -	function. */
 1.10855 -	typedef TPckg<TMobileNamEntryV4> TMobileNamEntryV4Pckg;
 1.10856 -
 1.10857 -	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamList* aNamList) const;
 1.10858 -	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamListV4* aNamList) const;
 1.10859 -
 1.10860 -protected:
 1.10861 -	IMPORT_C void ConstructL();
 1.10862 -private:
 1.10863 -	RMobileNamStore(const RMobileNamStore&);
 1.10864 -	};
 1.10865 -
 1.10866 -
 1.10867 -/*********************************************************/
 1.10868 -//
 1.10869 -// Own Number Storage (RMobileONStore)
 1.10870 -//
 1.10871 -/*********************************************************/
 1.10872 -
 1.10873 -
 1.10874 -
 1.10875 -class CONStorePtrHolder;
 1.10876 -class CMobilePhoneONList;
 1.10877 -	
 1.10878 -class RMobileONStore : public RMobilePhoneStore
 1.10879 -/**
 1.10880 -Provides client access to Own Number storage functionality provided by TSY
 1.10881 -
 1.10882 -*/
 1.10883 -	{
 1.10884 -public:
 1.10885 -	IMPORT_C RMobileONStore();
 1.10886 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
 1.10887 -	IMPORT_C void Close();
 1.10888 -
 1.10889 -	
 1.10890 -
 1.10891 -	class TMobileONStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
 1.10892 -	/**
 1.10893 -	Defines information about an Own Number store
 1.10894 -	
 1.10895 -	@publishedPartner
 1.10896 -	@released
 1.10897 -	*/
 1.10898 -		{
 1.10899 -	public:
 1.10900 -		IMPORT_C TMobileONStoreInfoV1();
 1.10901 -	public:
 1.10902 -	/** The maximum length of the own phone number can be. */
 1.10903 -		TInt iNumberLen;
 1.10904 -	/** The maximum length the text field can be. */
 1.10905 -		TInt iTextLen;
 1.10906 -		};
 1.10907 -
 1.10908 -/** A typedef'd packaged TMobileONStoreInfoV1 for passing through a generic API 
 1.10909 -member function. */
 1.10910 -	typedef TPckg<TMobileONStoreInfoV1> TMobileONStoreInfoV1Pckg;
 1.10911 -
 1.10912 -	enum
 1.10913 -		{
 1.10914 -		KOwnNumberTextSize = 20
 1.10915 -		};
 1.10916 -
 1.10917 -	
 1.10918 -
 1.10919 -	class TMobileONEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
 1.10920 -	/**
 1.10921 -	Defines contents of a Own Number store entry
 1.10922 -	
 1.10923 -	@publishedPartner
 1.10924 -	@released
 1.10925 -	*/
 1.10926 -		{
 1.10927 -	public:
 1.10928 -		IMPORT_C TMobileONEntryV1();
 1.10929 -	public:
 1.10930 -		void InternalizeL(RReadStream& aStream);
 1.10931 -		void ExternalizeL(RWriteStream& aStream) const;
 1.10932 -	public:
 1.10933 -	/** Network mode. */
 1.10934 -		RMobilePhone::TMobilePhoneNetworkMode iMode;
 1.10935 -	/** Mobile call service type.
 1.10936 -	
 1.10937 -	@see RMobilePhone::TMobileService */
 1.10938 -		RMobilePhone::TMobileService iService;
 1.10939 -	/** Own number.
 1.10940 -	
 1.10941 -	@see RMobilePhone::TMobileAddress */
 1.10942 -		RMobilePhone::TMobileAddress iNumber;
 1.10943 -	/** The name-tag associated with own number (e.g. "Voice Number"). */
 1.10944 -		TBuf<KOwnNumberTextSize> iText;
 1.10945 -		};
 1.10946 -
 1.10947 -/** A typedef'd packaged TMobileONEntryV1 for passing through a generic API member 
 1.10948 -function. */
 1.10949 -	typedef TPckg<TMobileONEntryV1> TMobileONEntryV1Pckg;
 1.10950 -
 1.10951 -	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, CMobilePhoneONList* aONList) const;
 1.10952 -
 1.10953 -protected:
 1.10954 -	IMPORT_C void ConstructL();
 1.10955 -private:
 1.10956 -	RMobileONStore(const RMobileONStore&);
 1.10957 -	};
 1.10958 -
 1.10959 -/*********************************************************/
 1.10960 -//
 1.10961 -// Emergency Number Storage (RMobileENStore)
 1.10962 -//
 1.10963 -/*********************************************************/
 1.10964 -
 1.10965 -
 1.10966 -
 1.10967 -class CMobilePhoneENList;
 1.10968 -
 1.10969 -class RMobileENStore : public RMobilePhoneStore
 1.10970 -/**
 1.10971 -Provides client access to Emergency Number storage functionality provided by TSY
 1.10972 -
 1.10973 -*/
 1.10974 -	{
 1.10975 -public:
 1.10976 -	IMPORT_C RMobileENStore();
 1.10977 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
 1.10978 -	IMPORT_C void Close();
 1.10979 -
 1.10980 -	enum 
 1.10981 -		{
 1.10982 -		KEmergencyNumberSize  = 6,
 1.10983 -		KEmergencyAlphaTagSize = 20
 1.10984 -		};
 1.10985 -
 1.10986 -/** Enumerated list of Emergency Number entries.
 1.10987 -
 1.10988 -Mode: WCDMA */
 1.10989 -	enum TMobilePhoneENServiceCategory
 1.10990 -		{
 1.10991 -	/** This number provides emergency care by the police department. */
 1.10992 -		KServiceCatPolice =0x0001,
 1.10993 -	/** This number provides emergency care by the ambulance department. */
 1.10994 -		KServiceCatAmbulance =0x0002,
 1.10995 -	/** This number provides emergency care by the fire brigade department. */
 1.10996 -		KServiceCatFireBrigade =0x0004,
 1.10997 -	/** This number provides emergency care by the marine guard department. */
 1.10998 -		KServiceCatMarineGuard =0x0008,
 1.10999 -	/** This number provides emergency care by the mountain rescue department. */
 1.11000 -		KServiceCatMountainRescue =0x0010
 1.11001 -		// Reserved types: 0x0020,0x0040,
 1.11002 -		};
 1.11003 -
 1.11004 -	
 1.11005 -
 1.11006 -/** Buffer to hold the emergency number in. */
 1.11007 -	typedef TBuf<KEmergencyNumberSize> TEmergencyNumber;
 1.11008 -
 1.11009 -	class TMobileENEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
 1.11010 -	/**
 1.11011 -	Defines contents of a Emergency Number store entry
 1.11012 -	@publishedPartner
 1.11013 -	@released
 1.11014 -	*/
 1.11015 -		{
 1.11016 -	public:
 1.11017 -		IMPORT_C TMobileENEntryV1();
 1.11018 -	public:
 1.11019 -		void InternalizeL(RReadStream& aStream);
 1.11020 -		void ExternalizeL(RWriteStream& aStream) const;
 1.11021 -	public:
 1.11022 -	/** Indicates whether the emergency number is applicable in all situations (=EFalse) 
 1.11023 -	or only when the MS is registered to a specific GSM or CDMA network (=ETrue). */
 1.11024 -		TBool iNetworkSpecific;
 1.11025 -	/** The network mode. Only applicable if iNetworkSpecific equals ETrue.
 1.11026 -
 1.11027 -	Modes: Common
 1.11028 -	
 1.11029 -	@see RMobilePhone::TMobilePhoneNetworkMode */
 1.11030 -		RMobilePhone::TMobilePhoneNetworkMode iMode;
 1.11031 -	/** Country code. Only applicable if iNetworkSpecific equals ETrue.
 1.11032 -	
 1.11033 -	Modes: Common
 1.11034 -	
 1.11035 -	@see RMobilePhone::TMobilePhoneNetworkCountryCode */
 1.11036 -		RMobilePhone::TMobilePhoneNetworkCountryCode iCountryCode;
 1.11037 -	/** Network identity. Only applicable if iNetworkSpecific equals ETrue.
 1.11038 -	
 1.11039 -	Modes: Common
 1.11040 -	
 1.11041 -	@see RMobilePhone::TMobilePhoneNetworkIdentity */
 1.11042 -		RMobilePhone::TMobilePhoneNetworkIdentity iIdentity;
 1.11043 -	/** Emergency number.
 1.11044 -	
 1.11045 -	Modes: Common
 1.11046 -	
 1.11047 -	@see TEmergencyNumber */
 1.11048 -		TEmergencyNumber             iNumber;
 1.11049 -	/** Emergency call number type. It is used to display information about the dialed 
 1.11050 -	emergency number (e.g. "Police", "Ambulance", "Fire brigade", etc.)
 1.11051 -	
 1.11052 -	Modes: WCDMA */
 1.11053 -		TBuf<KEmergencyAlphaTagSize> iAlphaId;
 1.11054 -		//TInt should map to TMobilePhoneENServiceCategory.
 1.11055 -		//It was not changed to maintain source compatibility
 1.11056 -		
 1.11057 -	/** Emergency call type indicator, which contains information to be sent to the 
 1.11058 -	network indicating the type of emergency call.
 1.11059 -	
 1.11060 -	The field is for future reference only and it is set to RFU (Reserved for
 1.11061 -	Future Use) as it is currently not being used, as specified in section 4.2.21 
 1.11062 -	TS 31.102 v3.3.0 Rel 99.
 1.11063 -	
 1.11064 -	Modes: WCDMA */
 1.11065 -		TInt	                     iCallType; 
 1.11066 -		};
 1.11067 -
 1.11068 -	typedef TPckg<TMobileENEntryV1> TMobileENEntryV1Pckg;
 1.11069 -
 1.11070 -protected:
 1.11071 -	IMPORT_C void ConstructL();
 1.11072 -private:
 1.11073 -	RMobileENStore(const RMobileENStore&);
 1.11074 -	};
 1.11075 -
 1.11076 -
 1.11077 -/*********************************************************/
 1.11078 -//
 1.11079 -// RMobilePhoneBookStore 
 1.11080 -//
 1.11081 -/*********************************************************/
 1.11082 -
 1.11083 -
 1.11084 -
 1.11085 -class CPhoneBookStorePtrHolder;
 1.11086 -class CMobilePhoneBookList;
 1.11087 -
 1.11088 -class RMobilePhoneBookStore : public RMobilePhoneStore
 1.11089 -/** Provides member functions for clients to access phone 
 1.11090 -books that are stored in ICC memory or in non-volatile memory on the phone 
 1.11091 -itself. This sub-session and the member functions within this section must 
 1.11092 -be supported if the TSY indicates that it supports the MobilePhonebookStore 
 1.11093 -functional unit.
 1.11094 -@publishedPartner
 1.11095 -@released 
 1.11096 -*/
 1.11097 -	{
 1.11098 -public:
 1.11099 -	IMPORT_C RMobilePhoneBookStore();
 1.11100 -	IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore);
 1.11101 -	IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore, const TDesC& aMode);
 1.11102 -	IMPORT_C void Close();
 1.11103 -
 1.11104 -/** Describes the specialized phone book capabilities.
 1.11105 -
 1.11106 -Modes: Common */
 1.11107 -	enum TMobilePhoneBookCaps
 1.11108 -		{
 1.11109 -	/** New entries can only be written to (or deleted from) the phone book with the 
 1.11110 -	PIN2 password or equivalent.
 1.11111 -	
 1.11112 -	Modes: Common */
 1.11113 -		KCapsRestrictedWriteAccess = 0x00000001,
 1.11114 -	/** The phonebook supports the second name field.
 1.11115 -	
 1.11116 -	Modes: WCDMA */
 1.11117 -		KCapsSecondNameUsed        = 0x00000002,
 1.11118 -	/** The phonebook supports the additional number (with optional Text, TON, NPI 
 1.11119 -	and Bearer Capability) field.
 1.11120 -	
 1.11121 -	Modes: WCDMA */
 1.11122 -		KCapsAdditionalNumUsed     = 0x00000004,
 1.11123 -	/** The phonebook supports the group name field.
 1.11124 -	
 1.11125 -	Modes: WCDMA */
 1.11126 -		KCapsGroupingUsed		   = 0x00000008,
 1.11127 -	/** The phonebook supports entry control and hidden flag fields.
 1.11128 -
 1.11129 -	Modes: WCDMA */
 1.11130 -		KCapsEntryControlUsed      = 0x00000010,
 1.11131 -	/** The phonebook supports the email address field.
 1.11132 -	
 1.11133 -	Modes: WCDMA */
 1.11134 -		KCapsEmailAddressUsed      = 0x00000020,
 1.11135 -	/** The phonebook supports the bearer capability IE field.
 1.11136 -	
 1.11137 -	Modes: WCDMA */
 1.11138 -		KCapsBearerCapUsed		   = 0x00000040,
 1.11139 -	/** The phonebook supports retrieval of the phonebook's PBID and Change Counter 
 1.11140 -	- and for each entry its UID field.
 1.11141 -	
 1.11142 -	Modes: WCDMA */
 1.11143 -		KCapsSynchronisationUsed   = 0x00000080
 1.11144 -		};
 1.11145 -
 1.11146 -/** Described the location of the phone book.
 1.11147 -
 1.11148 -Modes: Common for all */
 1.11149 -	enum TMobilePhoneBookLocation
 1.11150 -		{
 1.11151 -	/** The phonebook's location is unknown. */
 1.11152 -		ELocationUnknown,
 1.11153 -	/** The phonebook is located in ICC (SIM/R-UIM) memory. */
 1.11154 -		ELocationIccMemory,
 1.11155 -	/** The phonebook is located in Phone (ME) memory. */
 1.11156 -		ELocationPhoneMemory,
 1.11157 -	/** The phonebook is located in an external memory. */
 1.11158 -		ELocationExternalMemory,
 1.11159 -	/** The phonebook entries are dispersed over a combination of memory locations. */
 1.11160 -		ELocationCombinedMemory
 1.11161 -		};
 1.11162 -
 1.11163 -	enum
 1.11164 -		{
 1.11165 -		KMaxPBIDSize=15
 1.11166 -		};
 1.11167 -
 1.11168 -/** Defines a modifiable buffer descriptor to contain the phone book identity. 
 1.11169 -Used in TMobilePhoneBookInfoV1. */
 1.11170 -	typedef TBuf8<KMaxPBIDSize> TMobilePhoneBookIdentity;
 1.11171 -
 1.11172 -	
 1.11173 -
 1.11174 -	class TMobilePhoneBookInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
 1.11175 -	/**
 1.11176 -	Defines information about a Phonebook store.
 1.11177 -	@publishedPartner
 1.11178 -	@released
 1.11179 -	*/
 1.11180 -		{
 1.11181 -	public:
 1.11182 -	/** Trivial constructor. Initializes iMaxNumLength=-1; iMaxTextLength=-1; iLocation=ELocationUnknown; 
 1.11183 -	iChangeCounter=0; iExtensionId=KETelMobilePhonebookStoreV1; */
 1.11184 -		IMPORT_C TMobilePhoneBookInfoV1();
 1.11185 -	public:
 1.11186 -	/** The maximum number of characters for the number in a phonebook entry.
 1.11187 -	
 1.11188 -	Modes: Common */
 1.11189 -		TInt    iMaxNumLength;
 1.11190 -	/** The maximum number of characters for the text tag in a phonebook entry.
 1.11191 -	
 1.11192 -	Modes: Common */
 1.11193 -		TInt    iMaxTextLength;
 1.11194 -	/** The memory location of this phonebook.
 1.11195 -	
 1.11196 -	Modes: Common
 1.11197 -	
 1.11198 -	@see TMobilePhoneBookLocation */
 1.11199 -		TMobilePhoneBookLocation iLocation;
 1.11200 -	/** The contents of the Change Counter file in a USIM phonebook.
 1.11201 -	
 1.11202 -	Modes: WCDMA */
 1.11203 -		TUint16 iChangeCounter;
 1.11204 -	/** A unique identity for this type of phonebook.
 1.11205 -	
 1.11206 -	If this is a SIM or R-UIM phonebook then it will equal the ICCID of the card.
 1.11207 -	
 1.11208 -	If this is a USIM phonebook then it will equal the PBID of the phonebook. 
 1.11209 -	
 1.11210 -	Modes: Common
 1.11211 -	
 1.11212 -	@see TMobilePhoneBookIdentity */
 1.11213 -		TMobilePhoneBookIdentity iIdentity; 
 1.11214 -		};
 1.11215 -
 1.11216 -/** Packages the TMobilePhoneBookInfoV1 into a TMobilePhoneBookInfoV1Pckg. */
 1.11217 -	typedef TPckg<TMobilePhoneBookInfoV1> TMobilePhoneBookInfoV1Pckg;
 1.11218 -
 1.11219 -	
 1.11220 -	class TMobilePhoneBookInfoV2 : public TMobilePhoneBookInfoV1
 1.11221 -/** Defines information about a Phonebook store for version v2.0 of the API.
 1.11222 -@publishedPartner
 1.11223 -@released */
 1.11224 -		{
 1.11225 -	public:
 1.11226 -		IMPORT_C TMobilePhoneBookInfoV2();
 1.11227 -	public:
 1.11228 -	/** The type of the phonebook which relates to its location (ICC/UICC/CDMA).
 1.11229 -	
 1.11230 -	Mode: Common */
 1.11231 -		TName iPhBkMode; 
 1.11232 -		};
 1.11233 -
 1.11234 -/** Packages the TMobilePhoneBookInfoV2 into a TMobilePhoneBookInfoV1Pckg. */
 1.11235 -	typedef TPckg<TMobilePhoneBookInfoV2> TMobilePhoneBookInfoV2Pckg;
 1.11236 -
 1.11237 -
 1.11238 -	/** Defines information about a Phonebook store for version v5.0 of the API.
 1.11239 -
 1.11240 -	Extends the v2.0 API to allow additional information about the phonebook
 1.11241 -	(Maximum number of second name fields, Maximum number of additional number fields,
 1.11242 -	Maximum number of additional group name fields, Maximum number of email address fields)
 1.11243 -	to be retieved where available. 
 1.11244 -
 1.11245 -	@publishedPartner
 1.11246 -	@released*/
 1.11247 -	class TMobilePhoneBookInfoV5 : public TMobilePhoneBookInfoV2
 1.11248 -		{
 1.11249 -	public:
 1.11250 -		IMPORT_C TMobilePhoneBookInfoV5();
 1.11251 -	public:
 1.11252 -		/** The maximum number of Second Name fields that can be used. */
 1.11253 -		TInt iMaxSecondNames;
 1.11254 -		
 1.11255 -		/** The maximum text length for Second Name fields. */
 1.11256 -		TInt iMaxTextLengthSecondName;
 1.11257 -
 1.11258 -		/** The maximum number of additional number fields that can be used. */
 1.11259 -		TInt iMaxAdditionalNumbers;
 1.11260 -		
 1.11261 -		/** The maximum number length for Additional Number fields. */
 1.11262 -		TInt iMaxNumLengthAdditionalNumber;
 1.11263 -		
 1.11264 -		/** The maximum text length for Additonal Number fields. */
 1.11265 -		TInt iMaxTextLengthAdditionalNumber;
 1.11266 -
 1.11267 -		/** The maximum number of additional Group Name fields that can be used. */
 1.11268 -		TInt iMaxGroupNames;
 1.11269 -		
 1.11270 -		/** The maximum text length for Group Name fields. */
 1.11271 -		TInt iMaxTextLengthGroupName;
 1.11272 -		
 1.11273 -		/** The maximum number of additional E-Mail address fields that can be used. */
 1.11274 -		TInt iMaxEmailAddr;
 1.11275 -		
 1.11276 -		/** The maximum text length for Email Address fields. */
 1.11277 -		TInt iMaxTextLengthEmailAddr;
 1.11278 -		};
 1.11279 -
 1.11280 -	/** Packages the TMobilePhoneBookInfoV5 into a TMobilePhoneBookInfoV5Pckg. */
 1.11281 -	typedef TPckg<TMobilePhoneBookInfoV5> TMobilePhoneBookInfoV5Pckg;
 1.11282 -
 1.11283 -
 1.11284 -	// check these fields - not sure all are correct
 1.11285 -/** The following Tag IDs are used to encode/decode the phonebook entries to/from 
 1.11286 -the TLV format. Each field will have a unique identifier and will be followed 
 1.11287 -by the field length. The type of data associated with the field is also specified 
 1.11288 -below. 
 1.11289 -
 1.11290 -Some fields do not have any data and just serve as separators within the buffer 
 1.11291 -- in these cases the Data Type column is set to not applicable (n/a).
 1.11292 -
 1.11293 -Modes: Common */
 1.11294 -	enum TMobilePBFieldTags
 1.11295 -		{
 1.11296 -	/** Tag id for the beginning of a new phonebook entry.
 1.11297 -	
 1.11298 -	Data type: n/a.
 1.11299 -	
 1.11300 -	Modes: Common */
 1.11301 -		ETagPBNewEntry		=0xA0,
 1.11302 -	/** Tag id for the Unique ID field.
 1.11303 -	
 1.11304 -	Data type: TUint16
 1.11305 -
 1.11306 -	Modes: WCDMA */
 1.11307 -		ETagPBUniqueId		=0xB0,
 1.11308 -	/** Tag id for the Index within the ADN record.
 1.11309 -	
 1.11310 -	Data type: TUint16
 1.11311 -
 1.11312 -	Modes: Common */
 1.11313 -		ETagPBAdnIndex		=0xC0,
 1.11314 -	/** Tag id for a Text field within the ADN/ANR record.
 1.11315 -	
 1.11316 -	Data type: TDes16
 1.11317 -	
 1.11318 -	Modes: Common */
 1.11319 -		ETagPBText			=0xC1,
 1.11320 -	/** Tag id for a Number field within the ADN/ANR record.
 1.11321 -	
 1.11322 -	Data type: TDes16
 1.11323 -	
 1.11324 -	Modes: Common */
 1.11325 -		ETagPBNumber		=0xC2,
 1.11326 -	/** Tag id for a TON/NPI byte within the ADN/ANR record.
 1.11327 -	
 1.11328 -	Data type: TUint8
 1.11329 -	
 1.11330 -	Modes: Common */
 1.11331 -		ETagPBTonNpi		=0xC3,
 1.11332 -	/** Tag id for a Bearer Capability IE associated to the ADN/ANR record.
 1.11333 -	
 1.11334 -	Data type: TDes8
 1.11335 -	
 1.11336 -	Modes: GSM/WCDMA */
 1.11337 -		ETagPBBearerCap		=0xC4,
 1.11338 -	/** Tag id for the beginning of an Additional Number entry within the phonebook 
 1.11339 -	entry.
 1.11340 -	
 1.11341 -	Data type: n/a
 1.11342 -	
 1.11343 -	Modes: WCDMA */
 1.11344 -		ETagPBAnrStart		=0xC5,
 1.11345 -	/** Tag id for the Second Name associated to the ADN record.
 1.11346 -	
 1.11347 -	Data type: TDes16
 1.11348 -	
 1.11349 -	Modes: WCDMA */
 1.11350 -		ETagPBSecondName	=0xC6,
 1.11351 -	/** Tag id for a Group Name associated to the ADN record.
 1.11352 -	
 1.11353 -	Data type:TDes16
 1.11354 -	
 1.11355 -	Modes: WCDMA */
 1.11356 -		ETagPBGroupName		=0xC7,
 1.11357 -	/** Tag id for an Email Address associated to the ADN record.
 1.11358 -	
 1.11359 -	Data type: TDes16
 1.11360 -	
 1.11361 -	Modes: WCDMA */
 1.11362 -		ETagPBEmailAddress	=0xC8,
 1.11363 -	/** Tag id for the Entry Control byte associated to the ADN record.
 1.11364 -	
 1.11365 -	Data type: TUint8
 1.11366 -	
 1.11367 -	Modes: WCDMA */
 1.11368 -		ETagPBEntryControl	=0xC9,
 1.11369 -	/** Tag id for the Hidden Information byte associated to the ADN record.
 1.11370 -	
 1.11371 -	Data type: TUint8
 1.11372 -	
 1.11373 -	Modes: WCDMA */
 1.11374 -		ETagPBHiddenInfo	=0xCA,
 1.11375 -		ETagPBDateTime		=0xCB,
 1.11376 -		ETagPBDuration		=0xCC,
 1.11377 -		ETagPBCallStatus	=0xCD,
 1.11378 -		ETagPBEntryStatus	=0xCE
 1.11379 -		};
 1.11380 -
 1.11381 -
 1.11382 -	// API/TSY internal type
 1.11383 -	struct TPBIndexAndNumEntries
 1.11384 -/** A structure to hold the phone book index and number of entries. */
 1.11385 -		{
 1.11386 -	/** Index for the phone book. */
 1.11387 -		TInt iIndex;
 1.11388 -		TInt iNumSlots;
 1.11389 -		};
 1.11390 -
 1.11391 -	IMPORT_C void Read(TRequestStatus& aReqStatus, TInt aIndex, TInt aNumSlots, TDes8& aPBData) const;
 1.11392 -	IMPORT_C void Write(TRequestStatus& aReqStatus, const TDesC8& aPBData, TInt& aIndex) const;
 1.11393 -
 1.11394 -protected:
 1.11395 -	IMPORT_C void ConstructL();
 1.11396 -private:
 1.11397 -	RMobilePhoneBookStore(const RMobilePhoneBookStore&);
 1.11398 -	};
 1.11399 -
 1.11400 -/*********************************************************/
 1.11401 -//
 1.11402 -// RMobileConferenceCall
 1.11403 -//
 1.11404 -/*********************************************************/
 1.11405 -
 1.11406 -
 1.11407 -
 1.11408 -class CMobileConferenceCallPtrHolder;
 1.11409 -
 1.11410 -class RMobileConferenceCall : public RTelSubSessionBase
 1.11411 -/** Provides access to conference call functionality provided by TSY.
 1.11412 -
 1.11413 -Conference calls allow users to conduct multi-connection voice calls, for example
 1.11414 -simultaneous communication to more than one remote party. All participants 
 1.11415 -within a conference call can hear and speak to each other. There is a controlling 
 1.11416 -party that initiates and manages the conference.
 1.11417 -
 1.11418 -Conference calling is possible in both GSM and CDMA mode and the actions to 
 1.11419 -initiate a 3-way conference are the same in either mode. However, GSM conference 
 1.11420 -calls offer more functionality and the number of remote parties is limited 
 1.11421 -in CDMA mode to 2 and in GSM mode to 5.
 1.11422 -
 1.11423 -The Multimode ETel API uses a new sub-session called RMobileConferenceCall 
 1.11424 -as a model for a conference call. The conference call object will be an aggregation 
 1.11425 -of all the RMobileCall objects that are part of the conference call. It will 
 1.11426 -be possible for clients to manipulate both the conference call as a whole 
 1.11427 -and individual calls within a conference call depending on the dynamic capabilities 
 1.11428 -of each of these objects.
 1.11429 -
 1.11430 -Please note that RMobileConferenceCall is replacing the RCallGroup abstraction 
 1.11431 -used in the GSM API. This was an optimisation decision. The call group abstraction 
 1.11432 -placed a large burden on a TSY to create call groups, monitor the calls in 
 1.11433 -each group and trigger notification when calls were added or moved, probably 
 1.11434 -even when a conference call was not ongoing. Clients will probably only open 
 1.11435 -a RMobileConferenceCall when the user has decided to make a conference call 
 1.11436 -and by having just one object replace three call groups it will also reduce 
 1.11437 -the number of notifications that would trigger in response to conference call 
 1.11438 -events. With a view to the future, without call groups there are also no longer 
 1.11439 -any restrictions to the allowed types of active calls (simultaneous, separate 
 1.11440 -voice and data calls are possible).
 1.11441 -
 1.11442 -The methods within this section must be supported if the TSY supports MobileConferenceCall 
 1.11443 -functional unit. 
 1.11444 -
 1.11445 -*/
 1.11446 -	{
 1.11447 -public:
 1.11448 -	IMPORT_C RMobileConferenceCall();
 1.11449 -	IMPORT_C TInt Open(RMobilePhone& aPhone);
 1.11450 -	IMPORT_C void Close();
 1.11451 -
 1.11452 -/** Conference call capabilities. */
 1.11453 -	enum TMobileConferenceCallCaps
 1.11454 -		{
 1.11455 -	/** Indicates that a conference call can be created. */
 1.11456 -		KCapsCreate = 0x00000001,
 1.11457 -	/** Indicates that a conference call can be terminated. */
 1.11458 -		KCapsHangUp = 0x00000002,
 1.11459 -	/** Indicates that a conference call exists and can be swapped to the opposite 
 1.11460 -	state (active or hold). */
 1.11461 -		KCapsSwap = 0x00000004
 1.11462 -		};
 1.11463 -
 1.11464 -	IMPORT_C TInt GetCaps(TUint32& aCaps) const;
 1.11465 -	IMPORT_C void NotifyCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
 1.11466 -
 1.11467 -	IMPORT_C void CreateConference(TRequestStatus& aReqStatus) const;
 1.11468 -	IMPORT_C void AddCall(TRequestStatus& aReqStatus, const TName& aCallName) const;
 1.11469 -	IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
 1.11470 -	IMPORT_C void HangUp(TRequestStatus& aReqStatus) const;
 1.11471 -	IMPORT_C TInt EnumerateCalls(TInt& aCount) const;
 1.11472 -	IMPORT_C TInt GetMobileCallInfo(TInt aIndex, TDes8& aCallInfo) const;
 1.11473 -
 1.11474 -/** Conference call status. */
 1.11475 -	enum TMobileConferenceStatus
 1.11476 -		{
 1.11477 -	/** The conference call is in the idle state. */
 1.11478 -		EConferenceIdle,
 1.11479 -	/** The conference call is in the active, connected state. */
 1.11480 -		EConferenceActive,
 1.11481 -	/** The conference call is in the held, connected state. */
 1.11482 -		EConferenceHold
 1.11483 -		};
 1.11484 -	
 1.11485 -	IMPORT_C TInt GetConferenceStatus(TMobileConferenceStatus& aStatus) const;
 1.11486 -	IMPORT_C void NotifyConferenceStatusChange(TRequestStatus& aReqStatus, TMobileConferenceStatus& aStatus) const;
 1.11487 -
 1.11488 -/** Conference events. */
 1.11489 -	enum TMobileConferenceEvent
 1.11490 -		{
 1.11491 -	/** A call has been added to the conference. */
 1.11492 -		EConferenceCallAdded,		// Name of the call added returned in aCallName
 1.11493 -	/** A call has been removed from the conference. */
 1.11494 -		EConferenceCallRemoved,		// Name of the call terminated returned in aCallName
 1.11495 -	/** Names of the two calls used to build the conference call returned in aCallName. */
 1.11496 -		EConferenceBuilt,		// Names of the two calls used to build the conference call returned in aCallName
 1.11497 -	/** No name provided */
 1.11498 -		EConferenceTerminated,	// No name provided
 1.11499 -	/** No name provided. */
 1.11500 -		EConferenceSwapped,		// No name provided
 1.11501 -	/** Name of the call being seperated. */
 1.11502 -		EConferenceSplit		// Name of the call being seperated
 1.11503 -		};
 1.11504 -
 1.11505 -	IMPORT_C void NotifyConferenceEvent(TRequestStatus& aReqStatus, TMobileConferenceEvent& aEvent, TName& aCallName) const;
 1.11506 -
 1.11507 -private:
 1.11508 -	CMobileConferenceCallPtrHolder* iMmPtrHolder;
 1.11509 -	RMobileConferenceCall(const RMobileConferenceCall&);
 1.11510 -protected:
 1.11511 -	IMPORT_C void ConstructL();
 1.11512 -	IMPORT_C void Destruct();
 1.11513 -	};
 1.11514 -
 1.11515 -
 1.11516 -/////////////////////////////////////////////////////////////////////////////////////
 1.11517 -//
 1.11518 -// EAP-SIM Authentication functional unit
 1.11519 -//
 1.11520 -/////////////////////////////////////////////////////////////////////////////////////
 1.11521 -
 1.11522 -class CMobileSmartCardEapPtrHolder;
 1.11523 -
 1.11524 -/**
 1.11525 -This sub-session opens under RMobilePhone.
 1.11526 -
 1.11527 -RMobileSmartCardEap provides the client with access to a Smart Card
 1.11528 -Application's EAP-capability (if one exists).
 1.11529 -
 1.11530 -(See ETSI TS 102.310 v6.2.0 and RFC3748)
 1.11531 -
 1.11532 -To submit authentication challenges or requests, a client must use
 1.11533 -CAsyncSmartCardEapAuthentication in conjunction with this sub-session.
 1.11534 -
 1.11535 -@see CAsyncSmartCardEapAuthentication
 1.11536 -@publishedPartner
 1.11537 -@released
 1.11538 -*/
 1.11539 -class RMobileSmartCardEap : public RTelSubSessionBase
 1.11540 -	{
 1.11541 -	friend class CAsyncSmartCardEapAuthentication;
 1.11542 -
 1.11543 -public:
 1.11544 -	/**
 1.11545 -	Class encapsulates EAP request packet data for authentication.
 1.11546 -
 1.11547 -	@see CAsyncSmartCardEapAuthentication
 1.11548 -
 1.11549 -	@publishedPartner
 1.11550 -	@released
 1.11551 -	*/
 1.11552 -	class CEapAuthenticateRequestDataV6 : public CBase
 1.11553 -		{
 1.11554 -	public:
 1.11555 -		IMPORT_C static CEapAuthenticateRequestDataV6* NewL();
 1.11556 -		IMPORT_C virtual void ExternalizeL(TPtr8& aBuffer);
 1.11557 -		IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
 1.11558 -		IMPORT_C TUint VersionId() const;
 1.11559 -		IMPORT_C TPtr8 GetEapReqPacket() const;
 1.11560 -		IMPORT_C void SetEapReqPacketL(const TDesC8& aData);
 1.11561 -		IMPORT_C ~CEapAuthenticateRequestDataV6();
 1.11562 -
 1.11563 -	private:
 1.11564 -		CEapAuthenticateRequestDataV6();
 1.11565 -		void ConstructL();
 1.11566 -
 1.11567 -	protected:
 1.11568 -		/**
 1.11569 -		ETelMM's supported version.
 1.11570 -		*/
 1.11571 -		TUint iVersionId;
 1.11572 -
 1.11573 -	public:
 1.11574 -		/**
 1.11575 -		EAP-request packet in a flat buffer.
 1.11576 -		*/
 1.11577 -		CBufFlat* iEapReqPacket;
 1.11578 -		};
 1.11579 -
 1.11580 -	IMPORT_C RMobileSmartCardEap();
 1.11581 -
 1.11582 -	/**
 1.11583 -	EAP types are represented by one byte for standard EAP methods, and
 1.11584 -	eight bytes for extended methods.  Each byte specified in the
 1.11585 -	TEapType buffer should represent one semi-octet.  Therefore, a
 1.11586 -	maximum of 16-chars are needed for representing any possible EAP
 1.11587 -	type.  (See section 5.2 of ETSI TS 102.310 v6.2.0.)
 1.11588 -
 1.11589 -	@see RMobileSmartCardEap::TEapType
 1.11590 -
 1.11591 -	@publishedPartner
 1.11592 -	@released
 1.11593 -	*/
 1.11594 -	enum { KEapTypeSize = 16 };
 1.11595 -
 1.11596 -	/**
 1.11597 -	A typedef'd buffer to hold the EAP type for the subsequent
 1.11598 -	authentication that will be carried out on the Smart Card
 1.11599 -	Application.
 1.11600 -
 1.11601 -	The value specified must correspond to the pre-allocated type
 1.11602 -	identifiers for various EAPs (see
 1.11603 -	http://www.iana.org/assignments/eap-numbers).  Some known values
 1.11604 -	are given in etelmm.h.
 1.11605 -
 1.11606 -	The type must be specified in hexadecimal format, where each
 1.11607 -	character represents one semi-octet.
 1.11608 -
 1.11609 -	@see KETelSmartCardEapTypeMD5
 1.11610 -	@see KETelSmartCardEapTypeTLS
 1.11611 -	@see KETelSmartCardEapTypeSIM
 1.11612 -	@see KETelSmartCardEapTypeAKA
 1.11613 -	@see KETelSmartCardEapTypeTTLS
 1.11614 -	@see RMobileSmartCardEap::Open()
 1.11615 -
 1.11616 -	@publishedPartner
 1.11617 -	@released
 1.11618 -	*/
 1.11619 -	typedef TBuf8<KEapTypeSize> TEapType;
 1.11620 -
 1.11621 -	IMPORT_C TInt Open(RMobilePhone& aPhone, const RMobilePhone::TAID& aAID, const TEapType& aEapType);
 1.11622 -	IMPORT_C void InitialiseEapMethod(TRequestStatus& aReqStatus);
 1.11623 -	IMPORT_C void Close();
 1.11624 -
 1.11625 -	/**
 1.11626 -	Authentication status of the EAP supporting UICC application (See
 1.11627 -	section 7.2 of ETSI TS 102.310 v6.2.0).  One of these values is
 1.11628 -	returned on completion of an
 1.11629 -	RMobileSmartCardEap::GetAuthenticationStatus() request.
 1.11630 -
 1.11631 -	@see RMobileSmartCardEap::GetAuthenticationStatus()
 1.11632 -
 1.11633 -	@publishedPartner
 1.11634 -	@released
 1.11635 -	*/
 1.11636 -	enum TEapAuthStatus
 1.11637 -		{
 1.11638 -		/**
 1.11639 -		No authentication started
 1.11640 -		*/
 1.11641 -		ENoAuthStarted,    // 0
 1.11642 -		/**
 1.11643 -		Authenticating
 1.11644 -		*/
 1.11645 -		EAuthenticating,   // 1
 1.11646 -		/**
 1.11647 -		Authentication complete
 1.11648 -		*/
 1.11649 -		EAuthenticated,    // 2
 1.11650 -		/**
 1.11651 -		Held (authentication failure)
 1.11652 -		*/
 1.11653 -		EHeld              // 3
 1.11654 -		};
 1.11655 -
 1.11656 -	IMPORT_C void GetAuthenticationStatus(TRequestStatus& aReqStatus, TEapAuthStatus& aAuthStatus);
 1.11657 -
 1.11658 -	/**
 1.11659 -	TEapUserIdType should be used to request an identity from EF_PUId
 1.11660 -	or EF_Ps, when making an RMobileSmartCardEap::GetUserIdentity()
 1.11661 -	request.
 1.11662 -	(See sections 7.3 and 7.4, respectively, of ETSI TS	102.310 v6.2.0,
 1.11663 -	and RFC2486 - The Network Access Identifier).
 1.11664 -
 1.11665 -	@see RMobileSmartCardEap::GetUserIdentity()
 1.11666 -	@see RMobileSmartCardEap::TEapUserIdentityV6
 1.11667 -
 1.11668 -	@publishedPartner
 1.11669 -	@released
 1.11670 -	*/
 1.11671 -	enum TEapUserIdType
 1.11672 -		{
 1.11673 -		/** Identity is permanent type */
 1.11674 -		EPermanentIdentity,   // 0
 1.11675 -		/** Identity is pseudonym type */
 1.11676 -		EPseudonymIdentity    // 1
 1.11677 -		};
 1.11678 -
 1.11679 -	/**
 1.11680 -	Maximum permitted size of identity data.
 1.11681 -	*/
 1.11682 -	enum { KEapIdentityMaxSize = 255 };
 1.11683 -
 1.11684 -	/**
 1.11685 -	EAP User Identity data.  Ids are stored in EF_PUId or EF_Ps
 1.11686 -	(specified in sections 7.3 and 7.4, respectively, of ETSI TS
 1.11687 -	102.310 v6.2.0).
 1.11688 -
 1.11689 -	@see RMobileSmartCardEap::GetUserIdentity()
 1.11690 -
 1.11691 -	@publishedPartner
 1.11692 -	@released
 1.11693 -	*/
 1.11694 -	class TEapUserIdentityV6 : public RMobilePhone::TMultimodeType
 1.11695 -		{
 1.11696 -	public:
 1.11697 -		IMPORT_C TEapUserIdentityV6();
 1.11698 -	public:
 1.11699 -		/**
 1.11700 -		EAP-IDENTITY Data.
 1.11701 -		*/
 1.11702 -		TBuf8<KEapIdentityMaxSize> iEapId;
 1.11703 -		};
 1.11704 -
 1.11705 -	/**
 1.11706 -	A typedef'd packaged TEapUserIdentityV6 for passing through a
 1.11707 -	generic API method.
 1.11708 -
 1.11709 -	@publishedPartner
 1.11710 -	@released
 1.11711 -	*/
 1.11712 -	typedef TPckg<TEapUserIdentityV6> TEapUserIdentityV6Pckg;
 1.11713 -
 1.11714 -	IMPORT_C void GetUserIdentity(TRequestStatus& aReqStatus,
 1.11715 -	                              TEapUserIdType aRequestedIdType,
 1.11716 -	                              TDes8& aUserId);
 1.11717 -
 1.11718 -	/**
 1.11719 -	TEapKeyV6 should be used to request one of (currently) two keys
 1.11720 -	available on the EF_EAPKEYS of the UICC application (see section
 1.11721 -	7.1 of ETSI TS 102.310 v6.2.0).  This enumeration type should be
 1.11722 -	used in RMobileSmartCardEap::GetEapKey() to specify the key to be
 1.11723 -	retrieved.
 1.11724 -
 1.11725 -	@see RMobileSmartCardEap::TEapKeyV6
 1.11726 -	@see RMobileSmartCardEap::GetEapKey()
 1.11727 -
 1.11728 -	@publishedPartner
 1.11729 -	@released
 1.11730 -	*/
 1.11731 -	enum TEapKeyTag
 1.11732 -		{
 1.11733 -		/**
 1.11734 -		Used to request Master Session Key.
 1.11735 -		*/
 1.11736 -		EEapKeyMSK =  0x80,
 1.11737 -		/**
 1.11738 -		Used to request Extended Master Session Key.
 1.11739 -		*/
 1.11740 -		EEapKeyEMSK = 0x81
 1.11741 -		};
 1.11742 -
 1.11743 -	/**
 1.11744 -	Maximum size of an EAP Key stored on the DF_EAP's EF_EAPKEYS.
 1.11745 -	255 as each key has a length that can be specified by exactly one
 1.11746 -	byte (see section 7.1 of ETSI TS 102.310 v6.2.0).
 1.11747 -
 1.11748 -	@publishedPartner
 1.11749 -	@released
 1.11750 -	*/
 1.11751 -	enum { KEapKeyMaxSize = 255 };
 1.11752 -
 1.11753 -	/** 
 1.11754 -	EAP authentication key data.
 1.11755 -
 1.11756 -	@see RMobileSmartCardEap::GetEapKey()
 1.11757 -
 1.11758 -	@publishedPartner
 1.11759 -	@released
 1.11760 -	*/
 1.11761 -	class TEapKeyV6 : public RMobilePhone::TMultimodeType
 1.11762 -		{
 1.11763 -	public:
 1.11764 -		IMPORT_C TEapKeyV6();
 1.11765 -	public:
 1.11766 -		/**
 1.11767 -		EAP-KEY Data.
 1.11768 -		*/
 1.11769 -		TBuf8<KEapKeyMaxSize> iEapKey;
 1.11770 -		};
 1.11771 -
 1.11772 -	/**
 1.11773 -	A typedef'd packaged TEapKeyV6 for passing through a generic API
 1.11774 -	method.
 1.11775 -
 1.11776 -	@publishedPartner
 1.11777 -	@released
 1.11778 -	*/
 1.11779 -	typedef TPckg<TEapKeyV6> TEapKeyV6Pckg;
 1.11780 -
 1.11781 -	IMPORT_C void GetEapKey(TRequestStatus& aReqStatus, const TEapKeyTag aRequestedKey, TDes8& aKey);
 1.11782 -
 1.11783 -	/**
 1.11784 -	Status of the DF_EAP this subsession refers to.  The status is
 1.11785 -	basically an indication of whether the DF is in use by another sub-
 1.11786 -	session client instance.
 1.11787 -
 1.11788 -	NotifyEapMethodAccessStatusChange() will give a notification when
 1.11789 -	the status changes.
 1.11790 -
 1.11791 -	Status will change when the first client calls
 1.11792 -	InitialiseEapMethod() on this sub-session.  When the same client
 1.11793 -	calls ReleaseEapMethod() (or Close()), the status will change
 1.11794 -	again.  This allows mutually exclusive access to the DF_EAP.  All
 1.11795 -	other RMobileSmartCardEap hanles will get an error if they attempt
 1.11796 -	to make requests that access the same DF_EAP.
 1.11797 -
 1.11798 -	@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
 1.11799 -	@see RMobileSmartCardEap::ReleaseEapMethod()
 1.11800 -	@see RMobileSmartCardEap::InitialiseEapMethod()
 1.11801 -
 1.11802 -	@publishedPartner
 1.11803 -	@released
 1.11804 -	*/
 1.11805 -	enum TEapMethodAccessStatus
 1.11806 -		{
 1.11807 -		/**
 1.11808 -		AID/DF_EAP has been reset, and the DF_EAP has not been
 1.11809 -		initialised by any other instance of RMobileSmartCardEap.
 1.11810 -		*/
 1.11811 -		EEapMethodAvailable,
 1.11812 -		/**
 1.11813 -		Another instance of RMobileSmartCardEap has initialised first
 1.11814 -		and taken ownership of the DF_EAP.  The DF_EAP is currently
 1.11815 -		active and EAP requests can be made.
 1.11816 -		*/
 1.11817 -		EEapMethodInUseApplicationActive,
 1.11818 -		/**
 1.11819 -		This instance of RMobileSmartCardEap still owns the lock on the
 1.11820 -		DF_EAP, but the application has been deactivated elsewhere.
 1.11821 -		The client should re-initialise before making further EAP
 1.11822 -		requests.
 1.11823 -
 1.11824 -		@see RMobileSmartCardEap::InitialiseEapMethod()
 1.11825 -		*/
 1.11826 -		EEapMethodInUseApplicationInactive,
 1.11827 -		/**
 1.11828 -		Lock on the DF_EAP has been released, but another DF_EAP method
 1.11829 -		is in use under the same AID, thus, cannot reset/initialise
 1.11830 -		this subsessions EAP method.  Client can only post a
 1.11831 -		notification and wait till status changes to
 1.11832 -		EEapMethodAvailable.
 1.11833 -
 1.11834 -		@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
 1.11835 -		*/
 1.11836 -		EEapMethodUnableToInitialise
 1.11837 -		};
 1.11838 -
 1.11839 -	IMPORT_C TInt ReleaseEapMethod();
 1.11840 -	IMPORT_C TInt GetEapMethodAccessStatus(TEapMethodAccessStatus& aEapMethodStatus);
 1.11841 -	IMPORT_C void NotifyEapMethodAccessStatusChange(TRequestStatus& aReqStatus, TEapMethodAccessStatus& aEapMethodStatus);
 1.11842 -	IMPORT_C TBool IsEapMethodOwner() const;
 1.11843 -
 1.11844 -protected:
 1.11845 -	IMPORT_C void ConstructL();
 1.11846 -	IMPORT_C void Destruct();
 1.11847 -
 1.11848 -private:
 1.11849 -	RMobileSmartCardEap(const RMobileSmartCardEap&);
 1.11850 -
 1.11851 -	TChar SeptChar(TInt aDigit);
 1.11852 -	void ConvertBinToText(const TDesC8& aBinData, TDes& aText);
 1.11853 -
 1.11854 -private:
 1.11855 -	/**
 1.11856 -	Pointer Holder for the RMobileSmartCardEap sub-session requests.
 1.11857 -	*/
 1.11858 -	CMobileSmartCardEapPtrHolder* iMmPtrHolder;
 1.11859 -	/**
 1.11860 -	True if this object is the first to request	InitialiseEapMethod()
 1.11861 -	on its <AID,EAPType> when the status is EEapMethodAvailable.
 1.11862 -	I.e. True only for the instance of RMobileSmartCardEap that
 1.11863 -	successfully passes the Wait() on iSemaphore.
 1.11864 -	*/
 1.11865 -	TBool iOwnsEapMethodLock;
 1.11866 -	/**
 1.11867 -	Semaphore is actually owned by TSY, and used by all instances of
 1.11868 -	RMobileSmartCardEap	to stop multiple access to the same EAP method
 1.11869 -	on any one application.
 1.11870 -	*/
 1.11871 -	RSemaphore iSemaphore;
 1.11872 -
 1.11873 -	};	// RMobileSmartCardEap
 1.11874 -
 1.11875 -/////////////////////////////////////////////////////////////////////////////////////
 1.11876 -//
 1.11877 -// LCS-MO-LR AND LCS-MT-LR
 1.11878 -//
 1.11879 -/////////////////////////////////////////////////////////////////////////////////////
 1.11880 -class CMobileLocationServicesPtrHolder;
 1.11881 -
 1.11882 -/**
 1.11883 -This sub-session opens under RMobilePhone.
 1.11884 -
 1.11885 -A new RMobileLocationServices class is used to add the ETelMM Support for Mobile Terminating Location Request,
 1.11886 -Mobile Originating Location Requests, A-Gps assistance data for the LBS Framework.
 1.11887 -
 1.11888 -RMobileLocationServices is derived from RTelSubSessionBase.RMobileLocationServices lists the 
 1.11889 -APIs,which provided the support for Mtlr, Molr, A-Gps assistance data requests.
 1.11890 -*/
 1.11891 -class RMobileLocationServices : public RTelSubSessionBase
 1.11892 -	{
 1.11893 -public:
 1.11894 -	
 1.11895 -	IMPORT_C RMobileLocationServices();
 1.11896 -    IMPORT_C TInt Open(RMobilePhone& aPhone);
 1.11897 -    IMPORT_C void Close();
 1.11898 - 	/** 
 1.11899 - 	Maximum length of the array used for TLcsRequestorIdString.
 1.11900 - 	*/
 1.11901 -	enum { KLcsMaxRequestorIdStringSize = 256 };
 1.11902 -	/** 
 1.11903 -	Maximum length of the array used for TLcsClientBufferName.
 1.11904 - 	*/
 1.11905 -	enum { KLcsMaxClientNameBufferSize = 256 };
 1.11906 -	/** 
 1.11907 -	Maximum length of the array used for TLcsClientExternalID.
 1.11908 -	*/
 1.11909 -	enum { KLcsMaxClientExternalIdSize = 64 };
 1.11910 -	/** 
 1.11911 -	Maximum length of the array used for TLcsLocationEstimate.
 1.11912 -	*/
 1.11913 -	enum { KLcsMaxLocationEstimateSize = 64 };
 1.11914 -	/** 
 1.11915 -	Maximum length of the array used for TLcsVelocityEstimate.
 1.11916 -	*/
 1.11917 -	enum { KLcsMaxVelocityEstimateSize = 64 };
 1.11918 -	/** 
 1.11919 -	Maximum length of the array used for TLcsGpsAssistanceData.
 1.11920 -	*/
 1.11921 -	enum { KLcsMaxGpsAssistanceDataSize = 64 };
 1.11922 -	/** 
 1.11923 -	A typedef'd buffer which holds the External ClientName Buffer.
 1.11924 -	@see KLcsMaxClientNameBufferSize
 1.11925 -	*/
 1.11926 -	typedef TBuf8<KLcsMaxClientNameBufferSize> TLcsClientNameBuffer;
 1.11927 -	/** 
 1.11928 -	A typedef'd buffer which holds the RequestorId String.
 1.11929 -	@see KLcsMaxRequestorIdStringSize
 1.11930 -	*/
 1.11931 -	typedef TBuf8<KLcsMaxRequestorIdStringSize> TLcsRequestorIdString;
 1.11932 -	/**
 1.11933 -	A typedef'd buffer which holds the Gps Assistance Data.
 1.11934 -	@see KLcsMaxGpsAssistanceDataSize
 1.11935 -	*/
 1.11936 -	typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
 1.11937 -	/**
 1.11938 -	A typedef'd buffer which holds the External ClientId.
 1.11939 -	@see KLcsMaxClientExternalIdSize
 1.11940 -	*/
 1.11941 -	typedef TBuf8<KLcsMaxClientExternalIdSize> TLcsClientExternalID;
 1.11942 -	/**
 1.11943 -	A typedef'd TUint8 which holds the Data Coding Scheme information.
 1.11944 -	*/
 1.11945 -	typedef TUint8 TLcsDataCodingScheme;
 1.11946 -	/**
 1.11947 -	A typedef'd buffer which holds the Location Estimate.
 1.11948 -	@see KLcsMaxLocationEstimateSize
 1.11949 - 	*/
 1.11950 -	typedef TBuf8<KLcsMaxLocationEstimateSize> TLcsLocationEstimate;
 1.11951 -	/**
 1.11952 -	A typedef'd buffer which holds the Velocity Estimate.
 1.11953 -	@see KLcsMaxVelocityEstimateSize
 1.11954 -	*/
 1.11955 -	typedef TBuf8<KLcsMaxVelocityEstimateSize> TLcsVelocityEstimate;
 1.11956 -
 1.11957 -	typedef TUint8 TTransactionIdentifier;
 1.11958 -	typedef TUint8 TGPSI;
 1.11959 - 	 /**
 1.11960 -     Note:Refer to 3GPP TS 23.271(Functional stage 2 description of Location Services (LCS)),
 1.11961 -     3GPP TS 24.030(Location Services (LCS); Supplementary service operations - Stage 3) and
 1.11962 -     3GPP TS 24.080(Mobile radio interface layer 3 supplementary services specification; Formats and coding)
 1.11963 -     for further details of MTLR and MOLR member data.
 1.11964 -     */
 1.11965 - /*********************************************************************/ 
 1.11966 - //                  MTLR                                             //
 1.11967 - /*********************************************************************/   
 1.11968 -    /**
 1.11969 -    TNotificationType lists the various types of Notification
 1.11970 -    that can be expected from any MTLR-Location Notification coming from the Network,
 1.11971 -    These types depend on the Subscription Profile of the UE. 
 1.11972 -    
 1.11973 -    One of the TNotificationType is expected to be retrieved from the Network,
 1.11974 -    when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
 1.11975 -    @internalAll
 1.11976 -    */
 1.11977 -    enum TNotificationType
 1.11978 -		{
 1.11979 -		/**
 1.11980 -		Notification Type Unknown
 1.11981 -		*/
 1.11982 -		ENotificationTypeUnknown,
 1.11983 -		/**
 1.11984 -		The Location Request is accepted by default
 1.11985 -		*/
 1.11986 -		ENotifyLocationAllowed,
 1.11987 -		/**
 1.11988 -        This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, 
 1.11989 -        and that the user is expected to respond by granting/denying the request. By defualt, if the user 
 1.11990 -        does not provide a response, the request is granted
 1.11991 -		*/
 1.11992 -		ENotifyAndVerify_LocationAllowedIfNoResponse,
 1.11993 -		/**
 1.11994 -        This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, 
 1.11995 -        and that the user is expected to respond by granting/denying the request. By defualt, if the 
 1.11996 -        user does not provide a response, the request is denied.
 1.11997 -		*/
 1.11998 -		ENotifyAndVerify_LocationNotAllowedIfNoResponse,
 1.11999 -        /**
 1.12000 -        The network sends the information to the UE that the external client has privacy overide capability,
 1.12001 -        This indicator is received when an authenticated or emergency client had sent the request.
 1.12002 -		*/     
 1.12003 -        ELocationPrivacyOverride,  
 1.12004 -        /**
 1.12005 -        This enum is used to notify the UE that an incoming MTLR request was denied by the network for any of various 
 1.12006 -        reasons.
 1.12007 -		*/
 1.12008 -		ELocationNotAllowed                                      
 1.12009 -        };
 1.12010 -
 1.12011 -    
 1.12012 -    /**
 1.12013 -    TLocationEstimateType lists the various types of LocationEstimate
 1.12014 -    that can be expected from any MTLR-Location Notification request coming from the Network,
 1.12015 -    These types depend on the Subscription Profile of the UE.
 1.12016 -    
 1.12017 -    One of the TLocationEstimateType is expected to be retrieved from the Network,
 1.12018 -    when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
 1.12019 -    @internalAll
 1.12020 -    */
 1.12021 -    enum TLocationEstimateType
 1.12022 -		{
 1.12023 -		/**
 1.12024 -		Location Estimate Type Unknown.
 1.12025 -		*/
 1.12026 -		ELocationEstimateTypeUnknown,
 1.12027 -		/**
 1.12028 -		The External Client has requested for the Current Location of
 1.12029 -		the UE.
 1.12030 -		*/
 1.12031 -		ECurrentLocation,
 1.12032 -		/**
 1.12033 -		The External Client has requested for the Current Location of
 1.12034 -		the UE.Incase,if the request is accepted,But still it fails to
 1.12035 -		generate the Location report because of Measurement Control Failure.
 1.12036 -		The Client receives the Last Known Location.
 1.12037 -		*/
 1.12038 -		ECurrentOrLastKnownLocation,
 1.12039 -		/**
 1.12040 -		The External Client has requested for the initial location of the UE. The current 
 1.12041 -		location of the UE may or may not be the initial location.
 1.12042 -		*/
 1.12043 -		EInitialLocation
 1.12044 -		};	
 1.12045 -    
 1.12046 -    /**
 1.12047 -    TLcsClientNameV1 holds the details of the name of the External client, 
 1.12048 -    who is making the request via Network.
 1.12049 -    TLcsClientNameV1 is used by RMobileLocationServices::NotifyMtlr() request.
 1.12050 -    @see TLcsDataCodingScheme
 1.12051 -    @see TLcsClientNameBuffer
 1.12052 -    @internalAll
 1.12053 -    */
 1.12054 -    class TLcsClientNameV1
 1.12055 -    	{
 1.12056 -    public:
 1.12057 -    	/**
 1.12058 -    	TLcsDataCodingScheme holds the Data Coding Scheme information which is used
 1.12059 -    	to extract the ExternalClient name.
 1.12060 -    	*/
 1.12061 -    	TLcsDataCodingScheme iLcsDataCodingScheme;
 1.12062 -    	/**
 1.12063 -    	TLcsClientNameBuffer holds the Client name 		
 1.12064 -    	*/
 1.12065 -    	TLcsClientNameBuffer       iLcsClientNameBuffer;	
 1.12066 -    	};
 1.12067 -    
 1.12068 -    /**
 1.12069 -    TLcsRequestorIDV1 holds the details of the RequestorId i.e the details of the 
 1.12070 -    Network,Which is carrying the request of External Client to UE
 1.12071 -    TLcsRequestorIDV1 is used by RMobileLocationServices::NotifyMtlr() request.
 1.12072 -    @see TLcsDataCodingScheme
 1.12073 -    @see TLcsRequestorIdString 
 1.12074 -    @internalAll
 1.12075 -    */
 1.12076 -    class TLcsRequestorIDV1
 1.12077 -    	{
 1.12078 -    public:
 1.12079 -        /**
 1.12080 -    	TLcsDataCodingScheme holds the Data Coding Scheme information which is used
 1.12081 -    	to extract the RequestorId String.
 1.12082 -    	*/
 1.12083 -    	TLcsDataCodingScheme        iLcsDataCodingScheme;
 1.12084 -    	/**
 1.12085 -    	TLcsRequestorIdString holds the RequestorId String 		
 1.12086 -    	*/
 1.12087 -    	TLcsRequestorIdString       iLcsRequestorIdString;	
 1.12088 -    	};
 1.12089 -    
 1.12090 -    /**
 1.12091 -    TLocationExternalInfoV1 holds the details of the External client and the Requestor
 1.12092 -    TLocationExternalInfoV1 is used by RMobileLocationServices::NotifyMtlr() request
 1.12093 -    @see TLcsClientExternalID
 1.12094 -    @see TLcsClientNameV1
 1.12095 -    @see TLcsRequestorIDV1
 1.12096 -    @internalAll
 1.12097 -    */
 1.12098 -    class TLocationExternalInfoV1
 1.12099 -		{
 1.12100 -	public:
 1.12101 -		/**
 1.12102 -		TLcsClientExternalID gives the id of the External client.
 1.12103 -		*/
 1.12104 -		TLcsClientExternalID     iLcsClientID;
 1.12105 -		/**
 1.12106 -		TLcsClientNameV1 holds the name of the External Client.
 1.12107 -		*/
 1.12108 -		TLcsClientNameV1           iLcsClientName;
 1.12109 -		/**
 1.12110 -		TLcsRequestorIDV1 gives the details of requestor id
 1.12111 -		*/
 1.12112 -		TLcsRequestorIDV1          iLcsRequestorID;
 1.12113 -		};
 1.12114 -	
 1.12115 -	/**
 1.12116 -	TNotifyMtlrV7 holds the details of the MTLR request made by the External client.
 1.12117 -	TNotifyMtlrV7 is used by RMobileLocationServices::NotifyMtlr() request
 1.12118 -	@see TNotificationType
 1.12119 -	@see TLocationEstimateType
 1.12120 -	@see TLocationExternalInfoV1
 1.12121 -	@internalAll
 1.12122 -	*/
 1.12123 -	class TNotifyMtlrV7: public RMobilePhone::TMultimodeType 
 1.12124 -		{
 1.12125 -	public:
 1.12126 -		IMPORT_C TNotifyMtlrV7();
 1.12127 -	public:
 1.12128 -		/**
 1.12129 -		TNotificationType holds the type of notification request being made
 1.12130 -		*/
 1.12131 -		TNotificationType          iNotificationType;
 1.12132 -		/**
 1.12133 -		TLocationEstimateType holds the type of LocationEstimate is requested 
 1.12134 -		*/
 1.12135 -		TLocationEstimateType      iMtlrLocationEstimateType;
 1.12136 -		/**
 1.12137 -		TLocationExternalInfoV7  holds the details of the External client. 
 1.12138 -		*/
 1.12139 -		TLocationExternalInfoV1      iLocationInfo;
 1.12140 -        };
 1.12141 -	
 1.12142 -   	/**
 1.12143 -	A typedef'd packaged TNotifyMtlrV7 for passing through a
 1.12144 -	generic API method.
 1.12145 -
 1.12146 -	@internalAll
 1.12147 -	*/
 1.12148 -	typedef TPckg<TNotifyMtlrV7> TNotifyMtlrV7Pckg;
 1.12149 -	
 1.12150 - //MTLR-RESPONSE
 1.12151 - 	/**
 1.12152 - 	TMtlrResponse is used by the OverLoaded RMobileLocationServices::SendMtlrResponse() API
 1.12153 - 	It holds the type of response being sent back for the MTLR request made.
 1.12154 - 	@internalAll
 1.12155 - 	*/
 1.12156 -	
 1.12157 -	enum TMtlrResponse
 1.12158 -		{
 1.12159 -		/**
 1.12160 -		Mtlr Response Unknown.
 1.12161 -		*/
 1.12162 -		EMtlrResponseUnknown,
 1.12163 -		/**
 1.12164 -		The UE has denied the Location Request  of the External client.
 1.12165 -		@see RMobileLocationServices::SendMtlrResponse()
 1.12166 -		*/
 1.12167 -		EPermissionDenied ,
 1.12168 -		/**
 1.12169 -		The UE has granted  the Location Request  of the External client.
 1.12170 -		@see RMobileLocationServices::SendMtlrResponse()
 1.12171 -		*/
 1.12172 -		EPermissionGranted
 1.12173 -		};
 1.12174 -	
 1.12175 -	/**
 1.12176 - 	TMtlrError is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
 1.12177 - 	It holds the type of Error response being sent back for the MTLR request made.
 1.12178 - 	@internalAll
 1.12179 - 	*/
 1.12180 - 	enum TMtlrError
 1.12181 -		{
 1.12182 -		/**
 1.12183 -		Mtlr Error Unknown.
 1.12184 -		*/
 1.12185 -		EMtlrErrorUnknown,
 1.12186 -		/**
 1.12187 -		This response is sent back to the network when System has failed to 
 1.12188 -		do the privacy check due to some Miscellaneous reasons
 1.12189 -		*/
 1.12190 -		ESystemFailure ,
 1.12191 -		/**
 1.12192 -		The response is sent when the privacy verification has failed because of Unexpected data 
 1.12193 -		values retrieved from the Location Notification request generated by the Network.
 1.12194 -		This generates an Error-Prone response from UE
 1.12195 -		*/
 1.12196 -		EUnexpectedDataValue	
 1.12197 -		};
 1.12198 -	
 1.12199 -	/**
 1.12200 - 	TMtlrReject is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
 1.12201 - 	It holds the details of the Response being rejected due to one of the problems reported to the UE
 1.12202 - 	for the MTLR request being made.
 1.12203 - 	@internalAll
 1.12204 - 	*/
 1.12205 - 	enum TMtlrReject
 1.12206 -		{
 1.12207 -		/**
 1.12208 -		Mtlr Reject Unknown.
 1.12209 -		*/
 1.12210 -		EMtlrRejectUnknown,
 1.12211 -		/**
 1.12212 -		This indication is given under a scenario where the UE wants to reject a request,
 1.12213 -		It is done by invoking Duplicate ID's.
 1.12214 -		*/
 1.12215 -		EDuplicateInvokeID,
 1.12216 -		/**
 1.12217 -		This indication is given under a scenario where the UE wants to reject a request, 
 1.12218 -		It is done by saying the operation is not recognized
 1.12219 -		*/
 1.12220 -		EUnrecognizedOperation,
 1.12221 -		/**
 1.12222 -		This invokes a problem indicating Resource Limitation.
 1.12223 -		*/
 1.12224 -		EResourceLimitation,
 1.12225 -		/**
 1.12226 -		This Invokes a problem initiating release.
 1.12227 -		*/
 1.12228 -		EInitiatingRelease,
 1.12229 -		/**
 1.12230 -		This invokes a problem indicating that  the ID linked with the Client information 
 1.12231 -		is unrecognized
 1.12232 -		*/
 1.12233 -		EUnrecognizedLinkedID,
 1.12234 -		/**
 1.12235 -		This invokes a problem of Linked Response Unexpected
 1.12236 -		*/
 1.12237 -		ELinkedResponseUnexpected,
 1.12238 -		/**
 1.12239 -		This invokes a problem of Unexpected Linked Operation
 1.12240 -		*/
 1.12241 -		EUnexpectedLinkedOperation,
 1.12242 -		/**
 1.12243 -		This invokes a problem of Mistyped Parameter.
 1.12244 -		*/
 1.12245 -		EMistypedParameter	
 1.12246 -		};
 1.12247 -	
 1.12248 -   /**************************************************************/
 1.12249 -   //                  MOLR                                      //
 1.12250 -   /**************************************************************/
 1.12251 - 
 1.12252 - 	/**
 1.12253 - 	TMolrType is used by the SendMolr() API.
 1.12254 - 	This gives an indication of type of Molr request the UE wants to invoke
 1.12255 - 	@internalAll
 1.12256 - 	*/
 1.12257 - 	enum TMolrType
 1.12258 -		{
 1.12259 -		/**
 1.12260 -		MolrType UnKnown
 1.12261 -		*/
 1.12262 -		EMolrTypeUnknown,
 1.12263 -		/**
 1.12264 -		UE is requesting the Network for its Location Estimate  
 1.12265 -		*/
 1.12266 -		ELocationEstimate,
 1.12267 -		/**
 1.12268 -		UE is requesting the Network for  GPS Assistance data
 1.12269 -		*/
 1.12270 -		EAssistanceData,
 1.12271 -		/**
 1.12272 -		UE is requesting the Network for  DecipheringKeys
 1.12273 -		*/
 1.12274 -		EDecipheringKeys
 1.12275 -		};
 1.12276 -
 1.12277 - 	/**
 1.12278 - 	TResponseTime is used by SendMolr() API
 1.12279 - 	This enum holds the various types of delay that an UE is expecting.
 1.12280 - 	@internalAll
 1.12281 - 	*/
 1.12282 - 	enum TResponseTime
 1.12283 -  		{
 1.12284 -  		/**
 1.12285 -  		Response Time Unknown.
 1.12286 -		*/
 1.12287 -  		EResponseTimeunknown,
 1.12288 -  		/**
 1.12289 -  		This enum value indicates that the UE expects a Less Time Delay
 1.12290 -  		from Network in responding to its request
 1.12291 -  		*/
 1.12292 -  		ELowDelay,
 1.12293 -  		/**
 1.12294 -  		This enum value indicates that the UE expects a Long Time Delay
 1.12295 -  		from Network in responding to its request and is tolerant to it.
 1.12296 -  		*/
 1.12297 -  		EDelayTolerant		
 1.12298 -  		};
 1.12299 - 	
 1.12300 - 	/**
 1.12301 - 	TLocationMethod is used by SendMolr() API
 1.12302 - 	This is an enum which lists out all different types of Location methods that an UE can request
 1.12303 - 	@internalAll
 1.12304 - 	*/
 1.12305 - 	enum TLocationMethod
 1.12306 -  		{
 1.12307 -  		/**
 1.12308 -  		Location Method Unknown
 1.12309 -		*/
 1.12310 -  		ELocationMethodunknown,
 1.12311 -  		/**
 1.12312 -  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Based Location Fix.
 1.12313 -  		This can be termed as UE Assisted Location Fix(EOTD-Enhanced observed time difference).
 1.12314 -  		*/
 1.12315 -  		EMSBasedEOTD,
 1.12316 -  		/**
 1.12317 -  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted Location Fix.
 1.12318 -  		This can be termed out as UE based location fix.
 1.12319 -  		*/
 1.12320 -  		EMSAssistedEOTD,
 1.12321 -  		/**
 1.12322 -  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted GPS data.
 1.12323 -  		*/
 1.12324 -  		EMSAssistedGPS,
 1.12325 -  		/**
 1.12326 -  		This indication is given under a scenario where the UE wants a MS (Mobile Station) based location fix 
 1.12327 -  		(OTDOA-Observed time difference of arrival).
 1.12328 -  		*/
 1.12329 -  		EMSBasedOTDOA
 1.12330 -  		}; 
 1.12331 -   
 1.12332 -    /**
 1.12333 -    TQosV1 is used by SendMolr() API
 1.12334 -    This is a class with details of accuracy of Position information, Response Time, 
 1.12335 -    expected to be received from the network.
 1.12336 -    @see TResponseTime
 1.12337 -    @internalAll
 1.12338 -    */
 1.12339 - 	class TQosV1
 1.12340 -   		{
 1.12341 -   	public:
 1.12342 -    	/**
 1.12343 -    	This gives an information of the amount of Horizontal accuracy that the UE is expecting.
 1.12344 -    	*/
 1.12345 -    	TUint8 iHorizontalAccuracy;
 1.12346 -    	/**
 1.12347 -    	This gives an information of the amount of Vertical accuracy that the UE is expecting. 
 1.12348 -    	*/
 1.12349 -    	TUint8 iVerticalAccuracy;
 1.12350 -    	/**
 1.12351 -    	This enum indicates the Response Time expected by the UE to receive a response for its MOlr request.
 1.12352 -    	*/
 1.12353 -    	TResponseTime iResponseTime;
 1.12354 -    	};
 1.12355 -    
 1.12356 -    /**
 1.12357 -    TMolrErrors is used by SendMolr() API
 1.12358 -    This is an enum which lists out all the possible errors that can be 
 1.12359 -    reported to UE by an External Client or the Network.
 1.12360 -    @internalAll
 1.12361 -    */
 1.12362 -   	enum TMolrErrors
 1.12363 -    	{
 1.12364 -    	/**
 1.12365 -    	Molr Error Unknown
 1.12366 -		*/
 1.12367 -    	EMolrErrorUnknown,
 1.12368 -    	/**
 1.12369 -    	This indication is given to the UE when the Location Report is unable to reach the 
 1.12370 -    	External Client due to some failure in the Network Connections.
 1.12371 -    	*/
 1.12372 -        EMolrSystemFailure, 
 1.12373 -        /**
 1.12374 -        This indication is given back to the UE by the Network to the UE or by the 
 1.12375 -        External Client to the UE,where the UE generated MOLR has some unexpected values. 
 1.12376 -        */
 1.12377 -        EMolrUnexpectedDataValue,  
 1.12378 -        /**
 1.12379 -        This indication is given back to the UE by the Network to the UE or by the 
 1.12380 -        External Client to the UE,where the UE generated MOLR had a data discrepancy
 1.12381 -        */
 1.12382 -        EMolrDataMissing, 
 1.12383 -        /**
 1.12384 -        This indication is given by the Network to the UE, 
 1.12385 -        when the UE is not given a facility to make a MOLR request
 1.12386 -        */
 1.12387 -        EMolrFacilityNotSupported, 
 1.12388 -        /**
 1.12389 -        This indication is given by the Network to the UE, 
 1.12390 -        when the subscription profile of the UE doesn't match with the requests made by it.
 1.12391 -        */
 1.12392 -        EMolrSS_SubscriptionViolation, 
 1.12393 -        /**
 1.12394 -        This indication is given by the Network to the UE, 
 1.12395 -        when the UE or the Network failed to generate the Location estimate
 1.12396 -        */ 
 1.12397 -        EMolrPositionMethodFailure 
 1.12398 -        };
 1.12399 -
 1.12400 -	/**
 1.12401 -	TStartMolrV7 is used by SendMolr() API
 1.12402 -	This class lists the details send by UE to Network when a Molr request is being made.
 1.12403 -	@see TMolrType
 1.12404 -	@see TQosV1
 1.12405 -	@see TLocationEstimateType
 1.12406 -	@see TLcsClientExternalID
 1.12407 -	@see TGpsAssistanceData
 1.12408 -	@see TLocationMethod
 1.12409 -	@internalAll
 1.12410 -	*/
 1.12411 -	class TStartMolrV7: public RMobilePhone::TMultimodeType
 1.12412 -		{
 1.12413 -	public:
 1.12414 -		IMPORT_C TStartMolrV7();
 1.12415 -	public:
 1.12416 -		/**
 1.12417 -		TMolrType holds the type of Molr request being made
 1.12418 -		*/
 1.12419 -		TMolrType             iMolrType;
 1.12420 -		/**
 1.12421 -		TQosV1 lists out the Quality of Service expected by UE
 1.12422 -		*/
 1.12423 -		TQosV1                iQos;
 1.12424 -		/**
 1.12425 -		Type of Location Estimate requested
 1.12426 -		*/
 1.12427 -		TLocationEstimateType iMolrLocationEstimateType;
 1.12428 -		/**
 1.12429 -		Id of the External client
 1.12430 -		*/
 1.12431 -		TLcsClientExternalID  iLcsClientExternalID;
 1.12432 -		/**
 1.12433 -		Type of GpsAssistanceData
 1.12434 -		*/
 1.12435 -		TGpsAssistanceData    iGpsAssistanceData;
 1.12436 -		/**
 1.12437 -		Type of Location method requested
 1.12438 -		*/
 1.12439 -		TLocationMethod       iLocationMethod ;
 1.12440 -		/**
 1.12441 -		Type of Service requested
 1.12442 -		*/
 1.12443 -		TUint8                 iLcsServiceTypeID;
 1.12444 -		};
 1.12445 -	/**
 1.12446 -	A typedef'd packaged TStartMolrV7 for passing through a
 1.12447 -	generic API method.
 1.12448 -
 1.12449 -	@internalAll
 1.12450 -	*/
 1.12451 -	typedef TPckg<TStartMolrV7> TStartMolrV7Pckg;
 1.12452 -	
 1.12453 -	/**
 1.12454 -	TMolrReturnResultV7 is used by SendMolr() API
 1.12455 -	This class lists all the Molr return results that can be expected for the Molr request
 1.12456 -	being made.
 1.12457 -	@see TLcsLocationEstimate 
 1.12458 -	@see TLcsVelocityEstimate
 1.12459 -	@see TMolrErrors
 1.12460 -	@internalAll
 1.12461 -	*/
 1.12462 -    class TMolrReturnResultV7: public RMobilePhone::TMultimodeType
 1.12463 -    	{
 1.12464 -    public:
 1.12465 -		IMPORT_C TMolrReturnResultV7();
 1.12466 -    public:
 1.12467 -    	/**
 1.12468 -    	This gives the Location Estimate of the UE
 1.12469 -    	*/
 1.12470 -    	TLcsLocationEstimate    iLocationEstimate;
 1.12471 -    	/**
 1.12472 -    	This gives the Velocity Estimate of the UE
 1.12473 -    	*/
 1.12474 -    	TLcsVelocityEstimate	iVelocityEstimate;
 1.12475 -    	/**
 1.12476 -    	This gives the indication of the type of error occured
 1.12477 -    	*/
 1.12478 -    	TMolrErrors             iMolrErrors;
 1.12479 -    	};
 1.12480 -
 1.12481 -	/**
 1.12482 -	A typedef'd packaged TMolrReturnResultV7 for passing through a
 1.12483 -	generic API method.
 1.12484 -
 1.12485 -	@internalAll
 1.12486 -	*/
 1.12487 -	typedef TPckg<TMolrReturnResultV7> TMolrReturnResultV7Pckg;
 1.12488 -	
 1.12489 -	//**************************************//
 1.12490 -	// Measurement Control Data structures	//
 1.12491 -	//**************************************//
 1.12492 -
 1.12493 -	enum 
 1.12494 -		{
 1.12495 -		/**Maximum number of monitored cells RACH*/
 1.12496 -		KMaxMonitoredCells = 8,
 1.12497 -		/**Maximum number of satellites*/
 1.12498 -		KMaxSat = 16,
 1.12499 -		/**GlobalHealth size. 364 bits =46 bytes (Rounded) */
 1.12500 -		KGlobalHealthSize	= 46
 1.12501 -		};
 1.12502 -
 1.12503 -	/**This enum contains the possible types of measurement commands.*/
 1.12504 -	enum TMeasurementCmd
 1.12505 -		{
 1.12506 -		/**Measurement Command Unknown*/
 1.12507 -		EMeasCommandUnknown,
 1.12508 -		/**Setup a new measurement*/
 1.12509 -		ESetup,
 1.12510 -		/**Modify a previously defined measurement, e.g. to change the reporting criteria*/
 1.12511 -		EModify,
 1.12512 -		/**Indicates to stop a measurement and clear all information in the UE that are related to that measurement */
 1.12513 -		ERelease,
 1.12514 -		};
 1.12515 -
 1.12516 -	/**This enum contains the possible positioning method types*/
 1.12517 -	enum TUePosMethodType
 1.12518 -		{
 1.12519 -		/**Positioning Method Type unknown*/
 1.12520 -		EPosMethodTypeUnknown,
 1.12521 -		/**UE Assisted : The network computes the location of the UE.*/
 1.12522 -		EUeAssisted,
 1.12523 -		/**UE Based : The UE computes the location of itself*/
 1.12524 -		EUeBased,
 1.12525 -		};
 1.12526 -
 1.12527 -	/**This enum contains the possible positioning methods*/
 1.12528 -	enum TPosMethod
 1.12529 -		{
 1.12530 -		/**Positioning Method unknown*/
 1.12531 -		EPosMethodUnknown,
 1.12532 -		/**OTDOA may be selected by the SRNC as the method to be used on receipt of an LCS positioning request from the CN */
 1.12533 -		EOtdoa,
 1.12534 -		/**These methods make use of UEs, which are equipped with radio receivers capable of receiving GPS signals*/
 1.12535 -		EGps,
 1.12536 -		/**Use either OTDOA or GPS positioning method.*/
 1.12537 -		EOtdoaOrGps,
 1.12538 -		/**
 1.12539 -		In the cell ID based (i.e. cell coverage) method, the position of an UE is 
 1.12540 -		estimated with the knowledge of its serving Node B. The information about the serving 
 1.12541 -		Node B and cell may be obtained by paging,locating area update, cell update, URA update, or routing area update.
 1.12542 -		*/
 1.12543 -		ECellID
 1.12544 -		};
 1.12545 -
 1.12546 -	/**
 1.12547 -	This class contains the information which is part of the Navigation Model.
 1.12548 -	This can be requested by the UE as part of additional request.
 1.12549 -	*/
 1.12550 -	class TSatDataV1
 1.12551 -		{
 1.12552 -	public:
 1.12553 -		/**Satellite identity*/
 1.12554 -		TUint8		iSatID;
 1.12555 -		/**Issue of Data Ephemeris for SatID*/
 1.12556 -		TUint8		iIode;
 1.12557 -		};
 1.12558 -	
 1.12559 -	/**
 1.12560 -	This class contains the additional information that can be requested by the UE.
 1.12561 -	*/
 1.12562 -	class TNavModelAddlDataReqV1	
 1.12563 -		{
 1.12564 -	public:
 1.12565 -		/**GPS time in weeks*/
 1.12566 -		TUint16		iGpsWeek;
 1.12567 -		/**GPS time of ephemeris in hours of the latest ephemeris set contained by the UE.*/
 1.12568 -		TUint8		iGpsToe;
 1.12569 -		/**Ephemeris age tolerance of the UE to UTRAN in hours.*/
 1.12570 -		TUint8		iTToeLimit;
 1.12571 -		/**Satellite Identities
 1.12572 -		@see TSatDataV1*/
 1.12573 -		TSatDataV1	iSatData[KMaxSat];
 1.12574 -		};
 1.12575 -
 1.12576 -	/**This class contains the indicators to request for additional assistance data from the network.*/
 1.12577 -	class TGpsAddlAssistDataReqV1
 1.12578 -		{
 1.12579 -	public:
 1.12580 -		/**ETrue indicates Almanac Data is requested
 1.12581 -		@see	TAlmanacV1*/
 1.12582 -		TBool	iAlmanacRequest;
 1.12583 -		/**ETrue indicates UTC model Data is requested
 1.12584 -		@see	TUtcModelV1*/
 1.12585 -		TBool	iUtcModelRequest;
 1.12586 -		/**ETrue indicates Ionospheric Model Data is requested
 1.12587 -		@see	TUtcModelV1*/
 1.12588 -		TBool	iIonosphericModelRequest;
 1.12589 -		/**ETrue indicates Navigation model Data is requested
 1.12590 -		@see	TIonosphericModelV1*/
 1.12591 -		TBool	iNavigationModelRequest;
 1.12592 -		/**ETrue indicates DGPS corrections Data is requested
 1.12593 -		@see	TNavigationModelSatInfoV1*/
 1.12594 -		TBool	iDgpsCorrectionsRequest;
 1.12595 -		/**ETrue indicates Reference location Data is requested
 1.12596 -		@see	TDgpsCorrectionsV1*/
 1.12597 -		TBool	iReferenceLocationRequest;
 1.12598 -		/**ETrue indicates Reference time Data is requested
 1.12599 -		@see	TReferenceLocationV1*/
 1.12600 -		TBool	iReferenceTimeRequest;
 1.12601 -		/**ETrue indicates Acquisition assistance Data is requested
 1.12602 -		@see	TReferenceTimeV1*/
 1.12603 -		TBool	iAcquisitionAssistanceReq;
 1.12604 -		/**ETrue indicates Realtime integrity Data is requested
 1.12605 -		@see	TAcquisitionAssistanceV1*/
 1.12606 -		TBool	iRealTimeIntegrityRequest;
 1.12607 -		/**This member is included only if Navigagion Model Data is requested (iNavigationModelRequest is ETrue).
 1.12608 -		@see	TNavModelAddlDataReqV1*/
 1.12609 -		TNavModelAddlDataReqV1	iNavModelAddlDataReq;
 1.12610 -		};
 1.12611 -
 1.12612 -	/**This class contains the UE positioning reporting quantity*/
 1.12613 -	class TUePosReportingQuantityV1
 1.12614 -		{
 1.12615 -	public:
 1.12616 -		/**Holds the positioning method type*/
 1.12617 -		TUePosMethodType	 iUePosMethodType;
 1.12618 -		/**Holds the positioning method*/
 1.12619 -		TPosMethod 	iPosMethod;
 1.12620 -		/**Holds the horizontal accuracy*/
 1.12621 -		TInt8	iHorzAccuracy;
 1.12622 -		/**Holds the vertical accuracy*/
 1.12623 -		TInt8	iVertAccuracy;
 1.12624 -		/**If true the SRNC wants the UE to report the SFN-GPS timing of the reference cell.*/ 
 1.12625 -		TBool 	iGpsTimingOfCellWanted;
 1.12626 -		/**ETrue indicates that the UE is requested to send the IE "Additional assistance Data Request" 
 1.12627 -		when the IE "UE positioning Error" is present in the UE positioning measured results.
 1.12628 -		EFalse indicates that the UE shall use the assistance data available.
 1.12629 -		*/
 1.12630 -		TBool	iAddlAssistanceDataReq;
 1.12631 -		};
 1.12632 -
 1.12633 -	/**This enum contains the states in which measurements are valid*/
 1.12634 -	enum TMeasurementValidity
 1.12635 -		{
 1.12636 -		/**Measurement Validity Unknown*/
 1.12637 -		EMeasValidityUnknown,
 1.12638 -		/**Indicates measurement is valid in CellDCH state*/
 1.12639 -		ECellDCH,
 1.12640 -		/**Indicates measurement is valid except in CellDCH state*/
 1.12641 -		EAllButCellDCH,
 1.12642 -		/**Indicates measurement is valid in all state*/
 1.12643 -		EAllStates
 1.12644 -		};
 1.12645 -
 1.12646 -	/**This enum list the SfnTow uncertainity*/
 1.12647 -	enum TSfnTowUncertainity
 1.12648 -		{
 1.12649 -		/**Sfn Tow Uncertainity unknown*/
 1.12650 -		ESfnTowUncertainityUnknown,
 1.12651 -		/**SfnTowUncertainity < 10*/
 1.12652 -		ELessThan10,
 1.12653 -		/**SfnTowUncertainity > 10*/
 1.12654 -		EMoreThan10
 1.12655 -		};
 1.12656 -	
 1.12657 -	/**This enum lists the different GPS drift rates*/
 1.12658 -	enum TUtranGpsDriftRate
 1.12659 -		{
 1.12660 -		/**GPS Drift rate unknown*/
 1.12661 -		EDriftRateUnknown,
 1.12662 -		/**Drift = 0*/
 1.12663 -		EUtranGpsDrift0,
 1.12664 -		/**Drift = 1*/
 1.12665 -		EUtranGpsDrift1,
 1.12666 -		/**Drift = 2*/
 1.12667 -		EUtranGpsDrift2,
 1.12668 -		/**Drift = 5*/
 1.12669 -		EUtranGpsDrift5,
 1.12670 -		/**Drift = 10*/
 1.12671 -		EUtranGpsDrift10,
 1.12672 -		/**Drift = 15*/
 1.12673 -		EUtranGpsDrift15,
 1.12674 -		/**Drift = 25*/
 1.12675 -		EUtranGpsDrift25,
 1.12676 -		/**Drift = 50*/
 1.12677 -		EUtranGpsDrift50,
 1.12678 -		/**Drift = -1*/
 1.12679 -		EUtranGpsDriftMinus1,
 1.12680 -		/**Drift = -2*/
 1.12681 -		EUtranGpsDriftMinus2,
 1.12682 -		/**Drift = -5*/
 1.12683 -		EUtranGpsDriftMinus5,
 1.12684 -		/**Drift = -10*/
 1.12685 -		EUtranGpsDriftMinus10,
 1.12686 -		/**Drift = -15*/
 1.12687 -		EUtranGpsDriftMinus15,
 1.12688 -		/**Drift = -25*/
 1.12689 -		EUtranGpsDriftMinus25,
 1.12690 -		/**Drift = -50*/
 1.12691 -		EUtranGpsDriftMinus50,
 1.12692 -		};
 1.12693 -
 1.12694 -	/**This enum lists the different Udre values*/
 1.12695 -	enum TDiffCorrectionsStatus
 1.12696 -		{
 1.12697 -		/**Diff Corrections Status unknown*/
 1.12698 -		ECorrectionStatusUnknown,
 1.12699 -		/**UDRE 1.0 */
 1.12700 -		EUdre1Point0,
 1.12701 -		/**UDRE 0.75 */
 1.12702 -		EUdre0Point75,
 1.12703 -		/**UDRE 0.5 */
 1.12704 -		EUdre0Point5,
 1.12705 -		/**UDRE 0.3 */
 1.12706 -		EUdre0Point3,
 1.12707 -		/**UDRE 0.2 */
 1.12708 -		EUdre0Point2,
 1.12709 -		/**UDRE 0.1 */
 1.12710 -		EUdre0Point1,
 1.12711 -		/**UDRE No Data */
 1.12712 -		ENoData,
 1.12713 -		/**UDRE Invalid Data */
 1.12714 -		EInvalidData
 1.12715 -		};
 1.12716 -	
 1.12717 -	/**This class reserves members for future use*/
 1.12718 -	class TSubFrame1ReservedV1
 1.12719 -		{
 1.12720 -	public:
 1.12721 -		/**Reserve member 1*/
 1.12722 -		TUint	iReserved1;
 1.12723 -		/**Reserve member 2*/
 1.12724 -		TUint	iReserved2;
 1.12725 -		/**Reserve member 3*/
 1.12726 -		TUint	iReserved3;
 1.12727 -		/**Reserve member 4*/
 1.12728 -		TUint	iReserved4;
 1.12729 -		};
 1.12730 -
 1.12731 -	/**This class contains information for GPS ephemeris and clock correction.*/
 1.12732 -	class TEphemerisParameterV1
 1.12733 -		{
 1.12734 -	public:
 1.12735 -		/**Code(s) on L2 Channel */
 1.12736 -		TUint8	iCodeOnL2;
 1.12737 -		/**User Range Accuracy */
 1.12738 -		TUint8	iUraIndex;
 1.12739 -		/**Health of Satellite*/
 1.12740 -		TUint8	iSatHealth;
 1.12741 -		/**Issue of Data, Clock */
 1.12742 -		TUint16	iIodc;
 1.12743 -		/**L2 channel flag*/
 1.12744 -		TUint8	iL2Flag;
 1.12745 -		TSubFrame1ReservedV1	iSubFrame1Reserved;
 1.12746 -		/**Estimated group delay differential */
 1.12747 -		TUint8	iTGd;
 1.12748 -		/**Apparent clock correction*/
 1.12749 -		TUint16	iTOc;
 1.12750 -		/**Apparent clock correction*/
 1.12751 -		TUint8	iAf2;
 1.12752 -		/**Apparent clock correction*/
 1.12753 -		TUint16	iAf1;
 1.12754 -		/**Apparent clock correction*/
 1.12755 -		TUint	iAf0;
 1.12756 -		/**Amplitude of the Sine Harmonic Correction Term to the Orbit Radius (meters)*/
 1.12757 -		TUint16	iCRs;
 1.12758 -		/**Mean Motion Difference From Computed Value (semi-circles/sec)*/
 1.12759 -		TUint16	iDeltaN;
 1.12760 -		/**Mean Anomaly at Reference Time (semi-circles)*/
 1.12761 -		TUint	iM0;
 1.12762 -		/**Amplitude of the Cosine Harmonic Correction Term To The Argument Of Latitude (radians)*/
 1.12763 -		TUint16	iCUc;
 1.12764 -		/**Eccentricity*/
 1.12765 -		TUint	iE;
 1.12766 -		/**Amplitude of the Sine Harmonic Correction Term To The Argument Of Latitude (radians)*/
 1.12767 -		TUint16	iCUs;
 1.12768 -		/**Semi-Major Axis in squareroot(meters) */
 1.12769 -		TUint	iASqrt;
 1.12770 -		/**Reference Time Ephemeris */
 1.12771 -		TUint16	iTOe;
 1.12772 -		/**
 1.12773 -		Fit interval flag
 1.12774 -		@see ICD-GPS-200
 1.12775 -		*/
 1.12776 -		TUint8	iFitInterval;
 1.12777 -		/**Age Of Data Offset */
 1.12778 -		TUint8	iAodo;
 1.12779 -		/**Amplitude of the Cosine Harmonic Correction Term To The Angle Of Inclination (radians)*/
 1.12780 -		TUint16	iCIc;
 1.12781 -		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
 1.12782 -		TUint	iOmega0;
 1.12783 -		/**Amplitude of the Sine Harmonic Correction Term To The Angle Of Inclination (radians) */
 1.12784 -		TUint16	iCIs;
 1.12785 -		/**Inclination Angle at Reference Time (semi-circles) */
 1.12786 -		TUint	i0;
 1.12787 -		/**Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius (meters) */
 1.12788 -		TUint16	iCRc;
 1.12789 -		/**Argument of Perigee (semi-circles) */
 1.12790 -		TUint	iOmega;
 1.12791 -		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
 1.12792 -		TUint	iOmegaDot;
 1.12793 -		/**Rate of Inclination Angle (semi-circles/sec) */
 1.12794 -		TUint16	iDot;
 1.12795 -		};
 1.12796 -
 1.12797 -	/**This enum specifies the possible status of a satellite*/
 1.12798 -	enum TSatelliteStatus
 1.12799 -		{
 1.12800 -		/**Satellite Status unknown*/
 1.12801 -		ESatStatusUnknown,
 1.12802 -		/**New satellite, new Navigation Model*/
 1.12803 -		ENsNnU,
 1.12804 -		/**Existing satellite, same Navigation Model*/
 1.12805 -		EEsSn,
 1.12806 -		/**Existing satellite, new Navigation Model*/
 1.12807 -		EEsNnU,
 1.12808 -		/**Reserved*/
 1.12809 -		ERev2,
 1.12810 -		/**Reserved*/
 1.12811 -		ERev
 1.12812 -		};
 1.12813 -
 1.12814 -	/**This class contains the navigation model satellite information*/
 1.12815 -	class TNavigationModelSatInfoV1
 1.12816 -		{
 1.12817 -	public:
 1.12818 -		/**Satellite identification*/
 1.12819 -		TUint8				iSatID;
 1.12820 -		/**Status of the satellite*/
 1.12821 -		TSatelliteStatus	iSatelliteStatus;
 1.12822 -		/**Contains information for GPS ephemeris and clock correction.*/
 1.12823 -		TEphemerisParameterV1	iEphemerisParameter;
 1.12824 -		};
 1.12825 -
 1.12826 -	/**
 1.12827 -	This class contains the ionospheric model information needed to model
 1.12828 -	the propagation delays of the GPS signals through the ionosphere
 1.12829 -	*/
 1.12830 -	class TIonosphericModelV1
 1.12831 -		{
 1.12832 -	public:
 1.12833 -		/**
 1.12834 -		The parameters *n are the coefficients of a cubic equation 
 1.12835 -		representing the amplitude of the vertical delay.
 1.12836 -		@see ICD-GPS-200
 1.12837 -		*/
 1.12838 -		/**Alfa = 0*/
 1.12839 -		TUint8	iAlfa0;
 1.12840 -		/**Alfa = 1*/
 1.12841 -		TUint8	iAlfa1;
 1.12842 -		/**Alfa = 2*/
 1.12843 -		TUint8	iAlfa2;
 1.12844 -		/**Alfa = 3*/
 1.12845 -		TUint8	iAlfa3;
 1.12846 -		/**
 1.12847 -		The parameters *n are the coefficients of a cubic equation 
 1.12848 -		representing the period of the ionospheric model 
 1.12849 -		@see ICD-GPS-200
 1.12850 -		*/
 1.12851 -		/**Beta = 0*/
 1.12852 -		TUint8	iBeta0;
 1.12853 -		/**Beta = 1*/
 1.12854 -		TUint8	iBeta1;
 1.12855 -		/**Beta = 2*/
 1.12856 -		TUint8	iBeta2;
 1.12857 -		/**Beta = 3*/
 1.12858 -		TUint8	iBeta3;
 1.12859 -		};
 1.12860 -		
 1.12861 -	/**
 1.12862 -	This class contains the UTC model information needed to relate GPS time to Universal Time Coordinate (UTC)
 1.12863 -	@see ICD-GPS-200
 1.12864 -	*/
 1.12865 -	class TUtcModelV1
 1.12866 -		{
 1.12867 -	public:
 1.12868 -		/**
 1.12869 -		Time in seconds. 
 1.12870 -		@see ICD-GPS-200.
 1.12871 -		*/
 1.12872 -		TUint	iA1;
 1.12873 -		/**
 1.12874 -		Time in seconds. 
 1.12875 -		@see ICD-GPS-200.
 1.12876 -		*/
 1.12877 -		TUint	iA2;
 1.12878 -		/**Time in seconds
 1.12879 -		@see ICD-GPS-200
 1.12880 -		*/
 1.12881 -		TUint8	iTOt;
 1.12882 -		/**weeks
 1.12883 -		@see ICD-GPS-200
 1.12884 -		*/
 1.12885 -		TUint8	iWnT;
 1.12886 -		/**Time in seconds
 1.12887 -		@see ICD-GPS-200
 1.12888 -		*/
 1.12889 -		TUint8	iDeltaTLs;
 1.12890 -		/**Weeks
 1.12891 -		@see ICD-GPS-200
 1.12892 -		*/
 1.12893 -		TUint8	iWnLsf;
 1.12894 -		/**Days
 1.12895 -		@see ICD-GPS-200
 1.12896 -		*/
 1.12897 -		TUint8	iDn;
 1.12898 -		/**Seconds
 1.12899 -		@see ICD-GPS-200
 1.12900 -		*/
 1.12901 -		TUint8	iDeltaTLsf;
 1.12902 -		};
 1.12903 -
 1.12904 -	/**This class contains a reduced-precision subset of the ephemeris and clock correction parameters.*/
 1.12905 -	class TAlmanacSatInfoV1
 1.12906 -		{
 1.12907 -	public:
 1.12908 -		/**Data identification*/
 1.12909 -		TUint8	iDataID;
 1.12910 -		/**Eccentricity*/
 1.12911 -		TUint16	iE;
 1.12912 -		/**Reference Time of Almanac */
 1.12913 -		TUint8 	iTOa;
 1.12914 -		/**@see ICD-GPS-200*/
 1.12915 -		TUint16	iDeltaI;
 1.12916 -		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
 1.12917 -		TUint16	iOmegaDot;
 1.12918 -		/**Satellite health*/
 1.12919 -		TUint8	iSatHealth;
 1.12920 -		/**Semi-Major Axis in squareroot(meters)*/
 1.12921 -		TUint	iASqrt;
 1.12922 -		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
 1.12923 -		TUint	iOmega0;
 1.12924 -		/**Mean Anomaly at Reference Time (semi-circles) */
 1.12925 -		TUint	iM0;
 1.12926 -		/**Argument of Perigee (semi-circles) */
 1.12927 -		TUint	iOmega;
 1.12928 -		/**Apparent clock correction */
 1.12929 -		TUint16	iAf0;
 1.12930 -		/**Apparent clock correction */
 1.12931 -		TUint16	iAf1;
 1.12932 -		};
 1.12933 -
 1.12934 -	/**This class holds the coarse, long-term model of the satellite positions and clocks.*/
 1.12935 -	class TAlmanacV1
 1.12936 -		{
 1.12937 -	public:
 1.12938 -		/**Almanac Reference Week */
 1.12939 -		TUint8	iWnA;
 1.12940 -		TAlmanacSatInfoV1	iAlmanacSatInfoList[KMaxSat]; 
 1.12941 -		/**This enables GPS time recovery and possibly extended GPS correlation intervals.*/
 1.12942 -		TUint16	iSvGlobalHealth[KGlobalHealthSize]; 
 1.12943 -		};
 1.12944 -
 1.12945 -	/**This union contains the information specific to mode - FDD/TDD*/
 1.12946 -	union TModeSpecificInfoV1
 1.12947 -		{
 1.12948 -		/**Used in FDD mode*/
 1.12949 -		TUint16	iPrimaryScramblingCode;
 1.12950 -		/**Used in TDD mode*/
 1.12951 -		TUint16	iCellParametersID;
 1.12952 -		};
 1.12953 -
 1.12954 -	/**This class contains parameters that enable fast acquisition of the GPS 
 1.12955 -	   signals in UE-assisted GPS positioning.*/
 1.12956 -	class TAcquisitionAssistanceV1
 1.12957 -		{
 1.12958 -	public:
 1.12959 -		/**Specifies GPS reference time*/
 1.12960 -		TUint				iGpsReferenceTime;
 1.12961 -		/**Specifies GPS reference time specific to mode - FDD/TDD*/
 1.12962 -		TModeSpecificInfoV1	iUtranGpsReferenceTime;
 1.12963 -		/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. 
 1.12964 -		EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
 1.12965 -		TBool	iUtranGpsRefTimeStatus;
 1.12966 -		};
 1.12967 -
 1.12968 -	/**
 1.12969 -	The UDRE provides an estimate of the uncertainty (1-*) in the corrections for 
 1.12970 -	the particular satellite. The value in this field shall be multiplied by the 
 1.12971 -	UDRE Scale Factor in the common Corrections Status/Health field to determine the 
 1.12972 -	final UDRE estimate for the particular satellite. 
 1.12973 -	@see 3GPP TS 25.305
 1.12974 -	*/
 1.12975 -	enum TUdre
 1.12976 -		{
 1.12977 -		/**Udre unknown*/
 1.12978 -		EUdreUnknown,
 1.12979 -		/** UDRE < 1*/
 1.12980 -		ELessThan1,
 1.12981 -		/** 1> UDRE < 4*/
 1.12982 -		EBtw1And4,
 1.12983 -		/** 1> UDRE < 8*/
 1.12984 -		EBtw1And8,
 1.12985 -		/** UDRE > 8*/
 1.12986 -		EOver8
 1.12987 -		};
 1.12988 -
 1.12989 -	/**This class contains DGPS corrections to be used by the UE*/
 1.12990 -	class TDgpsCorrectionSatInfoV1
 1.12991 -		{
 1.12992 -	public:
 1.12993 -		/**Satellite identification*/
 1.12994 -		TUint8	iSatID;
 1.12995 -		/**Issue of Data Ephemeris for SatID.*/
 1.12996 -		TUint8	iIode;
 1.12997 -		/**
 1.12998 -		The UDRE provides an estimate of the uncertainty (1-*) in the corrections for 
 1.12999 -		the particular satellite. The value in this field shall be multiplied by the 
 1.13000 -		UDRE Scale Factor in the common Corrections Status/Health field to determine the 
 1.13001 -		final UDRE estimate for the particular satellite. 
 1.13002 -		@see 3GPP TS 25.305
 1.13003 -		*/
 1.13004 -		TUdre	iUdre;
 1.13005 -		/**The PRC indicates the correction to the pseudorange for the particular satellite at the GPS Reference Time*/
 1.13006 -		TInt16	iPrc;
 1.13007 -		/**
 1.13008 -		This information indicates the rate-of-change of the pseudorange correction for the particular satellite,
 1.13009 -		using the satellite ephemeris identified by the IODE IE
 1.13010 -		*/
 1.13011 -		TInt8	iRrc;
 1.13012 -		/**For future use*/
 1.13013 -		TInt8	iDummy1;
 1.13014 -		/**For future use*/
 1.13015 -		TInt8	iDummy2;
 1.13016 -		};
 1.13017 -
 1.13018 -	/**This class contains the DGPS corrections information*/
 1.13019 -	class TDgpsCorrectionsV1
 1.13020 -		{
 1.13021 -	public:
 1.13022 -		/**GPS time of week*/
 1.13023 -		TUint16				iGpsTow;
 1.13024 -		/**This information indicates the status of the differential corrections contained in the message.*/
 1.13025 -		TDiffCorrectionsStatus	iStatusHealth;
 1.13026 -		/**This member data contains DGPS corrections of the satellites to be used by the UE*/
 1.13027 -		TDgpsCorrectionSatInfoV1	iDgpsCorrectionSatInfoList[KMaxSat];
 1.13028 -		};
 1.13029 -
 1.13030 -	/**This enum containst the possible signs of latitude*/
 1.13031 -	enum TLatitudeSign
 1.13032 -		{
 1.13033 -		/**Latitude Sign Unknown*/
 1.13034 -		ELatitudeSignUnknown,
 1.13035 -		/**Latitude sign is north*/
 1.13036 -		ENorth,
 1.13037 -		/**Latitude sign is south*/
 1.13038 -		ESouth
 1.13039 -		};
 1.13040 -	
 1.13041 -	/**This enum contains the possible directions of altitudes for reference location*/
 1.13042 -	enum TAltDirection
 1.13043 -		{
 1.13044 -		/**Altitude Direction Unknown*/
 1.13045 -		EAltDirectionUnknown,
 1.13046 -		/**Indicates Altitude direction is height-wise*/
 1.13047 -		EHeight,
 1.13048 -		/**Indicates Altitude direction is depth-wise*/
 1.13049 -		EDepth
 1.13050 -		};
 1.13051 -
 1.13052 -	/**This class contains a 3-D location (with uncertainty)*/
 1.13053 -	class TReferenceLocationV1
 1.13054 -		{
 1.13055 -	public:
 1.13056 -		/**Specifies the sign - North/South*/
 1.13057 -		TLatitudeSign	iLatitudeSign;
 1.13058 -		/**Degree of latitude*/
 1.13059 -		TUint16			iLatitude;
 1.13060 -		/**Degree of longitude*/
 1.13061 -		TInt16			iLongitude;
 1.13062 -		/**Direction of altitude*/
 1.13063 -		TAltDirection	iAltDirection;
 1.13064 -		/**Degree of altitude*/
 1.13065 -		TUint16			iAltitude;
 1.13066 -		/**Uncertainty semi major axis*/
 1.13067 -		TUint8			iUncertainitySemiMajor;
 1.13068 -		/**Uncertainty semi minor axis*/
 1.13069 -		TUint8			iUncertainitySemiMinor;
 1.13070 -		/**Orientation of major axis*/
 1.13071 -		TUint8			iOrientationMajorAxis;
 1.13072 -		/**The uncertainty in altitude, h, expressed in metres*/
 1.13073 -		TUint8			iUncertainityAltitude;
 1.13074 -		/**The confidence by which the position of a target entity is known to be within the shape description*/
 1.13075 -		TUint8			iConfidence;
 1.13076 -		};
 1.13077 -
 1.13078 -	/**
 1.13079 -	Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
 1.13080 -	that are currently being broadcast by the respective GPS satellites. Combining this information 
 1.13081 -	with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
 1.13082 -	*/
 1.13083 -	class TGpsTowAssistV1
 1.13084 -		{
 1.13085 -	public:
 1.13086 -		/**Satellite identification*/
 1.13087 -		TUint8				iSatID;
 1.13088 -		/**
 1.13089 -		Contains a 14-bit value representing the Telemetry Message (TLM) 
 1.13090 -		being broadcast by the GPS satellite identified by the particular SatID, 
 1.13091 -		with the MSB occurring first in the satellite transmission.
 1.13092 -		*/
 1.13093 -		TUint16				iTlmMsg;
 1.13094 -		/**
 1.13095 -		Contains the two reserved bits in the TLM Word 
 1.13096 -		being broadcast by the GPS satellite identified by SatID, 
 1.13097 -		with the MSB occurring first in the satellite transmission.
 1.13098 -		*/
 1.13099 -		TUint8				iTlmReserved;
 1.13100 -		/**Contain the Alert flags that are being broadcast by the GPS satellite identified by SatID.*/
 1.13101 -		TBool				iAlert;
 1.13102 -		/**Contain the Anti-Spoof that are being broadcast by the GPS satellite identified by SatID.*/
 1.13103 -		TBool				iAntiSpoof;
 1.13104 -		};
 1.13105 -
 1.13106 -	/**This class contains information that may be used to provide a mapping between UTRAN and GPS time*/
 1.13107 -	class TUtranGpsRefTimeV1
 1.13108 -		{
 1.13109 -	public:
 1.13110 -		/**UE-GPS timing of cell ms-part*/
 1.13111 -		TUint16 			iMsPart;
 1.13112 -		/**UE-GPS timing of cell ls-part*/
 1.13113 -		TUint16				iLsPart;
 1.13114 -		/**System frame number*/
 1.13115 -		TUint16				iSfn;
 1.13116 -		/**Specifies GPS reference time specific to mode - FDD/TDD*/
 1.13117 -		TModeSpecificInfoV1	iModeSpecificInfo;
 1.13118 -		/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. 
 1.13119 -		EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
 1.13120 -		TBool	iModeSpecificInfoStatus;
 1.13121 -		};
 1.13122 -
 1.13123 -	/**
 1.13124 -	This class contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
 1.13125 -	that are currently being broadcast by the respective GPS satellites. Combining this information 
 1.13126 -	with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
 1.13127 -	*/
 1.13128 -	class TReferenceTimeV1
 1.13129 -		{
 1.13130 -	public:
 1.13131 -		/**GPS time in weeks*/
 1.13132 -		TUint16				iGpsWeek;
 1.13133 -		/**GPS Time of Week in milliseconds */
 1.13134 -		TUint16				iGpsTowOneMsec;
 1.13135 -		/**GPS reference time may be used to provide a mapping between UTRAN and GPS time*/
 1.13136 -		TUtranGpsRefTimeV1	iUtranGpsRefTime;
 1.13137 -		/**
 1.13138 -		This field indicates the uncertainty of the relation GPS TOW/SFN. 
 1.13139 -		ELessThan10 means the relation is accurate to at least 10 ms.
 1.13140 -		*/
 1.13141 -		TSfnTowUncertainity	iSfnTowUncertainity;
 1.13142 -		/**Drift rate of the NODE B clock relative to GPS time.*/
 1.13143 -		TUtranGpsDriftRate	iUtranGpsDriftRate;
 1.13144 -		/**
 1.13145 -		Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
 1.13146 -		that are currently being broadcast by the respective GPS satellites. Combining this information 
 1.13147 -		with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
 1.13148 -		*/
 1.13149 -		TGpsTowAssistV1		iGpsTowAssistList[KMaxSat];
 1.13150 -		};
 1.13151 -
 1.13152 -	/**This class contains the GPS Assistance Data received from network*/
 1.13153 -	class TUePosGpsAssistanceDataV1
 1.13154 -		{
 1.13155 -	public:
 1.13156 -		/**GPS reference time may be used to provide a mapping between UTRAN and GPS time.*/
 1.13157 -		TReferenceTimeV1 			iReferencTime;
 1.13158 -		/**The Reference Location contains a 3-D location (with uncertainty)*/
 1.13159 -		TReferenceLocationV1		iReferenceLocation;
 1.13160 -		/**
 1.13161 -		Holds information to allow a UE to estimate its position more accurate,
 1.13162 -		biases in the pseudorange measurements may be provided to the UE.
 1.13163 -		*/
 1.13164 -		TDgpsCorrectionsV1			iDgpsCorrections;
 1.13165 -		/**Holds navigation model satellite information*/
 1.13166 -		TNavigationModelSatInfoV1	iNavigationModel;
 1.13167 -		/**
 1.13168 -		The Ionospheric Model contains information needed to model
 1.13169 -		the propagation delays of the GPS signals through the ionosphere.
 1.13170 -		*/
 1.13171 -		TIonosphericModelV1			iIonosphericModel;
 1.13172 -		/**UTC parameters may be used to provide Coordinated Universal Time to the UE.*/
 1.13173 -		TUtcModelV1					iUtcModel;
 1.13174 -		/**Holds the coarse, long-term model of the satellite positions and clocks.*/
 1.13175 -		TAlmanacV1					iAlmanac;
 1.13176 -		/**Holds the acquistions assistance information of the UE*/
 1.13177 -		TAcquisitionAssistanceV1	iAcquisitionAssistance;
 1.13178 -		/**Holds the list of bad satellites*/
 1.13179 -		TUint8						iBadSatList[KMaxSat];
 1.13180 -		/**
 1.13181 -		This member specifies which of the above additional data structures are populated.
 1.13182 -		*/
 1.13183 -		TGpsAddlAssistDataReqV1 iGpsAddlDataStatus;
 1.13184 -		};
 1.13185 -
 1.13186 -	/**This class contains the GPS assistance data required to compute the UE Postioning information*/
 1.13187 -	class TUePosMeasurementV1
 1.13188 -		{
 1.13189 -	public:
 1.13190 -		/**
 1.13191 -		The purpose of the element is to express the allowed/required location method(s), 
 1.13192 -		and to provide information desired QoS.
 1.13193 -		*/
 1.13194 -		TUePosReportingQuantityV1	iUePosReportingQuantity;
 1.13195 -		/**This member data defines in which UE states the measurement is valid.*/
 1.13196 -		TMeasurementValidity		iMeasurementValidity;
 1.13197 -		/**This member data holds the GPS Assistance Data sent by the network*/
 1.13198 -		TUePosGpsAssistanceDataV1	iUePosGpsAssistanceData;
 1.13199 -		};
 1.13200 -
 1.13201 -	/**This holds the possible types of measurement commands that can be specified*/
 1.13202 -	union TMeasurementCommandV1
 1.13203 -		{
 1.13204 -		/**Setup a new measurement*/
 1.13205 -		TUePosMeasurementV1	iSetup;
 1.13206 -		/**Modify a previously defined measurement*/
 1.13207 -		TUePosMeasurementV1	iModify;
 1.13208 -		/**Stop the measurement and clear all information in the UE that are related to that measurement.*/
 1.13209 -		TBool	iRelease;
 1.13210 -		};
 1.13211 -
 1.13212 -	/**This enum specifies the mode the UE shall use to transmit the measurement report*/
 1.13213 -	enum TMeasReportTransferMode
 1.13214 -		{
 1.13215 -		/**Transfer mode unknown*/
 1.13216 -		ETransferModeUnknown,
 1.13217 -		/**The UE shall transmit the measurement report using Acknowledged RLC mode*/
 1.13218 -		EAckModeRlc,
 1.13219 -		/**The UE shall transmit the measurement report using Unacknowledged RLC mode*/
 1.13220 -		EUnAckModeRlc
 1.13221 -		};
 1.13222 -
 1.13223 -	/**
 1.13224 -	This class contains the GPS assistance data needed by the UE to compute the location 
 1.13225 -	of the UE. The UE computes the location once it receives all required information.
 1.13226 -	*/
 1.13227 -	class TMeasurementControlV7 : public RMobilePhone::TMultimodeType
 1.13228 -		{
 1.13229 -	public:
 1.13230 -		IMPORT_C TMeasurementControlV7();
 1.13231 -	public:
 1.13232 -		/**
 1.13233 -		A reference number that should be used by the UTRAN when setting up, 
 1.13234 -		modifying or releasing the measurement and by the UE in the measurement report.
 1.13235 -		*/
 1.13236 -		TUint8	iMeasurementIdentity;
 1.13237 -		/**Specifies the Measurement Setup / Modify / Release*/
 1.13238 -		TMeasurementCommandV1	iMeasurementCommand;
 1.13239 -		/**This specifies whether the UE shall transmit the measurement report using AM or UM RLC.*/
 1.13240 -		TMeasReportTransferMode iMeasReportTransferMode;
 1.13241 -		/**ETrue indicates velocity estimate is requested. EFalse indicates velocity estimate is not requested*/
 1.13242 -		TBool	iVelocityRequested;
 1.13243 -		/**Holds the type of measurement command being used*/
 1.13244 -		TMeasurementCmd	iMeasurementCmdStatus;
 1.13245 -		};
 1.13246 -   	/**
 1.13247 -	A typedef'd packaged TMeasurementControlV7 for passing through a
 1.13248 -	generic API method.
 1.13249 -
 1.13250 -	@internalAll
 1.13251 -	*/
 1.13252 -	typedef TPckg<TMeasurementControlV7> TMeasurementControlV7Pckg;
 1.13253 -	
 1.13254 -	//**************************************//
 1.13255 -	// Measurement Report Data structures	//
 1.13256 -	//**************************************//
 1.13257 -
 1.13258 -	
 1.13259 -	/**
 1.13260 -	This enum contains the indicators thta specify which 
 1.13261 -	union members of TMeasurementQuantityV1 are included
 1.13262 -	*/
 1.13263 -	enum TMeasQnty
 1.13264 -		{
 1.13265 -		/**Measurement Quantity unknown*/
 1.13266 -		EMeasQntyUnknown,
 1.13267 -		/**Indicates that CpichEcN0 is present*/
 1.13268 -		EMeasQntyCpichEcN0Present,
 1.13269 -		/**Indicates that CpichRscp is present*/
 1.13270 -		EMeasQntyCpichRscpPresent,
 1.13271 -		/**Indicates that path loss is present*/
 1.13272 -		EMeasQntyPathLossPresent,
 1.13273 -		};
 1.13274 -
 1.13275 -	/**
 1.13276 -	This enum contains the indicators that specify which 
 1.13277 -	union members of TPosEstimateRefTime and  TPositionEstimateV1 are included
 1.13278 -	*/
 1.13279 -	enum TPosEstimateInfo
 1.13280 -		{
 1.13281 -		/**Position Estimate Info Unknown*/
 1.13282 -		EPosEstimateInfoUnknown,
 1.13283 -		/**
 1.13284 -		NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPosEstimateRefTime
 1.13285 -		Indicates that UE positioning estimate reference time is populated
 1.13286 -		*/
 1.13287 -		EUtranGpsRefTimeResultPresent,
 1.13288 -		/**Indicates that GPS reference time is populated*/
 1.13289 -		EGpsRefTimeOnlyPresent,
 1.13290 -		/**Indicates that cell timing is populated*/
 1.13291 -		ECellTimingPresent,
 1.13292 -		/**
 1.13293 -		NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPositionEstimateV1.
 1.13294 -		Indicates EllipsoidPoint is populated
 1.13295 -		*/
 1.13296 -		EEllipsoidPointPresent,
 1.13297 -		/**Indicates EllipsoidPoint with uncertainty circle is populated*/
 1.13298 -		EEllipsoidPointUncertCirclePresent,
 1.13299 -		/**Indicates EllipsoidPoint with uncertainty ellipse is populated*/
 1.13300 -		EEllipsoidPointUncertEllipsePresent,
 1.13301 -		/**Indicates EllipsoidPoint with altitude is populated*/
 1.13302 -		EEllipsoidPointAltitudePresent,
 1.13303 -		/**Indicates EllipsoidPoint with altitude and ellipse is populated*/
 1.13304 -		EEllipsoidPointAltEllipsePresent,
 1.13305 -		};
 1.13306 -
 1.13307 -	/**This enum contains the possible types of velocity estimates*/
 1.13308 -	enum TVelEstimate
 1.13309 -		{
 1.13310 -		/**Velocity Estimate Unknown*/
 1.13311 -		EVelEstimateUnknown,
 1.13312 -		/**Velocity Estimate is not present*/
 1.13313 -		EVelEstimateNotPresent,
 1.13314 -		/**Horizontal velocity is included*/
 1.13315 -		EHorzVelPresent,
 1.13316 -		/**Horizontal and vertical velocity is included*/
 1.13317 -		EHorzWithVertVelPresent,
 1.13318 -		/**Horizontal velocity with uncertainty is included*/
 1.13319 -		EHorzVelWithUncertPresent,
 1.13320 -		/**Horizontal and vertical velocity with uncertainty is included*/
 1.13321 -		EHorzWithVertVelAndUncertPresent,
 1.13322 -		};
 1.13323 -
 1.13324 -	/**This contains the measurement quantities of the UE*/
 1.13325 -	union TMeasurementQuantityV1
 1.13326 -		{
 1.13327 -	public:
 1.13328 -		/**
 1.13329 -		@see 3GPP TS 25.133.
 1.13330 -		@see 3GPP TS 25.123.
 1.13331 -		*/
 1.13332 -		TUint8	iCpichEcN0;
 1.13333 -		/**
 1.13334 -		@see 3GPP TS 25.133.
 1.13335 -		@see 3GPP TS 25.123.
 1.13336 -		*/
 1.13337 -		TUint8	iCpichRscp;
 1.13338 -		/**Measurement path loss in dB.*/
 1.13339 -		TUint8	iPathLoss;
 1.13340 -		/**Extra for future use*/
 1.13341 -		TBool	iSpare;
 1.13342 -		};
 1.13343 -
 1.13344 -	/**This class contains the current cell informations in TDD mode*/
 1.13345 -	class TTddV1
 1.13346 -		{
 1.13347 -	public:
 1.13348 -		/**
 1.13349 -		Time slot Interference on Signal Code Power
 1.13350 -		@see 3GPP TS 25.123
 1.13351 -		*/
 1.13352 -		TUint8	iTimeSlotIscp;
 1.13353 -		/**Primary Common Control Physical CHannel received signal code power*/
 1.13354 -		TUint8	iPrimaryCcpchRscp;
 1.13355 -		};
 1.13356 -
 1.13357 -	/**This class contains the information in FDD mode*/
 1.13358 -	class TFddV1
 1.13359 -		{
 1.13360 -	public:
 1.13361 -		/**Holds the measurement quantities of the UE*/
 1.13362 -		TMeasurementQuantityV1	iMeasurementQuantity;
 1.13363 -		/**Holds the field that would be populated in iMeasurementQuantity*/
 1.13364 -		TMeasQnty	iMeasQntyStatus;
 1.13365 -		};
 1.13366 -
 1.13367 -	/**This contains the current cell information in specific modes - FDD/TDD*/
 1.13368 -	union TCurrentCellV1 
 1.13369 -		{
 1.13370 -		/**Current cell information in FDD mode*/
 1.13371 -		TFddV1	iFdd;
 1.13372 -		/**Current cell information in TDD mode*/
 1.13373 -		TTddV1	iTdd;
 1.13374 -		};
 1.13375 -
 1.13376 -	/**This contains the type of sfn-sfn observed time difference*/
 1.13377 -	union TSfnSfnObsTimeDifferenceV1
 1.13378 -		{
 1.13379 -		/**Sfn-Sfn observed time difference -type1*/
 1.13380 -		TUint16	iSfnSfnObsTimeDiff1;
 1.13381 -		/**Sfn-Sfn observed time difference -type2*/
 1.13382 -		TUint16	iSfnSfnObsTimeDiff2;
 1.13383 -		};
 1.13384 -
 1.13385 -	/**This class contains the FDD mode information of monitored cells*/
 1.13386 -	class TMonitoredCellFddV1
 1.13387 -		{
 1.13388 -	public:
 1.13389 -		/**Primary Common Control Physical CHannel information*/
 1.13390 -		TUint16		iPrimaryCpichInfo;
 1.13391 -		/**Holds the measurement quantities of the UE*/
 1.13392 -		TMeasurementQuantityV1 iMeasurementQuantity;
 1.13393 -		/**Holds the field that would be populated in iMeasurementQuantity*/
 1.13394 -		TMeasQnty	iMeasQntyStatus;
 1.13395 -		};
 1.13396 -
 1.13397 -	/**This class contains the TDD mode information of monitored cells*/
 1.13398 -	class TMonitoredCellTddV1
 1.13399 -		{
 1.13400 -	public:
 1.13401 -		/**Cell identification*/
 1.13402 -		TUint8	iCellParametersID;
 1.13403 -		/**Primary Common Control Physical CHannel received signal code power*/
 1.13404 -		TUint8	iPrimaryCcpchRscp;
 1.13405 -		};
 1.13406 -
 1.13407 -	/**This contains the monitored cells information in specific mode -  FDD/TDD*/
 1.13408 -	union TMonitoredCellModeSpecificInfoV1
 1.13409 -		{
 1.13410 -		/**Monitored Cell information in FDD mode*/
 1.13411 -		TMonitoredCellFddV1	iMonitoredCellFdd;
 1.13412 -		/**Monitored Cell information in TDD mode*/
 1.13413 -		TMonitoredCellTddV1	iMonitoredCellTdd;
 1.13414 -		};
 1.13415 -
 1.13416 -	/**This class contains the measured results for monitored cells on Random Access Channel*/
 1.13417 -	class TMonitoredCellRachResultV1
 1.13418 -		{
 1.13419 -	public:
 1.13420 -		/**Holds the sfn-sfn observed time difference*/
 1.13421 -		TSfnSfnObsTimeDifferenceV1 iSfnSfnObsTimeDiff;
 1.13422 -		/**Holds the monitored cells specific info mode - FDD/TDD*/
 1.13423 -		TMonitoredCellModeSpecificInfoV1 iMonitoredCellModeSpecificInfo;
 1.13424 -		/**ETrue indicates iMonitoredCellModeSpecificInfo is iMonitoredCellFdd.
 1.13425 -		EFalse indicates iMonitoredCellModeSpecificInfo is iMonitoredCellTdd*/
 1.13426 -		TBool	iSfnSfnObsTimeDiffStatus;
 1.13427 -		};
 1.13428 -	/**
 1.13429 -	Horizontal velocity is characterised by the horizontal speed and bearing. 
 1.13430 -	The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. 
 1.13431 -	The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
 1.13432 -	@see 3GPP TS 23.032
 1.13433 -	*/
 1.13434 -	class THorzVelocityV1
 1.13435 -		{
 1.13436 -	public:
 1.13437 -		/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
 1.13438 -		TUint16		iBearing;
 1.13439 -		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
 1.13440 -		TUint16		iHorzSpeed;
 1.13441 -		};
 1.13442 -
 1.13443 -	/**This enum holds vertical speed direction*/
 1.13444 -	enum TVertSpeedDirection
 1.13445 -		{
 1.13446 -		/**Speed direction unknown*/
 1.13447 -		ESpeedDirectionUnknown,
 1.13448 -		/**Upward direction*/
 1.13449 -		EUpward,
 1.13450 -		/**Downward direction*/
 1.13451 -		EDownward
 1.13452 -		};
 1.13453 -
 1.13454 -	/**
 1.13455 -	Horizontal velocity is characterised by the horizontal speed and bearing. 
 1.13456 -	The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. 
 1.13457 -	The vertical speed and direction provides the component of velocity of a UE in a vertical direction.
 1.13458 -	The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
 1.13459 -	@see 3GPP TS 23.032
 1.13460 -	*/
 1.13461 -	class THorzWithVertVelocityV1
 1.13462 -		{
 1.13463 -	public:
 1.13464 -		/**Direction of vertical speed*/
 1.13465 -		TVertSpeedDirection	iVertSpeedDirection;
 1.13466 -		/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
 1.13467 -		TUint16		iBearing;
 1.13468 -		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
 1.13469 -		TUint16		iHorzSpeed;
 1.13470 -		/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
 1.13471 -		TUint8		iVertSpeed;
 1.13472 -		};
 1.13473 -
 1.13474 -	/**
 1.13475 -	Horizontal velocity with uncertainty is characterised by a horizontal speed and bearing,
 1.13476 -	giving a horizontal velocity vector V, and an uncertainty speed s.
 1.13477 -	@see 3GPP TS 23.032
 1.13478 -	*/
 1.13479 -	class THorzVelocityWithUncertaintyV1
 1.13480 -		{
 1.13481 -	public:
 1.13482 -		/**	The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
 1.13483 -		TUint16		iBearing;
 1.13484 -		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
 1.13485 -		TUint16		iHorzSpeed;
 1.13486 -		/**
 1.13487 -		Horizontal speed uncertainty.
 1.13488 -		*/
 1.13489 -		TUint8		iHorzSpeedUncertainty;
 1.13490 -		};
 1.13491 -
 1.13492 -	/**
 1.13493 -	Horizontal and vertical velocity with uncertainty is characterised by a horizontal speed and bearing, 
 1.13494 -	giving a horizontal velocity vector Vx,y, a vertical speed and direction giving a vertical velocity component Vz,
 1.13495 -	and uncertainty speeds s1 and s2. 
 1.13496 -	@see 3GPP TS 23.032
 1.13497 -	*/
 1.13498 -	class THorzWithVertVelocityAndUncertaintyV1
 1.13499 -		{	
 1.13500 -	public:
 1.13501 -		/**
 1.13502 -		The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.
 1.13503 -		*/
 1.13504 -		TUint16		iBearing;
 1.13505 -		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
 1.13506 -		TUint16		iHorzSpeed;
 1.13507 -		/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
 1.13508 -		TUint8		iVertSpeed;
 1.13509 -		/**Horizontal speed uncertainty.*/
 1.13510 -		TUint8		iHorzSpeedUncertainty;
 1.13511 -		};
 1.13512 -
 1.13513 -	/**
 1.13514 -	This class contains the possible ways of velocity estimates
 1.13515 -	@see 3GPP TS 23.032
 1.13516 -	*/
 1.13517 -	union TVelocityEstimateV1
 1.13518 -		{
 1.13519 -		/**Horizontal velocity*/
 1.13520 -		THorzVelocityV1					iHorzVelocity;
 1.13521 -		/**Horizontal velockity and vertical velocity*/
 1.13522 -		THorzWithVertVelocityV1			iHorzWithVertVelocity;
 1.13523 -		/**Horizontal velocity with uncertainty*/
 1.13524 -		THorzVelocityWithUncertaintyV1	iHorzVelocityWithUncertainty;
 1.13525 -		/**Horizontal and vertical velocity with uncertainty*/
 1.13526 -		THorzWithVertVelocityAndUncertaintyV1	iHorzWithVertVelocityAndUncertainty;
 1.13527 -		};
 1.13528 -
 1.13529 -	/**This class contains the measured results on Random Access Channel*/
 1.13530 -	class TMeasuredResultsOnRachV1
 1.13531 -		{
 1.13532 -	public:
 1.13533 -		/**Current cell information*/
 1.13534 -		TCurrentCellV1	iCurrentCell;
 1.13535 -		/**Monitored Cell information*/
 1.13536 -		TMonitoredCellRachResultV1	iMonitoredCellsRachList[KMaxMonitoredCells];
 1.13537 -		/**ETrue indicates iCurrentCell is iFdd.
 1.13538 -		EFalse indicates iCurrentCell is iTdd*/
 1.13539 -		TBool	iCurrentCellStatus;
 1.13540 -		};
 1.13541 -
 1.13542 -	/**
 1.13543 -	Identifies the channel in combination with the Midamble shift and slot number.
 1.13544 -	It is not used in 1.28 Mcps TDD and may be set to either value and should be ignored by the receiver.
 1.13545 -	*/
 1.13546 -	enum TBurstType
 1.13547 -		{
 1.13548 -		/**Burst type 1*/
 1.13549 -		EType1,
 1.13550 -		/**Burst type 2*/
 1.13551 -		EType2
 1.13552 -		};
 1.13553 -
 1.13554 -	/**This class contains UE positioning estimates specific to TDD*/
 1.13555 -	class TPosEstimateTddV1
 1.13556 -		{
 1.13557 -	public:
 1.13558 -		/**Identifies the channel in combination with the Midamble shift and slot number.*/
 1.13559 -		TBurstType	iBurstType;
 1.13560 -		/**Midamble shift*/
 1.13561 -		TUint8	iMidambleShift;
 1.13562 -		/**
 1.13563 -		This member data is present only if no IPDL scheme is configured in the reference cell.
 1.13564 -		Otherwise the slot is defined by the IPDL configuration.
 1.13565 -		*/
 1.13566 -		TUint8	iTimeSlotNumber;
 1.13567 -		/**
 1.13568 -		Cell identification
 1.13569 -		*/
 1.13570 -		TUint8	iCellParametersID;
 1.13571 -		};
 1.13572 -
 1.13573 -	/**This class contains UE positioning estimates specific to FDD/TDD*/
 1.13574 -	union TPosEstimateModeSpecificInfoV1
 1.13575 -		{
 1.13576 -		/**Identifies the reference cell for the GPS TOW-SFN relationship.*/
 1.13577 -		TUint16		iPrimaryCpichInfo;
 1.13578 -		/**Holds the cell and channel identification*/
 1.13579 -		TPosEstimateTddV1	iCellAndChannelID;
 1.13580 -		};
 1.13581 -
 1.13582 -	/**This class contains the cell timing information*/
 1.13583 -	class TCellTimingV1
 1.13584 -		{
 1.13585 -	public:
 1.13586 -		/**
 1.13587 -		SFN during which the position was calculated.
 1.13588 -		*/
 1.13589 -		TUint16		iSfn;
 1.13590 -		/**Holds the UE positioning estimates specific to mode - FDD or TDD*/
 1.13591 -		TPosEstimateModeSpecificInfoV1	iPosEstimateModeSpecificInfo;
 1.13592 -		/**ETrue indicates iPosEstimateModeSpecificInfo is iPrimaryCpichInfo.
 1.13593 -		EFalse indicates iPosEstimateModeSpecificInfo is iCellAndChannelID.*/
 1.13594 -		TBool	iPosEstimateModeStatus;
 1.13595 -		};
 1.13596 -
 1.13597 -	/**This class captures the GPS measurement specific to FDD or TDD*/
 1.13598 -	union TGpsMeasModeSpecificInfoV1
 1.13599 -		{
 1.13600 -		/**Frequency Division Duplex identification*/
 1.13601 -		TUint16	iFddRefID;
 1.13602 -		/**Time Division Duplex identification*/
 1.13603 -		TUint8	iTddRefID;
 1.13604 -		};
 1.13605 -
 1.13606 -	/**This class contains results of the GPS reference time*/
 1.13607 -	class TUtranGpsRefTimeResultV1
 1.13608 -		{
 1.13609 -	public:
 1.13610 -		/**UE-GPS timing of cell ms-part*/
 1.13611 -		TUint16		iMsPart;
 1.13612 -		/**UE-GPS timing of cell ls-part*/
 1.13613 -		TUint16		iLsPart;
 1.13614 -		/**Holds the GPS measurement specific to FDD or TDD*/
 1.13615 -		TGpsMeasModeSpecificInfoV1	iGpsMeasModeSpecificInfo;
 1.13616 -		/**Cell System Frame Number*/
 1.13617 -		TUint16		iSfn;
 1.13618 -		/**ETrue indicates iGpsMeasModeSpecificInfo is iFddRefID. 
 1.13619 -		 EFalse indicates iGpsMeasModeSpecificInfo is iTddRefID*/
 1.13620 -		TBool	iGpsMeasModeStatus;
 1.13621 -		};
 1.13622 -
 1.13623 -	/**This union contains the UE positioning reference time*/
 1.13624 -	union TPosReferenceTimeV1
 1.13625 -		{
 1.13626 -		/**Contains the results of GPS reference time*/
 1.13627 -		TUtranGpsRefTimeResultV1	iUtranGpsRefTimeResult;
 1.13628 -		/**Contains the GPS reference time*/
 1.13629 -		TUint16		iGpsRefTimeOnly;
 1.13630 -		};
 1.13631 -	
 1.13632 -	/**
 1.13633 -	This class contains the information of ellipsoid.
 1.13634 -	It consists of a latitude and a longitude.
 1.13635 -	@see 3GPP TS 23.032
 1.13636 -	*/
 1.13637 -	class TEllipsoidPointV1
 1.13638 -		{
 1.13639 -	public:
 1.13640 -		/**Specifies the sign - North/South*/
 1.13641 -		TLatitudeSign	iLatitudeSign;
 1.13642 -		/**
 1.13643 -		A north/south angular measurement of position relative to the equator, 
 1.13644 -		in the meridian plane which contains the earth's rotation axis
 1.13645 -		*/
 1.13646 -		TUint16	iLatitude;
 1.13647 -		/**
 1.13648 -		An east/west angular measurement of position in relation to the Prime Meridian. 
 1.13649 -		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
 1.13650 -		and the other a meridian passing through the point of interest.
 1.13651 -		*/
 1.13652 -		TInt16	iLongitude;
 1.13653 -		};
 1.13654 -
 1.13655 -	/**
 1.13656 -	It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
 1.13657 -	@see 3GPP TS 23.032
 1.13658 -	*/
 1.13659 -	class TEllipsoidPointUncertCircleV1
 1.13660 -		{
 1.13661 -	public:
 1.13662 -		/**Specifies the sign - North/South*/
 1.13663 -		TLatitudeSign	iLatitudeSign;
 1.13664 -		/**
 1.13665 -		A north/south angular measurement of position relative to the equator, 
 1.13666 -		in the meridian plane which contains the earth's rotation axis
 1.13667 -		*/
 1.13668 -		TUint16	iLatitude;
 1.13669 -		/**
 1.13670 -		An east/west angular measurement of position in relation to the Prime Meridian. 
 1.13671 -		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
 1.13672 -		and the other a meridian passing through the point of interest.
 1.13673 -		*/
 1.13674 -		TInt16	iLongitude;
 1.13675 -		/**Uncertainty code*/
 1.13676 -		TUint8	iUncertaintyCode;
 1.13677 -		};
 1.13678 -
 1.13679 -	/**
 1.13680 -	It is characterised by the co-ordinates of an ellipsoid point (the origin), 
 1.13681 -	distances r1 and r2 and an angle of orientation A
 1.13682 -	@see 3GPP TS 23.032
 1.13683 -	*/
 1.13684 -	class TEllipsoidPointUncertEllipseV1
 1.13685 -		{
 1.13686 -	public:
 1.13687 -		/**Specifies the sign - North/South*/
 1.13688 -		TLatitudeSign	iLatitudeSign;
 1.13689 -		/**
 1.13690 -		A north/south angular measurement of position relative to the equator, 
 1.13691 -		in the meridian plane which contains the earth's rotation axis
 1.13692 -		*/
 1.13693 -		TUint16	iLatitude;
 1.13694 -		/**
 1.13695 -		An east/west angular measurement of position in relation to the Prime Meridian. 
 1.13696 -		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
 1.13697 -		and the other a meridian passing through the point of interest.
 1.13698 -		*/
 1.13699 -		TInt16	iLongitude;
 1.13700 -		/**Uncertainty semi major axis*/
 1.13701 -		TUint8	iUncertaintySemiMajor;
 1.13702 -		/**Uncertainty semi minor axis*/
 1.13703 -		TUint8	iUncertaintySemiMinor;
 1.13704 -		/**Orientation of major axis*/
 1.13705 -		TUint8	iOrientationMajorAxis;
 1.13706 -		/**The confidence by which the position of a target entity is known to be within the shape description*/
 1.13707 -		TUint8	iConfidence;
 1.13708 -		};
 1.13709 -
 1.13710 -	/**
 1.13711 -	The description of an ellipsoid point with altitude is that of a point at a specified distance 
 1.13712 -	above or below a point on the earth's surface. This is defined by an ellipsoid point 
 1.13713 -	with the given longitude and latitude and the altitude above or below the ellipsoid point.
 1.13714 -	@see 3GPP TS 23.032
 1.13715 -	*/
 1.13716 -	class TEllipsoidPointAltitudeV1
 1.13717 -		{
 1.13718 -	public:
 1.13719 -		/**Specifies the sign - North/South*/
 1.13720 -		TLatitudeSign	iLatitudeSign;
 1.13721 -		/**
 1.13722 -		A north/south angular measurement of position relative to the equator, 
 1.13723 -		in the meridian plane which contains the earth's rotation axis
 1.13724 -		*/
 1.13725 -		TUint16	iLatitude;
 1.13726 -		/**
 1.13727 -		An east/west angular measurement of position in relation to the Prime Meridian. 
 1.13728 -		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
 1.13729 -		and the other a meridian passing through the point of interest.
 1.13730 -		*/
 1.13731 -		TInt16	iLongitude;
 1.13732 -		/**Direction of altitude*/
 1.13733 -		TAltDirection	iAltDirection;
 1.13734 -		/**Degree of altitude*/
 1.13735 -		TUint16	iAltitude;
 1.13736 -		};
 1.13737 -	
 1.13738 -	/**
 1.13739 -	characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
 1.13740 -	r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A 
 1.13741 -	(the "angle of the major axis")
 1.13742 -	@see 3GPP TS 23.032
 1.13743 -	*/
 1.13744 -	class TEllipsoidPointAltitudeEllipseV1
 1.13745 -		{
 1.13746 -	public:
 1.13747 -		/**Specifies the sign - North/South*/
 1.13748 -		TLatitudeSign	iLatitudeSign;
 1.13749 -		/**
 1.13750 -		A north/south angular measurement of position relative to the equator, 
 1.13751 -		in the meridian plane which contains the earth's rotation axis
 1.13752 -		*/
 1.13753 -		TUint16	iLatitude;
 1.13754 -		/**
 1.13755 -		An east/west angular measurement of position in relation to the Prime Meridian. 
 1.13756 -		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
 1.13757 -		and the other a meridian passing through the point of interest.
 1.13758 -		*/
 1.13759 -		TInt16	iLongitude;
 1.13760 -		/**Direction of altitude*/
 1.13761 -		TAltDirection	iAltDirection;
 1.13762 -		/**Degree of latitude*/
 1.13763 -		TUint16	iAltitude;
 1.13764 -		/**Uncertainty semi major axis*/
 1.13765 -		TUint8	iUncertaintySemiMajor;
 1.13766 -		/**Uncertainty semi minor axis*/
 1.13767 -		TUint8	iUncertaintySemiMinor;
 1.13768 -		/**Orientation of major axis*/
 1.13769 -		TUint8	iOrientationMajorAxis;
 1.13770 -		/**The confidence by which the position of a target entity is known to be within the shape description*/
 1.13771 -		TUint8	iConfidence;
 1.13772 -		};
 1.13773 -
 1.13774 -	/**This union holds the possible forms of position estimate of the UE that can be captured.*/
 1.13775 -	union TPositionEstimateV1
 1.13776 -		{
 1.13777 -		/**
 1.13778 -		The description of an ellipsoid point is that of a point
 1.13779 -		on the surface of the ellipsoid, and consists of a latitude and a longitude.
 1.13780 -		@see 3GPP TS 23.032
 1.13781 -		*/
 1.13782 -		TEllipsoidPointV1					iEllipsoidPoint;
 1.13783 -		/**
 1.13784 -		It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
 1.13785 -		@see 3GPP TS 23.032
 1.13786 -		*/
 1.13787 -		TEllipsoidPointUncertCircleV1		iEllipsoidPointUncertCircle;
 1.13788 -		/**
 1.13789 -		It is characterised by the co-ordinates of an ellipsoid point (the origin), 
 1.13790 -		distances r1 and r2 and an angle of orientation A
 1.13791 -		@see 3GPP TS 23.032
 1.13792 -		*/
 1.13793 -		TEllipsoidPointUncertEllipseV1		iEllipsoidPointUncertEllipse;
 1.13794 -		/**
 1.13795 -		The description of an ellipsoid point with altitude is that of a point at a specified distance 
 1.13796 -		above or below a point on the earth's surface. This is defined by an ellipsoid point 
 1.13797 -		with the given longitude and latitude and the altitude above or below the ellipsoid point.
 1.13798 -		@see 3GPP TS 23.032
 1.13799 -		*/
 1.13800 -		TEllipsoidPointAltitudeV1			iEllipsoidPointAltitude;
 1.13801 -		/**
 1.13802 -		characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
 1.13803 -		r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A 
 1.13804 -		(the "angle of the major axis")
 1.13805 -		@see 3GPP TS 23.032
 1.13806 -		*/
 1.13807 -		TEllipsoidPointAltitudeEllipseV1	iEllipsoidPointAltitudeEllipsoide;
 1.13808 -		};
 1.13809 -
 1.13810 -	/**This contains the positioning estimate reference time*/
 1.13811 -	union TPosEstimateRefTime
 1.13812 -		{
 1.13813 -		/**Contains results of the GPS reference time*/
 1.13814 -		TUtranGpsRefTimeResultV1	iUtranGpsRefTimeResult;
 1.13815 -		/**Contains the GPS reference time */
 1.13816 -		TUint16		iGpsRefTimeOnly;
 1.13817 -		/**Contains the cell timing*/
 1.13818 -		TCellTimingV1	iCellTiming;
 1.13819 -		};
 1.13820 -
 1.13821 -	/**
 1.13822 -	Provides the position estimate from the UE to the network, 
 1.13823 -	if the UE is capable of determining its own position.
 1.13824 -	*/
 1.13825 -	class TUePosPositionEstimateInfoV1
 1.13826 -		{
 1.13827 -	public:
 1.13828 -		/**UE positioning estimate reference time*/
 1.13829 -		TPosEstimateRefTime	iPosEstimateRefTime;
 1.13830 -		/**Holds the UE's position estimate
 1.13831 -		@see TPositionEstimateV1
 1.13832 -		*/
 1.13833 -		TPositionEstimateV1	iPostionEstimate;
 1.13834 -		/**Holds the field that would be populated in iPosEstimateRefTime*/
 1.13835 -		TPosEstimateInfo	iPosEstimateRefTimeStatus;
 1.13836 -		/**Holds the field that would be populated in iPosEstimate*/
 1.13837 -		TPosEstimateInfo	iPosEstimateStatus;
 1.13838 -		};
 1.13839 -	
 1.13840 -	/**This enum contains the multipath indicators*/
 1.13841 -	enum TMultipathIndicator
 1.13842 -		{
 1.13843 -		/**
 1.13844 -		Multipath indicator unknown
 1.13845 -		This is an invalid indicator. 
 1.13846 -		*/
 1.13847 -		EMPUnknown,
 1.13848 -		/**Not measured*/
 1.13849 -		ENm,
 1.13850 -		/**MP error < 5m*/
 1.13851 -		ELow,
 1.13852 -		/**5m < MP error < 43m*/
 1.13853 -		EMedium,
 1.13854 -		/**MP error > 43m*/
 1.13855 -		EHigh
 1.13856 -		};
 1.13857 -
 1.13858 -	/**This class contains the GPS measurement parameters of the UE*/
 1.13859 -	class TGpsMeasMeasurementParamV1
 1.13860 -		{
 1.13861 -	public:
 1.13862 -		/**Satellite Identification*/
 1.13863 -		TUint8		iSatID;
 1.13864 -		/**
 1.13865 -		The estimate of the carrier-to-noise ratio of the received signal from the particular 
 1.13866 -		satellite used in the measurement. It is given in units of dB-Hz (typical levels will 
 1.13867 -		be in the range of 20 - 50 dB-Hz).
 1.13868 -		*/
 1.13869 -		TUint8		iCN0;
 1.13870 -		/**
 1.13871 -		It is the instantaneous frequency difference between the receiver's internal oscillator 
 1.13872 -		and the received carrier from the satellite. Hz, scale factor 0.2.
 1.13873 -		*/
 1.13874 -		TInt16		iDoppler;
 1.13875 -		/**
 1.13876 -		Unit in GPS chips.
 1.13877 -		Whole value of the UE GPS code-phase measurement, where increasing binary values of the field 
 1.13878 -		signify increasing measured pseudoranges.
 1.13879 -		*/
 1.13880 -		TUint16		iWholeGpsChips;
 1.13881 -		/**
 1.13882 -		The UE GPS code-phase measurement is divided into the fields "Whole GPS Chips" and "Fractional GPS Chips".
 1.13883 -		Scale factor 2-10 Fractional value of the UE GPS code-phase measurement.
 1.13884 -		*/
 1.13885 -		TUint16		iFractionalGpsChips;
 1.13886 -		/**
 1.13887 -		Contains the possible multipath indicators. Multipath error is usually caused by one path being bounced or 
 1.13888 -		reflected. The impact on a pseudo-range measurement may be up to a few metres. In the case of carrier phase,
 1.13889 -		this is of the order of a few centimetres.
 1.13890 -		*/
 1.13891 -		TMultipathIndicator	iMultipathIndicator;
 1.13892 -		/**
 1.13893 -		A distance measurement based on the correlation of a satellite's transmitted code (may be the C/A-Code or 
 1.13894 -		the encrypted P-Code) and the local receiver's reference code (for that PRN satellite number), 
 1.13895 -		that has not been corrected for errors in synchronisation between the transmitter's clock and the receiver's clock.
 1.13896 -		Hence a pseudo-range measurement is a time-error biased distance measurement.
 1.13897 -		*/
 1.13898 -		TUint8		iPseudorangeRmsError;
 1.13899 -		};
 1.13900 -
 1.13901 -	/**This class contains the GPS measurement parameters and the positioning reference time*/
 1.13902 -	class TUePosGpsMeasurementResultsV1
 1.13903 -		{
 1.13904 -	public:
 1.13905 -		/**UE positioning reference time*/
 1.13906 -		TPosReferenceTimeV1	iPosGpsMeasRefTime;
 1.13907 -		/**Holds the GPS measurement parameters from all the active satellites*/
 1.13908 -		TGpsMeasMeasurementParamV1	iGpsMeasurementParamList[KMaxSat];
 1.13909 -		/**ETrue indicates TPosReferenceTimeV1::iUtranGpsRefTimeResult is populated. 
 1.13910 -		 EFalse indicates TPosReferenceTimeV1::iGpsRefTimeOnly is populated*/
 1.13911 -		TBool	iPosGpsMeasRefTimeStatus;
 1.13912 -		};
 1.13913 -
 1.13914 -	/**
 1.13915 -	This enum lists all the possible errors that UE can report to the network
 1.13916 -	*/
 1.13917 -	enum TPosErrorCause
 1.13918 -		{
 1.13919 -		/**
 1.13920 -		Error Cause Unknown. This is an invalid error cause and is set if the UE does not set with 
 1.13921 -		any of the underlying valid error causes
 1.13922 -		*/
 1.13923 -		EErrorCauseUnknown,
 1.13924 -		/**Indicates that enought number of GPS satellites are healthy and active.*/
 1.13925 -		ENotEnoughGpsSatellites,
 1.13926 -		/**Assistance data required to compute location of the UE is missing in the measurement control.
 1.13927 -		If the Additional data request flag is true in the measurement control only then additional assistance
 1.13928 -		data can be requested otherwise measurements need to be done using the existing assistance data
 1.13929 -		@see TGpsAddlAssistDataReqV1
 1.13930 -		@see TUePosReportingQuantityV1
 1.13931 -		 */
 1.13932 -		EAssistanceDataMissing,
 1.13933 -		/**
 1.13934 -		Cell Frames Timings are not accomplished
 1.13935 -		*/
 1.13936 -		ENotAccomplishedGpsTimingOfCellFrames,
 1.13937 -		/**
 1.13938 -		UE can set this error in case other than the above mentioned is encountered 
 1.13939 -		*/
 1.13940 -		EUndefinedError,
 1.13941 -		/**
 1.13942 -		UE denies Location information
 1.13943 -		*/
 1.13944 -		ERequestDeniedByUser,
 1.13945 -		};
 1.13946 -
 1.13947 -	/**
 1.13948 -	This class contains the positioning errors that might have encountered during 
 1.13949 -	measurement of location of the UE.
 1.13950 -	*/
 1.13951 -	class TUePosError
 1.13952 -		{
 1.13953 -	public:
 1.13954 -		/**Indicates the error cause encountered while computing GPS Assistance data*/
 1.13955 -		TPosErrorCause		iPosErrorCause;
 1.13956 -		/**If error cause is "Assistance Data Missing" and iAddlAssistanceDataReq is set to ETrue then
 1.13957 -		then this member shall indicate what additional assistance data is needed.
 1.13958 -		If iAddlAssistanceDataReq is set to EFalse then existing assistance data is used to compute location
 1.13959 -		information of the UE.
 1.13960 -		@see TUePosReportingQuantityV1::iAddlAssistanceDataReq*/
 1.13961 -		TGpsAddlAssistDataReqV1	iGpsAddlAssistDataReq;
 1.13962 -		};
 1.13963 -
 1.13964 -	/**
 1.13965 -	This class contains the measurement results computed by the UE.
 1.13966 -	*/
 1.13967 -	class TUePosMeasuredResultsV1
 1.13968 -		{
 1.13969 -	public:
 1.13970 -		/**The purpose of this is to provide the position estimate from the UE to the network, 
 1.13971 -		if the UE is capable of determining its own position.*/
 1.13972 -		TUePosPositionEstimateInfoV1	iUePosPositionEstimateInfo;
 1.13973 -		/**Contains the GPS measurement parameters and the positioning reference time*/
 1.13974 -		TUePosGpsMeasurementResultsV1	iUePosGpsMeasurement;
 1.13975 -		/**Indicates the error cause and/or additional assistance data is required*/
 1.13976 -		TUePosError						iUePosError;
 1.13977 -		/**
 1.13978 -		ETrue indicates some error has encountered. iUePosError will be populated.
 1.13979 -		EFalse indicates Gps Assistance Data is received and no error has encountered while processing.
 1.13980 -		Hence iUePosPositionEstimateInfo and iUePosGpsMeasurement will be populated
 1.13981 -		*/
 1.13982 -		TBool	iPosErrorStatus;
 1.13983 -		};
 1.13984 -
 1.13985 -	/**Contains the measured location information of the UE*/
 1.13986 -	union TMeasuredResultsV1
 1.13987 -		{
 1.13988 -		/**
 1.13989 -		This member either contains the measurement results or the error that might have 
 1.13990 -		encountered during measurements.
 1.13991 -		*/
 1.13992 -		TUePosMeasuredResultsV1		iTUePosMeasuredResults;
 1.13993 -		/**
 1.13994 -		A spare member for future use.
 1.13995 -		*/
 1.13996 -		TBool						iSpare;
 1.13997 -		};
 1.13998 -
 1.13999 -	/**
 1.14000 -	This class contains the measurement report expected as response to the measurement control sent by the 
 1.14001 -	network. Veloctiy estimates are included if requested in measurement control.
 1.14002 -	*/
 1.14003 -	class TMeasurementReportV7 : public RMobilePhone::TMultimodeType
 1.14004 -		{
 1.14005 -	public:
 1.14006 -		IMPORT_C TMeasurementReportV7();
 1.14007 -	public:
 1.14008 -		/**A reference number that should be used by the UTRAN when setting up, 
 1.14009 -		modifying or releasing the measurement and by the UE in the measurement report.
 1.14010 -		*/
 1.14011 -		TUint8 iMeasurementIdentity;
 1.14012 -		/**Contains the measured location information of the UE*/
 1.14013 -		TMeasuredResultsV1 iMeasuredResults;
 1.14014 -		/**Contains the measured results on Random Access Channel*/
 1.14015 -		TMeasuredResultsOnRachV1	iMeasuredResultsOnRach;
 1.14016 -		/**Contains the velocity estimates of the UE*/
 1.14017 -		TVelocityEstimateV1		iVelocityEstimate;
 1.14018 -		/**
 1.14019 -		Indicates the populated member in iVelocityEstimate if velocity estimate is computed.
 1.14020 -		Otherwise indicates that velocity estimate is not computed.
 1.14021 -		*/
 1.14022 -		TVelEstimate	iVelEstimateStatus;
 1.14023 -		};
 1.14024 -	/**
 1.14025 -	A typedef'd packaged TMeasurementReportV7 for passing through a
 1.14026 -	generic API method.
 1.14027 -
 1.14028 -	@internalAll
 1.14029 -	*/
 1.14030 -	typedef TPckg<TMeasurementReportV7> TMeasurementReportV7Pckg;
 1.14031 -	
 1.14032 -	//*********************************************//	
 1.14033 -	//  Measurement Control Failure data structure //
 1.14034 -	//*********************************************//
 1.14035 -
 1.14036 -	/**
 1.14037 -	This enum contains the list of errors that the UE can specify.
 1.14038 -	The Measurement control failure is caused only when the the UE 
 1.14039 -	cannot initiate a measurement as instructed by the network.
 1.14040 -	*/
 1.14041 -	enum TMeasurementControlFailure
 1.14042 -		{
 1.14043 -		/**
 1.14044 -		Unknown Measurement Control Failure.
 1.14045 -		This is an invalid failure state whic will be set if the UE does not set with the 
 1.14046 -		underlying valid error reasons.
 1.14047 -		*/
 1.14048 -		EControlFailureUnknown,
 1.14049 -		/**Indicates ASN1.0 encoding is incorrect*/
 1.14050 -		EAsn1ViolationOrEncoding,
 1.14051 -		/**Messsgae type specified is not existent*/
 1.14052 -		EMsgTypeNonExistent,
 1.14053 -		/**Message is not compatible*/
 1.14054 -		EMsgNotCompatibleWithReceiverState,
 1.14055 -		/**Information sent cannot be understood*/
 1.14056 -		EIeValueNotComprehend,
 1.14057 -		/**Information expected is not present*/
 1.14058 -		EInformationElementMissing,
 1.14059 -		/*Message extension cannot be understood*/
 1.14060 -		EMsgExtnNotComprehend
 1.14061 -		}; 
 1.14062 -		
 1.14063 -	/**
 1.14064 -	This enum contains the possible domains used by MOLR 
 1.14065 -	*/
 1.14066 -	enum TDomain
 1.14067 -   		{
 1.14068 -		/**Packet switch domain is the default domain that will be used by Molr*/
 1.14069 -   		EPacketSwitchedDomain,
 1.14070 -		/**UE shall set the domain to Circuit switch whenever Molr is intended to use it*/
 1.14071 -  	 	ECircuitSwitchedDomain
 1.14072 -   		};
 1.14073 -
 1.14074 -	/**
 1.14075 -	The UE Positioning Technology value, as defined in 3GPP TS 34.109 V7.2.0 Section 6.10
 1.14076 -	@publishedPartner
 1.14077 -	@released
 1.14078 -	*/
 1.14079 -	enum TUePosTechnology
 1.14080 -		{
 1.14081 -		/** A-GPS */
 1.14082 -		KUePosTechnologyAGPS = 0
 1.14083 -		};
 1.14084 -
 1.14085 -	IMPORT_C void NotifyMtlr(TRequestStatus& aReqStatus,TDes8& aNotifyMtlr);
 1.14086 -	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrResponse aMtlrResponse);
 1.14087 -	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrError aMtlrResponse);
 1.14088 -	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrReject aMtlrResponse);
 1.14089 -    IMPORT_C void SendMolr(TRequestStatus& aReqStatus,const TDesC8& aStartMolr,TDes8& aMolrReturnResult);
 1.14090 -	IMPORT_C void NotifyMeasurementControl(TRequestStatus& aReqStatus,TDes8& aMeasurementControl);
 1.14091 -	IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TDesC8& aMeasurementReport);
 1.14092 -	IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TMeasurementControlFailure aMeasurementControlFailure);
 1.14093 -	IMPORT_C TInt SetLcsDomain(const TDomain aDomain);	
 1.14094 -	IMPORT_C void NotifyResetUePositioningInformation(TRequestStatus& aReqStatus, TUePosTechnology& aUePosTechnology) const;
 1.14095 -
 1.14096 -private:
 1.14097 -	void ConstructL();
 1.14098 -	void Destruct();
 1.14099 -private:
 1.14100 -	/**
 1.14101 -	Pointer Holder for the RMobileLocationServices sub-session requests.
 1.14102 -	*/
 1.14103 -	CMobileLocationServicesPtrHolder* iMmPtrHolder;
 1.14104 -	};
 1.14105 -
 1.14106 -#endif // __ETELMM_H__