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__