dependencies/etelmm.h
author kashif.sayed
Fri, 26 Mar 2010 01:54:20 +0530
branchv5backport
changeset 26 bef183758dfa
permissions -rw-r--r--
Dependencies for idlefw user: kashif.sayed branch 'v5backport'
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
26
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     1
/*
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     2
* Copyright (c) 2000-2007 Nokia Corporation and/or its subsidiary(-ies).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     3
* All rights reserved.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     4
* This component and the accompanying materials are made available
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     6
* which accompanies this distribution, and is available
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     8
*
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
     9
* Initial Contributors:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    11
*
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    12
* Contributors:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    13
*
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    14
* Description:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    15
*
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    16
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    17
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    18
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    19
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    20
@file
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    21
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    22
Multimode ETel API header file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    23
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    24
Describes the MM ETel API - classes, methods and types.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    25
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    26
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    27
@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    28
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    29
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    30
#ifndef __ETELMM_H__
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    31
#define __ETELMM_H__
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    32
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    33
#include <e32base.h>
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    34
#include <s32mem.h>
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    35
#include <etel.h>
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    36
#include <etelmmcs.h>
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    37
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    38
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    39
/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    40
Internal API/TSY delimiter used to pass the phonebook type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    41
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    42
#define PHBOOK_DELIMITER		_L("//")
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    43
/** The size of the phone book delimiter string.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    44
@internalComponent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    45
 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    46
const TInt KSizeOfPhbookDelimiter=2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    47
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    48
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    49
Names for Multimode ETel sub-sessions
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    50
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    51
_LIT(KETelMeAdnPhoneBook,"S1");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    52
_LIT(KETelMeDialledPhoneBook,"S2");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    53
_LIT(KETelMeMissedPhoneBook,"S3");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    54
_LIT(KETelMeReceivedPhoneBook,"S4");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    55
_LIT(KETelCombinedAdnPhoneBook,"S5");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    56
_LIT(KETelTaAdnPhoneBook,"S6");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    57
_LIT(KETelIccAdnPhoneBook,"S7");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    58
_LIT(KETelIccFdnPhoneBook,"S8");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    59
_LIT(KETelIccSdnPhoneBook,"S9");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    60
_LIT(KETelIccBdnPhoneBook,"S10");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    61
_LIT(KETelIccLndPhoneBook,"S11");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    62
_LIT(KETelIccVoiceMailBox,"S12");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    63
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    64
_LIT(KETelMeSmsStore,"S13");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    65
_LIT(KETelIccSmsStore,"S14");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    66
_LIT(KETelCombinedSmsStore,"S15");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    67
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    68
_LIT(KETelNamStore,"S16");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    69
_LIT(KETelOwnNumberStore,"S17");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    70
_LIT(KETelEmergencyNumberStore,"S18");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    71
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    72
_LIT(KETelSmsMessaging,"S19");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    73
_LIT(KETelBroadcastMessaging,"S20");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    74
_LIT(KETelUssdMessaging,"S21");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    75
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    76
_LIT(KETelConferenceCall,"S22");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    77
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    78
_LIT(KETelIccMbdnPhoneBook, "S23");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    79
_LIT(KETelIccMsisdnPhoneBook, "S24");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    80
_LIT(KETelIccOciPhoneBook, "S25");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    81
_LIT(KETelIccIciPhoneBook, "S26");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    82
_LIT(KETelIccNamStore ,"S27");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    83
_LIT(KETelIccInfoPhoneBook, "S28");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    84
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    85
_LIT(KETelLocationServices,"S29");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    86
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    87
// Types for Multimode ETel sub-sessions
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    88
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    89
_LIT(KEtelCdmaPhoneBookType,"T1");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    90
_LIT(KEtelGsmPhoneBookType,"T2");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    91
_LIT(KEtelUSimPhoneBookType,"T3");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    92
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    93
// Types for SmartCardEap sub-sessions
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    94
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    95
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    96
The prefix to all RMobileSmartCardEap sub-session names.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    97
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    98
_LIT(KETelSmartCardEapSession, "ScEap");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
    99
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   100
The length of KETelSmartCardEapSession.  Used to obtain a const value
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   101
for this length at compile-time.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   102
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   103
#define SCEAP_SSN_LENGTH 5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   104
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   105
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   106
EAP-MD5 type identifier.  Value taken from section 5 of RFC 3748 Jun 2004.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   107
This should be used as the EAP type identifier value of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   108
RMobileSmartCardEap::Open() if standard EAP-MD5 challenges are to be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   109
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   110
This value corresponds to one of the possible values returned in the type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   111
list of TUiccApplicationEapInfoV6.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   112
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   113
(Decimal value = 4)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   114
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   115
@see RMobileSmartCardEap::Open()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   116
@see RMobilePhone::TUiccApplicationEapInfoV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   117
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   118
_LIT8(KETelSmartCardEapTypeMD5, "04");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   119
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   120
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   121
EAP-TLS type identifier.  Value taken from section 4.1 of RFC 2716 Oct 1999.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   122
This should be used as the EAP type identifier value of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   123
RMobileSmartCardEap::Open() if standard EAP-TLS is to be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   124
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   125
This value corresponds to one of the possible values returned in the type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   126
list of TUiccApplicationEapInfoV6.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   127
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   128
(Decimal value = 13)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   129
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   130
@see RMobileSmartCardEap::Open()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   131
@see RMobilePhone::TUiccApplicationEapInfoV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   132
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   133
_LIT8(KETelSmartCardEapTypeTLS, "0D");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   134
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   135
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   136
EAP-SIM type identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   137
This should be used as the EAP type identifier value of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   138
RMobileSmartCardEap::Open() if standard EAP-SIM is to be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   139
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   140
This value corresponds to one of the possible values returned in the type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   141
list of TUiccApplicationEapInfoV6.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   142
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   143
(Decimal value = 18)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   144
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   145
@see RMobileSmartCardEap::Open()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   146
@see RMobilePhone::TUiccApplicationEapInfoV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   147
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   148
_LIT8(KETelSmartCardEapTypeSIM, "12");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   149
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   150
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   151
EAP-AKA type identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   152
This should be used as the EAP type identifier value of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   153
RMobileSmartCardEap::Open() if standard EAP-AKA is to be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   154
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   155
This value corresponds to one of the possible values returned in the type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   156
list of TUiccApplicationEapInfoV6.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   157
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   158
(Decimal value = 23)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   159
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   160
@see RMobileSmartCardEap::Open()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   161
@see RMobilePhone::TUiccApplicationEapInfoV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   162
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   163
_LIT8(KETelSmartCardEapTypeAKA, "17");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   164
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   165
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   166
EAP-TTLS type identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   167
This should be used as the EAP type identifier value of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   168
RMobileSmartCardEap::Open() if standard EAP-TTLS is to be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   169
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   170
This value corresponds to one of the possible values returned in the type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   171
list of TUiccApplicationEapInfoV6.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   172
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   173
(Decimal value = 21)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   174
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   175
@see RMobileSmartCardEap::Open()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   176
@see RMobilePhone::TUiccApplicationEapInfoV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   177
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   178
_LIT8(KETelSmartCardEapTypeTTLS, "15");
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   179
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   180
/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   181
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   182
//  Global Multimode constants and types
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   183
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   184
/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   185
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   186
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   187
Unique API identifier and Functional Unit constants
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   188
Modes: Common 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   189
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   190
enum TMultimodeETelV1Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   191
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   192
	/** TSY supports the Multimode ETel v1.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   193
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   194
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   195
	KETelExtMultimodeV1=3000,  // 3000 is unique reference for Multimode Etel v1.0 API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   196
	/** TSY supports the MobileSimAccess functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   197
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   198
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   199
	KETelFuncMobileIccAccess,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   200
	/** TSY supports the MobileNetwork functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   201
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   202
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   203
	KETelFuncMobileNetwork,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   204
	/** TSY supports the MobileIdentity functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   205
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   206
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   207
	KETelFuncMobileIdentity,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   208
	/** TSY supports the MobilePower functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   209
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   210
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   211
	KETelFuncMobilePower,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   212
	/** TSY supports the MobileSignal functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   213
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   214
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   215
	KETelFuncMobileSignal,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   216
	/** TSY supports the MobileIndicator functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   217
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   218
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   219
	KETelFuncMobileIndicator,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   220
	/** TSY supports the MobileDTMF functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   221
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   222
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   223
	KETelFuncMobileDTMF,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   224
	/** TSY supports the MobileUserNetworkAccess functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   225
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   226
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   227
	KETelFuncMobileUserNetworkAccess,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   228
	/** TSY supports the MobileIdentityService functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   229
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   230
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   231
	KETelFuncMobileIdentityService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   232
	/** TSY supports the MobileCallForwarding functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   233
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   234
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   235
	KETelFuncMobileCallForwarding,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   236
	/** TSY supports the MobileCallBarring functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   237
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   238
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   239
	KETelFuncMobileCallBarring,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   240
	/** TSY supports the MobileCallWaiting functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   241
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   242
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   243
	KETelFuncMobileCallWaiting,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   244
	/** TSY supports the MobileCallCompletion functional unit. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   245
	KETelFuncMobileCallCompletion,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   246
	/** TSY supports the MobileAlternatingCall functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   247
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   248
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   249
	KETelFuncMobileAlternatingCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   250
	/** TSY supports the MobileCost functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   251
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   252
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   253
	KETelFuncMobileCost,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   254
	/** TSY supports the MobileSecurity functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   255
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   256
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   257
	KETelFuncMobileSecurity,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   258
	/** TSY supports the MobileAlternateLineService functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   259
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   260
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   261
	KETelFuncMobileAlternateLineService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   262
	/** TSY supports the MobileMessageWaiting functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   263
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   264
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   265
	KETelFuncMobileMessageWaiting,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   266
	/** TSY supports the MobileFixedDiallingNumbers functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   267
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   268
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   269
	KETelFuncMobileFixedDiallingNumbers,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   270
	/** TSY supports the MobileDataCall functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   271
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   272
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   273
	KETelFuncMobileDataCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   274
	/** TSY supports the MobilePrivacy functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   275
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   276
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   277
	KETelFuncMobilePrivacy,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   278
	/** TSY supports the MobileEmergencyCall functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   279
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   280
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   281
	KETelFuncMobileEmergencyCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   282
	/** TSY supports the MobileSmsMessaging functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   283
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   284
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   285
	KETelFuncMobileSmsMessaging,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   286
	/** TSY supports the MobileBroadcastMessaging functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   287
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   288
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   289
	KETelFuncMobileBroadcastMessaging,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   290
	/** TSY supports the MobileUssdMessaging functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   291
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   292
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   293
	KETelFuncMobileUssdMessaging,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   294
	/** TSY supports the MobileConferenceCall functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   295
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   296
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   297
	KETelFuncMobileConferenceCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   298
	/** TSY supports the MobilePhonebookStore functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   299
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   300
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   301
	KETelFuncMobilePhonebook,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   302
	/** TSY supports the MobileSmsStore functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   303
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   304
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   305
	KETelFuncMobileSmsStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   306
	/** TSY supports the MobileNamStore functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   307
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   308
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   309
	KETelFuncMobileNamStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   310
	/** TSY supports the MobileONStore functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   311
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   312
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   313
	KETelFuncMobileOwnNumberStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   314
	/** TSY supports the MobileENStore functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   315
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   316
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   317
	KETelFuncMobileEmergencyNumberStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   318
	/** TSY supports the MobileMultimedia functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   319
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   320
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   321
	KETelFuncMobileMulticall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   322
	/** TSY supports the MobileNextIncomingCall functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   323
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   324
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   325
	KETelFuncMobileNextIncomingCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   326
	/** TSY supports the MobileMultimediaCall functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   327
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   328
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   329
	KETelFuncMobileMultimediaCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   330
	/** TSY supports the MobileUserSignalling functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   331
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   332
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   333
	KETelFuncMobileUserSignalling
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   334
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   335
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   336
/** Unique API identifier and Functional Unit constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   337
Modes: WCDMA 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   338
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   339
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   340
enum TMultimodeETelV2Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   341
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   342
	/** TSY supports the Multimode ETel v2.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   343
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   344
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   345
	KETelExtMultimodeV2=7000,  // 7000 is unique reference for Multimode Etel v2.0 API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   346
	/** TSY supports the MobileMultimediaCallSettings functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   347
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   348
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   349
	KEtelFuncMobileMultimediaCallSettings,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   350
	/** TSY supports the MobileNetworkSecurity functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   351
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   352
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   353
	KEtelFuncMobileNetworkSecurity,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   354
	KEtelFuncMobileUSIMApplications
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   355
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   356
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   357
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   358
Enum to define the v3.0 API additions
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   359
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   360
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   361
enum TMultimodeETelV3Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   362
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   363
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   364
	Indicator that the TSY supports the Multimode ETel v3.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   365
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   366
	KETelExtMultimodeV3 = 10000,	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   367
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   368
	TSY supports the MobileMMSInformation functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   369
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   370
	KEtelFuncMobileMMSInformation,       // 10001
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   371
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   372
	TSY supports the KEtelFuncMobileAirTime functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   373
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   374
	KEtelFuncMobileAirTime,              // 10002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   375
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   376
	TSY supports the KEtelFuncMobileAutoRedial functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   377
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   378
	KEtelFuncMobileAutoRedial,           // 10003
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   379
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   380
	TSY supports the KEtelFuncMobilePersonalisation functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   381
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   382
	KEtelFuncMobilePersonalisation,      // 10004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   383
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   384
	TSY supports the KEtelMobileMailboxNumbers functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   385
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   386
	KEtelFuncMobileMailboxNumbers,       // 10005
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   387
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   388
	TSY supports the Mobile APN Control List functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   389
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   390
	KEtelFuncMobileAPNControlList        // 10006
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   391
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   392
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   393
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   394
Enum to define the v4.0 API additions
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   395
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   396
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   397
enum TMultimodeETelV4Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   398
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   399
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   400
	Indicator that the TSY supports the Multimode ETel v4.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   401
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   402
	KETelExtMultimodeV4	= 15000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   403
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   404
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   405
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   406
/** Enum to define Release 5 enabling API and data structures
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   407
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   408
enum TMultimodeEtelV5Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   409
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   410
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   411
	Indicator that the TSY supports the Multimode ETel v5.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   412
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   413
	KEtelExtMultimodeV5=20000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   414
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   415
	Indicator that the TSY supports the IMS functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   416
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   417
	KEtelFuncMobileIMS,                  // 20001
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   418
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   419
	TSY supports the KEtelFuncMobileSmartCardApplications functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   420
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   421
	KEtelFuncMobileSmartCardApplications // 20002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   422
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   423
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   424
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   425
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   426
Enum to define the v6.0 API additions.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   427
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   428
enum TMultimodeEtelV6Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   429
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   430
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   431
	Indicator that the TSY supports the Multimode ETel v6.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   432
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   433
	KEtelExtMultimodeV6=25000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   434
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   435
	Indicator that the TSY supports the EAP supporting functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   436
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   437
	KEtelSmartCardEap                    // 25001
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   438
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   439
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   440
Enum to define the v7.0 API additions.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   441
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   442
enum TMultimodeEtelV7Api
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   443
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   444
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   445
	Indicator that the TSY supports the Multimode ETel v7.0 API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   446
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   447
	KEtelExtMultimodeV7=30000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   448
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   449
	Indicator that the TSY supports the LocationServices supporting functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   450
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   451
	KEtelLocationControlServices                    // 30001
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   452
	};		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   453
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   454
Enum to define the Etel 3rdParty V1 API additions
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   455
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   456
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   457
enum TMultimodeETel3rdPartyV1Api 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   458
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   459
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   460
	Indicator that the TSY supports the Etel 3rd Party v1.0 API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   461
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   462
	KETelExt3rdPartyV1 = 40000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   463
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   464
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   465
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   466
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   467
// Phone based functionality (RMobilePhone)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   468
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   469
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   470
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   471
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   472
class CMobilePhonePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   473
class CMobilePhoneStoredNetworkList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   474
class RMobileSmartCardEap;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   475
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   476
class RMobilePhone : public RPhone
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   477
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   478
Provides client access to mobile phone functionality provided by TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   479
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   480
Encapsulates access to a mobile phone. The functionality of RMobilePhone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   481
is divided into a number of functional units, for the purpose of easier documentation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   482
and navigation and selectable support by TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   483
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   484
Note: Some RMobilePhone function members must be supported by the TSY while 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   485
others are part of optional "functional unit" and only need to be supported 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   486
if the TSY supports that functional unit. When a functional unit is mandatory 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   487
then the unit should at least support the Get...Caps() member function to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   488
indicate the member functions that are supported for this unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   489
 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   490
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   491
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   492
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   493
	friend class CAsyncRetrievePhoneList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   494
	IMPORT_C RMobilePhone();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   495
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   496
	// Global multimode types
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   497
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   498
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   499
	class TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   500
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   501
	Base class for all the V1 parameter types defined within the API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   502
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   503
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   504
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   505
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   506
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   507
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   508
		IMPORT_C TInt ExtensionId() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   509
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   510
		TMultimodeType();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   511
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   512
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   513
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   514
		TInt iExtensionId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   515
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   516
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   517
	/** A typedef'd packaged TMultimodeType for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   518
	function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   519
	typedef TPckg<TMultimodeType> TMultimodeTypePckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   520
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   521
	// Types used in RMobilePhone::TMobileAddress
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   522
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   523
/** Address types.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   524
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   525
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   526
	enum TMobileTON
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   527
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   528
	/** User or the network has no knowledge of the type of number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   529
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   530
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   531
		EUnknownNumber,			// 0
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   532
	/** International number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   533
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   534
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   535
		EInternationalNumber,	// 1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   536
	/** National number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   537
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   538
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   539
		ENationalNumber,		// 2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   540
	/** Administration/service number specific to the serving network, e.g. used to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   541
	access an operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   542
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   543
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   544
		ENetworkSpecificNumber, // 3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   545
	/** Subscriber number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   546
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   547
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   548
		ESubscriberNumber,		// 4 - Also defined as "dedicated, short code" in GSM 04.08
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   549
	/** Alphanumeric number coded according to 3GPP TS 123 038 GSM 7-bit default alphabet.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   550
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   551
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   552
		EAlphanumericNumber,	// 5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   553
	/** Abbreviated number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   554
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   555
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   556
		EAbbreviatedNumber		// 6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   557
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   558
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   559
/** Number Plan Indicator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   560
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   561
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   562
	enum TMobileNPI
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   563
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   564
	/** User or the network has no knowledge of the numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   565
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   566
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   567
		EUnknownNumberingPlan =0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   568
	/** ISDN/telephony numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   569
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   570
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   571
		EIsdnNumberPlan=1,		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   572
	/** Data numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   573
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   574
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   575
		EDataNumberPlan=3,		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   576
	/** Telex numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   577
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   578
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   579
		ETelexNumberPlan=4,	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   580
	/** Service centre specific plan used to indicate a numbering plan specific to external 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   581
	Short Message entities attached to the SMSC. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   582
		EServiceCentreSpecificPlan1=5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   583
	/** Service centre specific plan used to indicate a numbering plan specific to external 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   584
	Short Message entities attached to the SMSC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   585
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   586
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   587
		EServiceCentreSpecificPlan2=6,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   588
	/** National numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   589
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   590
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   591
		ENationalNumberPlan=8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   592
	/** Private numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   593
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   594
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   595
		EPrivateNumberPlan=9,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   596
	/** ERMES numbering plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   597
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   598
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   599
		EERMESNumberPlan=10
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   600
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   601
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   602
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   603
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   604
		KMaxMobilePasswordSize=10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   605
		KMaxMobileNameSize=32,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   606
		KMaxMobileTelNumberSize=100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   607
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   608
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   609
	struct TMMTableSettings
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   610
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   611
		TUint32 iLocId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   612
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   613
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   614
	typedef TPckg<TMMTableSettings> TMMTableSettingsPckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   615
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   616
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   617
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   618
	class TMobileAddress
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   619
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   620
	Defines API abstraction of a mobile telephone number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   621
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   622
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   623
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   624
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   625
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   626
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   627
		IMPORT_C TMobileAddress();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   628
			
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   629
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   630
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   631
			
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   632
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   633
		/** Type of number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   634
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   635
		@see TMobileTON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   636
		TMobileTON iTypeOfNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   637
		/** Number plan.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   638
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   639
		@see TMobileNPI */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   640
		TMobileNPI iNumberPlan;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   641
		/** Telephone number. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   642
		TBuf<KMaxMobileTelNumberSize> iTelNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   643
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   644
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   645
	// Mobile information location type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   646
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   647
	/** Defines Location of service information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   648
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   649
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   650
	enum TMobileInfoLocation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   651
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   652
		/** Retrieve the service information ONLY from the cache on the phone. Return KErrNotFound 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   653
		if the cache does not exist or it is empty. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   654
		EInfoLocationCache,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   655
		/** Retrieve the service information from the cache, but if this is empty or does 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   656
		not exist then interrogate the network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   657
		EInfoLocationCachePreferred,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   658
		/** Retrieve the service information from the network (and refresh the cache if 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   659
		there is one). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   660
		EInfoLocationNetwork
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   661
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   662
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   663
	// Mobile call service type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   664
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   665
	/** Applicability of request to a mobile service group.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   666
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   667
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   668
	enum TMobileService
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   669
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   670
		/** The call service has not been specified.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   671
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   672
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   673
		EServiceUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   674
		/** The API request applies to voice call services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   675
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   676
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   677
		EVoiceService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   678
		/** The API request applies to auxiliary voice call services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   679
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   680
		Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   681
		EAuxVoiceService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   682
		/** The API request applies to circuit switched data call services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   683
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   684
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   685
		ECircuitDataService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   686
		/** The API request applies to packet data services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   687
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   688
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   689
		EPacketDataService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   690
		/** The API request applies to fax call services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   691
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   692
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   693
		EFaxService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   694
		/** The API request applies to short message services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   695
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   696
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   697
		EShortMessageService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   698
		/** The API request applies to all mobile services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   699
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   700
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   701
		EAllServices,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   702
		/** All teleservices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   703
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   704
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   705
		EAllTele,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   706
		/** Telephony
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   707
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   708
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   709
		ETelephony,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   710
		/** All data teleservices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   711
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   712
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   713
		EAllDataTele,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   714
		/** Voice Broadcast Service (VBS) Bearer Service
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   715
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   716
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   717
		EAllDataExSms,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   718
		/** All teleservices except SMS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   719
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   720
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   721
		EAllTeleExcSms,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   722
		/** All PLMN specific teleservices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   723
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   724
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   725
		EAllPlmnTele,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   726
		/** PLMN specific teleservice 1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   727
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   728
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   729
		EPlmnTele1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   730
		/** PLMN specific teleservice 2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   731
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   732
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   733
		EPlmnTele2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   734
		/** PLMN specific teleservice 3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   735
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   736
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   737
		EPlmnTele3,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   738
		/** PLMN specific teleservice 4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   739
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   740
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   741
		EPlmnTele4,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   742
		/** PLMN specific teleservice 5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   743
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   744
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   745
		EPlmnTele5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   746
		/** PLMN specific teleservice 6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   747
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   748
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   749
		EPlmnTele6,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   750
		/** PLMN specific teleservice 7
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   751
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   752
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   753
		EPlmnTele7,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   754
		/** PLMN specific teleservice 8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   755
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   756
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   757
		EPlmnTele8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   758
		/** PLMN specific teleservice 9
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   759
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   760
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   761
		EPlmnTele9,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   762
		/** PLMN specific teleservice 10
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   763
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   764
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   765
		EPlmnTeleA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   766
		/** PLMN specific teleservice 11
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   767
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   768
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   769
		EPlmnTeleB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   770
		/** PLMN specific teleservice 12
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   771
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   772
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   773
		EPlmnTeleC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   774
		/** PLMN specific teleservice 13
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   775
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   776
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   777
		EPlmnTeleD,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   778
		/** PLMN specific teleservice 14
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   779
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   780
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   781
		EPlmnTeleE,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   782
		/** PLMN specific teleservice 15
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   783
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   784
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   785
		EPlmnTeleF,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   786
		/** All bearer services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   787
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   788
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   789
		EAllBearer,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   790
		/** All async services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   791
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   792
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   793
		EAllAsync,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   794
		/** All sync services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   795
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   796
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   797
		EAllSync,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   798
		/** All data circuit sync
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   799
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   800
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   801
		ESyncData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   802
		/** All data circuit async
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   803
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   804
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   805
		EAsyncData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   806
		/** All packet data services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   807
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   808
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   809
		EPacketData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   810
		/** All pad access services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   811
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   812
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   813
		EPadAccess,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   814
		/** All PLMN specific bearer services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   815
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   816
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   817
		EAllPlmnBearer,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   818
		/** PLMN specific bearer service 1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   819
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   820
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   821
		EPlmnBearerServ1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   822
		/** PLMN specific bearer service 2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   823
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   824
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   825
		EPlmnBearerServ2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   826
		/** PLMN specific bearer service 3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   827
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   828
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   829
		EPlmnBearerServ3,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   830
		/** PLMN specific bearer service 4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   831
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   832
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   833
		EPlmnBearerServ4,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   834
		/** PLMN specific bearer service 5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   835
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   836
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   837
		EPlmnBearerServ5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   838
		/** PLMN specific bearer service 6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   839
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   840
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   841
		EPlmnBearerServ6,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   842
		/** PLMN specific bearer service 7
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   843
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   844
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   845
		EPlmnBearerServ7,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   846
		/** PLMN specific bearer service 8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   847
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   848
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   849
		EPlmnBearerServ8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   850
		/** PLMN specific bearer service 9
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   851
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   852
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   853
		EPlmnBearerServ9,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   854
		/** PLMN specific bearer service 10
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   855
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   856
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   857
		EPlmnBearerServA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   858
		/** PLMN specific bearer service 11
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   859
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   860
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   861
		EPlmnBearerServB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   862
		/** PLMN specific bearer service 12
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   863
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   864
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   865
		EPlmnBearerServC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   866
		/** PLMN specific bearer service 13
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   867
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   868
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   869
		EPlmnBearerServD,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   870
		/** PLMN specific bearer service 14
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   871
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   872
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   873
		EPlmnBearerServE,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   874
		/** PLMN specific bearer service 15
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   875
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   876
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   877
		EPlmnBearerServF,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   878
		/** Alternative tele services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   879
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   880
		Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   881
		EAltTele,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   882
		EVoiceGroupCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   883
		EVoiceBroadcast,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   884
		EAllGprsBearer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   885
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   886
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   887
	// Mobile name type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   888
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   889
	/** A typedef to hold the names of API sub-sessions. The names are coded as ASCII 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   890
	characters. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   891
	typedef TBuf<KMaxMobileNameSize> TMobileName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   892
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   893
	// Mobile password type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   894
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   895
	/** A typedef for the standard password used by mobile phones for secure access 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   896
	to services (phone lock, SIM lock, call barring password). The password is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   897
	coded as Unicode characters. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   898
	typedef TBuf<KMaxMobilePasswordSize> TMobilePassword;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   899
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   900
	// for use by client-side API code and TSY only
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   901
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   902
	struct TClientId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   903
	/** This type is used within the 2-phase list retrieval classes. During both phases, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   904
	the client-side API code will pass down the TClientId so that TSY can use
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   905
	this information to match the first phase of the request to the second phase. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   906
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   907
		/** The handle to the underlying RTelServer session. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   908
		TInt iSessionHandle;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   909
		/** The handle to the sub-session to which this API request relates. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   910
		TInt iSubSessionHandle;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   911
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   912
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   913
	/** Phone air interface capabilities. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   914
	enum TMobilePhoneModeCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   915
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   916
		/** Phone can operate in GSM mode on 900/1800/1900 MHz bands. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   917
		KCapsGsmSupported=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   918
		/** Phone can operate in GPRS mode on 900/1800/1900 MHz bands. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   919
		KCapsGprsSupported=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   920
		/** Phone can operate in AMPS mode on 800MHz band. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   921
		KCapsAmpsSupported=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   922
		/** Phone can operate in CDMA (IS-95) mode on 800/1900 MHz bands. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   923
		KCapsCdma95Supported=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   924
		/** Phone can operate in CDMA (cdma2000) mode on 800/1900 MHz bands. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   925
		KCapsCdma2000Supported=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   926
		/** Phone can operate in W-CDMA (UTRA Frequency Division Duplex (FDD)) mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   927
		KCapsWcdmaSupported=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   928
		/** Phone can operate in TDMA/CDMA (UTRA Time Division Duplex (TDD)) mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   929
		KCapsTdcdmaSupported=0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   930
		/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   931
		Phone can access Smart Card functionality required for an EAP. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   932
		@deprecated 9.3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   933
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   934
		KCapsEapSupported=0x00000080
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   935
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   936
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   937
	/** Version number of the multimode ETel API. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   938
	 enum TMultimodeEtelAPIVersion
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   939
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   940
		/** Multimode Etel API version 1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   941
		 TMultimodeETelApiV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   942
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   943
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   944
	 //
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   945
	 //  API/TSY internal type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   946
	 //
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   947
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   948
	 struct TPhoneStoreNameAndIccType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   949
	/** Structure that holds the phone store name and ICC type.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   950
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   951
	Mode: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   952
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   953
		/** This parameter is used to set the name of the storage. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   954
		TName iStoreName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   955
		/** This parameter is used to set the type of the ICC card. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   956
		TName iMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   957
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   958
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   959
	IMPORT_C TInt GetMultimodeAPIVersion(TInt& aVersion) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   960
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   961
	IMPORT_C TInt GetMultimodeCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   962
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   963
	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aReqStatus, TDes8& aInfo, const TDesC& aStoreName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   964
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   965
	IMPORT_C void GetPhoneStoreInfo(TRequestStatus& aStatus, TDes8& aInfo, const TDesC& aStoreName, const TDesC& aMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   966
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   967
	// explicit phone initialisation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   968
	IMPORT_C void InitialiseMM(TRequestStatus& aReqStatus, TDes8& aTableSettings) const; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   969
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   970
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   971
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   972
	// MobilePhoneIccAccess functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   973
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   974
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   975
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   976
/** ICC access capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   977
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   978
Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   979
	enum TMobilePhoneIccCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   980
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   981
	/** Phone has a SIM and it currently supports SIM access by clients.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   982
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   983
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   984
		KCapsSimAccessSupported=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   985
	/** Phone has a R-UIM and it currently supports R-UIM access by clients.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   986
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   987
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   988
		KCapsRUimAccessSupported=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   989
	/** Phone has a USIM and it currently supports USIM access by clients.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   990
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   991
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   992
		KCapsUSimAccessSupported=0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   993
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   994
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   995
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   996
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   997
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   998
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
   999
	Maximum size of an ICC identity. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1000
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1001
	NOTE: TS102.221 defines the maximum size of the ICC Identity as held in EF_ICCID as 10 bytes, however
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1002
	TS 51.011 mentions that network operators may issue a SIM with an identification number of 20 bytes.  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1003
	Therefore to cover this possibility the higher figure of 20 bytes has been chosen as the maximum size of the ICC identity.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1004
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1005
	KMaxSizeIccIdentity	= 20
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1006
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1007
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1008
	/** A typedef to hold the ICC identity.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1009
	typedef TBuf8<KMaxSizeIccIdentity> TIccIdentity; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1010
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1011
	IMPORT_C TInt GetIccAccessCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1012
	IMPORT_C void NotifyIccAccessCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1013
	IMPORT_C void GetIccIdentity(TRequestStatus& aReqStatus, TIccIdentity& aIdentity) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1014
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1015
/** The Call Transfer/Call Forward options that are supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1016
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1017
Modes: WCDMA/GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1018
	enum TCspCallOffering
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1019
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1020
	/** Indicates that "Call Transfer" is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1021
		KCspCT=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1022
	/** Indicates that "Call Forwarding on Not Reachable" is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1023
		KCspCFNRc=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1024
	/** Indicates that "Call Forwarding on No Reply" is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1025
		KCspCFNRy=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1026
	/** Indicates that "Call Forwarding on Busy" is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1027
		KCspCFB=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1028
	/** Indicates that "Call Forwarding Unconditional" is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1029
		KCspCFU=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1030
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1031
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1032
/** The call restrictions supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1033
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1034
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1035
	enum TCspCallRestriction
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1036
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1037
	/** Indicates that "Barring of Incoming Calls when roaming outside the home PLMN 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1038
	country" is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1039
		KCspBICRoam=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1040
	/** Indicates that "Barring of All Incoming Calls" is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1041
		KCspBAIC=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1042
	/** Indicates that "Barring of Outgoing International Calls except those directed 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1043
	to the home PLMN country" is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1044
		KCspBOICexHC=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1045
	/** Indicates that "Barring of Outgoing International Calls" is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1046
		KCspBOIC=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1047
	/** Indicates that "Barring of All Outgoing Calls" is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1048
		KCspBOAC=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1049
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1050
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1051
/** Other services supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1052
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1053
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1054
	enum TCspOtherSuppServices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1055
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1056
	/** Indicates that the Outgoing Access option of the Closed User Group service is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1057
	supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1058
		KCspCUGOA=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1059
	/** Indicates that the Preferential CUG option of the Closed User Group service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1060
	is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1061
		KCspPrefCUG=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1062
	/** Indicates that the Advice of Charge service is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1063
		KCspAoC=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1064
	/** Indicates that the Closed User Group service is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1065
		KCspCUG=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1066
	/** Indicates that the Multiparty call service is supported by the CSP */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1067
		KCspMPTY=0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1068
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1069
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1070
/** Call completion modes supported by this CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1071
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1072
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1073
	enum TCspCallCompletion
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1074
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1075
	/** Indicates that the Call Completion to Busy Subscriber service is supported by 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1076
	the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1077
		KCspCCBS=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1078
	/** Indicates that the Call Waiting service is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1079
		KCspCW=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1080
	/** Indicates that the Call Hold service is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1081
		KCspHOLD=0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1082
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1083
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1084
/** SMS Teleservices supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1085
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1086
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1087
	enum TCspTeleservices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1088
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1089
	/** Indicates that display of Validity Period menu options for SMS is supported 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1090
	by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1091
		KCspValidityPeriod=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1092
	/** Indicates that display of Protocol ID menu options for SMS is supported by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1093
	CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1094
		KCspProtocolID=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1095
	/** Indicates that SMS Delivery Confirmation is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1096
		KCspDelConf=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1097
	/** Indicates that display of Reply Path menu options for outgoing SMS is supported 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1098
	by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1099
		KCspReplyPath=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1100
	/** Indicates that the Cell Broadcast service is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1101
		KCspSMCB=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1102
	/** Indicates mobile originated Short Messages are supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1103
		KCspSMMO=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1104
	/** Indicates mobile terminated Short Messages are supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1105
		KCspSMMT=0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1106
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1107
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1108
/** Alternate Line Services */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1109
	enum TCspCPHSTeleservices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1110
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1111
	/** Indicates that Alternate Line Service is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1112
		KCspALS=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1113
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1114
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1115
/** Currently not used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1116
	enum TCspCPHSFeatures
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1117
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1118
	/** This bit value is reserved for SST in Phase 1 CPHS. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1119
		KCspReservedSST=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1120
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1121
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1122
/** Number Identification option supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1123
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1124
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1125
	enum TCspNumberIdentification
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1126
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1127
	/** Indicates that Calling Line Identity Presentation blocking per call (CLI sent 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1128
	by default) is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1129
		KCspCLIBlock=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1130
	/** Indicates that Calling Line Identity Presentation per call (CLI blocked by default) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1131
	is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1132
		KCspCLISend=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1133
	/** Indicates that Connected Line Identification Presentation is supported by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1134
	CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1135
		KCspCOLP=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1136
	/** Indicates that Connected Line Identification Restriction is supported by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1137
	CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1138
		KCspCOLR=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1139
	/** Indicates that Calling Line Identification Presentation is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1140
		KCspCLIP=0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1141
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1142
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1143
/** Phase 2+ services supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1144
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1145
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1146
	enum TCspPhase2PlusServices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1147
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1148
	/** Indicates that Multiple Band roaming is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1149
		KCspMultipleband=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1150
	/** Indicates that Multiple Subscriber Profile is supported by CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1151
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1152
	v1.0 of Multimode ETel API does not support this feature */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1153
		KCspMSP=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1154
	/** Indicates that Voice Broadcast is supported by CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1155
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1156
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1157
		KCspVoiceBroadcast=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1158
	/** Indicates that Voice Group Call is supported by CSP. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1159
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1160
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1161
		KCspVoiceGroupCall=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1162
	/** Indicates that High Speed Circuit Switched Data is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1163
		KCspHscsd=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1164
	/** Indicates that General Packet Radio Service is supported by CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1165
		KCspGprs=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1166
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1167
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1168
/** Value added services supported by this CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1169
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1170
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1171
	enum TCspValueAdded
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1172
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1173
	/** Indicates that display of language selection menus is supported by the CSP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1174
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1175
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1176
		KCspLanguage=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1177
	/** Indicates that display of data call option menu is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1178
		KCspData=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1179
	/** Indicates that display of fax call option menu is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1180
		KCspFax=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1181
	/** Indicates that display of the menu option to send a Short Message of type Email 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1182
	is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1183
		KCspSMMOEmail=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1184
	/** Indicates that display of the menu option to send a Short Message of type Paging 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1185
	is supported by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1186
		KCspSMMOPaging=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1187
	/** Indicates that display of the menu option for manual PLMN selection is supported 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1188
	by the CSP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1189
		KCspPLMNMode=0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1190
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1191
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1192
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1193
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1194
	class TMobilePhoneCspFileV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1195
	/** Defines contents of the CSP (Customer Service Profile) on the SIM. The profile 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1196
	consists of the sum of the respective enums.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1197
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1198
	@see GetCustomerServiceProfile()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1199
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1200
	@released*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1201
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1202
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1203
	/** Constructor. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1204
		IMPORT_C TMobilePhoneCspFileV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1205
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1206
	/** Sum of the TCspCallOffering. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1207
		TUint8	iCallOfferingServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1208
	/** Sum of the TCspCallRestriction. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1209
		TUint8	iCallRestrictionServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1210
	/** Sum of the TCspOtherSuppServices. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1211
		TUint8	iOtherSuppServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1212
	/** Sum of the TCspCallCompletion. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1213
		TUint8	iCallCompletionServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1214
	/** Sum of the TCspTeleservices. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1215
		TUint8  iTeleservices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1216
	/** Sum of the TCspCPHSTeleservices. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1217
		TUint8	iCphsTeleservices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1218
	/** Sum of the TCspCPHSFeatures. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1219
		TUint8	iCphsFeatures;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1220
	/** Sum of the TCspNumberIdentification. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1221
		TUint8	iNumberIdentServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1222
	/** Sum of the TCspPhase2PlusServices. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1223
		TUint8	iPhase2PlusServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1224
	/** Sum of the TCspValueAdded. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1225
		TUint8	iValueAddedServices;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1226
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1227
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1228
/** A typedef'd packaged TMobilePhoneCspFileV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1229
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1230
	typedef TPckg<TMobilePhoneCspFileV1> TMobilePhoneCspFileV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1231
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1232
	IMPORT_C void GetCustomerServiceProfile(TRequestStatus& aReqStatus, TDes8& aCsp) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1233
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1234
/** SIM/USIM/CDMA Service Table.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1235
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1236
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1237
	enum TSSTServices1To8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1238
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1239
	/** Indicates that disabling PIN1 is supported by the ICC. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1240
		KSstPin1Disable=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1241
	/** Indicates that storage of Abbreviated Dialling Numbers within this ICC is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1242
		KSstADN=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1243
	/** Indicates that the Fixed Dialling Numbers service and the storage of FDN numbers
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1244
	within this ICC is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1245
		KSstFDN=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1246
	/** Indicates that the Short Message Service and the storage of short messages within 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1247
	this ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1248
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1249
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1250
		KSstSMS=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1251
	/** Indicates that the Advice of Charge service is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1252
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1253
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1254
		KSstAoC=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1255
	/** Indicates that the storage of Configuration Capability Parameters associated 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1256
	with an AND, FDN, MSISDN, LND or SDN is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1257
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1258
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1259
		KSstCCP=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1260
	/** Indicates that storage of a preferred network list is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1261
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1262
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1263
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1264
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1265
		KSstPLMNSelector=0x40
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1266
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1267
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1268
/** SIM/USIM/CDMA Service Table (continued).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1269
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1270
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1271
	enum TSSTServices9To16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1272
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1273
	/** Indicates that storage of MSISDN (own numbers) numbers within this ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1274
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1275
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1276
		KSstMSISDN=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1277
	/** Indicates that storage of extended (greater than 20 digits) ADN, LND and MSISDN
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1278
	numbers within this ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1279
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1280
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1281
		KSstExt1=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1282
	/** Indicates that storage of extended (greater than 20 digits) FDN numbers within 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1283
	this ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1284
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1285
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1286
		KSstExt2=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1287
	/** Indicates that storage of SMS parameter records within this ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1288
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1289
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1290
		KSstSMSP=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1291
	/** Indicates that storage of Last Numbers Dialled within this ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1292
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1293
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1294
		KSstLND=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1295
	/** Indicates that the storage of Cell Broadcast message identifiers is supported 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1296
	within this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1297
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1298
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1299
		KSstCBMI=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1300
	/** Indicates that access to the GID1 file is supported within this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1301
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1302
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1303
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1304
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1305
		KSstGID1=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1306
	/** Indicates that access to the GID2 file is supported within this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1307
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1308
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1309
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1310
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1311
		KSstGID2=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1312
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1313
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1314
/** SIM/USIM/CDMA Service Table (continued).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1315
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1316
v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1317
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1318
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1319
	enum TSSTServices17To24
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1320
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1321
	/** Indicates that access to the Service Provider Name within ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1322
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1323
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1324
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1325
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1326
		KSstSPName=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1327
	/** Indicates that storage of Service Dialling Numbers within ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1328
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1329
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1330
		KSstSDN=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1331
	/** Indicates that storage of extended (greater than 20 digits) SDN numbers within 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1332
	this ICC/RUIM is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1333
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1334
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1335
		KSstExt3=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1336
	/** Indicates that access to the VGCS group identifier list within ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1337
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1338
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1339
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1340
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1341
		KSstVGCSList=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1342
	/** Indicates that access to the VBS group identifier list within ICC is supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1343
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1344
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1345
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1346
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1347
		KSstVBSList=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1348
	/** Indicates that the enhanced Multi-Level Precedence and Pre-emption service is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1349
	supported by ICC
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1350
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1351
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1352
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1353
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1354
		KSsteMLPP=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1355
	/** Indicates that automatic answer for eMLPP is supported by ICC
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1356
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1357
	v1.0 of Multimode ETel API does not support this feature
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1358
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1359
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1360
		KSstAnswereMLPP=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1361
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1362
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1363
/** SIM/USIM/CDMA Service Table (continued).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1364
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1365
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1366
	enum TSSTServices25To32
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1367
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1368
	/** Indicates that SAT SMS-CB data download is supported by ICC. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1369
		KSstSmsCbDataDownload=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1370
	/** Indicates that SAT SMS-PP data download is supported by ICC. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1371
		KSstSmsPpDataDownload=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1372
	/** Indicates that SAT menu selection is supported by ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1373
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1374
	SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1375
		KSstMenuSelection=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1376
	/** Indicates that SAT call control is supported by ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1377
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1378
	SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1379
		KSstCallControl=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1380
	/** Indicates that SAT pro-active SIM is supported by ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1381
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1382
	SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1383
		KSstProactiveSim=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1384
	/** Indicates ICC storage of ranges of Cell Broadcast Message Identifiers is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1385
		KSstCBMIRanges=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1386
	/** Indicates ICC storage of Barred Dialling Numbers is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1387
		KSstBDN=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1388
	/** Indicates ICC storage of extended (greater than 20 digits) BDN numbers is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1389
		KSstExt4=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1390
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1391
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1392
/** SIM/USIM/CDMA Service Table (continued).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1393
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1394
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1395
	enum TSSTServices33To40
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1396
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1397
	/** Indicates depersonalisation control keys are supported by ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1398
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1399
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1400
		KSstDepersonalisationKeys=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1401
	/** Indicates co-operative network list are supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1402
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1403
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1404
		KSstCooperativeNetworks=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1405
	/** Indicates Short Message Status Reports are supported by ICC. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1406
		KSstSMStatusReports=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1407
	/** Indicates network's indication of alerting is supported by ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1408
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1409
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1410
		KSstNetworkIndAlerting=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1411
	/** Indicates outgoing SM control by SAT is supported by ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1412
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1413
	SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1414
		KSstMoSmControlBySim=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1415
	/** Indicates that GPRS is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1416
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1417
	GPRS ETel API provides GPRS functionality. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1418
		KSstGprs=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1419
	/** Indicates that Image files are supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1420
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1421
	SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1422
		KSstImage=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1423
	/** Indicates that SoLSA in supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1424
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1425
	v1.0 of Multimode ETel API does not support this feature */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1426
		KSstSoLSA=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1427
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1428
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1429
/** SIM/USIM/CDMA Service Table (continued).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1430
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1431
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1432
	enum TSSTServices41To48
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1433
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1434
	/** Indicates that USSD string data is supported in SAT Call Control by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1435
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1436
	SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1437
		KSstUssdStringInCallControl=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1438
	/** Indicates that RUN AT COMMAND is supported in SAT by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1439
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1440
	v1.0 of Multimode ETel API does not support this feature */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1441
		KSstRunATCommand=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1442
	/** Indicates that PLMN selector list with access technology is supported by this 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1443
	ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1444
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1445
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1446
		KSstPlmnSelectorListWithAccessTechnology=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1447
	/** Indicates that OPLMN selector list with access technology is supported by this
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1448
	ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1449
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1450
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1451
		KSstOplmnSelectorListWithAccessTechnology=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1452
	/** Indicates that HPLMN access technology is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1453
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1454
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1455
		KSstHplmnAccessTechnology=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1456
	/** Indicates that CPBCCH information is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1457
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1458
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1459
		KSstCpbcchInformation=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1460
	/** Indicates that Investigation Scan is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1461
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1462
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1463
		KSstInvestigationScan=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1464
	/** Indicates that extended capability configuration parameters are supported by 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1465
	this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1466
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1467
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1468
		KSstExtendedCcp=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1469
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1470
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1471
/** SIM/USIM/CDMA Service Table (continued).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1472
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1473
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1474
	enum TSSTServices49To56
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1475
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1476
	/** Indicates Mobile Execution Environment services are supported by this ICC */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1477
		KSstMExE=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1478
	/** Indicates that RPLMN last used access technology is supported by this ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1479
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1480
	v1.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1481
		KSstRplmnLastUsedAccessTechnology=0x02
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1482
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1483
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1484
/** USIM service table. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1485
	enum TUSTServices1To8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1486
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1487
	/** Indicates that the local phonebook is supported by the USIM. Local phonebook 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1488
	means a phonebook that is specific to a USIM Application, as opposed to the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1489
	global phonebook which is located at the DF Telecom level on the UICC and 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1490
	not attached to a USIM Application. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1491
		KUstLocalPhBk=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1492
	/** Indicates that the Fixed Dialling Numbers (FDN) service and the storage of 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1493
	FDN numbers within this USIM is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1494
		KUstFDN=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1495
	/** Indicates that the Extension 2 is supported by the USIM. Extension 2 provides 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1496
	extension data for Fixed Dialling Numbers. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1497
		KUstExt2=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1498
	/** Indicates that the Service Dialling Numbers are supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1499
		KUstSDN=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1500
	/** Indicates that the Extension 3 is supported by the USIM. Extension 3 provides 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1501
	extension data for Service Dialling Numbers. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1502
		KUstExt3=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1503
	/** Indicates that the Barred Dialling Numbers are supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1504
		KUstBDN=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1505
	/** Indicates that the Extension 4 is supported by the USIM. Extension 4 provides 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1506
	extension data for Barred Dialling Numbers. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1507
		KUstExt4=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1508
	/** Indicates that the outgoing call information (OCI and OCT) are supported by 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1509
	the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1510
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1511
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1512
		KUstOugoingCallInfo=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1513
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1514
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1515
/** USIM service table (continued). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1516
	enum TUSTServices9To16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1517
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1518
	/** Indicates that the incoming call information (ICI and ICT) are supported by 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1519
	the USIM
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1520
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1521
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1522
		KUstIncomingCallInfo=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1523
	/** Indicates that Short Message Storage is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1524
		KUstSMS=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1525
	/** Indicates that Short Message Status Reports are supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1526
		KUstSMSR=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1527
	/** Indicates that Short Message Service Parameters are supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1528
		KUstSMSP=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1529
	/** Indicates that Advice Of Charge is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1530
		KUstAoC=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1531
	/** Indicates that Capability Configuration Parameters are supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1532
		KUstCCP=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1533
	/** Indicates that Cell Broadcast Message Identifier is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1534
		KUstCBMI=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1535
	/** Indicates that Cell Broadcast Message Identifier Ranges are supported by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1536
	USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1537
		KUstCBMIRanges=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1538
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1539
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1540
/** USIM service table (continued). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1541
	enum TUSTServices17To24
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1542
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1543
	/** Indicates that Group Identifier Level 1 is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1544
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1545
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1546
		KUstGID1=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1547
	/** Indicates that Group Identifier Level 2 is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1548
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1549
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1550
		KUstGID2=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1551
	/** Indicates that Service Provider Name is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1552
		KUstSPN=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1553
	/** Indicates that user controlled PLMN selector with Access Technology is supported
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1554
	by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1555
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1556
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1557
		KUstPLMNSelAccessTech=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1558
	/** Indicates that MSISDN is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1559
		KUstMSISDN=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1560
	/** Indicates that Image is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1561
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1562
	Note: (U)SAT ETel API provides this feature. This enum value is reserved for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1563
	future API use. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1564
		KUstIMG=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1565
		//0x40 is a reserved value
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1566
	/** Indicates that enhanced Multi Level Precedence and Pre-emption Service is supported 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1567
	by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1568
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1569
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1570
		KUsteMLPP=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1571
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1572
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1573
/** USIM service table (continued). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1574
	enum TUSTServices25To32
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1575
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1576
	/** Indicates that Automatic Answer for eMLPP is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1577
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1578
	Note: v1.0 and v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1579
		KUstAnswereMLPP=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1580
		//0x02 is a reserved value
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1581
	/** Indicates that GSM Access is supported by the USIM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1582
		KUstGSMAccess=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1583
	/** Indicates that Data download via SMS-PP is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1584
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1585
	Note: (U)SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1586
		KUstSMSPpDataDownload=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1587
	/** Indicates that Data download via SMS-CB is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1588
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1589
	Note: (U)SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1590
		KUstSMSCbDataDownload=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1591
	/** Indicates that Call Control by USIM is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1592
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1593
	Note: (U)SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1594
		KUstCallControl=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1595
	/** Indicates that MO-SMS Control by USIM is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1596
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1597
	Note: (U)SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1598
		KUstMoSmControl=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1599
	/** Indicates that the proactive command RUN AT COMMAND is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1600
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1601
	Note: (U)SAT ETel API provides this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1602
		KUstPCmdRunAtCommand=0x80		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1603
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1604
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1605
/** USIM service table (continued). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1606
	enum TUSTServices33To40
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1607
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1608
	/** Should always be present as specified by 3 GPP spec. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1609
		KUstAlways=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1610
	/** Indicates that the Enabled Service Table is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1611
		KUstEST=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1612
	/** Indicates that APN Control List is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1613
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1614
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1615
		KUstACL=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1616
	/** Indicates that the Depersonalisation Control Keys are supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1617
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1618
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1619
		KIstDepersonalisationKeys =0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1620
	/** Indicates that the Co-operative Network List is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1621
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1622
	Note: v2.0 of Multimode ETel API does not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1623
		KUstCooperativeNetwork=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1624
	/** Indicates that GSM Security Context is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1625
		KUstGSMSecurityContext=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1626
	/** Indicates that CPBCCH Information is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1627
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1628
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1629
		KUstCPBCCHInfo=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1630
	/** Indicates that Investigation Scan is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1631
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1632
	Note:v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1633
		KUstInvestigationScan=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1634
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1635
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1636
/** USIM service table (continued). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1637
	enum TUSTServices41To48
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1638
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1639
	/** Indicates that MExE is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1640
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1641
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1642
		KUstMExE=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1643
	/** Indicates that Operator controlled PLMN selector with Access Technology is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1644
	supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1645
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1646
	N.B .v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1647
		KUstOperatorPLMNSelector=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1648
	/** Indicates that HPLMN selector with Access Technology is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1649
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1650
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1651
		KUstHPLMNSelAccessTech=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1652
	/** Indicates that Extension 5 is supported by the USIM. Provides support for extension 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1653
	data for MSISDN. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1654
		KUstExt5=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1655
	/** Indicates that PLMN Network Name is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1656
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1657
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1658
		KUstPLMNNetworkName=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1659
	/** Indicates that Operator PLMN List is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1660
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1661
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1662
		KUstOperatorPLMNList=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1663
	/** Indicates that Mailbox Dialling Numbers are supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1664
		KUstMDN=0x40,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1665
	/** Indicates that Message Waiting Indication Status is supported by the USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1666
		KUstMWISo=0x80
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1667
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1668
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1669
/** USIM service table (continued). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1670
	enum TUSTServices49To56
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1671
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1672
	/** Indicates that Call forwarding indication status is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1673
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1674
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1675
		KUstCFIS=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1676
	/** Indicates that RPLMN last-used access technology is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1677
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1678
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1679
		KUstRPLMN=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1680
	/** Indicates that Service provider display information is supported by the USIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1681
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1682
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1683
		KUstSPDI=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1684
	    KUstMMS=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1685
	    KUstExt8=0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1686
	    KUstCConGPRS=0x20,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1687
	    KUstMMSUCP=0x40
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1688
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1689
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1690
/** Enabled Services Table. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1691
	enum TESTServices1To8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1692
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1693
	/** Indicates that FDN service is activated. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1694
		KEstFDN=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1695
	/** Indicates that BDN service is activated. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1696
		KEstBDN=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1697
	/** Indicates that the APN Control List service is activated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1698
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1699
	Note: v2.0 of Multimode ETel API do not support this feature. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1700
		KEstACL=0x04
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1701
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1702
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1703
/** Get Service Table.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1704
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1705
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1706
	enum TMobilePhoneServiceTable
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1707
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1708
	/** Retrieve SIM service table on SIM (or from GSM application on UICC).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1709
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1710
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1711
		ESIMServiceTable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1712
	/** Retrieve USIM service table from active USIM application on UICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1713
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1714
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1715
		EUSIMServiceTable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1716
	/** Retrieve CDMA service table on R-UIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1717
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1718
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1719
		ECDMAServiceTable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1720
	/** USIM Enabled Services Table to be used in conjunction with the USIM Service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1721
	Table.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1722
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1723
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1724
		EUSIMEnabledServiceTable
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1725
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1726
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1727
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1728
	class TMobilePhoneServiceTableV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1729
	/** Defines contents of the specified Service Table on the ICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1730
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1731
	@see GetServiceTable()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1732
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1733
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1734
	 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1735
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1736
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1737
		IMPORT_C TMobilePhoneServiceTableV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1738
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1739
	/** Sum of the TSSTServices1To8 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1740
		TUint8 iServices1To8;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1741
	/** Sum of the TSSTServices9To16 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1742
		TUint8 iServices9To16;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1743
	/** Sum of the TSSTServices17To24 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1744
		TUint8 iServices17To24;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1745
	/** Sum of the TSSTServices25To32 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1746
		TUint8 iServices25To32;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1747
	/** Sum of the TSSTServices33To40 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1748
		TUint8 iServices33To40;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1749
	/** Sum of the TSSTServices41To48 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1750
		TUint8 iServices41To48;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1751
	/** Sum of the TSSTServices49To56 capability constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1752
		TUint8 iServices49To56;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1753
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1754
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1755
/** A typedef'd packaged TMobilePhoneServiceTableV1 passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1756
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1757
	typedef TPckg<TMobilePhoneServiceTableV1> TMobilePhoneServiceTableV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1758
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1759
	enum { KAIDSize=16 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1760
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1761
/** A typedef'd buffer to hold the application identifier (AID) that identifies 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1762
the USIM application in a UICC. The AID consists of a Registered application 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1763
provider IDentifier (RID) of 5 bytes and a Proprietary application Identifier 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1764
eXtension (PIX) of up to 11 bytes. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1765
	typedef TBuf8<KAIDSize> TAID; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1766
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1767
	class TMobilePhoneServiceTableV2 : public TMobilePhoneServiceTableV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1768
/** Defines contents of the specified Service Table on the ICC for the v2.0 version 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1769
of the API. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1770
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1771
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1772
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1773
		IMPORT_C TMobilePhoneServiceTableV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1774
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1775
	/** The application identifier. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1776
		TAID   iAID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1777
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1778
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1779
/** A typedef'd packaged TMobilePhoneServiceTableV2 passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1780
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1781
	typedef TPckg<TMobilePhoneServiceTableV2> TMobilePhoneServiceTableV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1782
 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1783
	IMPORT_C void GetServiceTable(TRequestStatus& aReqStatus, TMobilePhoneServiceTable aTable, TDes8& aTableData) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1784
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1785
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1786
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1787
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1788
	// MobilePhonePower functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1789
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1790
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1791
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1792
/** Phone supported battery information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1793
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1794
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1795
	enum TMobilePhoneBatteryCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1796
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1797
	/** Phone supports requests to get the current battery information. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1798
		KCapsGetBatteryInfo=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1799
	/** Phone supports requests for notification of change in battery information. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1800
		KCapsNotifyBatteryInfoChange=0x00000002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1801
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1802
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1803
	IMPORT_C TInt GetBatteryCaps(TUint32& aCaps) const; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1804
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1805
/** The mobile phone battery status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1806
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1807
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1808
	enum TMobilePhoneBatteryStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1809
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1810
	/** The TSY can not determine the phone's current power status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1811
		EPowerStatusUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1812
	/** The phone is currently powered by a battery. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1813
		EPoweredByBattery,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1814
	/** A battery is connected, but the phone is externally powered. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1815
		EBatteryConnectedButExternallyPowered,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1816
	/** No battery is connected. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1817
		ENoBatteryConnected,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1818
	/** Power fault. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1819
		EPowerFault
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1820
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1821
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1822
	class TMobilePhoneBatteryInfoV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1823
/** Defines contents of the battery status of the phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1824
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1825
@see GetBatteryInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1826
@see NotifyBatteryInfoChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1827
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1828
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1829
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1830
		IMPORT_C TMobilePhoneBatteryInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1831
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1832
	/** The power and battery status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1833
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1834
	@see TMobilePhoneBatteryStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1835
		TMobilePhoneBatteryStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1836
	/** The percentage battery charge level. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1837
		TUint iChargeLevel;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1838
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1839
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1840
	IMPORT_C void GetBatteryInfo(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1841
	IMPORT_C void NotifyBatteryInfoChange(TRequestStatus& aReqStatus, TMobilePhoneBatteryInfoV1& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1842
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1843
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1844
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1845
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1846
	// MobilePhoneSignal functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1847
	//	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1848
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1849
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1850
/** The mobile phone signal strength capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1851
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1852
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1853
	enum TMobilePhoneSignalCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1854
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1855
	/** Phone supports requests to get the current signal strength. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1856
		KCapsGetSignalStrength=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1857
	/** Phone supports requests for notification of change in signal strength. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1858
		KCapsNotifySignalStrengthChange=0x00000002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1859
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1860
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1861
	IMPORT_C TInt GetSignalCaps(TUint32& aCaps) const; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1862
	IMPORT_C void GetSignalStrength(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1863
	IMPORT_C void NotifySignalStrengthChange(TRequestStatus& aReqStatus, TInt32& aSignalStrength, TInt8& aBar) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1864
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1865
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1866
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1867
	// MobilePhoneIndicator functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1868
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1869
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1870
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1871
/** The mobile phone indicator capabilities supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1872
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1873
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1874
	enum TMobilePhoneIndicatorCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1875
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1876
	/** Phone supports requests to get the current value of all supported indicators. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1877
		KCapsGetIndicator=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1878
	/** Phone supports requests for notification of change in the supported indicators. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1879
		KCapsNotifyIndicatorChange=0x00000002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1880
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1881
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1882
/** The mobile phone indicators.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1883
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1884
Modes Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1885
	enum TMobilePhoneIndicators
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1886
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1887
	/** If bit-flag is set to '1' indicates that the battery charger is connected to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1888
	the phone. If bit-flag is set to '0' indicates that the battery charger is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1889
	disconnected. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1890
		KIndChargerConnected=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1891
	/** If bit-flag is set to '1' indicates that network service is available. If bit-flag 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1892
	is set to '0' indicates that network service is unavailable. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1893
		KIndNetworkAvailable=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1894
	/** If bit-flag is set to '1' indicates that a call is in progress. If set to '0' 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1895
	indicates that a call is not in progress. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1896
		KIndCallInProgress=0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1897
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1898
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1899
	IMPORT_C TInt GetIndicatorCaps(TUint32& aActionCaps, TUint32& aIndCaps) const; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1900
	IMPORT_C void GetIndicator(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1901
	IMPORT_C void NotifyIndicatorChange(TRequestStatus& aReqStatus, TUint32& aIndicator) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1902
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1903
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1904
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1905
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1906
	// MobilePhoneIdentity functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1907
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1908
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1909
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1910
/** Defines Identity Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1911
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1912
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1913
	enum TMobilePhoneIdentityCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1914
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1915
	/** Phone can return the identity of its manufacturer. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1916
		KCapsGetManufacturer=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1917
	/** Phone can return the identity of its model. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1918
		KCapsGetModel=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1919
	/** Phone can return the identity of its revision. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1920
		KCapsGetRevision=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1921
	/** Phone can return the identity of its serial number. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1922
		KCapsGetSerialNumber=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1923
	/** Phone can return the identity of its subscriber. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1924
		KCapsGetSubscriberId=0x00000010
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1925
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1926
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1927
	IMPORT_C TInt GetIdentityCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1928
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1929
	enum {	KPhoneManufacturerIdSize=50	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1930
	enum {	KPhoneModelIdSize=50 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1931
	enum {	KPhoneRevisionIdSize=50	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1932
	enum {	KPhoneSerialNumberSize=50 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1933
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1934
	class TMobilePhoneIdentityV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1935
/** Defines the mobile phone identity.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1936
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1937
@see GetPhoneId() */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1938
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1939
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1940
		IMPORT_C TMobilePhoneIdentityV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1941
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1942
	/** Phone manufacturer identification, in character string format. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1943
		TBuf<KPhoneManufacturerIdSize> iManufacturer;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1944
	/** Phone model identification, in character string format. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1945
		TBuf<KPhoneModelIdSize> iModel;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1946
	/** Phone revision identification, in character string format. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1947
		TBuf<KPhoneRevisionIdSize> iRevision;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1948
	/** Phone serial number (IMEI or ESN), in character string format. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1949
		TBuf<KPhoneSerialNumberSize> iSerialNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1950
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1951
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1952
	IMPORT_C void GetPhoneId(TRequestStatus& aReqStatus, TMobilePhoneIdentityV1& aId) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1953
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1954
	enum {	KIMSISize = 15 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1955
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1956
/** A typedef'd buffer to hold the mobile phone subscriber id. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1957
	typedef TBuf<KIMSISize> TMobilePhoneSubscriberId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1958
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1959
	IMPORT_C void GetSubscriberId(TRequestStatus& aReqStatus, TMobilePhoneSubscriberId& aId) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1960
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1961
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1962
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1963
	// MobilePhoneDTMF functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1964
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1965
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1966
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1967
/** DTMF Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1968
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1969
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1970
	enum TMobilePhoneDTMFCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1971
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1972
	/** Capability to send a string of DTMF tones, containing one or more tone(s). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1973
		KCapsSendDTMFString=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1974
	/** Capability to send one DTMF tone, using start and stop DTMF tone function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1975
		KCapsSendDTMFSingleTone=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1976
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1977
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1978
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1979
	DTMF tone operation event.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1980
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1981
	enum TMobilePhoneDTMFEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1982
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1983
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1984
		 Start sending of a Dtmf tone operation has been acknowledged from the MSC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1985
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1986
		EStartDtmfTone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1987
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1988
		 Stop sending of a Dtmf tone operation has been acknowledged from the MSC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1989
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1990
		EStopDtmfTone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1991
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1992
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1993
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1994
	IMPORT_C TInt GetDTMFCaps(TUint32& aCaps) const; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1995
	IMPORT_C void NotifyDTMFCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1996
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1997
	IMPORT_C void SendDTMFTones(TRequestStatus& aReqStatus, const TDesC& aTones) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1998
	IMPORT_C void ReadDTMFTones(TRequestStatus& aReqStatus, TDes& aTones) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  1999
	IMPORT_C TInt StartDTMFTone(TChar aTone) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2000
	IMPORT_C TInt StopDTMFTone() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2001
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2002
	IMPORT_C void NotifyStopInDTMFString(TRequestStatus& aRequestStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2003
	IMPORT_C TInt ContinueDTMFStringSending(TBool aContinue) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2004
	IMPORT_C void NotifyDTMFEvent(TRequestStatus& aReqStatus, TMobilePhoneDTMFEvent& aEvent) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2005
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2006
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2007
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2008
	// MobilePhoneNetwork functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2009
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2010
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2011
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2012
/** Defines Network Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2013
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2014
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2015
	enum TMobilePhoneNetworkCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2016
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2017
	/** The phone supports retrieval of current registration status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2018
		KCapsGetRegistrationStatus=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2019
	/** The phone supports notifications of change in registration status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2020
		KCapsNotifyRegistrationStatus=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2021
	/** The phone supports retrieval of current mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2022
		KCapsGetCurrentMode=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2023
	/** The phone supports notification of change in mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2024
		KCapsNotifyMode=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2025
	/** The phone supports retrieval of current network information. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2026
		KCapsGetCurrentNetwork=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2027
	/** The phone supports notification of change of current network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2028
		KCapsNotifyCurrentNetwork=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2029
	/** The phone supports retrieval of home network information. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2030
		KCapsGetHomeNetwork=0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2031
	/** The phone supports retrieval of a list of detected networks. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2032
		KCapsGetDetectedNetworks=0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2033
	/** The phone supports manual network selection mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2034
		KCapsManualNetworkSelection=0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2035
	/** The phone supports retrieval of time and date information (NITZ) received from 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2036
	the network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2037
		KCapsGetNITZInfo=0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2038
	/** The phone supports notification of new updates of time & date information (NITZ) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2039
	received from the network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2040
		KCapsNotifyNITZInfo=0x00000400
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2041
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2042
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2043
	IMPORT_C TInt GetNetworkCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2044
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2045
/** Defines Current Network Modes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2046
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2047
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2048
	enum TMobilePhoneNetworkMode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2049
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2050
	/** Network mode is unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2051
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2052
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2053
		ENetworkModeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2054
	/** ME is not registered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2055
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2056
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2057
		ENetworkModeUnregistered,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2058
	/** GSM/GPRS or DCS1800 network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2059
		ENetworkModeGsm,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2060
	/** AMPS network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2061
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2062
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2063
		ENetworkModeAmps,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2064
	/** CDMA (IS-95) network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2065
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2066
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2067
		ENetworkModeCdma95,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2068
	/** CDMA (cdma2000) network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2069
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2070
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2071
		ENetworkModeCdma2000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2072
	/** WCDMA  (UTRA Frequency Division Duplex (FDD)) network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2073
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2074
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2075
		ENetworkModeWcdma,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2076
	/** TD-CDMA (UTRA Time Division Duplex (TDD)) network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2077
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2078
	Modes: WCDMA */	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2079
		ENetworkModeTdcdma
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2080
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2081
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2082
	IMPORT_C TInt GetCurrentMode(TMobilePhoneNetworkMode& aNetworkMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2083
	IMPORT_C void NotifyModeChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkMode& aNetworkMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2084
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2085
	void DoNotifyModeChange( TMobilePhoneNetworkMode aNetworkMode, TInt aErrorCode );
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2086
    void CancelAsyncRequest(TInt aReqToCancel) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2087
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2088
	mutable TMobilePhoneNetworkMode* iNetworkMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2089
	mutable TRequestStatus* iReqStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2090
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2091
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2092
/** Phone network status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2093
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2094
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2095
	enum TMobilePhoneNetworkStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2096
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2097
	/** Status is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2098
		ENetworkStatusUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2099
	/** A network that the ME is allowed to register to. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2100
		ENetworkStatusAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2101
	/** The currently registered network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2102
		ENetworkStatusCurrent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2103
	/** A network that the ME is not allowed to register to. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2104
		ENetworkStatusForbidden
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2105
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2106
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2107
/** Mobile phone network band information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2108
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2109
Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2110
	enum TMobilePhoneNetworkBandInfo
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2111
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2112
	/** The current band and band class is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2113
		EBandUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2114
	/** The network operates at 800MHz on Band A. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2115
		E800BandA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2116
	/** The network operates at 800MHz on Band B. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2117
		E800BandB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2118
	/** The network operates at 800MHz on Band C. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2119
		E800BandC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2120
	/** The network operates at 1900MHz on Band A. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2121
		E1900BandA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2122
	/** The network operates at 1900MHz on Band B. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2123
		E1900BandB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2124
	/** The network operates at 1900MHz on Band C. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2125
		E1900BandC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2126
	/** The network operates at 1900MHz on Band D. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2127
		E1900BandD,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2128
	/** The network operates at 1900MHz on Band E. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2129
		E1900BandE,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2130
	/** The network operates at 1900MHz on Band F. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2131
		E1900BandF
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2132
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2133
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2134
/** A typedef'd buffer to hold the network display tag */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2135
	typedef TBuf<30> TMobilePhoneNetworkDisplayTag;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2136
/** A typedef'd buffer to hold the network long name. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2137
	typedef TBuf<20> TMobilePhoneNetworkLongName;		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2138
/** A typedef'd buffer to hold the network short name. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2139
	typedef TBuf<10> TMobilePhoneNetworkShortName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2140
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2141
/** A typedef'd buffer to hold the network country code. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2142
	typedef TBuf<4> TMobilePhoneNetworkCountryCode;		// MCC in GSM and CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2143
/** A typedef'd buffer to hold the network identity. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2144
	typedef TBuf<8> TMobilePhoneNetworkIdentity;		// MNC in GSM and SID or NID in CDMA 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2145
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2146
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2147
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2148
	class TMobilePhoneNetworkInfoV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2149
	/** Defines information related to a mobile phone network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2150
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2151
	@see GetCurrentNetwork()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2152
	@see NotifyCurrentNetworkChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2153
	@see GetHomeNetwork()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2154
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2155
	@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2156
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2157
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2158
		IMPORT_C TMobilePhoneNetworkInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2159
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2160
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2161
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2162
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2163
	/** Mode of the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2164
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2165
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2166
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2167
	@see TMobilePhoneNetworkMode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2168
		TMobilePhoneNetworkMode iMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2169
	/** Status of the network
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2170
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2171
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2172
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2173
	@see TMobilePhoneNetworkStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2174
		TMobilePhoneNetworkStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2175
	/** The band and band class of the CDMA network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2176
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2177
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2178
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2179
	@see TMobilePhoneNetworkBandInfo */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2180
		TMobilePhoneNetworkBandInfo iBandInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2181
	/** The MCC of the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2182
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2183
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2184
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2185
	@see TMobilePhoneNetworkCountryCode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2186
		TMobilePhoneNetworkCountryCode iCountryCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2187
	/** The system identity (SID) of the CDMA network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2188
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2189
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2190
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2191
	@see TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2192
		TMobilePhoneNetworkIdentity iCdmaSID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2193
	/** The system identity (SID) of the AMPS network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2194
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2195
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2196
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2197
	@see TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2198
		TMobilePhoneNetworkIdentity iAnalogSID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2199
	/** The network identity (NID in CDMA and MNC in GSM).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2200
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2201
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2202
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2203
	@see TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2204
		TMobilePhoneNetworkIdentity iNetworkId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2205
	/** The alpha-tag displayed when this is the serving network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2206
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2207
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2208
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2209
	@see TMobilePhoneNetworkDisplayTag */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2210
		TMobilePhoneNetworkDisplayTag iDisplayTag;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2211
	/** The short name (up to 10 characters) of the network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2212
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2213
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2214
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2215
	@see TMobilePhoneNetworkShortName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2216
		TMobilePhoneNetworkShortName iShortName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2217
	/** The long name (up to 20 characters) of the network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2218
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2219
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2220
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2221
	@see TMobilePhoneNetworkLongName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2222
		TMobilePhoneNetworkLongName iLongName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2223
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2224
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2225
/** A typedef'd packaged TMobilePhoneNetworkInfoV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2226
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2227
	typedef TPckg<TMobilePhoneNetworkInfoV1>  TMobilePhoneNetworkInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2228
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2229
/** The access technology that the network is based on.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2230
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2231
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2232
	enum TMobilePhoneNetworkAccess
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2233
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2234
	/** This is used when there is no network activity and therefore no RAT active.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2235
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2236
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2237
		ENetworkAccessUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2238
	/** The access technology is GSM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2239
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2240
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2241
		ENetworkAccessGsm,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2242
	/** The access technology is GSM COMPACT. However GSM COMPACT systems which use 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2243
	GSM frequency bands but with the CBPCCH broadcast channel are considered as 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2244
	a separate access technology from GSM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2245
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2246
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2247
		ENetworkAccessGsmCompact,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2248
	/** The access technology is UTRAN (UMTS Network).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2249
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2250
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2251
		ENetworkAccessUtran,					
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2252
	/** Analogue Cellular 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2253
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2254
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2255
		ENetworkAccessAmpsCellular,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2256
	/** CDMA Cellular - Standard channels 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2257
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2258
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2259
		 ENetworkAccessCdmaCellularStdChannel,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2260
	/** CDMA Cellular - Custom channels 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2261
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2262
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2263
		ENetworkAccessCdmaCellularCustomChannel,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2264
	/** CDMA/Analogue Cellular (cdma first then analogue)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2265
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2266
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2267
		ENetworkAccessCdmaAmpsCellular,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2268
	/** CDMA PCS - Using blocks 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2269
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2270
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2271
		ENetworkAccessCdmaPcsUsingBlocks,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2272
	/** CDMA PCS - Using channels 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2273
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2274
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2275
		ENetworkAccessCdmaPcsUsingNetworkAccessChannels,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2276
	/** CDMA JTACS - Standard channels 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2277
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2278
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2279
		ENetworkAccessJTacsStdChannels,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2280
	/** CDMA JTACS - Custom channels 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2281
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2282
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2283
		ENetworkAccessJTacsCustomChannels,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2284
	/** CDMA 2GHz band - Using channels 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2285
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2286
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2287
		ENetworkAccess2GHzBandUsingChannels,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2288
	/** Generic Acquisition Record for IS-2000 and IS-95 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2289
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2290
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2291
		ENetworkAccessGenericAcqRecord2000and95,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2292
	/** Generic Acquisition Record for IS-856
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2293
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2294
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2295
		ENetworkAccessGenericAcqRecord856
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2296
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2297
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2298
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2299
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2300
	class TMobilePhoneNetworkInfoV2 : public TMobilePhoneNetworkInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2301
	/** The access technology that the network is based on in version v2.0 of the API. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2302
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2303
	@released*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2304
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2305
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2306
	/** Default constructor. Network access is set to ENetworkAccessUnknown and iExtensionId 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2307
	is set to KETelExtMultimodeV2. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2308
		IMPORT_C TMobilePhoneNetworkInfoV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2309
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2310
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2311
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2312
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2313
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2314
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2315
	/** The type of network access.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2316
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2317
	@see TMobilePhoneNetworkAccess */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2318
		TMobilePhoneNetworkAccess iAccess;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2319
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2320
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2321
/** A typedef'd packaged TMobilePhoneNetworkInfoV2 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2322
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2323
	typedef TPckg<TMobilePhoneNetworkInfoV2>  TMobilePhoneNetworkInfoV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2324
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2325
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2326
	class TMobilePhoneNetworkInfoV5 : public TMobilePhoneNetworkInfoV2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2327
	/** The access technology that the network is based on in version v2.0 of the API. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2328
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2329
	@released*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2330
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2331
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2332
		IMPORT_C TMobilePhoneNetworkInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2333
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2334
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2335
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2336
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2337
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2338
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2339
	/** HSDPA availability indicator. This information is for display 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2340
	indication only and shall not be used for any other purpose.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2341
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2342
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2343
		TBool iHsdpaAvailableIndicator;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2344
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2345
	/** EGPRS availability indicator. This information is for display
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2346
	indication only and shall not be used for any other purpose.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2347
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2348
	Modes: GPRS */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2349
		TBool iEgprsAvailableIndicator;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2350
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2351
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2352
/** A typedef'd packaged TMobilePhoneNetworkInfoV5 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2353
API function member. */		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2354
	typedef TPckg<TMobilePhoneNetworkInfoV5> TMobilePhoneNetworkInfoV5Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2355
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2356
	class TMobilePhoneLocationAreaV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2357
/** Defines the mobile phone location area.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2358
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2359
@see GetCurrentNetwork()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2360
@see NotifyCurrentNetworkChange() */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2361
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2362
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2363
	/** Constructor. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2364
		IMPORT_C TMobilePhoneLocationAreaV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2365
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2366
	/** Boolean indicating whether the location area is known.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2367
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2368
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2369
		TBool	iAreaKnown;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2370
	/** Location area code.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2371
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2372
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2373
		TUint	iLocationAreaCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2374
	/** Cell identity code.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2375
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2376
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2377
		TUint	iCellId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2378
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2379
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2380
	IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2381
	IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo, TMobilePhoneLocationAreaV1& aArea) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2382
	IMPORT_C void GetCurrentNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2383
	IMPORT_C void NotifyCurrentNetworkChange(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2384
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2385
	IMPORT_C void GetHomeNetwork(TRequestStatus& aReqStatus, TDes8& aNetworkInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2386
	IMPORT_C void GetHomeNetworkSearchPeriod(TRequestStatus& aReqStatus, TInt& aSearchIntv) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2387
	IMPORT_C void GetLastUsedAccessTechnology(TRequestStatus& aReqStatus, TMobilePhoneNetworkAccess& aAccessTech) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2388
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2389
/** The registration status of the mobile phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2390
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2391
Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2392
	enum TMobilePhoneRegistrationStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2393
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2394
	/** Registration status is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2395
		ERegistrationUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2396
	/** Not registered. The ME can not detect any other networks and is not currently 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2397
	searching a new operator to register to. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2398
		ENotRegisteredNoService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2399
	/** Not registered. The ME can detect other networks on which it is possible to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2400
	make emergency calls only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2401
		ENotRegisteredEmergencyOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2402
	/** Not registered, but the ME is currently searching a new operator to register to. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2403
		ENotRegisteredSearching,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2404
	/** Registered, network busy.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2405
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2406
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2407
		ERegisteredBusy,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2408
	/** Registered on home network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2409
		ERegisteredOnHomeNetwork,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2410
	/** Registration denied. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2411
		ERegistrationDenied,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2412
	/** Registered, roaming. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2413
		ERegisteredRoaming
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2414
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2415
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2416
	IMPORT_C void GetNetworkRegistrationStatus(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2417
	IMPORT_C void NotifyNetworkRegistrationStatusChange(TRequestStatus& aReqStatus, TMobilePhoneRegistrationStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2418
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2419
/** The network selection function member.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2420
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2421
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2422
	enum TMobilePhoneSelectionMethod
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2423
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2424
	/** Network selection function member is unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2425
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2426
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2427
		ENetworkSelectionUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2428
	/** Network is selected automatically by phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2429
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2430
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2431
		ENetworkSelectionAutomatic,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2432
	/** Network is selected manually by user.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2433
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2434
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2435
		ENetworkSelectionManual,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2436
	/** Network selection is restricted to home network only
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2437
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2438
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2439
		ENetworkSelectionHomeOnly
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2440
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2441
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2442
/** The mobile phone band class preferences.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2443
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2444
Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2445
	enum TMobilePhoneBandClass
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2446
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2447
	/** Band class selection is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2448
		ENetworkBandClassUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2449
	/** Phone will select band class A only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2450
		ENetworkBandClassAOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2451
	/** Phone will select band class B only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2452
		ENetworkBandClassBOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2453
	/** Phone will prefer to select band class A. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2454
		ENetworkBandClassAPreferred,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2455
	/** Phone will prefer to select band class B. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2456
		ENetworkBandClassBPreferred
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2457
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2458
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2459
/** The mobile phone network operation mode preferences.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2460
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2461
Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2462
	enum TMobilePhoneOperation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2463
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2464
	/** Network operation mode is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2465
		ENetworkOperationUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2466
	/** Phone will select analog operation only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2467
		ENetworkOperationAnalogOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2468
	/** Phone will select digital/CDMA operation only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2469
		ENetworkOperationDigitalOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2470
	/** Phone will prefer to select analog operation. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2471
		ENetworkOperationAnalogPreferred,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2472
	/** Phone will prefer to select digital/CDMA operation. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2473
		ENetworkOperationDigitalPreferred
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2474
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2475
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2476
	class TMobilePhoneNetworkSelectionV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2477
/** The mobile phone network selection preferences.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2478
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2479
@see GetNetworkSelectionSetting()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2480
@see SetNetworkSelectionSetting()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2481
@see NotifyNetworkSelectionSettingChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2482
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2483
@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2484
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2485
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2486
		IMPORT_C TMobilePhoneNetworkSelectionV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2487
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2488
	/** Phone's network selection function member.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2489
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2490
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2491
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2492
	@see TMobilePhoneSelectionMethod */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2493
		TMobilePhoneSelectionMethod	iMethod;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2494
	/** Phone's band class setting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2495
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2496
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2497
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2498
	@see TMobilePhoneBandClass */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2499
		TMobilePhoneBandClass		iBandClass;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2500
	/** Phone's CDMA operation mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2501
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2502
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2503
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2504
	@see TMobilePhoneOperation */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2505
		TMobilePhoneOperation		iOperationMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2506
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2507
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2508
/** A typedef'd packaged TMobilePhoneNetworkSelectionV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2509
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2510
	typedef TPckg<TMobilePhoneNetworkSelectionV1>  TMobilePhoneNetworkSelectionV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2511
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2512
	IMPORT_C TInt GetNetworkSelectionSetting(TDes8& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2513
	IMPORT_C void SetNetworkSelectionSetting(TRequestStatus& aReqStatus, const TDes8& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2514
	IMPORT_C void NotifyNetworkSelectionSettingChange(TRequestStatus& aReqStatus, TDes8& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2515
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2516
	struct TMobilePhoneNetworkManualSelection
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2517
/** The mobile phone manual network selection parameters.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2518
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2519
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2520
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2521
@see TMobilePhoneNetworkCountryCode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2522
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2523
	/** The MCC of the network
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2524
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2525
	@see TMobilePhoneNetworkCountryCode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2526
		TMobilePhoneNetworkCountryCode iCountry;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2527
	/** The MNC of the network
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2528
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2529
	@see TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2530
		TMobilePhoneNetworkIdentity iNetwork;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2531
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2532
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2533
	IMPORT_C void SelectNetwork(TRequestStatus& aReqStatus, TBool aIsManual, const TMobilePhoneNetworkManualSelection& aManualSelection) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2534
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2535
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2536
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2537
	 // Used to indicate which TMobilePhoneNITZ fields are currently available
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2538
/** The Phone Network Time Zone Capabilities. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2539
	 enum TMobilePhoneNITZCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2540
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2541
	/** Universal Time is available in the current network mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2542
		KCapsTimeAvailable      = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2543
	/** Local time zone is available in the current network mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2544
		KCapsTimezoneAvailable  = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2545
	/** DST is available in the current network mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2546
		KCapsDSTAvailable       = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2547
	/** Short name is available in the current network mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2548
		KCapsShortNameAvailable = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2549
	/** Long name is available in the current network mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2550
		KCapsLongNameAvailable  = 0x00000010
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2551
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2552
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2553
	class TMobilePhoneNITZ : public TDateTime
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2554
/** Defines time and date information received from a mobile phone network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2555
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2556
@see GetNITZInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2557
@see NotifyNITZInfoChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2558
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2559
@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2560
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2561
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2562
		IMPORT_C TMobilePhoneNITZ();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2563
		IMPORT_C TMobilePhoneNITZ(TInt aYear, TMonth aMonth, TInt aDay, TInt aHour, TInt aMinute, TInt aSecond, TInt aMicroSecond);		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2564
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2565
	/** Bitwise sum of TMobilePhoneNITZCaps constants used to indicate which NITZ fields 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2566
	are available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2567
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2568
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2569
		TInt32	                     iNitzFieldsUsed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2570
	/** Time zone, expressed in +/- 15 minute offsets from GMT.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2571
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2572
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2573
		TInt                         iTimeZone;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2574
	/** Daylight Saving Time adjustment for summer time. The adjustment for DST 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2575
	can be +1h or +2h.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2576
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2577
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2578
		TInt	                     iDST;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2579
	/** Network name in "short" representation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2580
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2581
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2582
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2583
	@see TMobilePhoneNetworkShortName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2584
		TMobilePhoneNetworkShortName iShortNetworkId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2585
	/** Network name in "long" representation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2586
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2587
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2588
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2589
	@see TMobilePhoneNetworkLongName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2590
		TMobilePhoneNetworkLongName	 iLongNetworkId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2591
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2592
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2593
	IMPORT_C TInt GetNITZInfo(TMobilePhoneNITZ& aNITZInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2594
	IMPORT_C void NotifyNITZInfoChange(TRequestStatus& aReqStatus, TMobilePhoneNITZ& aNITZInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2595
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2596
	enum { KMaxSPNameSize=16 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2597
	enum { KMaxPLMNFieldSize=251 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2598
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2599
	enum TDisplayRequirements
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2600
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2601
		KDisplayPLMNNotRequired	= 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2602
		KDisplayPLMNRequired	= 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2603
		KDisplaySPNRequired		= 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2604
		KDisplaySPNNotRequired	= 0x00000008
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2605
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2606
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2607
	typedef TUint32 TDisplayRequirementsFlags;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2608
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2609
	class TMobilePhoneServiceProviderNameV2 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2610
/** Used to retrieve the Service Provider Name from the ICC. The 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2611
SP is actually the entity that provides the service. The SP could have contractual 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2612
agreements with several home PLMN that the ME can register to. The display 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2613
preference of the registered PLMN and/or the SPN on the ME can be defined 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2614
on the UICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2615
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2616
@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2617
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2618
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2619
		IMPORT_C TMobilePhoneServiceProviderNameV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2620
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2621
	/** This parameter specifies if the display of the registered PLMN is required. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2622
	Can contain a number of flags from RMobilePhone::TDisplayRequirements.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2623
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2624
		TDisplayRequirementsFlags	iDisplayReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2625
	/** The name of the service provider. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2626
		TBuf<KMaxSPNameSize>	iSPName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2627
		TBuf<KMaxPLMNFieldSize>	iPLMNField;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2628
		}; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2629
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2630
/** A typedef'd packaged TMobilePhoneServiceProviderNameV2 for passing through 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2631
a generic API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2632
	typedef TPckg<TMobilePhoneServiceProviderNameV2> TMobilePhoneServiceProviderNameV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2633
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2634
	IMPORT_C void GetServiceProviderName(TRequestStatus& aReqStatus, TDes8& aName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2635
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2636
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2637
	Network investigation scan settings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2638
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2639
	enum TMobilePhoneInvestigationScan
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2640
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2641
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2642
		Network investigation setting in limited service mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2643
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2644
		KNetworkInvLimited = 0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2645
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2646
		Network investigation setting after successful PLMN selection.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2647
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2648
		KNetworkInvAfterPlmnSelection=0x02		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2649
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2650
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2651
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2652
	Network investigation scan events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2653
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2654
	enum TMobilePhoneInvestigationScanEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2655
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2656
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2657
		No investigation scan events available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2658
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2659
		ENetworkInvestigationNoEvent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2660
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2661
		A higher priority network has been detected, but it does not offer CS Voice.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2662
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2663
		ENetworkInvestigationHighPriorityPlmn
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2664
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2665
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2666
	IMPORT_C TInt GetNetworkInvScanSetting(TMobilePhoneInvestigationScan & aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2667
	IMPORT_C void NotifyNetworkInvScanChange(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScan& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2668
	IMPORT_C void NotifyNetworkInvScanEvent(TRequestStatus& aReqStatus, TMobilePhoneInvestigationScanEvent& aEvent) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2669
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2670
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2671
	/** 251 bytes is the maximum number of octets in an L3 message as defined in3GPP TS 44.006. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2672
	enum { KMaxNetworkNameFieldSize = 251 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2673
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2674
	class TMobilePhoneNetworkNameV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2675
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2676
	Class containing short, long network names and location information for a PLMN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2677
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2678
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2679
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2680
		IMPORT_C TMobilePhoneNetworkNameV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2681
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2682
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2683
		The long name (up to 20 characters) of the network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2684
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2685
		TMobilePhoneNetworkLongName	 iLongName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2686
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2687
		The short name (up to 10 characters) of the network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2688
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2689
		TMobilePhoneNetworkShortName	 iShortName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2690
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2691
		This buffer contains other long and short names for the registered PLMN coded as TLV objects.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2692
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2693
		TBuf<KMaxNetworkNameFieldSize>	 iOtherNames;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2694
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2695
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2696
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2697
 	Packaging typedef for TMobilePhoneNetworkNameV3 class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2698
 	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2699
	typedef TPckg<TMobilePhoneNetworkNameV3>  TMobilePhoneNetworkNameV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2700
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2701
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2702
	class  TMobilePhoneOPlmnV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2703
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2704
	Class containing network name information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2705
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2706
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2707
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2708
		IMPORT_C TMobilePhoneOPlmnV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2709
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2710
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2711
		The MCC of the registered PLMN, with "wild" values specified for the particular digits of the code.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2712
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2713
		TMobilePhoneNetworkCountryCode iCountryCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2714
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2715
		The MNC of the registered PLMN, with "wild" values specified for the particular digits of the code.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2716
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2717
		TMobilePhoneNetworkIdentity iNetworkId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2718
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2719
		The id of the Network Name to be displayed for the (following) location area codes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2720
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2721
		TUint32 iPNNid;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2722
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2723
		First Location area code for defining the entire range of LACs for the registered PLMN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2724
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2725
		TUint iFirstLocationAreaCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2726
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2727
		Last Location area code defining the entire range of LACs for the registered PLMN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2728
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2729
		TUint iLastLocationAreaCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2730
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2731
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2732
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2733
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2734
 	Packaging typedef for TMobilePhoneOPlmnV3 class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2735
 	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2736
	typedef TPckg<TMobilePhoneOPlmnV3>  TMobilePhoneOPlmnV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2737
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2738
	IMPORT_C void GetCurrentNetworkName(TRequestStatus& aReqStatus, TDes8& aNetworkName, TDes8& aLocInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2739
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2740
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2741
	Identifiers for different access technologies.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2742
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2743
	enum TMobilePhoneNetworkAccessCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2744
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2745
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2746
		No network activity.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2747
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2748
		KNetworkAccessUnknown=0x0000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2749
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2750
		Access technology is GSM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2751
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2752
		KNetworkAccessGsm=0x8000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2753
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2754
		Access technology is GSM COMPACT.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2755
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2756
		KNetworkAccessGsmCompact=0x4000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2757
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2758
		Access technology is UTRAN (UMTS only).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2759
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2760
		KNetworkAccessUtran=0x0080
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2761
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2762
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2763
	typedef TUint32 TMobilePhoneNetworkAccessCapsFlags;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2764
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2765
	class TMobilePreferredNetworkEntryV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2766
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2767
	Defines information for a preferred network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2768
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2769
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2770
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2771
		IMPORT_C TMobilePreferredNetworkEntryV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2772
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2773
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2774
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2775
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2776
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2777
		Access Technology supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2778
		Can contain a number of flags from RMobilePhone::TMobilePhoneNetworkAccessCaps.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2779
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2780
		TMobilePhoneNetworkAccessCapsFlags iAccess;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2781
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2782
		Editable preferences in the User-controlled Networks List with Access Technology.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2783
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2784
		TBool iUserDefined;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2785
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2786
		The MCC of the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2787
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2788
		TMobilePhoneNetworkCountryCode iCountryCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2789
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2790
		The MNC of the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2791
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2792
		TMobilePhoneNetworkIdentity iNetworkId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2793
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2794
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2795
	IMPORT_C void StorePreferredNetworksListL(TRequestStatus& aReqStatus, CMobilePhoneStoredNetworkList* aList) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2796
	IMPORT_C void NotifyPreferredNetworksListChange(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2797
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2798
	/***********************************************************************************/		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2799
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2800
	// Mobile Multimedia Call Settings functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2801
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2802
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2803
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2804
/** An enumerated list of settings for multimedia calls. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2805
	enum TMobilePhoneMultimediaSettings
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2806
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2807
	/** Accept all incoming multimedia calls with the fallback option enabled. (default). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2808
		EAcceptMMCallsVoiceFallback,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2809
	/** Accept all incoming multimedia calls, but do not accept voice fallback. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2810
		EAcceptMMCallsNoFallback,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2811
	/** Reject all incoming multimedia calls. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2812
		ERejectMMCalls,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2813
	/** Reject all incoming multimedia calls, but drop to voice instead. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2814
		EAnswerMMCallsAsVoice
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2815
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2816
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2817
	IMPORT_C void SetMultimediaCallPreference(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings aMmSettings) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2818
	IMPORT_C TInt GetMultimediaCallPreference(TMobilePhoneMultimediaSettings& aMmSettings) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2819
	IMPORT_C void NotifyMultimediaCallPreferenceChange(TRequestStatus& aReqStatus, TMobilePhoneMultimediaSettings& aMmSettings);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2820
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2821
	/***********************************************************************************/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2822
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2823
	// MobilePrivacy functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2824
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2825
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2826
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2827
/** The mobile phone privacy settings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2828
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2829
Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2830
	enum TMobilePhonePrivacy
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2831
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2832
	/** The privacy setting is unspecified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2833
		EPrivacyUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2834
	/** The privacy setting is set to ON. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2835
		EPrivacyOn,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2836
	/** The privacy setting is set to OFF. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2837
		EPrivacyOff
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2838
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2839
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2840
	IMPORT_C TInt GetDefaultPrivacy(TMobilePhonePrivacy& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2841
	IMPORT_C void SetDefaultPrivacy(TRequestStatus& aReqStatus, TMobilePhonePrivacy aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2842
	IMPORT_C void NotifyDefaultPrivacyChange(TRequestStatus& aReqStatus, TMobilePhonePrivacy& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2843
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2844
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2845
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2846
	// TSY Capabilities for supplementary call services
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2847
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2848
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2849
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2850
/** The call services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2851
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2852
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2853
	enum TMobilePhoneCallServiceCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2854
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2855
	/** Phone supports retrieval of call forwarding status from a cache on the phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2856
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2857
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2858
		KCapsGetCFStatusCache				=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2859
	/** Phone supports retrieval of call forwarding status from the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2860
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2861
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2862
		KCapsGetCFStatusNetwork				=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2863
	/** Phone supports setting of call forwarding status (and registered information) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2864
	in the network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2865
		KCapsSetCFStatus					=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2866
	/** Phone supports notification of change in status of any call forwarding service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2867
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2868
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2869
		KCapsNotifyCFStatus					=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2870
	/** Phone supports retrieval of CLIP status from either a cache or the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2871
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2872
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2873
		KCapsGetClipStatus					=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2874
	/** Phone supports retrieval of CLIR status from either a cache or the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2875
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2876
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2877
		KCapsGetClirStatus					=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2878
	/** Phone supports retrieval of COLP status from either a cache or the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2879
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2880
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2881
		KCapsGetColpStatus					=0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2882
	/** Phone supports retrieval of COLR status from either a cache or the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2883
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2884
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2885
		KCapsGetColrStatus					=0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2886
	/** Phone supports retrieval of CNAP status from either a cache or the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2887
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2888
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2889
		KCapsGetCnapStatus					=0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2890
	/** Phone supports retrieval of call barring status from a cache on the phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2891
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2892
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2893
		KCapsGetCBStatusCache				=0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2894
	/** Phone supports retrieval of call barring status from the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2895
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2896
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2897
		KCapsGetCBStatusNetwork				=0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2898
	/** Phone supports setting of call barring status in the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2899
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2900
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2901
		KCapsSetCBStatus					=0x00000800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2902
	/** Phone supports notification of change in call barring status for any service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2903
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2904
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2905
		KCapsNotifyCBStatus					=0x00001000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2906
	/** Phone supports setting of a password for call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2907
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2908
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2909
		KCapsChangeCBPassword				=0x00002000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2910
	/** Phone supports BAIC call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2911
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2912
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2913
		KCapsBarAllIncoming					=0x00004000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2914
	/** Phone supports BIC-Roam call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2915
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2916
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2917
		KCapsBarIncomingRoaming				=0x00008000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2918
	/** Phone supports BAOC call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2919
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2920
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2921
		KCapsBarAllOutgoing					=0x00010000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2922
	/** Phone supports BOIC call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2923
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2924
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2925
		KCapsBarOutgoingInternational		=0x00020000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2926
	/** Phone supports BOIC-ExHC call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2927
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2928
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2929
		KCapsBarOutgoingInternationalExHC	=0x00040000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2930
	/** Phone supports barring all cases at once.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2931
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2932
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2933
		KCapsBarAllCases					=0x00080000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2934
	/** Phone supports retrieval of call waiting status from a cache on the phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2935
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2936
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2937
		KCapsGetCWStatusCache				=0x00100000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2938
	/** Phone supports retrieval of call waiting status from the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2939
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2940
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2941
		KCapsGetCWStatusNetwork				=0x00200000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2942
	/** Phone supports setting of call waiting status in the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2943
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2944
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2945
		KCapsSetCWStatus					=0x00400000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2946
	/** Phone supports notification of change in call waiting status for any service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2947
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2948
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2949
		KCapsNotifyCWStatus					=0x00800000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2950
	/** Phone supports retrieval of call completion (CCBS) status from a cache on the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2951
	phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2952
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2953
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2954
		KCapsGetCCBSStatusCache				=0x01000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2955
	/** Phone supports retrieval of call completion (CCBS) status from the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2956
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2957
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2958
		KCapsGetCCBSStatusNetwork			=0x02000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2959
	/** Phone supports deactivation of all CCBS requests at once.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2960
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2961
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2962
		KCapsDeactivateAllCCBS				=0x04000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2963
		KCapsDeactivateCCBS					=0x08000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2964
	/** Phone supports retrieval of a list of active CCBS requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2965
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2966
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2967
		KCapsRetrieveActiveCCBS				=0x10000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2968
	/** The phone supports programming and retrieval of feature code against a CDMA 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2969
	network service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2970
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2971
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2972
		KCapsFeatureCode					=0x20000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2973
	/** The phone supports sending of generic network service request strings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2974
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2975
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2976
		KCapsNetworkServiceRequest			=0x40000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2977
	/** The phone supports retrieval of called line identification status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2978
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2979
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2980
		KCapsGetCdipStatus					=0x80000000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2981
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2982
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2983
	IMPORT_C TInt GetCallServiceCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2984
	IMPORT_C void NotifyCallServiceCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2985
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2986
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2987
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2988
	// MobilePhoneUserNetworkAccess functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2989
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2990
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2991
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2992
/** Mobile Phone network services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2993
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2994
Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2995
	enum TMobilePhoneNetworkService
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2996
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2997
	/** Network service is unspecified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2998
		ENetworkServiceUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  2999
	/** Feature code applies to call forwarding unconditional service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3000
		ECFUService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3001
	/** Feature code applies to call forwarding on busy service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3002
		ECFBService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3003
	/** Feature code applies to call forwarding on no reply service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3004
		ECFNRyService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3005
	/** Feature code applies to call forwarding on not reachable service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3006
		ECFNRcService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3007
	/** Feature code applies to user selective call forwarding service - when the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3008
	user wishes to forward incoming call to voicemail. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3009
		EDeflectToVoicemail,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3010
	/** Feature code applies to user selective call forwarding service - when the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3011
	user wishes to forward incoming call to a number supplied within the deflect 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3012
	request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3013
		EDeflectToNumber,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3014
	/** Feature code applies to user selective call forwarding service - when the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3015
	user wishes to forward incoming call to a number pre-registered within the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3016
	network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3017
		EDeflectToRegisteredNumber,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3018
	/** Feature code applies to call waiting service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3019
		ECWService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3020
		ENextCallShowCLI,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3021
	/** Feature code applies to caller ID restriction service - when user wishes to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3022
	hide their ID for the next call they make. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3023
		ENextCallHideCLI
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3024
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3025
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3026
/** Mobile phone service actions.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3027
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3028
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3029
	enum TMobilePhoneServiceAction
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3030
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3031
	/** The action is unspecified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3032
		EServiceActionUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3033
	/** The client is registering new service information. If the service was not active 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3034
	then this action also activates the service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3035
		EServiceActionRegister,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3036
	/** The client is activating the service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3037
		EServiceActionActivate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3038
	/** The client is invoking the service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3039
		EServiceActionInvoke,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3040
	/** The client is deactivating the service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3041
		EServiceActionDeactivate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3042
	/** The client is erasing the currently registered service information. If the service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3043
	was active then this action also deactivates the service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3044
		EServiceActionErase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3045
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3046
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3047
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3048
	Defines the type of SS operation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3049
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3050
	enum TMobilePhoneNotifySendSSOperation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3051
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3052
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3053
		SS Invoke operation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3054
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3055
		ESendSSInvoke,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3056
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3057
		SS ReturnResult operation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3058
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3059
		ESendSSReturnResult,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3060
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3061
		SS ReturnError operation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3062
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3063
		ESendSSReturnError,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3064
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3065
		SS Reject operation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3066
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3067
		ESendSSReject		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3068
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3069
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3070
	/** Size of additional info buffer. */	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3071
	enum{ KAdditionalInfoSize = 244 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3072
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3073
	class TMobilePhoneSendSSRequestV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3074
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3075
	Contains the operation code and buffer to hold any additional information when receiving a notification 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3076
	about a network service request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3077
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3078
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3079
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3080
		IMPORT_C TMobilePhoneSendSSRequestV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3081
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3082
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3083
		This is the Operation Code for a Send SS Invoke or Return result events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3084
		This is the Error or Problem Code for a Send SS Return Error or Reject events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3085
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3086
		TUint8	iOpCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3087
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3088
		The additional information (parameters) for a Send SS Invoke or Return result or Return Error events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3089
		This is not used for a Send SS Reject event
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3090
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3091
		TBuf<KAdditionalInfoSize>	iAdditionalInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3092
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3093
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3094
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3095
 	Packaging typedef for TMobilePhoneSendSSRequestV3 class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3096
 	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3097
	typedef TPckg<TMobilePhoneSendSSRequestV3> TMobilePhoneSendSSRequestV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3098
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3099
	// API/TSY internal type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3101
	struct TNetworkServiceAndAction
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3102
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3103
		TMobilePhoneNetworkService iService;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3104
		TMobilePhoneServiceAction iAction;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3105
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3106
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3107
	IMPORT_C void ProgramFeatureCode(TRequestStatus& aReqStatus, const TDesC& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3108
	IMPORT_C void GetFeatureCode(TRequestStatus& aReqStatus, TDes& aFCString, TMobilePhoneNetworkService aService, TMobilePhoneServiceAction aAction) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3109
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3110
	IMPORT_C void SendNetworkServiceRequest(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3111
	IMPORT_C void SendNetworkServiceRequestNoFdnCheck(TRequestStatus& aReqStatus, const TDesC& aServiceString) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3112
	IMPORT_C void NotifySendNetworkServiceRequest(TRequestStatus& aReqStatus, const TMobilePhoneNotifySendSSOperation aOperation, TDes8& aRequestComplete) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3113
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3114
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3115
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3116
	// MobilePhoneCallForwarding functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3117
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3118
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3119
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3120
/** The Call Forwarding flavours.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3121
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3122
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3123
	enum TMobilePhoneCFCondition
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3124
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3125
	/** The call forwarding service is unspecified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3126
		ECallForwardingUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3127
	/** All calls to this subscriber are forwarded. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3128
		ECallForwardingUnconditional,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3129
	/** Calls are forwarded when this subscriber is busy. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3130
		ECallForwardingBusy,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3131
	/** Calls are forwarded when this subscriber does not reply within a time-out period. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3132
		ECallForwardingNoReply,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3133
	/** Calls are forwarded when this subscriber is unreachable. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3134
		ECallForwardingNotReachable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3135
	/** All of above CF services. Can be used to check all 4 call forwarding Fs 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3136
	at once. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3137
		ECallForwardingAllCases,			// combination of all four above cases
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3138
	/** All the conditional (busy, no reply, not reachable) CF services. Can be used 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3139
	to check all 3 conditional call forwarding conditions at once. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3140
		ECallForwardingAllConditionalCases	// combination of CFB, CFNRy and CFNRc
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3141
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3142
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3143
/** The Call Forwarding status
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3144
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3145
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3146
	enum TMobilePhoneCFStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3147
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3148
	/** The CF service is currently active and operative. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3149
		ECallForwardingStatusActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3150
	/** The CF service is currently deactivated. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3151
		ECallForwardingStatusNotActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3152
	/** The CF service is not registered. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3153
		ECallForwardingStatusNotRegistered,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3154
	/** The CF service is not provisioned. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3155
		ECallForwardingStatusNotProvisioned,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3156
	/** The CF service is not available in the serving network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3157
		ECallForwardingStatusNotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3158
	/** The phone can not determine CF service status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3159
		ECallForwardingStatusUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3160
	/** The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3161
	to allowed */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3162
		ECallForwardingStatusActivePIAllowed,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3163
	/** The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3164
	to not available */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3165
		ECallForwardingStatusActivePINotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3166
	/** The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3167
	to restricted
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3168
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3169
	The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3170
	to restricted and screening returns "User provided, verified and passed". */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3171
		ECallForwardingStatusActivePIClir,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3172
	/** The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3173
	to restricted and screening returns "User provided, not screened". */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3174
		ECallForwardingStatusActivePIClirSIVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3175
	/** The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3176
	to "restricted" and screening returns "Network provided". */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3177
		ECallForwardingStatusActivePIClirSINotScreened,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3178
	/** The Call Forwarding service is active and the presentation indicator is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3179
	to "restricted" and screening returns "Network provided". */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3180
		ECallForwardingStatusActivePIClirSINetwork,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3181
	/** The CF service is currently in the quiescent state. */	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3182
		ECallForwardingStatusQuiescent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3183
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3184
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3185
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3186
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3187
	class TMobilePhoneCFInfoEntryV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3188
/** Defines information about the call forwarding service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3189
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3190
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3191
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3192
@see CMobilePhoneCFList
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3193
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3194
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3195
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3196
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3197
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3198
		IMPORT_C TMobilePhoneCFInfoEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3199
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3200
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3201
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3202
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3203
	/** The CF service of this list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3204
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3205
	@see TMobilePhoneCFCondition */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3206
		TMobilePhoneCFCondition iCondition;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3207
	/** The basic service group associated to this CF service list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3208
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3209
	@see TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3210
		TMobileService iServiceGroup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3211
	/** The current status of the call forwarding condition.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3212
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3213
	@see TMobilePhoneCFStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3214
		TMobilePhoneCFStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3215
	/** The "forward-to" telephone number registered for the call forwarding condition. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3216
	An empty string if CF service is not registered, not provisioned or not available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3217
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3218
	@see TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3219
		TMobileAddress iNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3220
	/** The "No Reply" time-out (in seconds) registered for the call forwarding no reply 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3221
	condition.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3222
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3223
	Equals to -1 if this value is not applicable. In GSM mode, will be between 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3224
	5 and 30 and in steps of 5 if this value is applicable. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3225
		TInt iTimeout; // valid for CFRNy only
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3226
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3227
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3228
	IMPORT_C void NotifyCallForwardingStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCFCondition& aCondition) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3229
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3230
	class TMobilePhoneCFChangeV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3231
/** Defines the call forward information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3232
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3233
@see SetCallForwardingStatus()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3234
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3235
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3236
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3237
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3238
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3239
		IMPORT_C TMobilePhoneCFChangeV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3240
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3241
	/** The basic service group(s) to apply the CF status change to.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3242
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3243
	@see TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3244
		TMobileService iServiceGroup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3245
	/** The service action for call forwarding.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3246
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3247
	@see TMobilePhoneServiceAction */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3248
		TMobilePhoneServiceAction iAction;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3249
	/** A new "forward-to" number to be registered against the CF condition. This is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3250
	applicable if iAction=EServiceActionRegister. In other cases, it is set to
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3251
	an empty string.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3252
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3253
	@see TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3254
		TMobileAddress iNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3255
	/** The new "No Reply" time-out in seconds to be registered. This is applicable 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3256
	if the CF condition is CFNRy and iAction=EServiceActionRegister. Equals -1 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3257
	if this value is not applicable. If applicable, in GSM mode will be between 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3258
	5 and 30 and in steps of 5. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3259
		TInt iTimeout;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3260
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3261
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3262
	IMPORT_C void SetCallForwardingStatus(TRequestStatus& aReqStatus, TMobilePhoneCFCondition aCondition, const TMobilePhoneCFChangeV1& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3263
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3264
/** Call Forwarding Active Notification
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3265
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3266
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3267
	enum TMobilePhoneCFActive
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3268
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3269
	/** CF Unconditional is currently active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3270
		ECFUnconditionalActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3271
	/** CF Busy, CF No Reply or CF Not Reachable is currently active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3272
		ECFConditionalActive
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3273
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3274
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3275
	IMPORT_C void NotifyCallForwardingActive(TRequestStatus& aReqStatus, TMobileService& aServiceGroup, TMobilePhoneCFActive& aActiveType) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3276
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3277
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3278
	Current status indicators for unconditional call forwarding.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3279
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3280
	enum TCFUIndicatorStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3281
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3282
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3283
		CFU Indicator status unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3284
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3285
		KCFUIndicatorUnknown = 0x0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3286
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3287
		CFU Indicator status for Voice (TMobileServiceGroup EVoice).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3288
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3289
		KCFUIndicatorVoice=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3290
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3291
		CFU Indicator status for Fax (TMobileServiceGroup EFax).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3292
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3293
		KCFUIndicatorFax=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3294
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3295
		CFU Indicator status for Data Teleservices(TMobileServiceGroup EData).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3296
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3297
		KCFUIndicatorData=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3298
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3299
		CFU Indicator status for Sms (TMobileServiceGroup ESms).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3300
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3301
		KCFUIndicatorSms=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3302
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3303
		CFU Indicator status for Data Bearer Services(TMobileServiceGroup EDataBearer).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3304
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3305
		KCFUIndicatorDataBearer=0x10
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3306
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3307
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3308
	typedef TUint32 TCFUIndicatorStatusFlags;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3309
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3310
	class TMobilePhoneCFUIndicatorV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3311
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3312
	Contains indicator parameters for unconditional call forwarding.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3313
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3314
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3315
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3316
		IMPORT_C TMobilePhoneCFUIndicatorV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3317
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3318
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3319
		Current setting for indicator status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3320
		Can contain a number of flags from RMobilePhone::TCFUIndicatorStatus.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3321
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3322
		TCFUIndicatorStatusFlags iIndicator;		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3323
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3324
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3325
	typedef TPckg<TMobilePhoneCFUIndicatorV3> TMobilePhoneCFUIndicatorV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3326
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3327
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3328
	The MSP number contains the Profile Identity of the subscriber profile.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3329
	The Profile Identity shall be any of the following enlisted.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3330
	@see 3GPP TS 31.102 v7.4.1 section 4.2.64
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3331
	@see 3GPP TS 23.097 [36]
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3332
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3333
	enum TMultipleSubscriberProfileID
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3334
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3335
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3336
		Profile Identity Unknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3337
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3338
		KProfileIdentityUnknown = 0x0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3339
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3340
		Profile Identity 1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3341
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3342
		KProfileIdentityOne = 0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3343
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3344
		Profile Identity 2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3345
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3346
		KProfileIdentityTwo = 0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3347
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3348
		Profile Identity 3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3349
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3350
		KProfileIdentityThree = 0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3351
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3352
		Profile Identity 4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3353
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3354
		KProfileIdentityFour = 0x08
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3355
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3356
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3357
	class TMobilePhoneCFUIndicatorV6 : public TMobilePhoneCFUIndicatorV3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3358
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3359
	Contains the indicator parameters for unconditional call forwarding.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3360
	The TMobilePhoneCFUIndicatorV6 supports MSP number(Multiple Subscriber Profile) and Call Forwarding Number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3361
	Upto four different profiles can be provisioned against a subscriber using the MSP feature.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3362
	@see 3GPP TS 31.102 v7.4.1 section 4.2.64
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3363
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3364
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3365
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3366
		IMPORT_C TMobilePhoneCFUIndicatorV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3367
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3368
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3369
		@see RMoblie::TMobileAddress
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3370
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3371
		TMobileAddress iCFNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3372
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3373
		The profile IDs allow unambiguous identification of each profile. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3374
		This will allow the subscriber to select the preferred profile for outgoing calls and for subscriber actions. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3375
		For terminating calls the profile ID shall be part of the notification of the profile.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3376
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3377
		TMultipleSubscriberProfileID iMultipleSubscriberProfileID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3378
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3379
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3380
	typedef TPckg<TMobilePhoneCFUIndicatorV6> TMobilePhoneCFUIndicatorV6Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3381
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3382
	IMPORT_C void GetCallForwardingIndicator(TRequestStatus& aReqStatus, TDes8& aIndicator) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3383
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3384
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3385
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3386
	// Mobile Identity Service functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3387
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3388
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3389
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3390
/** Phone ID services (CLIP/CNIP/CLIR).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3391
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3392
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3393
	enum TMobilePhoneIdService
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3394
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3395
	/** The identity service is unspecified */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3396
		EIdServiceUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3397
	/** The caller's ID is presented to the called party. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3398
		EIdServiceCallerPresentation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3399
	/** The caller's ID is restricted to the called party. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3400
		EIdServiceCallerRestriction,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3401
	/** The connected party's ID is presented to the calling party. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3402
		EIdServiceConnectedPresentation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3403
	/** The connected party's ID is restricted to the calling party. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3404
		EIdServiceConnectedRestriction,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3405
	/** The caller's name is presented to the called party. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3406
		EIdServiceCallerName,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3407
	/** The called party is presented with the caller's ID. This command enables a 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3408
	called subscriber to get the called line identification of the called party 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3409
	when receiving a mobile terminated call. - maps to +CDIP. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3410
		EIdServiceCalledPresentation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3411
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3412
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3413
/** Service status of the Phone ID services (CLIP/CLIR/CNIP).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3414
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3415
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3416
	enum TMobilePhoneIdServiceStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3417
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3418
	/** The interrogated Identity service is provisioned and active. This status is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3419
	used for all identity services and in the case of the CLIR service means that 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3420
	it is permanently active with no subscription option set. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3421
		EIdServiceActivePermanent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3422
	/** This status is used for the CLIR service only and means that the service is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3423
	provisioned and active.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3424
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3425
	The CLIR subscription option is set to "Temporary, default restricted", therefore 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3426
	identity is always restricted unless over-ridden by the user during a call 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3427
	set-up. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3428
		EIdServiceActiveDefaultRestricted,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3429
	/** This status is used for the CLIR service only and means that the service is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3430
	provisioned and active.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3431
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3432
	The CLIR subscription option is set to "Temporary, default allowed", therefore 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3433
	identity is always allowed unless over-ridden by the user during a call set-up. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3434
		EIdServiceActiveDefaultAllowed,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3435
	/** The interrogated Identity service is not provisioned. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3436
		EIdServiceNotProvisioned,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3437
	/** The status of the interrogated Identity service is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3438
		EIdServiceUnknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3439
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3440
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3441
	// for use by client-side API code and TSY only
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3442
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3443
	struct TIdServiceAndLocation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3444
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3445
		TMobilePhoneIdService iService;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3446
		TMobileInfoLocation iLocation;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3447
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3448
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3449
	/** This function member retrieves the current status of the identity service specified.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3450
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3451
	The phone will retrieve this service status information from the location 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3452
	specified by the client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3453
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3454
	If the client has requested EInfoLocationCache but there is no valid status 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3455
	information in the cache then the request will return KErrNotFound.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3456
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3457
	If the client has requested EInfoLocationCachePreferred, the network will 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3458
	be interrogated if the cache is empty. Whenever the network is interrogated, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3459
	the cache will be refreshed with the information from the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3460
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3461
	Use RTelSubSessionBase::CancelAsyncRequest(EMobilePhoneGetIdentityServiceStatus) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3462
	to cancel a previously placed asynchronous GetIdentityServiceStatus() request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3463
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3464
	@param aReqStatus On return, KErrNone if successful.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3465
	@param aService The identity service to be queried.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3466
	@param aStatus On return, the service status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3467
	@param aLocation The location to use. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3468
	IMPORT_C void GetIdentityServiceStatus(TRequestStatus& aReqStatus, TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3469
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3470
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3471
	Identifies default service status for provisioned identity services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3472
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3473
	enum TMobilePhoneIdServiceSetting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3474
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3475
		/** Sets the default setting to network default (unknown). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3476
		EIdServiceNetworkDefault,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3477
		/** Sets the default setting to presentation restricted. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3478
		EIdServicePresentationRestricted,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3479
		/** Sets the default setting to presentation allowed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3480
		EIdServicePresentationAllowed
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3481
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3482
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3483
	IMPORT_C void SetIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, const TMobilePhoneIdServiceSetting aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3484
	IMPORT_C void NotifyIdentityServiceStatus(TRequestStatus& aReqStatus, const TMobilePhoneIdService aService, TMobilePhoneIdServiceStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3485
	IMPORT_C void NotifyIdentitySuppressionRejected(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3486
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3487
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3488
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3489
	// Mobile Call Barring Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3490
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3491
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3492
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3493
/** Mobile Phone Call Baring Conditions.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3494
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3495
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3496
	enum TMobilePhoneCBCondition
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3497
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3498
	/** The barring program is unspecified */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3499
		EBarUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3500
	/** All incoming calls to this subscriber are barred (BAIC). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3501
		EBarAllIncoming,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3502
	/** All incoming calls to this subscriber are barred when roaming outside the home 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3503
	PLMN country (BIC-roam). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3504
		EBarIncomingRoaming,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3505
	/** All outgoing calls by this subscriber are barred (BAOC). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3506
		EBarAllOutgoing,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3507
	/** All outgoing international calls by this subscriber are barred (BOIC). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3508
		EBarOutgoingInternational,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3509
	/** All outgoing international calls except those directed to the home PLMN country 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3510
	by this subscriber are barred (BOIC-ExHC). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3511
		EBarOutgoingInternationalExHC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3512
	/** All of above CB services. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3513
		EBarAllCases,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3514
		EBarAllOutgoingServices,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3515
		EBarAllIncomingServices
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3516
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3517
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3518
/** Mobile Phone Call Barring Status and Information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3519
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3520
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3521
	enum TMobilePhoneCBStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3522
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3523
	/** The CB service is currently active and operative. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3524
		ECallBarringStatusActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3525
	/** The CB service is currently deactivated or quiescent. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3526
		ECallBarringStatusNotActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3527
	/** In GSM/WCDMA mode, the CB service is not provisioned. In CDMA mode, this value 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3528
	has no meaning. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3529
		ECallBarringStatusNotProvisioned,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3530
	/** In GSM/WCDMA mode, the CB service is not available in serving network. In CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3531
	mode, the CB service is not available in the phone. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3532
		ECallBarringStatusNotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3533
	/** The phone can not determine CB service status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3534
		ECallBarringStatusUnknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3535
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3536
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3537
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3538
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3539
	class TMobilePhoneCBInfoEntryV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3540
/** Defines information about the call barring service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3541
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3542
@see CMobilePhoneCBList
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3543
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3544
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3545
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3546
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3547
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3548
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3549
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3550
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3551
		IMPORT_C TMobilePhoneCBInfoEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3552
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3553
	/** The CB service of this list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3554
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3555
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3556
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3557
	@see TMobilePhoneCBCondition */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3558
		TMobilePhoneCBCondition iCondition;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3559
	/** The service group associated to this list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3560
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3561
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3562
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3563
	@see TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3564
		TMobileService iServiceGroup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3565
	/** The CB service status of this list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3566
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3567
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3568
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3569
	@see TMobilePhoneCBStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3570
		TMobilePhoneCBStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3571
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3572
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3573
	class TMobilePhoneCBInfoEntryV3 : public TMobilePhoneCBInfoEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3574
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3575
	V3 class extending TMobilePhoneCBInfoEntryV1 to add a comparison method parameter.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3576
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3577
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3578
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3579
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3580
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3581
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3582
		IMPORT_C TMobilePhoneCBInfoEntryV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3583
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3584
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3585
		The comparison method associated with this CB entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3586
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3587
		TUint8 iCompMethod;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3588
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3589
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3590
	class TMobilePhoneCBChangeV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3591
/** Mobile Phone Call Barring Change.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3592
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3593
@see SetCallBarringStatus() 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3594
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3595
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3596
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3597
		IMPORT_C TMobilePhoneCBChangeV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3598
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3599
	/** The basic service group(s) to apply the CB status change to.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3600
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3601
	@see TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3602
		TMobileService iServiceGroup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3603
	/** The service action for call barring.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3604
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3605
	@see TMobilePhoneServiceAction */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3606
		TMobilePhoneServiceAction iAction;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3607
	/** Password required to perform the call barring service action.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3608
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3609
	@see TMobilePassword */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3610
		TMobilePassword iPassword;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3611
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3612
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3613
	IMPORT_C void SetCallBarringStatus(TRequestStatus& aReqStatus, TMobilePhoneCBCondition aCondition, const TMobilePhoneCBChangeV1& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3614
	IMPORT_C void NotifyCallBarringStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCBCondition& aCondition) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3615
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3616
	class TMobilePhonePasswordChangeV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3617
/** Mobile phone password change.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3618
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3619
@see SetCallBarringPassword()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3620
@see ChangeSecurityCode()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3621
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3622
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3623
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3624
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3625
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3626
		IMPORT_C TMobilePhonePasswordChangeV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3627
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3628
	/** Old password.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3629
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3630
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3631
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3632
	@see TMobilePassword */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3633
		TMobilePassword iOldPassword;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3634
	/** New password.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3635
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3636
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3637
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3638
	@see TMobilePassword */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3639
		TMobilePassword iNewPassword;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3640
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3641
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3642
	IMPORT_C void SetCallBarringPassword(TRequestStatus& aReqStatus, const TMobilePhonePasswordChangeV1& aPassword) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3643
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3644
	class TMobilePhonePasswordChangeV2 : public TMobilePhonePasswordChangeV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3645
/** Mobile phone password change version 2. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3646
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3647
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3648
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3649
		IMPORT_C TMobilePhonePasswordChangeV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3650
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3651
	/** Verified password.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3652
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3653
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3654
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3655
	@see TMobilePassword */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3656
		TMobilePassword iVerifiedPassword;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3657
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3658
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3659
/** A typedef'd packaged TMobilePhonePasswordChangeV2 passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3660
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3661
	typedef TPckg<TMobilePhonePasswordChangeV2> TMobilePhonePasswordChangeV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3662
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3663
	IMPORT_C void SetSSPassword(TRequestStatus& aReqStatus, const TDesC8& aPassword, const TInt aService) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3664
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3665
	IMPORT_C void GetCompMethodName(TRequestStatus& aReqStatus, TDes& aAlphaTag, const TUint8 aCmi) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3666
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3667
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3668
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3669
	// Mobile Call Waiting Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3670
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3671
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3672
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3673
/** The mobile phone call waiting status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3674
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3675
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3676
	enum TMobilePhoneCWStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3677
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3678
	/** The CW service is currently active and operative. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3679
		ECallWaitingStatusActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3680
	/** The CW service is currently deactivated or quiescent. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3681
		ECallWaitingStatusNotActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3682
	/** The CW service is not provisioned. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3683
		ECallWaitingStatusNotProvisioned,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3684
	/** The CW service is not available in the serving network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3685
		ECallWaitingStatusNotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3686
	/** The phone can not determine CW service status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3687
		ECallWaitingStatusUnknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3688
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3689
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3690
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3691
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3692
	class TMobilePhoneCWInfoEntryV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3693
/** Defines information about the call waiting service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3694
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3695
@see CMobilePhoneCWList 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3696
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3697
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3698
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3699
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3700
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3701
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3702
		IMPORT_C TMobilePhoneCWInfoEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3703
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3704
	/** The service group associated to this CW service list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3705
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3706
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3707
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3708
	@see TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3709
		TMobileService iServiceGroup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3710
	/** The CW service status of this list entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3711
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3712
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3713
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3714
	@see TMobilePhoneCWStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3715
		TMobilePhoneCWStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3716
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3717
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3718
/** A typedef'd packaged TMobilePhoneCWInfoEntryV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3719
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3720
	typedef TPckg<TMobilePhoneCWInfoEntryV1> TMobilePhoneCWInfoEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3721
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3722
	IMPORT_C void SetCallWaitingStatus(TRequestStatus& aReqStatus, TMobileService aServiceGroup, TMobilePhoneServiceAction aAction) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3723
	IMPORT_C void NotifyCallWaitingStatusChange(TRequestStatus& aReqStatus, TDes8& aCWStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3724
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3725
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3726
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3727
	// Mobile Call Completion Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3728
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3729
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3730
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3731
/** The Call Completion Busy Subscriber status of the phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3732
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3733
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3734
	enum TMobilePhoneCCBSStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3735
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3736
	/** User has CCBS provisioned and there is at least 1 (and up to 5) active CCBS 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3737
	requests. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3738
		ECcbsActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3739
	/** User has CCBS provisioned but there are currently no active CCBS requests. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3740
		ECcbsNotActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3741
	/** User has not subscribed to the CCBS service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3742
		ECcbsNotProvisioned,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3743
	/** The CCBS service is not available in the serving network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3744
		ECcbsNotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3745
	/** MS is unable to determine status of the CCBS service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3746
		ECcbsUnknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3747
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3748
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3749
/** CCBS recall events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3750
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3751
@see RMobilePhone::TMobilePhoneCCBSEntryV2 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3752
	enum TCCBSRecallEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3753
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3754
	/** Recall received. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3755
		ECcbsRecallReceived,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3756
	/** Recall accepted. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3757
		ECcbsRecallAccepted,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3758
	/** Recall refused. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3759
		ECcbsRecallRefused,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3760
	/** Recall reason unspecified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3761
		ECcbsRecallUnspecified
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3762
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3763
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3764
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3765
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3766
	class TMobilePhoneCCBSEntryV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3767
/** Defines information about the call completion (CCBS) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3768
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3769
@see CMobilePhoneCcbsList
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3770
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3771
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3772
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3773
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3774
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3775
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3776
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3777
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3778
		IMPORT_C TMobilePhoneCCBSEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3779
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3780
	/** The CCBS index - a number allocated by the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3781
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3782
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3783
		TInt			iCcbsIndex;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3784
	/** The basic service group (voice/data/fax) this CCBS request is applicable to.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3785
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3786
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3787
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3788
	@see TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3789
		TMobileService	iServiceGroup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3790
	/** The phone number of the remote party to whom the CCBS request is aimed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3791
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3792
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3793
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3794
	@see TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3795
		TMobileAddress	iDestination;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3796
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3797
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3798
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3799
/** A typedef'd packaged TMobilePhoneCCBSEntryV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3800
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3801
	typedef TPckg<TMobilePhoneCCBSEntryV1> TMobilePhoneCCBSEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3802
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3803
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3804
	class TMobilePhoneCCBSEntryV2 : public TMobilePhoneCCBSEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3805
/** Defines information about the call completion (CCBS) service version 2. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3806
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3807
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3808
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3809
		IMPORT_C	TMobilePhoneCCBSEntryV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3810
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3811
		TCCBSRecallEvent	iEvent;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3812
		}; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3813
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3814
/** A typedef'd packaged TMobilePhoneCCBSEntryV2 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3815
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3816
	typedef TPckg<TMobilePhoneCCBSEntryV2> TMobilePhoneCCBSEntryV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3817
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3818
	IMPORT_C void GetCCBSStatus(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus, TMobileInfoLocation aLocation = EInfoLocationCachePreferred) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3819
	IMPORT_C void NotifyCCBSStatusChange(TRequestStatus& aReqStatus, TMobilePhoneCCBSStatus& aCcbsStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3820
	IMPORT_C void DeactivateCCBS(TRequestStatus& aReqStatus, TInt aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3821
	IMPORT_C void NotifyCCBSRecall(TRequestStatus& aReqStatus, TDes8& aCCBSEntry) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3822
	IMPORT_C void AcceptCCBSRecall(TRequestStatus& aReqStatus, TInt aIndex, TName& aCallName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3823
	IMPORT_C TInt RefuseCCBSRecall(TInt aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3824
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3825
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3826
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3827
	// Mobile Alternating Call Function Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3828
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3829
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3830
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3831
/** Alternating Call Capabilities
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3832
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3833
Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3834
	enum TMobilePhoneAlternatingCallCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3835
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3836
	/** Phone supports outgoing Voice/Data calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3837
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3838
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3839
		KCapsMOVoiceData = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3840
	/** Phone supports outgoing Voice Then Data calls.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3841
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3842
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3843
		KCapsMOVoiceThenData = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3844
	/** Phone supports outgoing Voice/Fax calls.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3845
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3846
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3847
		KCapsMOVoiceFax	= 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3848
	/** Phone supports incoming Voice/Data calls.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3849
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3850
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3851
		KCapsMTVoiceData = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3852
	/** Phone supports incoming Voice Then Data calls.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3853
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3854
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3855
		KCapsMTVoiceThenData = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3856
	/** Phone supports incoming Voice/Fax calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3857
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3858
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3859
		KCapsMTVoiceFax = 0x00000020
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3860
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3861
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3862
	IMPORT_C TInt GetAlternatingCallCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3863
	IMPORT_C void NotifyAlternatingCallCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3864
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3865
/** Alternating Call Mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3866
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3867
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3868
	enum TMobilePhoneAlternatingCallMode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3869
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3870
	/** The alternating call mode is unspecified
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3871
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3872
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3873
		EAlternatingModeUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3874
	/** Next call will use a single bearer service - default setting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3875
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3876
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3877
		EAlternatingModeSingle,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3878
	/** Next call will use voice/data alternating bearer service. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3879
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3880
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3881
		EAlternatingModeVoiceData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3882
	/** Next call will use voice then data alternating bearer service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3883
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3884
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3885
		EAlternatingModeVoiceThenData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3886
	/** Next call will use voice/fax alternating bearer service. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3887
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3888
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3889
		EAlternatingModeVoiceFax
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3890
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3891
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3892
	IMPORT_C TInt GetAlternatingCallMode(TMobilePhoneAlternatingCallMode& aMode, TMobileService& aFirstService) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3893
	IMPORT_C void SetAlternatingCallMode(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode aMode, TMobileService aFirstService) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3894
	IMPORT_C void NotifyAlternatingCallModeChange(TRequestStatus& aReqStatus, TMobilePhoneAlternatingCallMode& aMode,TMobileService& aFirstService) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3895
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3896
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3897
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3898
	// Mobile Alternate Line Service Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3899
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3900
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3901
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3902
/** Alternate Line Primary settings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3903
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3904
Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3905
	enum TMobilePhoneALSLine
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3906
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3907
	/** Current ALS line selection is the "Primary" voice line. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3908
		EAlternateLinePrimary,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3909
	/** Current ALS line selection is the "Auxiliary" voice line. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3910
		EAlternateLineAuxiliary,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3911
	/** ALS is supported by ME and SIM, but the TSY can not determine which line is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3912
	currently selected. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3913
		EAlternateLineUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3914
	/** The ME, SIM or serving network does not support ALS. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3915
		EAlternateLineNotAvailable
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3916
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3917
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3918
	IMPORT_C TInt GetALSLine(TMobilePhoneALSLine& aALSLine) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3919
	IMPORT_C void SetALSLine(TRequestStatus& aReqStatus, TMobilePhoneALSLine aALSLine) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3920
	IMPORT_C void NotifyALSLineChange(TRequestStatus& aReqStatus, TMobilePhoneALSLine& aALSLine) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3921
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3922
	/***********************************************************************************/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3923
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3924
	// Mobile Network Security Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3925
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3926
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3927
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3928
/** Enumerated network security types.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3929
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3930
Mode: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3931
	enum TMobilePhoneNetworkSecurity
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3932
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3933
	/** The encryption level is NONE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3934
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3935
	Mode: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3936
		ECipheringOff,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3937
	/** The encryption level is GSM.(standard encryption algorithms for 2nd Generation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3938
	Mobile networks).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3939
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3940
	Mode: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3941
		ECipheringGSM,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3942
	/** The encryption level is WCDMA.(standard encryption algorithms for 3rd Generation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3943
	Mobile networks).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3944
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3945
	Mode: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3946
		ECipheringWCDMA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3947
	/** The encryption level is CDMA.(standard encryption algorithms for 3rd Generation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3948
	Mobile networks).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3949
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3950
	Mode: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3951
		ECipheringCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3952
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3953
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3954
	IMPORT_C void GetNetworkSecurityLevel(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3955
	IMPORT_C void NotifyNetworkSecurityLevelChange(TRequestStatus& aReqStatus, TMobilePhoneNetworkSecurity& aSecurity) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3956
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3957
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3958
	Indicators for whether encryption status of the current call should be displayed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3959
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3960
	enum TMobileCallCipheringIndicator
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3961
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3962
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3963
		The ME indication displaying the encryption status of the current call should be off.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3964
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3965
		ECipheringDisplayOff,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3966
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3967
		The ME indication displaying the encryption status of the current call should be on.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3968
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3969
		ECipheringDisplayOn 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3970
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3971
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3972
    IMPORT_C void GetCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3973
    IMPORT_C void NotifyCipheringIndicatorStatus(TRequestStatus& aReqStatus, TMobileCallCipheringIndicator& aIndicatorStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3974
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3975
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3976
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3977
	// Mobile Cost Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3978
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3979
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3980
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3981
/** Call Cost Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3982
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3983
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3984
	enum TMobilePhoneCostCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3985
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3986
	/** Indicates that the phone supports calculation and display of current and accumulated 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3987
	call cost on an information-only basis. (The AoCI service in GSM) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3988
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3989
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3990
		KCapsCostInformation = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3991
	/** Indicates that the phone supports calculation and display of current and accumulated 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3992
	call cost in order to support the charging service. (The AoCC service in GSM). 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3993
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3994
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3995
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3996
		KCapsCostCharging = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3997
	/** Indicates that the phone supports clearing of cost meters (ACM or CCM) to zero.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3998
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  3999
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4000
		KCapsClearCost = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4001
	/** Indicates that the phone supports setting the maximum allowed cost (ACMmax) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4002
	to a non-zero value. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4003
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4004
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4005
		KCapsSetMaxCost = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4006
	/** Indicates that the phone supports setting the currency and price per unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4007
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4008
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4009
		KCapsSetPuct = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4010
	/** Indicates that the phone currently has call cost information available that 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4011
	the client can retrieve.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4012
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4013
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4014
		KCapsGetCost = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4015
	/** Indicates that the phone can notify the client when the call cost information 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4016
	changes. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4017
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4018
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4019
		KCapsNotifyCostChange = 0x00000040
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4020
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4021
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4022
	IMPORT_C TInt GetCostCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4023
	IMPORT_C void NotifyCostCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4024
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4025
/** Clear Cost Meter.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4026
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4027
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4028
	enum TMobilePhoneCostMeters
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4029
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4030
	/** Clear the Current Call Meter. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4031
		EClearCCM,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4032
	/** Clear the Accumulated Charge Meter. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4033
		EClearACM,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4034
	/** Clear all cost meters */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4035
		EClearAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4036
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4037
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4038
	IMPORT_C void ClearCostMeter(TRequestStatus& aReqStatus, TMobilePhoneCostMeters aMeter) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4039
	IMPORT_C void SetMaxCostMeter(TRequestStatus& aReqStatus, TUint aUnits) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4040
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4041
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4042
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4043
	class  TMobilePhonePuctV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4044
/** Defines the contents of the price/unit and currency table (PUCT) on the SIM.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4045
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4046
@see TMobilePhoneCostInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4047
@see SetPuct() 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4048
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4049
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4050
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4051
		IMPORT_C TMobilePhonePuctV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4052
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4053
	/** The Price per Unit. This floating point value is used to adjust the pricing 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4054
	units supplied by the network into real currency values. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4055
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4056
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4057
		TReal   iPricePerUnit;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4058
	/** The three character currency indicator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4059
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4060
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4061
		TBuf<4> iCurrencyName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4062
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4063
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4064
/** A typedef'd packaged TMobilePhonePuctV1 for passing through a generic API function 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4065
member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4066
	typedef TPckg<TMobilePhonePuctV1> TMobilePhonePuctV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4067
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4068
	IMPORT_C void SetPuct(TRequestStatus& aReqStatus, const TDesC8& aPuct) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4069
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4070
/** Cost Information
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4071
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4072
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4073
	enum TMobilePhoneCostService
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4074
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4075
	/** Phone supports call cost service but no calls are currently in progress so the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4076
	network support and user subscription is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4077
		ECostServiceUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4078
	/** The network or the phone does not support any of the call cost services. The 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4079
	call can be either in progress or not. If the user is subscribed to AoCI they 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4080
	will be able to continue to make calls but will not see any charging information. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4081
	If the user is subscribed to AoCC then they will be prevented from making 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4082
	chargeable calls. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4083
		ECostServiceNotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4084
	/** Call is in progress and a call cost service is active but the phone is unable 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4085
	to determine whether it is an AoCI or AoCC service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4086
		ECostServiceAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4087
	/** Call is in progress and the call cost information (AoCI) service is currently 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4088
	operating.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4089
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4090
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4091
		ECostServiceInformation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4092
	/** Call is in progress and the call cost charging (AoCC) service is currently operating.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4093
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4094
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4095
		ECostServiceCharging
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4096
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4097
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4098
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4099
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4100
	class TMobilePhoneCostInfoV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4101
/** Defines the information related to current billing costs.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4102
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4103
@see GetCostInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4104
@see NotifyCostInfoChange() 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4105
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4106
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4107
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4108
		IMPORT_C TMobilePhoneCostInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4109
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4110
	/** The current status and type of call cost service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4111
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4112
	@see TMobilePhoneCostService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4113
		TMobilePhoneCostService iService;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4114
	/** The current number of charging units in the Current Call Meter. This is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4115
	to zero if reset by the user or at the start of call set-up attempt. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4116
		TUint iCCM;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4117
	/** The current number of charging units in the Accumulated Call Meter. This equals 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4118
	the accumulation of previous and current calls. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4119
		TUint iACM;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4120
	/** The maximum number of charging units that the ACM can rise to before chargeable 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4121
	calls are stopped. Equals zero if Service != ECostServiceCharging. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4122
		TUint iACMmax;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4123
	/** The Price per Unit and Currency Table.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4124
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4125
	@see TMobilePhonePuctV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4126
		TMobilePhonePuctV1 iPuct;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4127
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4128
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4129
/** A typedef'd packaged TMobilePhoneCostInfoV1 for passing through a generic API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4130
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4131
	typedef TPckg<TMobilePhoneCostInfoV1> TMobilePhoneCostInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4132
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4133
	IMPORT_C void GetCostInfo(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4134
	IMPORT_C void NotifyCostInfoChange(TRequestStatus& aReqStatus, TDes8& aCostInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4135
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4136
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4137
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4138
	// Mobile Security Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4139
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4140
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4141
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4142
/** Security Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4143
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4144
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4145
	enum TMobilePhoneSecurityCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4146
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4147
	/** The phone supports an overall "phone device lock" which can be enabled or disabled. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4148
	If enabled, user must enter phone password before the phone can be used. When 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4149
	this capability is set the phone will support get lock info, notify lock info 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4150
	change and set lock setting for phone device lock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4151
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4152
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4153
		KCapsLockPhone = 0x0000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4154
	/** The phone supports locking the ICC (using the PIN1 security code), which can 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4155
	be enabled or disabled. If enabled, the user must enter PIN1 code before the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4156
	ICC can be used. When this capability is set the phone will support get lock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4157
	info, notify lock info change and set lock setting for ICC lock. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4158
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4159
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4160
		KCapsLockICC = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4161
	/** The phone supports the "phone to ICC lock" which can be enabled or disabled. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4162
	If enabled, at power-up the phone will check whether current ICC is the one 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4163
	the phone is locked to or not. If not, then the user must enter the phone
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4164
	password before phone can be used with this ICC. When this capability is set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4165
	the phone will support get lock info, notify lock info change and set lock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4166
	setting for Phone-ICC lock. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4167
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4168
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4169
		KCapsLockPhoneToICC = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4170
	/** The phone supports the "phone to first ICC lock" which can be enabled or disabled. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4171
	If enabled, at power-up the phone will check whether current ICC is the one 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4172
	the phone is first locked to or not. If not, then user must enter the phone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4173
	password before the phone can be used with this ICC. When this capability 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4174
	is set the phone will support get lock info, notify lock info change and set 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4175
	lock setting for Phone-First ICC lock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4176
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4177
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4178
		KCapsLockPhoneToFirstICC = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4179
	/** The phone supports the "Over The Air" programming lock which can be enabled 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4180
	or disabled. If enabled, the phone will prevent OTA programming by the network. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4181
	If disabled, the phone will allow OTA programming by the network. When this 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4182
	capability is set the phone will support get lock info, notify lock info change 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4183
	and set lock setting for OTA lock. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4184
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4185
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4186
		KCapsLockOTA = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4187
	/** The phone supports access to the PIN 1 security code. When this capability is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4188
	set the phone will support verification of PIN1, unblocking PIN1, changing 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4189
	PIN1 and notification of PIN1 required. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4190
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4191
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4192
		KCapsAccessPin1 = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4193
	/** The phone supports access to the PIN 2 security code. When this capability is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4194
	set the phone will support verification of PIN2, unblocking PIN2, changing 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4195
	PIN2 and notification of PIN2 required.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4196
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4197
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4198
		KCapsAccessPin2 = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4199
	/** The phone supports access to the phone password security code. When this capability 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4200
	is set the phone will support verification of the phone password, changing 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4201
	the phone password and notification if the phone password is required. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4202
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4203
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4204
		KCapsAccessPhonePassword = 0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4205
	/** The phone supports access to the SPC (Service Programming Code) security code. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4206
	This code may need to be verified before OTA can commence.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4207
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4208
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4209
		KCapsAccessSPC = 0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4210
	/** The phone supports access to the hidden key. When this capability is set the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4211
	phone will support verification of HiddenKey. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4212
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4213
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4214
		KCapsAccessHiddenKey=0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4215
	/** The phone supports access to the USIM Application PIN. An Application PIN allows 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4216
	access to any file on the UICC where it is referenced in the access rules.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4217
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4218
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4219
		KCapsAccessUSIMAppPin=0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4220
	/** The phone supports access to the second USIM Application PIN. The second Application 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4221
	PIN allows access to files (where it is referenced in the access rules) within 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4222
	one USIM Application on the UICC. This is a local PIN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4223
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4224
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4225
		KCapsAccessUSIMAppSecondPin =0x00000800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4226
	/** The phone supports access to the Universal PIN. A Universal PIN is a PIN that 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4227
	is used in a multi-application UICC environment to allow several USIM applications 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4228
	to share one common PIN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4229
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4230
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4231
		KCapsAccessUniversalPin =0x00001000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4232
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4233
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4234
	IMPORT_C TInt GetSecurityCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4235
	IMPORT_C void NotifySecurityCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4236
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4237
/** Lock Information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4238
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4239
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4240
	enum TMobilePhoneLock
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4241
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4242
	/** Lock the whole device. Phone lock password is required to unlock when this lock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4243
	is enabled. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4244
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4245
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4246
		ELockPhoneDevice,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4247
	/** Lock PIN1 on the ICC. PIN1 security code is required to unlock when this lock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4248
	is enabled. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4249
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4250
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4251
		ELockICC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4252
	/** Lock the phone to the current ICC inserted in the phone Phone lock password 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4253
	is required to unlock when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4254
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4255
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4256
		ELockPhoneToICC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4257
	/** Lock the phone to the first ICC inserted in the phone. Phone lock password is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4258
	required to unlock when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4259
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4260
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4261
		ELockPhoneToFirstICC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4262
	/** Lock the OTA facility on the phone. SPC security code may be required to unlock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4263
	when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4264
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4265
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4266
		ELockOTA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4267
	/** Lock PIN2 on the ICC. PIN2 security code is required to unlock when this lock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4268
	is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4269
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4270
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4271
		ELockPin2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4272
	/** Lock the phonebook hidden entries on the phone. Hidden key security code may 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4273
	be required to unlock when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4274
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4275
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4276
		ELockHiddenKey,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4277
	/** Lock the associated USIM Application. USIM Application PIN is required to unlock 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4278
	when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4279
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4280
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4281
		ELockUSimApp,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4282
	/** Lock the associated USIM Application. The second USIM Application PIN is required 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4283
	to unlock when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4284
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4285
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4286
		ELockSecondUSimApp,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4287
	/** Lock the associated USIM Application(s) that share this common lock. Universal 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4288
	Pin is required to unlock when this lock is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4289
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4290
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4291
		ELockUniversalPin,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4292
	/** Lock for the NAM.  The SPC is required to unlock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4293
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4294
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4295
		ELockNam
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4296
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4297
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4298
/** Phone lock status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4299
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4300
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4301
	enum TMobilePhoneLockStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4302
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4303
	/** The status of the lock is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4304
		EStatusLockUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4305
	/** Lock is closed - user can not access functionality governed by this lock until 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4306
	user correctly enters associated security code. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4307
		EStatusLocked,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4308
	/** Lock is open - user can access functionality governed by this lock */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4309
		EStatusUnlocked,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4310
		EStatusBlocked
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4311
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4312
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4313
/** The phone lock setting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4314
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4315
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4316
	enum TMobilePhoneLockSetting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4317
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4318
	/** The setting of the lock is unknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4319
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4320
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4321
		ELockSetUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4322
	/** Lock is enabled - associated security code will be required to unlock the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4323
	lock, the next time the lock's status is EStatusLocked. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4324
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4325
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4326
		ELockSetEnabled,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4327
	/** Lock is disabled - so its status is always EStatusUnlocked.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4328
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4329
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4330
		ELockSetDisabled,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4331
	/** Lock of the current Application is replaced by the Universal PIN. Only the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4332
	Universal PIN is allowed as a replacement.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4333
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4334
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4335
		ELockReplaced
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4336
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4337
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4338
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4339
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4340
	class TMobilePhoneLockInfoV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4341
/** Defines the status of a phone lock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4342
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4343
@see GetLockInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4344
@see NotifyLockInfoChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4345
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4346
@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4347
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4348
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4349
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4350
		IMPORT_C TMobilePhoneLockInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4351
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4352
	/** The current status of the lock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4353
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4354
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4355
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4356
	@see TMobilePhoneLockStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4357
		TMobilePhoneLockStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4358
	/** The current setting of the lock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4359
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4360
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4361
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4362
	@see TMobilePhoneLockSetting */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4363
		TMobilePhoneLockSetting iSetting;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4364
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4365
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4366
/** A typedef'd packaged TMobilePhoneLockInfoV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4367
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4368
	typedef TPckg<TMobilePhoneLockInfoV1> TMobilePhoneLockInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4369
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4370
	IMPORT_C void GetLockInfo(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TDes8& aLockInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4371
	IMPORT_C void NotifyLockInfoChange(TRequestStatus& aReqStatus, TMobilePhoneLock& aLock, TDes8& aLockInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4372
	IMPORT_C void SetLockSetting(TRequestStatus& aReqStatus, TMobilePhoneLock aLock, TMobilePhoneLockSetting aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4373
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4374
/** Change Security Code.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4375
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4376
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4377
	enum TMobilePhoneSecurityCode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4378
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4379
	/** PIN 1 code (between 4-8 digits).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4380
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4381
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4382
		ESecurityCodePin1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4383
	/** PIN 2 code (between 4-8 digits)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4384
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4385
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4386
		ESecurityCodePin2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4387
	/** PIN 1 unblocking code (always 8 digits).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4388
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4389
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4390
		ESecurityCodePuk1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4391
	/** PIN 2 unblocking code (always 8 digits)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4392
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4393
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4394
		ESecurityCodePuk2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4395
	/** Password used for Phone-SIM Lock and Phone Device Lock (up to 8 digits) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4396
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4397
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4398
		ESecurityCodePhonePassword,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4399
	/** Service Programming Code (SPC)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4400
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4401
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4402
		ESecurityCodeSPC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4403
	/** Phonebook key to display the hidden entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4404
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4405
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4406
		ESecurityHiddenKey,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4407
	/** USIM Application PIN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4408
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4409
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4410
		ESecurityUSIMAppPin,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4411
	/** Second USIM Application PIN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4412
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4413
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4414
		ESecuritySecondUSIMAppPin,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4415
	/** Universal PIN.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4416
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4417
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4418
		ESecurityUniversalPin,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4419
	/** Universal PIN unblocking code (always 8 digits).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4420
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4421
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4422
		ESecurityUniversalPuk
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4423
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4424
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4425
	IMPORT_C void ChangeSecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType, const TMobilePhonePasswordChangeV1& aChange) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4426
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4427
	/** Defines the status of a security code.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4428
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4429
	@see GetSecurityCodeInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4430
	@see NotifySecurityCodeInfoChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4431
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4432
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4433
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4434
	class TMobilePhoneSecurityCodeInfoV5 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4435
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4436
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4437
		IMPORT_C TMobilePhoneSecurityCodeInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4438
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4439
	/** Number of remaining security code entry attempts before the corresponding lock gets blocked
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4440
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4441
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4442
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4443
		TInt iRemainingEntryAttempts;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4444
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4445
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4446
	/** A typedef'd packaged TMobilePhoneSecurityCodeInfoV5 for passing through a generic API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4447
	function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4448
	typedef TPckg<TMobilePhoneSecurityCodeInfoV5> TMobilePhoneSecurityCodeInfoV5Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4449
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4450
	IMPORT_C void GetSecurityCodeInfo(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aSecurityCode, TDes8& aSecurityCodeInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4451
	IMPORT_C void NotifySecurityCodeInfoChange(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode& aSecurityCode, TDes8& aSecurityCodeInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4452
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4453
/** Notify Security Events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4454
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4455
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4456
	enum TMobilePhoneSecurityEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4457
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4458
	/** The phone has detected that there is no ICC present. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4459
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4460
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4461
		ENoICCFound,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4462
	/** The phone has detected that the ICC is unusable. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4463
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4464
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4465
		EICCTerminated,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4466
	/** The phone requires PIN1 to be entered. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4467
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4468
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4469
		EPin1Required,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4470
	/** The phone requires PUK1 to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4471
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4472
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4473
		EPuk1Required,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4474
	/** The phone requires PIN2 to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4475
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4476
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4477
		EPin2Required,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4478
	/** The phone requires PUK2 to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4479
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4480
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4481
		EPuk2Required,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4482
	/** The phone requires the Phone Password to be entered. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4483
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4484
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4485
		EPhonePasswordRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4486
	/** The phone requires the SPC to be entered. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4487
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4488
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4489
		ESPCRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4490
	/** The PIN1 verification procedure has passed. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4491
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4492
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4493
		EPin1Verified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4494
	/** The PIN2 verification procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4495
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4496
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4497
		EPin2Verified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4498
	/** The PUK1 unblocking procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4499
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4500
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4501
		EPuk1Verified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4502
	/** The PUK2 unblocking procedure has passed. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4503
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4504
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4505
		EPuk2Verified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4506
	/** The Phone Password has been verified. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4507
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4508
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4509
		EPhonePasswordVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4510
	/** The SPC verification procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4511
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4512
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4513
		ESPCVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4514
	/** The phone requires the phonebook hidden key to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4515
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4516
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4517
		EHiddenKeyRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4518
	/** The phonebook hidden key procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4519
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4520
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4521
		EHiddenKeyVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4522
	/** The phone requires the currently active USIM Application PIN to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4523
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4524
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4525
		EUSIMAppPinRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4526
	/** The currently active USIM Application PIN procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4527
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4528
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4529
		EUSIMAppPinVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4530
	/** The phone requires the currently active USIM Application second PIN to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4531
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4532
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4533
		ESecondUSIMAppPinRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4534
	/** The currently active USIM Application second PIN procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4535
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4536
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4537
		ESecondUSIMAppPinVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4538
	/** The phone requires the Universal PIN to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4539
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4540
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4541
		EUniversalPinRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4542
	/** The currently active Universal PIN procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4543
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4544
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4545
		EUniversalPinVerified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4546
	/** The Service Programming Code has been changed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4547
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4548
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4549
		ESPCChanged,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4550
	/** The phone requires Universal PUK to be entered.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4551
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4552
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4553
		EUniversalPukRequired,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4554
	/** The Universal PUK unblocking procedure has passed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4555
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4556
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4557
		EUniversalPukVerified
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4558
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4559
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4560
	IMPORT_C void NotifySecurityEvent(TRequestStatus& aReqStatus, TMobilePhoneSecurityEvent& aEvent) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4561
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4562
	// for use by client-side API code and TSY only
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4563
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4564
	struct TCodeAndUnblockCode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4565
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4566
		TMobilePassword iCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4567
		TMobilePassword iUnblockCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4568
		};	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4569
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4570
	IMPORT_C void VerifySecurityCode(TRequestStatus& aReqStatus, TMobilePhoneSecurityCode aType,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4571
		const TMobilePassword& aCode, const TMobilePassword& aUnblockCode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4572
	IMPORT_C TInt AbortSecurityCode(TMobilePhoneSecurityCode aType) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4573
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4574
	/***********************************************************************************/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4575
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4576
	// MobileMessageWaiting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4577
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4578
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4579
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4580
/** Display indicators. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4581
	enum TMobilePhoneIndicatorDisplay
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4582
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4583
	/** Display voicemail active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4584
		KDisplayVoicemailActive = 0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4585
	/** Display fax active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4586
		KDisplayFaxActive = 0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4587
	/** Display E-mail active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4588
		KDisplayEmailActive = 0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4589
	/** Display other active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4590
		KDisplayOtherActive = 0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4591
	/** Display Aux voicemail active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4592
		KDisplayAuxVoicemailActive = 0x10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4593
	/** Display data active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4594
		KDisplayDataActive = 0x20
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4595
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4596
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4597
	class TMobilePhoneMessageWaitingV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4598
/** Message Waiting Indicators. See 3GPP TS 31 102.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4599
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4600
@see GetIccMessageWaitingIndicators()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4601
@see SetIccMessageWaitingIndicators()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4602
@see NotifyIccMessageWaitingIndicatorsChange() 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4603
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4604
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4605
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4606
		IMPORT_C TMobilePhoneMessageWaitingV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4607
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4608
	/** The flags for each indicator from TMobilePhoneIndicatorDisplay to specify whether 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4609
	the indicator should be displayed or not. E.g. Messages of the specified type are waiting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4610
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4611
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4612
		TUint8	iDisplayStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4613
	/** The number of voicemail messages waiting for the "main" voice line.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4614
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4615
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4616
		TUint8	iVoiceMsgs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4617
	/** The number of voicemail messages waiting for the "auxiliary" voice line.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4618
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4619
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4620
		TUint8	iAuxVoiceMsgs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4621
	/** The number of messages waiting for the data line.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4622
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4623
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4624
		TUint8	iDataMsgs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4625
	/** The number of messages waiting for the fax line.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4626
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4627
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4628
		TUint8	iFaxMsgs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4629
	/** The number of email messages waiting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4630
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4631
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4632
		TUint8	iEmailMsgs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4633
	/** Contains the number of "unspecified" messages waiting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4634
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4635
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4636
		TUint8	iOtherMsgs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4637
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4638
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4639
/** A typedef'd packaged TMobilePhoneMessageWaitingV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4640
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4641
	typedef TPckg<TMobilePhoneMessageWaitingV1> TMobilePhoneMessageWaitingV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4642
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4643
	IMPORT_C void GetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4644
	IMPORT_C void SetIccMessageWaitingIndicators(TRequestStatus& aReqStatus, const TDesC8& aMsgIndicators) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4645
	IMPORT_C void NotifyIccMessageWaitingIndicatorsChange(TRequestStatus& aReqStatus, TDes8& aMsgIndicators) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4646
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4647
	IMPORT_C void NotifyMessageWaiting(TRequestStatus& aReqStatus, TInt& aCount) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4648
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4649
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4650
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4651
	// Mobile Fixed Dialling Numbers Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4652
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4653
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4654
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4655
/** Fixed Dialling Numbers Status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4656
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4657
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4658
	enum TMobilePhoneFdnStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4659
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4660
	/** Fixed Dialling Number mode is supported but is not currently active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4661
		EFdnNotActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4662
	/** Fixed Dialling Number mode is supported and is currently active. Deactivating 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4663
	FDN mode is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4664
		EFdnActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4665
	/** Fixed Dialling Number mode is supported and is permanently active. Deactivating 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4666
	FDN mode is NOT supported with this SIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4667
		EFdnPermanentlyActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4668
	/** Fixed Dialling Number mode is not supported by ME and/or SIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4669
		EFdnNotSupported,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4670
	/** ME is currently unable to determine the status of FDN mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4671
		EFdnUnknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4672
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4673
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4674
	IMPORT_C TInt GetFdnStatus(TMobilePhoneFdnStatus& aFdnStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4675
	IMPORT_C void GetFdnStatus(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4676
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4677
/** Fixed Dialling Numbers Setting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4678
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4679
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4680
	enum TMobilePhoneFdnSetting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4681
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4682
	/** Activate the FDN service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4683
		EFdnSetOn,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4684
	/** Deactivate the FDN service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4685
		EFdnSetOff
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4686
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4687
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4688
	IMPORT_C void SetFdnSetting(TRequestStatus& aReqStatus, TMobilePhoneFdnSetting aFdnSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4689
	IMPORT_C void NotifyFdnStatusChange(TRequestStatus& aReqStatus, TMobilePhoneFdnStatus& aFdnStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4690
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4691
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4692
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4693
	// Multicall bearer settings
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4694
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4695
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4696
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4697
	class TMobilePhoneMulticallSettingsV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4698
/** Multi call settings for version v1.0.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4699
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4700
@see GetMulticallParams()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4701
@see NotifyMulticallParamsChange() 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4702
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4703
@released*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4704
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4705
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4706
		IMPORT_C TMobilePhoneMulticallSettingsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4707
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4708
	/** Maximum number of simultaneous CS bearers allowed - defined by the user. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4709
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4710
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4711
		TInt iUserMaxBearers;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4712
	/** Maximum number of simultaneous bearers allowed - defined by the service provider.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4713
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4714
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4715
		TInt iServiceProviderMaxBearers;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4716
	/** Maximum number of simultaneous CS bearers supported by the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4717
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4718
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4719
		TInt iNetworkSupportedMaxBearers;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4720
	/** Maximum number of simultaneous CS bearers supported by the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4721
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4722
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4723
		TInt iUESupportedMaxBearers;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4724
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4725
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4726
/** A typedef'd packaged TMobilePhoneMulticallSettingsV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4727
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4728
	typedef TPckg<TMobilePhoneMulticallSettingsV1> TMobilePhoneMulticallSettingsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4729
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4730
	IMPORT_C void GetMulticallParams(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4731
	IMPORT_C void SetMulticallParams(TRequestStatus& aReqStatus, TInt aUserMaxBearers) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4732
	IMPORT_C void NotifyMulticallParamsChange(TRequestStatus& aReqStatus, TDes8& aMulticallParams) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4733
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4734
	enum TMobilePhoneMulticallIndicator
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4735
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4736
	Indicators for exceeding allowed multiple active bearers.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4737
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4738
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4739
		/** The maximum number of multiple active bearers allowed by the service provider has been exceeded. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4740
		EBearerNetworProviderExceeded,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4741
		/** The maximum number of multiple active bearers allowed by the mobile user  has been exceeded. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4742
		EBearerUserExceeded
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4743
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4744
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4745
	IMPORT_C void NotifyMulticallIndicatorChange(TRequestStatus& aReqStatus, TMobilePhoneMulticallIndicator& aMulticallIndicator) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4746
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4747
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4748
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4749
	// MobileNextIncomingCall Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4750
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4751
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4752
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4753
/** Incoming Call Types.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4754
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4755
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4756
	enum TMobilePhoneIncomingCallType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4757
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4758
	/** MS will receive any type of incoming call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4759
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4760
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4761
		EIncomingTypeNotSpecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4762
	/** MS will request voice bearer for incoming calls.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4763
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4764
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4765
		EIncomingVoice,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4766
	/** MS will request fax bearer for incoming calls 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4767
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4768
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4769
		EIncomingFax,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4770
	/** MS will request data bearer for incoming calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4771
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4772
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4773
		EIncomingData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4774
	/** MS will request a data bearer for use by a Multimedia CS call (voice fall back 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4775
	is acceptable) for incoming calls.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4776
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4777
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4778
		EIncomingMultimediaVoiceFallback,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4779
	/** MS will request a data bearer for use by a Multimedia CS call (voice fall back 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4780
	NOT acceptable) for incoming calls 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4781
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4782
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4783
		EIncomingMultimediaNoFallback,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4784
	/** The single numbering scheme call mode is alternating voice to fax.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4785
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4786
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4787
		EIncomingAlternatingVoiceFax,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4788
	/** The single numbering scheme call mode is alternating voice to data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4789
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4790
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4791
		EIncomingAlternatingVoiceData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4792
	/** The single numbering scheme call mode is alternating fax to voice.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4793
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4794
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4795
		EIncomingAlternatingFaxVoice,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4796
	/** The single numbering scheme call mode is alternating data to voice.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4797
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4798
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4799
		EIncomingAlternatingDataVoice,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4800
	/** The single numbering scheme call mode is alternating voice then data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4801
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4802
	Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4803
		EIncomingAlternatingVoiceThenData
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4804
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4805
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4806
	IMPORT_C void GetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4807
	IMPORT_C void SetIncomingCallType(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType aCallType, TDes8& aDataParams) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4808
	IMPORT_C void NotifyIncomingCallTypeChange(TRequestStatus& aReqStatus, TMobilePhoneIncomingCallType& aCallType, TDes8& aDataParams) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4809
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4810
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4811
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4812
	// User-To-User Signalling Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4813
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4814
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4815
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4816
/** UUS Settings Requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4817
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4818
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4819
	enum TMobilePhoneUUSSetting         // UUS settings of the phone
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4820
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4821
	/** UUS is not specified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4822
		EIncomingUUSNotSpecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4823
	/** MS will accept incoming UUS activation request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4824
		EIncomingUUSAccepted,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4825
	/** MS will reject incoming UUS activation request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4826
		EIncomingUUSRejected
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4827
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4828
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4829
	IMPORT_C void GetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4830
	IMPORT_C void SetUUSSetting(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4831
	IMPORT_C void NotifyUUSSettingChange(TRequestStatus& aReqStatus, TMobilePhoneUUSSetting& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4832
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4833
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4834
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4835
	// Mobile Smart Card Applications Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4836
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4837
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4838
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4839
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4840
	enum { KSmartCardApplicationLabelMaxSize=32 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4841
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4842
	/** Smart card application info version v5.0. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4843
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4844
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4845
	@see GetSmartCardApplicationInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4846
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4847
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4848
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4849
	class TSmartCardApplicationInfoV5 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4850
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4851
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4852
		IMPORT_C TSmartCardApplicationInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4853
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4854
		/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4855
		Smart card application identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4856
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4857
		TAID iAID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4858
		/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4859
		Smart card application label. 16 bit USC2 characters string provided by the application 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4860
		provider to be shown to the user for information, e.g. operator name. It is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4861
		recommended by ETSI/3GPP spec that the application label does not exceed 32 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4862
		bytes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4863
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4864
		The application label is optional. If no label is provided, the buffer should 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4865
		be NULL.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4866
		 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4867
		TBuf8<KSmartCardApplicationLabelMaxSize> iLabel;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4868
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4869
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4870
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4871
	A typedef'd packaged TSmartCardApplicationInfoV5 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4872
	function member. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4873
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4874
	typedef TPckg<TSmartCardApplicationInfoV5> TSmartCardApplicationInfoV5Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4875
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4876
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4877
	Specifies the max length of the buffer used to retrieve the smart
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4878
	card application's supported EAP method list.  Value 255 since EAP
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4879
	type list length fits into one byte (see table 5.1 of ETSI TS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4880
	102.310 v6.2.0).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4881
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4882
	@see RMobilePhone::GetSmartCardApplicationInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4883
	@see RMobilePhone::TUiccApplicationEapInfoV6::iEapTypeList
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4884
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4885
	enum { KEapSupportedTypeListSize = 255 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4886
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4887
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4888
	UICC application info version v6.0.  Is a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4889
	TSmartCardApplicationInfoV5 object, but has an additional buffer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4890
	(iEapTypeList) for retrieving a list supported EAP methods on the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4891
	application.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4892
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4893
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4894
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4895
	@see RMobilePhone::GetSmartCardApplicationInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4896
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4897
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4898
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4899
	class TUiccApplicationEapInfoV6 : public TSmartCardApplicationInfoV5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4900
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4901
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4902
		IMPORT_C TUiccApplicationEapInfoV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4903
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4904
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4905
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4906
		Application EAP support type list, defining the EAP methods
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4907
		supported by the UICC application (see RFC 3748 and
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4908
		http://www.iana.org/assignments/eap-numbers).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4909
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4910
		As reference, also worth seeing section 5.2 of ETSI TS 102.310
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4911
		v6.2.0 and section 6.2 of RFC3748.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4912
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4913
		@see KETelSmartCardEapTypeMD5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4914
		@see KETelSmartCardEapTypeTLS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4915
		@see KETelSmartCardEapTypeSIM
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4916
		@see KETelSmartCardEapTypeAKA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4917
		@see KETelSmartCardEapTypeTTLS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4918
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4919
		TBuf8<KEapSupportedTypeListSize> iEapTypeList;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4920
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4921
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4922
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4923
	A typedef'd packaged TEapUiccApplicationInfoV6 for passing through
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4924
	a generic API function member.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4925
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4926
	@see RMobilePhone::GetSmartCardApplicationInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4927
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4928
	typedef TPckg<TUiccApplicationEapInfoV6> TUiccApplicationEapInfoV6Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4929
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4930
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4931
	Smart card application notification events
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4932
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4933
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4934
	*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4935
	enum TSmartCardApplicationEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4936
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4937
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4938
		Smart card application has been installed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4939
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4940
		EScApplicationInstalled,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4941
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4942
		Smart card application has been removed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4943
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4944
		EScApplicationRemoved,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4945
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4946
		Smart card application has been activated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4947
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4948
		EScApplicationActivated,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4949
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4950
		Smart card application has been terminated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4951
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4952
		EScApplicationTerminated
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4953
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4954
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4955
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4956
	Smart card application status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4957
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4958
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4959
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4960
	enum TSmartCardApplicationAction
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4961
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4962
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4963
		Smart card application will be activated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4964
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4965
		EScApplicationActivate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4966
		/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4967
		Smart card application will be terminated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4968
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4969
		EScTerminate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4970
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4971
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4972
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4973
	Smart card application file types. For definitions see TS 102.221.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4974
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4975
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4976
	*/		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4977
	enum TScFileType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4978
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4979
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4980
		Smart card file type is unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4981
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4982
		EUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4983
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4984
		Smart card file type is linear fixed. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4985
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4986
		This is a record-based file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4987
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4988
		ELinearFixed,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4989
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4990
		Smart card file type is cyclic. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4991
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4992
		This is a record-based file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4993
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4994
		ECyclic,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4995
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4996
		Smart card file type is transparent. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4997
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4998
		This is a binary file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  4999
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5000
		ETransparent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5001
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5003
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5004
	Typedef to hold a 2-byte file identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5005
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5006
	typedef TUint16 TScFileID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5007
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5008
	/** Smart card application file info version v5.0.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5009
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5010
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5011
	@see GetScFileInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5012
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5013
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5014
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5015
	class TScFileInfoV5 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5016
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5017
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5018
		IMPORT_C TScFileInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5019
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5020
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5021
		Smart card file identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5022
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5023
		TScFileID iFileID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5024
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5025
		The type of the smart card file. Options are
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5026
		Linear Fixed, Cyclic or Transparent.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5027
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5028
		TScFileType iType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5029
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5030
		Total length of the file.  As specified in TS 102.221 the maximum length of an EF is 0xFFF bytes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5031
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5032
		TInt iTotalLength;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5033
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5034
		If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the fixed length of a record in the file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5035
		If file type is ETransparent then this value is unused and will be set to 0. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5036
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5037
		From TS 102.221 the maximum length of a record in an EF is 255 bytes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5038
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5039
		TInt iRecordLength;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5040
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5041
		If the file is a record based file (e.g. file type is ELinearFixed or ECyclic) then this gives the number of records in the file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5042
		If file type is ETransparent then this value is unused and will be set to 0. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5043
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5044
		From TS 102.221 the maximum number of records in an EF is 254.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5045
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5046
		TInt iNumberRecords;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5047
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5048
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5049
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5050
	/** A typedef'd packaged TScFileInfoV5 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5051
	function member. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5052
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5053
	typedef TPckg<TScFileInfoV5> TScFileInfoV5Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5054
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5055
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5056
	This based on the maximum number of bytes in a command PDU 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5057
	as defined in TS 102.221 however the actual path string is very unlikely to ever be this big.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5058
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5059
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5060
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5061
	enum{ KMaxScFilePathLength = 256};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5062
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5063
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5064
	A typedef'd buffer to hold the path to an EF file.  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5065
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5066
	typedef TBuf8<KMaxScFilePathLength> TScFilePathReference;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5067
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5068
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5069
	 /** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5070
	 Class that holds a smart card applications AID and associated file path string.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5071
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5072
	 Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5073
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5074
	 @see GetScFileInfo()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5075
	 @publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5076
	 @released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5077
	 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5078
	 class TScFilePath
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5079
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5080
	 public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5081
		IMPORT_C TScFilePath();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5082
     public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5083
     	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5084
     	AID of application. This may be empty implying the iPath is a path reference starting at the master file (MF).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5085
     	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5086
		TAID iAID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5087
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5088
		Full path reference to file.  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5089
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5090
		The iPath must define the file path using full path referencing. This is because the client does not know 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5091
		what is the currently selected EF or DF and it is therefore necessary to select the file by full
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5092
		path referencing from the master file.  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5093
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5094
		If iAID value is empty then the iPath reference starts from the MF file but should not include the file ID of the MF (3F00) itself.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5095
		E.g. To reference the EF_DIR - iAID would be empty and iPath would be set to "2F00".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5096
		E.g. To refefence the EF_SMS under DF_TELECOM on a 2G SIM ICC - iAID would be empty and iPath would be set to "7F106F3C".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5097
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5098
		If iAID is non-empty then it refers to the AID of the application and iPath is a path reference to a file in that application,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5099
		In this situation the path reference may start with the implicit FID of the application DF (7FFF).  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5100
		E.g.  The path to reference to the EF_SMS file in a USIM application using implicit ADF FID would 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5101
		be "7FFF6F3C".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5102
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5103
		See TS102.221 section 8.4.2 for more information.  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5104
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5105
		TScFilePathReference iPath;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5106
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5107
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5108
	/** Smart card application file identifier and access offsets.  This class is used to identify a file and the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5109
	location in a file to either read or write. Inherits attributes from TScFilePath which provide the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5110
	parent AID and full path reference.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5111
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5112
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5113
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5114
	@see TScFilePath
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5115
	@see ReadScFile()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5116
	@see UpdateScFile()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5117
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5118
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5119
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5120
	class TScFilePathWithAccessOffsets : public TScFilePath
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5121
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5122
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5123
		IMPORT_C TScFilePathWithAccessOffsets();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5124
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5125
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5126
		The type of the smart card file. Options are
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5127
		Linear Fixed, Cyclic or Transparent.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5128
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5129
		TScFileType iType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5130
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5131
		If file type is ELinearFixed or ECyclic then this is the starting record index to read or update.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5132
		This must be less than the number of records in the file.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5133
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5134
		If file type is ETransparent then this is the offset (in bytes) from the start of the transparent file to read or update.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5135
		This must be less than the total file size.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5136
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5137
		TUint iStartOffset;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5138
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5139
		If the file type is ELinearFixed or ECyclic then this is unused.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5140
		NOTE: A call to ReadScFile or UpdateScFile for a record based file type will only read or update
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5141
		one record as described in TS 102.221 READ RECORD and UPDATE RECORD.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5142
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5143
		If file type is ETransparent then this is the number of bytes to read or update.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5144
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5145
		TUint iCount;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5146
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5147
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5148
	IMPORT_C void EnumerateSmartCardApplications(TRequestStatus& aReqStatus, TUint& aCount) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5149
	IMPORT_C void GetSmartCardApplicationInfo(TRequestStatus& aReqStatus, TUint aAppIndex, TDes8& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5150
	IMPORT_C void NotifySmartCardApplicationInfoChange(TRequestStatus& aReqStatus, TAID& aAID, TSmartCardApplicationEvent& aEvent) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5151
	IMPORT_C void SetSmartCardApplicationStatus(TRequestStatus& aReqStatus, const TAID& aAID, TSmartCardApplicationAction aAppAction) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5152
	IMPORT_C void GetScFileInfo(TRequestStatus& aReqStatus, const TScFilePath& aFilePathId, TDes8& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5153
	IMPORT_C void ReadScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aReadBuffer) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5154
	IMPORT_C void UpdateScFile(TRequestStatus& aReqStatus, const TScFilePathWithAccessOffsets& aFilePathOffsets, TDes8& aUpdateBuffer) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5155
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5156
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5157
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5158
	// Mobile USIM Applications Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5159
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5160
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5161
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5162
	enum { KUSimApplicationLabelMaxSize=32 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5163
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5164
	IMPORT_C void EnumerateUSimApplications(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5165
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5166
	class TUSimApplicationInfoV2 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5167
	/** USIM application information for version v2.0. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5168
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5169
	@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5170
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5171
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5172
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5173
		IMPORT_C TUSimApplicationInfoV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5174
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5175
	/** USIM Application identifier.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5176
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5177
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5178
		TAID								iAID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5179
	/** USIM Application label. 16 bit USC2 characters string provided by the application 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5180
	provider to be shown to the user for information, e.g. operator name. It is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5181
	recommended by ETSI/3GPP spec that the application label does not exceed 32 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5182
	bytes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5183
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5184
	The application label is optional. If no label is provided, the buffer should 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5185
	be NULL.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5186
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5187
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5188
		TBuf8<KUSimApplicationLabelMaxSize> iLabel; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5189
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5190
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5191
	/** A typedef'd packaged TUSimApplicationInfoV2 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5192
	function member. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5193
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5194
	@deprecated 9.1 Use @see TSmartCardApplicationInfoV5 instead.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5195
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5196
	typedef TPckg<TUSimApplicationInfoV2> TUSimApplicationInfoV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5197
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5198
	IMPORT_C void GetUSimApplicationInfo(TRequestStatus& aReqStatus, TInt aUSimAppIndex, TDes8& aInfo) const; //deprecated 9.1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5199
	IMPORT_C void NotifyUSimApplicationsInfoChange(TRequestStatus& aReqStatus, TInt& aCount, TAID& aActiveAID) const; //deprecated 9.1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5201
	/** USIM Application Status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5202
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5203
	Modes: WCDMA 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5204
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5205
	@deprecated 9.1 Use @see TSmartCardApplicationAction instead.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5206
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5207
	enum TUSimAppAction
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5208
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5209
	/** USIM application will be activated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5210
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5211
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5212
		EUSimActivate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5213
	/** USIM application will be terminated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5214
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5215
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5216
		EUSimTerminate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5217
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5218
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5219
	IMPORT_C void SetUSimApplicationStatus(TRequestStatus& aReqStatus, const TAID aAID, TUSimAppAction aUsimAppAction) const; //deprecated 9.1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5220
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5221
	/** USIM Application selection mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5222
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5223
	Mode: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5224
	enum TUSimSelectionMode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5225
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5226
	/** USIM application is selected automatically by phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5227
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5228
	Mode: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5229
		EUSimSelectionAutomatic,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5230
	/** USIM application is selected manually by user.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5231
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5232
	Mode: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5233
		EUSimSelectionManual
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5234
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5235
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5236
	IMPORT_C TInt SetUSimAppsSelectionMode(TUSimSelectionMode aUSimSelectionMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5237
	IMPORT_C TInt GetUSimAppsSelectionMode(TUSimSelectionMode& aUSimSelectionMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5238
	IMPORT_C void NotifyUSimAppsSelectionModeChange(TRequestStatus& aReqStatus, TUSimSelectionMode& aUSimSelectionMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5239
	IMPORT_C void GetCurrentActiveUSimApplication(TRequestStatus& aReqStatus, TAID& aAID) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5240
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5241
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5242
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5243
	// Mobile MMS Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5244
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5245
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5246
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5247
	/** max size of MMS notification buffer. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5248
	enum{KMaxMmsNotification = 253};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5249
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5250
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5251
	Identifies current status of MMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5252
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5253
	enum TMmsStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5254
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5255
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5256
		The MMS has not been retrieved.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5257
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5258
		EMmsNotRetrieved,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5259
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5260
	    The MMS has been retrieved.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5261
	    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5262
		EMmsRetrieved,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5263
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5264
		The MMS has been rejected.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5265
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5266
		EMmsRejected,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5267
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5268
		The MMS has been forwarded.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5269
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5270
		EMmsforwarded
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5271
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5272
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5273
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5274
	MMS Implementation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5275
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5276
	enum TMmsImplementation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5277
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5278
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5279
		Unknown implementation for MMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5280
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5281
		KMmsImplUnknwown=0x00,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5282
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5283
		Wap implementation for MMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5284
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5285
		KWapImplementation=0x01
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5286
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5287
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5288
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5289
	MMS Connectivity settings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5290
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5291
	enum TMmsConnParams
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5292
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5293
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5294
		MMS User Preferences.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5295
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5296
		EUserPreferences,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5297
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5298
		MMS Issuer Connectivity Parameters.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5299
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5300
		EIssuerConnParams,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5301
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5302
		MMS User Connectivity Parameters.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5303
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5304
		EUserConnParams
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5305
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5306
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5307
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5308
	MMS field Id tags.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5309
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5310
	enum TMobileMMSFieldTags
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5311
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5312
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5313
		Tag id for MMS connectivity parameters.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5314
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5315
		ETagMmsConnParams=0xAB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5316
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5317
		Tag id for MMS Implementation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5318
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5319
		ETagMmsImpl=0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5320
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5321
		Tag id for MMS Relay/Server.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5322
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5323
		ETagMmsServer=0x81,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5324
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5325
		Tag id for Interface to Core Network and Bearer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5326
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5327
		ETagMmsBearerIE=0x82,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5328
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5329
		Tag id for Gateway.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5330
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5331
		ETagMmsGateway=0x83 	  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5332
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5333
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5334
	class TMmsNotificationV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5335
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5336
	Class containing MMS notification paramters.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5337
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5338
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5339
		public :
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5340
			IMPORT_C TMmsNotificationV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5341
		public :
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5342
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5343
			Free/Used space.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5344
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5345
			TBool iSpace;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5346
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5347
			Notification read/not read.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5348
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5349
			TBool iNotification;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5350
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5351
			MMS status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5352
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5353
			TMmsStatus iMmsStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5354
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5355
			MMS implementation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5356
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5357
			TMmsImplementation iImplementation;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5358
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5359
			MMS notification buffer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5360
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5361
			TBuf8<KMaxMmsNotification> iNotify;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5362
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5363
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5364
	typedef TPckg<TMmsNotificationV3> TMmsNotificationV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5365
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5366
	//	MMS notification 	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5367
	IMPORT_C void NotifyMmsUpdate(TRequestStatus& aReqStatus, TDes8& aNotification) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5368
	IMPORT_C void SetMmsUserConnParams(TRequestStatus& aReqStatus, TDes8& aConnectivity) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5369
	IMPORT_C void SetMmsUserPreferences(TRequestStatus& aReqStatus, TDes8& aPreferences) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5370
	IMPORT_C void GetMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5371
	IMPORT_C void NotifyMmsConfig(TRequestStatus& aReqStatus, const TMmsConnParams aType, TDes8& aConnectivity) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5372
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5373
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5374
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5375
	// Mobile MailBox Numbers Functional Unit 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5376
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5377
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5378
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5379
	class TMobilePhoneVoicemailIdsV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5380
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5381
	Contains mailbox numbers.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5382
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5383
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5384
		public :
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5385
			IMPORT_C TMobilePhoneVoicemailIdsV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5386
		public :
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5387
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5388
			Phonebook entry for "voicemail" mailbox number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5389
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5390
			TUint8	iVoice;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5391
			/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5392
			Phonebook entry for "data" mailbox number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5393
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5394
			TUint8	iData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5395
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5396
			Phonebook entry for "fax" mailbox number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5397
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5398
			TUint8	iFax;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5399
			/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5400
			Phonebook entry for "other" mailbox number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5401
			*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5402
			TUint8	iOther;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5403
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5404
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5405
	typedef TPckg<TMobilePhoneVoicemailIdsV3> TMobilePhoneVoicemailIdsV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5406
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5407
	IMPORT_C void GetMailboxNumbers(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5408
	IMPORT_C void NotifyMailboxNumbersChange(TRequestStatus& aReqStatus, TDes8& aMailBox) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5409
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5410
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5411
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5412
	// Mobile APN Control List Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5413
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5414
	/***********************************************************************************/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5415
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5416
	enum { KMaxApnName = 100 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5417
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5418
	class TAPNEntryV3 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5419
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5420
	Contains parameters for an Access Point Name (APN) entry contained 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5421
	within the Access Control List EFacl file in the UICC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5422
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5423
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5424
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5425
		IMPORT_C TAPNEntryV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5426
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5427
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5428
		GGSN DNS name.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5429
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5430
		TBuf8<KMaxApnName> iApn;		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5431
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5432
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5433
	typedef TPckg<TAPNEntryV3> TAPNEntryV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5434
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5435
	IMPORT_C void EnumerateAPNEntries(TRequestStatus& aReqStatus, TUint32 &aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5436
	IMPORT_C void GetAPNname(TRequestStatus& aReqStatus, const TUint32 aIndex, TDes8& aAPN) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5437
	IMPORT_C void AppendAPNName(TRequestStatus& aReqStatus, const TDes8& aAPN) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5438
	IMPORT_C void DeleteAPNName(TRequestStatus& aReqStatus, TUint32 aIndex) const; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5439
	IMPORT_C void NotifyAPNListChanged(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5440
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5441
	enum TAPNControlListServiceStatus {
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5442
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5443
		The APN control list service is disabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5444
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5445
		EAPNControlListServiceDisabled,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5446
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5447
		The APN control list service is enabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5448
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5449
		EAPNControlListServiceEnabled
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5450
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5451
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5452
	IMPORT_C void SetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus aAPNControlListServiceStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5453
	IMPORT_C void GetAPNControlListServiceStatus(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5454
	IMPORT_C void NotifyAPNControlListServiceStatusChange(TRequestStatus& aReqStatus, TAPNControlListServiceStatus& aAPNControlListServiceStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5455
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5456
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5457
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5458
	// Retrieve Total Air Time Duration Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5459
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5460
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5461
	IMPORT_C TInt GetAirTimeDuration(TTimeIntervalSeconds& aTime) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5462
	IMPORT_C void NotifyAirTimeDurationChange(TRequestStatus& aReqStatus,TTimeIntervalSeconds& aTime) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5463
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5464
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5465
	// Terminate All Calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5466
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5467
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5468
	IMPORT_C void TerminateAllCalls(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5469
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5470
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5471
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5472
	// Auto Redial Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5473
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5474
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5475
	IMPORT_C void ClearBlacklist(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5476
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5477
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5478
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5479
	// Mobile Personalisation Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5480
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5481
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5482
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5483
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5484
	Indentifies the personalisation scheme capabilities of the UICC/ME.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5485
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5486
	enum TMobilePhonePersonalisationCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5487
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5488
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5489
		UICC/ME personalisation based on network (MCC, MNC) information is possible.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5490
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5491
		KCapsPersonalisedNetwork=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5492
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5493
		UICC/ME personalisation based on network (MCC, MNC, IMSI network code group) information is possible.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5494
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5495
		KCapsPersonalisedNetworkSub=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5496
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5497
		UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFCNL) information is possible.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5498
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5499
		KCapsPersonalisedServiceProvider=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5500
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5501
		UICC/ME personalisation based on network (MCC, MNC, EFGID1, EFGID2, EFCNL) information is possible.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5502
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5503
		KCapsPersonalisedCorporate=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5504
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5505
		UICC/ME personalisation based on (IMSI SIM/USIM code group) information is possible.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5506
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5507
		KCapsPersonalisedUSim=0x10
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5508
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5509
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5510
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5511
	Identifies the current personalisation schemes that are active. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5512
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5513
	enum TMobilePhonePersonalisationScheme
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5514
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5515
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5516
		The ME is personalised under the network scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5517
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5518
		KPersonalisedNetwork=0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5519
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5520
		The ME is personalised under the network sub scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5521
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5522
		KPersonalisedNetworkSub=0x02,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5523
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5524
		The ME is personalised under the service provider scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5525
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5526
		KPersonalisedServiceProvider=0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5527
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5528
		The ME is personalised under the corprorate scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5529
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5530
		KPersonalisedCorporate=0x08,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5531
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5532
		The ME is personalised under the  SIM/USIM scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5533
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5534
		KPersonalisedUSim=0x10	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5535
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5536
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5537
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5538
	Identifies the personalisation scheme to be set.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5539
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5540
	enum TMobilePhonePersonalisation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5541
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5542
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5543
		Personalise the ME using the network scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5544
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5545
		EPersonaliseNetwork,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5546
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5547
		Personalise the ME using the network sub scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5548
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5549
		EPersonaliseNetworkSub,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5550
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5551
		Personalise the ME using the service provider scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5552
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5553
		EPersonaliseServiceProvider,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5554
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5555
		Personalise the ME using the corporate scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5556
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5557
		EPersonaliseCorporate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5558
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5559
		Personalise the ME using the SIM/USIM scheme.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5560
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5561
		EPersonaliseUsim
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5562
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5563
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5564
	IMPORT_C TInt GetPersonalisationCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5565
	IMPORT_C void GetPersonalisationStatus(TRequestStatus& aReqStatus, TUint32& aPersSchemes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5566
	IMPORT_C void SetPersonalisationStatus(TRequestStatus& aReqStatus, const TMobilePhonePersonalisation aPersSchemes, const TDes& aPersCode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5567
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5568
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5569
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5570
	// Etel 3rd Party v1.0 Parameter classes
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5571
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5572
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5573
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5574
	class TEtel3rdPartyMobileNetworkInfoV1 : public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5575
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5576
	Defines the parameters used to set-up of a call originated from an ETel 3rd Party client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5577
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5578
	TEtel3rdPartyMobileNetworkInfoV1 was used to give an indication to the TSY of where the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5579
	request was originating from; i.e. if the request is from an application using the ISV
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5580
	API or ETel API, which allowed the TSY to make a decision based on the origin.  This
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5581
	data type also provided further protection by not including any location information
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5582
	parameters.  With PlatSec being introduced in v9.0, there was no need to use this data
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5583
	structure, as each API is policed with the adequate PlatSec capabilities.  Therefore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5584
	in v9.0 TEtel3rdPartyMobileNetworkInfoV1 was deprecated and removed from the ETel ISV
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5585
	(ETel3rdParty) implementation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5586
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5587
	TEtel3rdPartyMobileNetworkInfoV1 was only used internally by the ETel ISV API when calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5588
	are made to RMobilePhone::GetCurrentNetwork or RMobilePhone::NotifyCurrentNetworkChange.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5589
	The TSY no longer needs to support this as ETel ISV now uses the TMobilePhoneNetworkInfoV2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5590
	data structure and no distinction is required for ISV Apps.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5591
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5592
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5593
	@deprecated 9.0 This class has been deprecated from 9.0 and should no longer be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5594
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5595
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5596
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5597
		IMPORT_C TEtel3rdPartyMobileNetworkInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5598
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5599
	/** Mode of the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5600
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5601
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5602
	@see TMobilePhoneNetworkMode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5603
		TMobilePhoneNetworkMode iMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5604
	/** Status of the network
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5605
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5606
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5607
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5608
	@see TMobilePhoneNetworkStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5609
		TMobilePhoneNetworkStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5610
	/** The band and band class of the CDMA network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5611
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5612
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5613
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5614
	@see TMobilePhoneNetworkBandInfo */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5615
		TMobilePhoneNetworkBandInfo iBandInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5616
	/** The MCC of the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5617
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5618
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5619
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5620
	@see TMobilePhoneNetworkCountryCode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5621
		TMobilePhoneNetworkCountryCode iCountryCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5622
	/** The system identity (SID) of the CDMA network or the system identity (SID) of the AMPS network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5623
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5624
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5625
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5626
	@see TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5627
		TMobilePhoneNetworkIdentity iCdmaSID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5628
	/** The network identity (NID in CDMA and MNC in GSM).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5629
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5630
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5631
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5632
	@see TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5633
		TMobilePhoneNetworkIdentity iNetworkId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5634
	/** The alpha-tag displayed when this is the serving network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5635
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5636
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5637
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5638
	@see TMobilePhoneNetworkDisplayTag */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5639
		TMobilePhoneNetworkDisplayTag iDisplayTag;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5640
	/** The short name (up to 10 characters) of the network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5641
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5642
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5643
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5644
	@see TMobilePhoneNetworkShortName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5645
		TMobilePhoneNetworkShortName iShortName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5646
	/** The long name (up to 20 characters) of the network operator.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5647
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5648
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5649
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5650
	@see TMobilePhoneNetworkLongName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5651
		TMobilePhoneNetworkLongName iLongName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5652
	/** The type of network access.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5653
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5654
	@see TMobilePhoneNetworkAccess */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5655
		TMobilePhoneNetworkAccess iAccess;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5656
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5657
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5658
/** A typedef'd packaged TEtel3rdPartyMobileNetworkInfoV1 for passing through a generic
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5659
API function member.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5660
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5661
@deprecated 9.0
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5662
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5663
	typedef TPckg<TEtel3rdPartyMobileNetworkInfoV1>  TEtel3rdPartyMobileNetworkInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5664
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5665
	/** IMS Authenticate constants,in accordance to 3GPP TS 33.102,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5666
	section 6.3.7, and RFC 3310*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5667
	enum TMobilePhoneAuthenticate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5668
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5669
		/** length of autn is 128bits - 16octets*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5670
		KAutnLength=16,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5671
		/** length of RAND is 16 octets */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5672
		KRandLength=16,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5673
		/** length of RES is 16 octets*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5674
		KResLength=16,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5675
		/** length of IK is 16 octets*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5676
		KIkLength=16,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5677
		/** length of CK is 16 octets*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5678
		KCkLength=16,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5679
		/** length of Kc (GSM cipher key) is 8 octets*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5680
		KKcLength=8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5681
		/** length of is 112 bits - 14 octets */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5682
		KAutsLength=14,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5683
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5684
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5685
	/** Maximum size of the record in an EF is 0xff( 255 bytes) according to TS 102.221, section 8.2.2.2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5686
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5687
	enum TMobilePhoneRelease5EFMaxSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5688
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5689
	 KRelease5EFMaxSize=255,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5690
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5691
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5692
	/** typedefs for encapsulation of the buffers that hold authorization data stored on the ISIM/USIM*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5693
	/** typedef for Internet Multimedia Public Identity*/	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5694
	typedef TBuf8<KRelease5EFMaxSize> TIMPU;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5695
	/** typedef for Internet Multimedia Private Identity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5696
	typedef TBuf8<KRelease5EFMaxSize> TIMPI;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5697
	/** typedef for Home Network Domain Name*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5698
	typedef TBuf8<KRelease5EFMaxSize> THNDN;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5699
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5700
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5701
	/** IMS Authenticate API*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5702
	/** Class encapsulates data needed as an input/output for
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5703
	ISIM/USIM AUTHENTICATE command
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5704
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5705
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5706
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5707
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5708
	class TImsAuthenticateDataV5: public TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5709
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5710
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5711
		IMPORT_C TImsAuthenticateDataV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5712
		/** holds value of network challenge AUTN */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5713
		TBuf8<KAutnLength> iAUTN;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5714
		/** holds value of network challenge RAND */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5715
		TBuf8<KRandLength> iRAND;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5716
		/** holds result RES of AUTHENTICATE command when it's successfull*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5717
		TBuf8<KResLength> iRES;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5718
		/** holds value of session key Integrity Key */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5719
		TBuf8<KIkLength> iIK;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5720
		/** holds value of session key Cipher Key */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5721
		TBuf8<KCkLength> iCK;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5722
		/** holds value of Authentication Token when  AUTHENTICATE fails*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5723
		TBuf8<KAutsLength> iAUTS;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5724
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5725
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5726
	/** packaged version of TImsAuthenticateDataV5, used when this structure has to be passeed via IPC*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5727
	typedef TPckg<TImsAuthenticateDataV5> TImsAuthenticateDataV5Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5728
	friend class CAsyncRetrieveAuthorizationInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5729
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5730
	/** API that execute ISIM/USIM AUTHENTICATE command*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5731
	IMPORT_C void ImsAuthenticate (TRequestStatus& aReqStatus,TDes8& authenticateDataPckgd) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5732
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5733
	IMPORT_C void NotifyImsAuthorizationInfoChange(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5734
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5735
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5736
	Source location of IMS Authorization data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5737
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5738
	enum TAuthorizationDataSource
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5739
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5740
		/** Authorization data source is USIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5741
		EFromUSIM,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5742
		/** Authorization data source is ISIM. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5743
		EFromISIM
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5744
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5745
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5746
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5747
	Class encapsulates IMS authorization data stored in the ISIM or USIM
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5748
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5749
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5750
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5751
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5752
	class CImsAuthorizationInfoV5 : public CBase	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5753
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5754
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5755
		IMPORT_C ~CImsAuthorizationInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5756
		IMPORT_C static CImsAuthorizationInfoV5* NewL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5757
		IMPORT_C virtual void ExternalizeL(HBufC8*& aBuffer);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5758
		IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5759
		IMPORT_C TUint ExtensionId() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5760
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5761
		/**Internet Multimedia Private Identity stored on the ISIM/USIM*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5762
		RMobilePhone::TIMPI iIMPI;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5763
		/**Internet Multimedia Public Identity(ies) stored on the ISIM/USIM*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5764
		RArray<RMobilePhone::TIMPU> iIMPUArray;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5765
		/**Home Network Domain Name stored on the ISIM/USIM*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5766
		RMobilePhone::THNDN iHomeNetworkDomainName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5767
		/**indicates whether authorization data has been retrieved from the ISIM*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5768
		TAuthorizationDataSource iAuthenticationDataSource;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5769
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5770
		CImsAuthorizationInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5771
		/** version of the data supported*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5772
		TUint iExtensionId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5773
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5774
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5775
	/**	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5776
	Defines the input as well as the ouput parameters used when performing the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5777
	(U)ICC AUTHENTICATE command.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5778
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5779
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5780
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5781
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5782
	class TSmartCardAuthenticateDataV6 : public TImsAuthenticateDataV5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5783
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5784
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5785
		IMPORT_C TSmartCardAuthenticateDataV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5786
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5787
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5788
		TBuf8<KKcLength> iKc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5789
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5790
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5791
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5792
	Packaged version of TSmartCardAuthenticateDataV6, used when this
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5793
	structure has to be passeed via IPC.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5794
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5795
	typedef TPckg<TSmartCardAuthenticateDataV6> TSmartCardAuthenticateDataV6Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5796
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5797
	IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, TDes8& aAuthDataPckgd) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5798
	IMPORT_C void SmartCardAuthenticate(TRequestStatus& aReqStatus, const TAID& aAID, TDes8& aAuthDataPckgd) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5799
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5800
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5801
	CMobilePhonePtrHolder* iMmPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5802
	RMobilePhone(const RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5803
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5804
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5805
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5806
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5807
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5808
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5809
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5810
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5811
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5812
// Phone Storage functionality (RMobilePhoneStore)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5813
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5814
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5815
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5816
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5817
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5818
class CMobilePhoneStorePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5819
class RMobilePhoneStore : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5820
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5821
Abstract class used to define common phone storage actions and types
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5822
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5823
Clients open one of the specialised phone store classes that are derived from RMobilePhoneStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5824
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5825
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5826
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5827
	friend class CAsyncRetrieveStoreList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5828
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5829
/** Types of store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5830
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5831
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5832
	enum TMobilePhoneStoreType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5833
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5834
	/** Store type is unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5835
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5836
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5837
		EPhoneStoreTypeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5838
	/** Store contains SMS messages.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5839
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5840
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5841
		EShortMessageStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5842
	/** Store contains NAM entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5843
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5844
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5845
		ENamStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5846
	/** Store contains PhoneBook entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5847
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5848
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5849
		EPhoneBookStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5850
	/** Store contains emergency number entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5851
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5852
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5853
		EEmergencyNumberStore,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5854
	/** Store contains own number entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5855
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5856
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5857
		EOwnNumberStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5858
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5859
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5860
/** Store capabilities. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5861
	enum TMobilePhoneStoreCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5862
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5863
	/** The store can be accessed as a whole using the ReadAll() and StoreAll() member
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5864
	functions. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5865
		KCapsWholeStore			= 0x80000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5866
	/** The store can be accessed one entry at a time using the RMobilePhoneStore::Read(), 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5867
	RMobilePhoneStore::Write() and RMobilePhoneStore::Delete() member functions. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5868
		KCapsIndividualEntry	= 0x40000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5869
	/** The store can be accessed in order to read entries. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5870
		KCapsReadAccess			= 0x20000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5871
	/** The store can be accessed in order to write or delete entries. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5872
		KCapsWriteAccess		= 0x10000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5873
	/** The TSY supports deleting all the store entries at once. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5874
		KCapsDeleteAll			= 0x08000000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5875
	/** The TSY supports notification of store events such as entries added, deleted
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5876
	or store becoming full. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5877
		KCapsNotifyEvent		= 0x04000000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5878
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5879
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5880
/** The type of store information. As defined in TMobilePhoneStoreInfoV1::iExtensionId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5881
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5882
Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5883
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5884
@see TMobilePhoneStoreInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5885
@see RMobilePhone::TMultimodeType */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5886
	enum TMobilePhoneStoreInfoExtId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5887
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5888
	/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneStore::TMobilePhoneStoreInfoV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5889
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5890
		KETelMobilePhoneStoreV1=KETelExtMultimodeV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5891
	/** The iExtensionId contents indicate that the packaged class is a RMobilePhoneBookStore::TMobilePhoneBookInfoV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5892
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5893
		KETelMobilePhonebookStoreV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5894
	/** Reserved for SMS store specific information class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5895
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5896
		KETelMobileSmsStoreV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5897
	/** The iExtensionId contents indicate that the packaged class is a RMobileNamStore::TMobileNamStoreInfoV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5898
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5899
		KETelMobileNamStoreV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5900
	/** The iExtensionId contents indicate that the packaged class is a RMobileONStore::TMobileONStoreInfoV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5901
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5902
		KETelMobileONStoreV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5903
	/** Reserved for Emergency Number store specific infoprmation class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5904
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5905
		KETelMobileENStoreV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5906
	/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5907
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5908
		KETelMobilePhonebookStoreV2=KETelExtMultimodeV2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5909
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5910
	/** The iExtensionId contents indicate that the packaged class is a TMobilePhoneBookInfoV2.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5911
 	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5912
 		KETelMobilePhonebookStoreV5=KEtelExtMultimodeV5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5913
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5914
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5915
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5916
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5917
	class TMobilePhoneStoreInfoV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5918
/** Defines information and capabilities of a phone-side store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5919
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5920
@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5921
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5922
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5923
		IMPORT_C TMobilePhoneStoreInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5924
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5925
	/** The type of entry in the phone-side store. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5926
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5927
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5928
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5929
	@see TMobilePhoneStoreType */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5930
		TMobilePhoneStoreType		iType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5931
	/** Indicates the total number of entries that may be held in this store. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5932
		TInt						iTotalEntries;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5933
	/** Indicates the current number of entries held in this store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5934
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5935
	Is equal to KIndexNotUsed if the TSY is unable to determine current number 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5936
	of entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5937
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5938
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5939
		TInt						iUsedEntries;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5940
	/** Indicates the capabilities of the store. It is the sum of caps constants defined
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5941
	in TMobilePhoneStoreCaps and those defined for a specialised phone store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5942
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5943
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5944
		TUint32						iCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5945
	/** The name of the phone-side store. A valid list of names is given in the description 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5946
	of each specialised store. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5947
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5948
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5949
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5950
	@see RMobilePhone::TMobileName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5951
		RMobilePhone::TMobileName	iName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5952
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5953
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5954
/** A typedef'd packaged TMobilePhoneStoreInfoV1 for passing through a generic
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5955
API member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5956
	typedef TPckg<TMobilePhoneStoreInfoV1> TMobilePhoneStoreInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5957
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5958
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5959
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5960
	class TMobilePhoneStoreEntryV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5961
/** Defines common contents of an entry in a phone-side store. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5962
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5963
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5964
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5965
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5966
		enum
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5967
			{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5968
			KIndexNotUsed = -1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5969
			};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5970
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5971
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5972
		TMobilePhoneStoreEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5973
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5974
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5975
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5976
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5977
	/** The slot location of the entry within phone-side storage.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5978
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5979
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5980
		TInt  iIndex;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5981
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5982
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5983
	IMPORT_C void GetInfo(TRequestStatus& aReqStatus, TDes8& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5984
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5985
	IMPORT_C void Read(TRequestStatus& aReqStatus, TDes8& aEntry) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5986
	IMPORT_C void Write(TRequestStatus& aReqStatus, TDes8& aEntry) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5987
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5988
	IMPORT_C void Delete(TRequestStatus& aReqStatus, TInt aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5989
	IMPORT_C void DeleteAll(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5990
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5991
/** The store events. It is possible for more than one event to occur at the same 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5992
time, therefore the events are a bitmask and should be tested as a bitmask.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5993
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5994
Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5995
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5996
@see NotifyStoreEvent() */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5997
	enum TMobileStoreEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5998
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  5999
	/** The store has become full. This event will trigger after the last possible 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6000
	entry in a store has been written. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6001
		KStoreFull =0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6002
	/** The store was full but now has some space. This event will trigger after one 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6003
	or more entries have been deleted from a full store. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6004
		KStoreHasSpace =0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6005
	/** The store is empty. This event will trigger after the last entry in a store 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6006
	has been deleted or if all entries are deleted at once. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6007
		KStoreEmpty =0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6008
	/** The store has a new entry, placed in the slot indicated by the aIndex parameter. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6009
		KStoreEntryAdded =0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6010
	/** The store has deleted the entry that was in the slot indicated by the aIndex 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6011
	parameter. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6012
		KStoreEntryDeleted =0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6013
	/** The store has changed the entry that was in the slot indicated by the aIndex 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6014
	parameter. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6015
		KStoreEntryChanged =0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6016
	/** The store contents have substantially changed and the TSY is recommending that 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6017
	the client performs a refresh by reading all the contents again. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6018
		KStoreDoRefresh =0x00000040
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6019
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6020
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6021
	IMPORT_C void NotifyStoreEvent(TRequestStatus& aReqStatus, TUint32& aEvent, TInt& aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6022
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6023
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6024
	CMobilePhoneStorePtrHolder* iStorePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6025
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6026
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6027
	RMobilePhoneStore();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6028
	IMPORT_C void BaseConstruct(CMobilePhoneStorePtrHolder* aPtrHolder);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6029
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6030
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6031
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6033
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6034
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6035
// Call based functionality (RMobileCall)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6036
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6037
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6038
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6039
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6040
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6041
class CMobileCallPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6042
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6043
class RMobileCall : public RCall
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6044
/** Provides access to the functionality associated with a specific mobile call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6045
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6046
RMobileCall encapsulates access to a mobile phone. The functionality of RMobileCall 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6047
is divided into a number of functional units, for the purpose of easier documentation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6048
and navigation and selectable support by TSY. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6049
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6050
Note: Some RMobileCall function members must be supported by the TSY while 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6051
others are part of optional "functional unit" and only need to be supported
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6052
if the TSY supports that functional unit. When a functional unit is mandatory 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6053
then the TSY should at least support the Get...Caps() member function to indicate 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6054
the member functions that are supported for this unit. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6055
 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6056
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6057
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6058
	IMPORT_C RMobileCall();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6059
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6060
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6061
	//  Mobile call parameters - used within Dial/Answer API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6062
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6063
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6064
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6065
	// used to set iExtensionId in RCall::TCallParams
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6066
/** The mobile call parameter extension IDs.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6067
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6068
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6069
	enum TMobileCallParamsExtensionId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6070
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6071
	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6072
		KETelMobileCallParamsV1=KETelExtMultimodeV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6073
	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6074
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6075
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6076
		KETelMobileDataCallParamsV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6077
	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6078
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6079
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6080
		KETelMobileHscsdCallParamsV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6081
	/** The iExtensionId contents indicate that the packaged class is a TMobileCallParamsV2.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6082
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6083
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6084
		KETelMobileCallParamsV2=KETelExtMultimodeV2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6085
	/** The iExtensionId contents indicate that the packaged class is a TMobileDataCallParamsV2.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6086
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6087
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6088
		KETelMobileDataCallParamsV2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6089
	/** The iExtensionId contents indicate that the packaged class is a TMobileHscsdCallParamsV2.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6090
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6091
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6092
		KETelMobileHscsdCallParamsV2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6093
	/** The iExtensionId contents indicate that the packaged class is a TEtel3rdPartyMobileCallParamsV1. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6094
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6095
	Modes: Common */	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6096
		KETel3rdPartyCallParamsV1=KETelExt3rdPartyV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6097
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6098
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6099
/** Caller Id restriction settings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6101
Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6102
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6103
@see TMobileCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6104
	enum TMobileCallIdRestriction
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6105
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6106
	/** The default setting should be used if the user has not explicitly requested 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6107
	their identity to be restricted/allowed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6108
		EIdRestrictDefault,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6109
	/** The user has explicitly requested their identity to be sent for this call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6110
		ESendMyId,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6111
	/** The user has explicitly requested their identity not to be sent for this call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6112
		EDontSendMyId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6113
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6114
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6115
	class TMobileCallCugV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6116
/** This class is used to set up a CUG (Closed User Group) call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6117
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6118
TMobileCallCugV1() is valid in GSM/WCDMA mode only. The client application 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6119
should set the CUG settings for the call depending on the user's choice. If
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6120
the user has not explicitly requested a CUG call then this parameter should 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6121
indicate that explicit CUG invoke is false. The TSY ignores this parameter 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6122
if in CDMA mode. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6123
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6124
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6125
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6126
		IMPORT_C TMobileCallCugV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6127
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6128
	/** A boolean indicating whether Closed User Group is being explicitly invoked by 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6129
	the client or not. If this parameter is false, the other entries in this structure 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6130
	will be ignored. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6131
		TBool	iExplicitInvoke;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6132
	/** The Closed User Group index that the user has specified for this call (if no
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6133
	index has been specified then this element will equal -1). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6134
		TInt	iCugIndex;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6135
	/** A boolean indicating whether the user has suppressed their Outgoing Access option 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6136
	or not. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6137
		TBool	iSuppressOA;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6138
	/** A boolean indicating whether the user has suppressed the use of their preferential 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6139
	Closed User Group or not. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6140
		TBool	iSuppressPrefCug;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6141
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6142
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6143
/** Multicall Operation set-up.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6144
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6145
Mode: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6146
	enum TMobileCallMulticallBearerMode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6147
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6148
	/** Multicall is not supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6149
		EMulticallNotSupported,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6150
	/** MS will accept incoming call and establish a connection using an existing bearer. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6151
		EMulticallShareBearer,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6152
	/** MS will accept incoming call and establish a connection by creating a new bearer. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6153
		EMulticallNewBearer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6154
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6155
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6156
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6157
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6158
	class TMobileCallParamsV1 : public RCall::TCallParams
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6159
/** Defines the parameters used for set-up of a call of any type. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6160
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6161
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6162
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6163
		IMPORT_C TMobileCallParamsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6164
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6165
	/** Call Id restriction setting to be used for this call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6166
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6167
	@see TMobileCallIdRestriction */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6168
		TMobileCallIdRestriction iIdRestrict;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6169
	/** Closed User Group setting to be used for this call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6170
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6171
	@see TMobileCallCugV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6172
		TMobileCallCugV1 iCug;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6173
	/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6174
	redial (ETrue). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6175
		TBool iAutoRedial;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6176
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6177
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6178
/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API function 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6179
member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6180
	typedef TPckg<TMobileCallParamsV1> TMobileCallParamsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6181
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6182
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6183
 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6184
 	class TMobileCallParamsV2 : public TMobileCallParamsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6185
/** Defines the parameters used for set-up of a call of any type 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6186
for version v2.0 of the API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6187
A new parameter (iBearerMode) is required to support Multicall.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6188
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6189
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6190
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6191
 		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6192
 	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6193
 		IMPORT_C TMobileCallParamsV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6194
 	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6195
	/** The bearer mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6196
 		TMobileCallMulticallBearerMode iBearerMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6197
 		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6198
 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6199
/** A typedef'd packaged TMobileCallParamsV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6200
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6201
 	typedef TPckg<TMobileCallParamsV2> TMobileCallParamsV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6202
 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6203
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6204
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6205
	// Mobile Call Data Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6206
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6207
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6208
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6209
/** In GSM mode, maps to list of supported speeds returned in response to AT+CBST=?. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6210
In CDMA mode, maps to data rates supported by supported service options.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6211
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6212
@see TMobileCallDataCapsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6213
	enum TMobileCallDataSpeedCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6214
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6215
	/** Call can support autobauding. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6216
		KCapsSpeedAutobauding = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6217
	/** Call can support a speed of 2400bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6218
		KCapsSpeed2400  = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6219
	/** Call can support a speed of 4800bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6220
		KCapsSpeed4800  = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6221
	/** Call can support a speed of 9600bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6222
		KCapsSpeed9600  = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6223
	/** Call can support a speed of 14400bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6224
		KCapsSpeed14400 = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6225
	/** Call can support a speed of 19200bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6226
		KCapsSpeed19200 = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6227
	/** Call can support a speed of 28800bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6228
		KCapsSpeed28800 = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6229
	/** Call can support a speed of 32000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6230
		KCapsSpeed32000 = 0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6231
	/** Call can support a speed of 33600bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6232
		KCapsSpeed33600 = 0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6233
	/** Call can support a speed of 38400bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6234
		KCapsSpeed38400 = 0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6235
	/** Call can support a speed of 43200bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6236
		KCapsSpeed43200 = 0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6237
	/** Call can support a speed of 48000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6238
		KCapsSpeed48000 = 0x00000800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6239
	/** Call can support a speed of 56000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6240
		KCapsSpeed56000 = 0x00001000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6241
	/** Call can support a speed of 57600bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6242
		KCapsSpeed57600 = 0x00002000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6243
	/** Call can support a speed of 64000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6244
		KCapsSpeed64000 = 0x00004000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6245
	/** Call can support extended data speed capabilities. This flag is reserved for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6246
	future expansion of API and should always be set to zero. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6247
		KCapsSpeedExtended = 0x80000000		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6248
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6249
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6250
/** List of supported values of the <speed> parameter returned in response to AT+CBST=?
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6251
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6252
Not applicable to CDMA mode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6253
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6254
@see TMobileDataCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6255
	enum TMobileCallDataProtocolCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6256
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6257
	/** Call can support V.22bis standard
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6258
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6259
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6260
		KCapsProtocolV22bis = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6261
	/** Call can support V.32 standard.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6262
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6263
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6264
		KCapsProtocolV32 = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6265
	/** Call can support V.34 standard.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6266
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6267
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6268
		KCapsProtocolV34 = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6269
	/** Call can support V.110 standard.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6270
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6271
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6272
		KCapsProtocolV110 = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6273
	/** Call can support V.120 standard.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6274
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6275
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6276
		KCapsProtocolV120 = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6277
	/** Call can support bit transparent service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6278
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6279
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6280
		KCapsProtocolBitTransparent = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6281
	/** Call can support X31 flag stuffing standard.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6282
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6283
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6284
		KCapsProtocolX31FlagStuffing = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6285
	/** Call can support both PIAF standards (32000bps and 64000bps).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6286
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6287
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6288
		KCapsProtocolPIAFS = 0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6289
	/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6290
	with voice fallback.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6291
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6292
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6293
		KCapsPstnMultimediaVoiceFallback = 0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6294
	/** Call can support request for Multimedia protocol (3G-324M) over a call to PSTN
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6295
	without voice fallback
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6296
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6297
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6298
		KCapsPstnMultimedia = 0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6299
	/** Call can support request for Multimedia protocol (3G-324M) over a call to ISDN 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6300
	(voice fallback not possible).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6301
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6302
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6303
		KCapsIsdnMultimedia = 0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6304
	/** Call can support extended data carrier capabilities. This flag is reserved for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6305
	future expansion and should always be set to zero for v1.0 of this API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6306
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6307
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6308
		KCapsProtocolExtended = 0x80000000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6309
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6310
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6311
/** In GSM mode, maps to list of supported <name> returned in response to AT+CBST=? 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6312
In CDMA mode, maps to supported service options.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6313
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6314
Modes: COMMON
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6315
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6316
@see TMobileCallDataCapsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6317
	enum TMobileCallDataServiceCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6318
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6319
		KCapsDataCircuitAsynchronous = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6320
		KCapsDataCircuitAsynchronousRDI = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6321
		KCapsDataCircuitSynchronous = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6322
		KCapsDataCircuitSynchronousRDI = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6323
	/** Call can support "PAD Access (asynchronous) (UDI)".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6324
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6325
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6326
		KCapsPADAsyncUDI = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6327
	/** Call can support "PAD Access (asynchronous) (RDI)"
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6328
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6329
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6330
		KCapsPADAsyncRDI = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6331
	/** Call can support "Packet Access (synchronous) (UDI)" 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6332
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6333
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6334
		KCapsPacketAccessSyncUDI = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6335
	/** Call can support "Packet Access (synchronous) (RDI)".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6336
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6337
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6338
		KCapsPacketAccessSyncRDI = 0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6339
	/** Call can support extended data service capabilities. This flag is reserved for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6340
	future expansion of this API and should always be set to zero for v1.0 of 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6341
	this API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6342
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6343
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6344
		KCapsServiceExtended = 0x80000000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6345
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6346
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6347
/** Maps to list of supported <ce> returned in response to AT+CBST=?
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6348
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6349
Not applicable to CDMA mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6350
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6351
@see TMobileCallDataCapsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6352
	enum TMobileCallDataQoSCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6353
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6354
	/** Call can support a request for "transparent only" connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6355
		KCapsTransparent = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6356
	/** Call can support a request for "non-transparent only" connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6357
		KCapsNonTransparent = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6358
	/** Call can support a request for "transparent preferred" connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6359
		KCapsTransparentPreferred = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6360
	/** Call can support a request for "non-transparent preferred" connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6361
		KCapsNonTransparentPreferred = 0x00000008
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6362
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6363
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6364
/** Supported Air Interface User Rates. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6365
	enum TMobileCallAiurCodingCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6366
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6367
	/** Air interface user rate of 4.8k is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6368
		KCapsAiurCoding48 = 0x01,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6369
	/** Air interface user rate of 9.6k is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6370
		KCapsAiurCoding96 = 0x04,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6371
	/** Air interface user rate of 14.4k is supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6372
		KCapsAiurCoding144 = 0x08
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6373
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6374
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6375
/** HSCSD coding capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6376
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6377
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6378
	enum TMobileCallTchCodingsCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6379
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6380
	/** Call supports HSCSD coding on 4.8K full rate data traffic channel. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6381
		KCapsTchCoding48  = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6382
	/** Call supports HSCSD coding on 9.6K full rate data traffic channel. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6383
		KCapsTchCoding96  = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6384
	/** Call supports HSCSD coding on 14.4K full rate data traffic channel. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6385
		KCapsTchCoding144 = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6386
	/** Call supports HSCSD coding on 28.8K full rate data traffic channel (only possible 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6387
	when 14.4K is supported). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6388
		KCapsTchCoding288 = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6389
	/** Call supports HSCSD coding on 32.0K full rate data traffic channel (only possible 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6390
	in a two-timeslot configuration). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6391
		KCapsTchCoding320 = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6392
	/** Call supports HSCSD coding on 43.2K full rate data traffic channel (only possible 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6393
	when 14.4K is supported). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6394
		KCapsTchCoding432 = 0x00000040
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6395
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6396
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6397
/** The call asymmetry capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6398
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6399
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6400
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6401
@see TMobileCallDataCapsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6402
	enum TMobileCallAsymmetryCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6403
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6404
	/** Call supports "No Preference" option for asymmetry bias of a Non-Transparent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6405
	ECSD call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6406
		KCapsAsymmetryNoPreference= 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6407
	/** Call supports "Downlink bias" option for asymmetry bias of a Non-Transparent 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6408
	ECSD call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6409
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6410
	This means 8-PSK modulation is preferred downlink and GMSK modulation uplink. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6411
		KCapsAsymmetryDownlink = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6412
	/** Call supports "Uplink bias" option for asymmetry bias of a Non-Transparent ECSD 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6413
	call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6414
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6415
	This means 8-PSK modulation is preferred uplink and GMSK modulation downlink. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6416
		KCapsAsymmetryUplink = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6417
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6418
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6419
/** The supported Call RLP versions.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6420
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6421
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6422
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6423
@see TMobileCallDataCapsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6424
	enum TMobileCallRLPVersionCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6425
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6426
	/** Call supports the single link, basic RLP version 0. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6427
		KCapsRLPSingleLinkVersion0 = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6428
	/** Call supports the single link, extended RLP version 1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6429
		KCapsRLPSingleLinkVersion1 = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6430
	/** Call supports the multi link, RLP version 2. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6431
		KCapsRLPMultiLinkVersion2  = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6432
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6433
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6434
/** The supported V42bis options.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6435
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6436
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6437
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6438
@see TMobileCallDataCapsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6439
	enum TMobileCallV42bisCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6440
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6441
	/** Call supports V42bis compression in initiator-responder direction. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6442
		KCapsV42bisTxDirection = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6443
	/** Call supports V42bis compression in responder-initiator direction. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6444
		KCapsV42bisRxDirection = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6445
	/** Call supports V42bis compression in both directions. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6446
		KCapsV42bisBothDirections = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6447
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6448
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6449
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6450
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6451
	class TMobileCallDataCapsV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6452
	/** Defines the capabilities of a circuit switched data call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6453
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6454
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6455
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6456
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6457
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6458
		IMPORT_C TMobileCallDataCapsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6459
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6460
	/** Data speed capabilities - a bit wise sum of the caps defined in TMobileCallDataSpeedCaps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6461
		TUint32	iSpeedCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6462
	/** Data protocol capabilities - a bit wise sum of the caps defined in TMobileCallDataProtocolCaps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6463
		TUint32	iProtocolCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6464
	/** Data service capabilities - a bit wise sum of the caps defined in TMobileCallDataServiceCaps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6465
		TUint32	iServiceCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6466
	/** Data QoS capabilities - a bit wise sum of the caps defined in TMobileCallDataQoSCaps.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6467
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6468
	Note: Only available in GSM/WCDMA mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6469
		TUint32	iQoSCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6470
	/** A boolean indicating whether or not the MS supports HSCSD for this call. If 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6471
	this attribute equals EFalse all the following attributes are invalid.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6472
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6473
	Note: Only available in GSM/WCDMA mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6474
		TBool	iHscsdSupport;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6475
	/** For HSCSD: The multi-slot class supported. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6476
		TInt	iMClass;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6477
	/** For HSCSD: The maximum supported number of time-slots in the receive (down-link) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6478
	direction. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6479
		TInt	iMaxRxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6480
	/** For HSCSD: The maximum supported number of time-slots in the transmit (up-link) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6481
	direction. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6482
		TInt	iMaxTxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6483
	/** For HSCSD: The maximum supported total number of receive and transmit time-slots 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6484
	that can be used at same time. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6485
		TInt	iTotalRxTxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6486
	/** For HSCSD: A bit-wise sum of the supported air interface channel codings defined 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6487
	in TMobileCallAiurCodingCaps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6488
		TUint32	iCodingCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6489
	/** For HSCSD: A bit-wise sum of the supported asymmetry bias defined in TMobileCallAsymmetryCaps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6490
		TUint32 iAsymmetryCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6491
	/** For HSCSD: A boolean indicating whether or not the MS supports automatic user 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6492
	initiated service level upgrading. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6493
		TBool 	iUserInitUpgrade;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6494
	/** For HSCSD and CSD: A bit-wise sum of the supported Radio Link Protocol versions 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6495
	defined in TMobileCallRLPVersionCaps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6496
		TUint32	iRLPVersionCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6497
	/** For HSCSD and CSD: A bit-wise sum of the supported V42bis compression capabilities 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6498
	defined in TMobileCallV42bisCaps . */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6499
		TUint32	iV42bisCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6500
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6501
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6502
/** A typedef'd packaged TMobileCallDataCapsV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6503
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6504
	typedef TPckg<TMobileCallDataCapsV1> TMobileCallDataCapsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6505
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6506
	IMPORT_C TInt GetMobileDataCallCaps(TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6507
	IMPORT_C void NotifyMobileDataCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6508
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6509
/** The call setup requested data speed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6510
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6511
@see TMobileDataCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6512
	enum TMobileCallDataSpeed
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6513
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6514
	/** Call set-up will request speed depending on data carrier chosen. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6515
		ESpeedUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6516
	/** Call set-up will request autobauding. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6517
		ESpeedAutobauding,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6518
	/** Call set-up will request 2400bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6519
		ESpeed2400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6520
	/** Call set-up will request 4800bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6521
		ESpeed4800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6522
	/** Call set-up will request 9600bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6523
		ESpeed9600,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6524
	/** Call set-up will request 14400bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6525
		ESpeed14400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6526
	/** Call set-up will request 19200bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6527
		ESpeed19200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6528
	/** Call set-up will request 28800bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6529
		ESpeed28800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6530
	/** Call set-up will request 32000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6531
		ESpeed32000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6532
	/** Call set-up will request 33600bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6533
		ESpeed33600,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6534
	/** Call set-up will request 38400bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6535
		ESpeed38400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6536
	/** Call set-up will request 43200bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6537
		ESpeed43200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6538
	/** Call set-up will request 48000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6539
		ESpeed48000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6540
	/** Call set-up will request 56000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6541
		ESpeed56000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6542
	/** Call set-up will request 57600bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6543
		ESpeed57600,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6544
	/** Call set-up will request 64000bps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6545
		ESpeed64000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6546
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6547
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6548
/** The call set-up requested data protocol.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6549
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6550
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6551
	enum TMobileCallDataProtocol
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6552
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6553
	/** Call set-up will request carrier depending on data speed chosen. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6554
		EProtocolUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6555
	/** Call set-up will request the V.22bis standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6556
		EProtocolV22bis,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6557
	/** Call set-up will request the V.32 standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6558
		EProtocolV32,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6559
	/** Call set-up will request the V.34 standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6560
		EProtocolV34,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6561
	/** Call set-up will request the V.110 standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6562
		EProtocolV110,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6563
	/** Call set-up will request the V.120 standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6564
		EProtocolV120,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6565
	/** Call set-up will request the X31FlagStuffing standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6566
		EProtocolX31FlagStuffing,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6567
	/** Call set-up will request the PIAFS standard. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6568
		EProtocolPIAFS,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6569
	/** Call set-up will request the bit transparent service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6570
		EProtocolBitTransparent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6571
	/** Call set-up will request a PSTN multimedia call with voice fallback if multimedia 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6572
	fails.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6573
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6574
	WCDMA mode only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6575
		EProtocolPstnMultimediaVoiceFallback,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6576
	/** Call set-up will request a PSTN multimedia call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6577
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6578
	WCDMA mode only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6579
		EProtocolPstnMultimedia,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6580
	/** Call set-up will request a ISDN multimedia call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6581
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6582
	WCDMA mode only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6583
		EProtocolIsdnMultimedia
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6584
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6585
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6586
/** The call setup requested data services.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6587
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6588
Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6589
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6590
@see TMobileDataCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6591
	enum TMobileCallDataService
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6592
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6593
	/** Call set-up will request its default service type.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6594
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6595
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6596
		EServiceUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6597
	/** Call set-up will request:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6598
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6599
	GSM mode - Data circuit asynchronous (UDI or 3.1 KHz, ex PLMN) service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6600
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6601
	In CDMA mode - Async Data service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6602
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6603
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6604
		EServiceDataCircuitAsync,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6605
	/** Call set-up will request Data circuit asynchronous (RDI) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6606
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6607
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6608
		EServiceDataCircuitAsyncRdi,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6609
	/** Call set-up will request Data circuit synchronous (UDI or 3.1 KHz, ex PLMN) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6610
	service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6611
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6612
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6613
		EServiceDataCircuitSync,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6614
	/** Call set-up will request Data circuit synchronous (RDI) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6615
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6616
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6617
		EServiceDataCircuitSyncRdi,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6618
	/** Call set-up will request PAD asynchronous (UDI) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6619
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6620
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6621
		EServicePADAsyncUDI,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6622
	/** Call set-up will request PAD asynchronous (RDI) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6623
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6624
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6625
		EServicePADAsyncRDI,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6626
	/** Call set-up will request Packet Access synchronous (UDI) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6627
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6628
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6629
		EServicePacketAccessSyncUDI,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6630
	/** Call set-up will request Packet Access synchronous (RDI) service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6631
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6632
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6633
		EServicePacketAccessSyncRDI
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6634
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6635
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6636
/** The call set-up requested quality of service (QoS).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6637
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6638
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6639
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6640
@see TMobileDataCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6641
	enum TMobileCallDataQoS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6642
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6643
	/** Call set-up will request its default connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6644
		EQoSUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6645
	/** Call set-up will request a transparent connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6646
		EQoSTransparent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6647
	/** Call set-up will request a non-transparent connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6648
		EQoSNonTransparent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6649
	/** Call set-up will prefer a transparent connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6650
		EQosTransparentPreferred,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6651
	/** Call set-up will prefer a non-transparent connection. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6652
		EQosNonTransparentPreferred
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6653
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6654
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6655
/** The call set-up requested RLP version.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6656
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6657
@see TMobileDataCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6658
	enum TMobileCallDataRLPVersion
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6659
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6660
	/** Call set-up will request no RLP version. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6661
		ERLPNotRequested,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6662
	/** Call set-up will request single link basic RLP (version 0). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6663
		ERLPSingleLinkVersion0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6664
	/** Call set-up will request single link extended RLP (version 1). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6665
		ERLPSingleLinkVersion1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6666
	/** Call set-up will prefer multi link RLP (version 2). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6667
		ERLPMultiLinkVersion2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6668
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6669
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6670
/** The V.42bis parameters used in the call set-up of a V.42bis data call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6671
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6672
@see TMobileDataCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6673
	enum TMobileCallDataV42bis
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6674
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6675
	/** Call set-up will not request V.42bis compression. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6676
		EV42bisNeitherDirection,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6677
	/** Call set-up will request V.42bis compression in initiator-responder direction 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6678
	only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6679
		EV42bisTxDirection,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6680
	/** Call set-up will request V.42bis compression in responder-initiator direction 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6681
	only. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6682
		EV42bisRxDirection,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6683
	/** Call set-up will request V.42bis compression in both directions. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6684
		EV42bisBothDirections
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6685
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6686
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6687
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6688
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6689
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6690
	class TMobileDataCallParamsV1 : public TMobileCallParamsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6691
/** Defines the parameters used for setup of a circuit switched data call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6692
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6693
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6694
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6695
		IMPORT_C TMobileDataCallParamsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6696
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6697
	/** The type of data service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6698
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6699
	@see TMobileCallDataService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6700
		TMobileCallDataService iService;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6701
	/** The data transfer rate.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6702
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6703
	@see TMobileCallDataSpeed */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6704
		TMobileCallDataSpeed iSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6705
	/** The ITU-T standard modulation protocol or higher application protocol. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6706
		TMobileCallDataProtocol iProtocol;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6707
	/** The quality of data service.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6708
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6709
	@see TMobileCallDataQoS */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6710
		TMobileCallDataQoS iQoS;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6711
	/** The version of Radio Link Protocol.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6712
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6713
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6714
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6715
	@see TMobileCallDataRLPVersion */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6716
		TMobileCallDataRLPVersion iRLPVersion;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6717
	/** The IWF to MS windows size.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6718
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6719
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6720
		TInt iModemToMSWindowSize;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6721
	/** The MS window to IWF size.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6722
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6723
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6724
		TInt iMSToModemWindowSize;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6725
	/** The acknowledgement timer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6726
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6727
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6728
		TInt iAckTimer;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6729
	/** The number of retransmission attempts.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6730
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6731
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6732
		TInt iRetransmissionAttempts;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6733
	/** The resequencing period in integer format.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6734
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6735
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6736
		TInt iResequencingPeriod;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6737
	/** The V42bis compression request parameter.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6738
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6739
	@see TMobileCallDataV42bis */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6740
		TMobileCallDataV42bis iV42bisReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6741
	/** The number of codewords in the algorithm. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6742
		TInt iV42bisCodewordsNum;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6743
	/** The maximum encodable data string length. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6744
		TInt iV42bisMaxStringLength;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6745
		TBool iUseEdge; // True for ECSD
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6746
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6747
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6748
/** A typedef'd packaged TMobileDataCallParamsV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6749
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6750
	typedef TPckg<TMobileDataCallParamsV1> TMobileDataCallParamsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6751
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6752
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6753
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6754
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6755
	class TMobileDataCallParamsV2 : public TMobileDataCallParamsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6756
/** Defines the parameters used for setup of a circuit switched data call for version 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6757
v2.0 of the API. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6758
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6759
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6760
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6761
		IMPORT_C TMobileDataCallParamsV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6762
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6763
	/** The bearer mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6764
		TMobileCallMulticallBearerMode iBearerMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6765
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6766
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6767
/** A typedef'd packaged TMobileDataCallParamsV2 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6768
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6769
	typedef TPckg<TMobileDataCallParamsV2> TMobileDataCallParamsV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6770
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6771
/** The Air interface user rate.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6772
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6773
Modes: GSM/WCDMA. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6774
	enum TMobileCallAiur
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6775
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6776
	/** Air interface user rate is not set. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6777
		EAiurBpsUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6778
	/** Air interface user rate of 9.6Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6779
		EAiurBps9600,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6780
	/** Air interface user rate of 14.4Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6781
		EAiurBps14400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6782
	/** Air interface user rate of 19.2Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6783
		EAiurBps19200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6784
	/** Air interface user rate of 28.8Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6785
		EAiurBps28800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6786
	/** Air interface user rate of 38.4Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6787
		EAiurBps38400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6788
	/** Air interface user rate of 43.2Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6789
		EAiurBps43200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6790
	/** Air interface user rate of 57.6Kbps. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6791
		EAiurBps57600
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6792
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6793
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6794
/** Call Asymmetry preferences.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6795
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6796
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6797
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6798
@see TMobileHscsdCallParamsV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6799
	enum TMobileCallAsymmetry
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6800
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6801
	/** There is no preference for Asymmetry Bias. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6802
		EAsymmetryNoPreference,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6803
	/** Downlink Bias is preferred. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6804
		EAsymmetryDownlink,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6805
	/** Uplink Bias is preferred. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6806
		EAsymmetryUplink
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6807
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6808
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6809
/** The call channel coding used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6810
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6811
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6812
	enum TMobileCallTchCoding
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6813
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6814
	/** Channel coding is unspecified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6815
		ETchCodingUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6816
	/** 4.8K full rate data traffic channel is used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6817
		ETchCoding48,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6818
	/** 9.6K full rate data traffic channel is used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6819
		ETchCoding96,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6820
	/** 14.4K full rate data traffic channel is used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6821
		ETchCoding144,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6822
	/** 28.8K full rate data traffic channel is used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6823
		ETchCoding288,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6824
	/** 32.0K full rate data traffic channel is used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6825
		ETchCoding320,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6826
	/** 43.2K full rate data traffic channel is used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6827
		ETchCoding432
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6828
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6829
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6830
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6831
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6832
	class TMobileDataRLPRangesV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6833
/** Defines the parameters for minimum and maximum RLP parameter ranges.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6834
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6835
Modes: GSM/WCDMA 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6836
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6837
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6838
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6839
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6840
		IMPORT_C TMobileDataRLPRangesV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6841
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6842
	/** Maximum modem to MS window size value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6843
		TInt  iIWSMax;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6844
	/** Minimum modem to MS window size value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6845
		TInt  iIWSMin;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6846
	/** Maximum MS to modem window size value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6847
		TInt  iMWSMax;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6848
	/** Minimum MS to modem window size value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6849
		TInt  iMWSMin;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6850
	/** Maximum acknowledgement timer value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6851
		TInt  iT1Max;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6852
	/** Minimum acknowledgement timer value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6853
		TInt  iT1Min;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6854
	/** Maximum retransmission attempts value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6855
		TInt  iN2Max;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6856
	/** Minimum retransmission attempts value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6857
		TInt  iN2Min;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6858
	/** Maximum resequencing period value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6859
		TInt  iT4Max;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6860
	/** Minimum resequencing period value. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6861
		TInt  iT4Min;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6862
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6863
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6864
/** A typedef'd packaged TMobileDataRLPRangesV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6865
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6866
	typedef TPckg<TMobileDataRLPRangesV1> TMobileDataRLPRangesV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6867
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6868
	IMPORT_C void GetMobileDataCallRLPRange(TRequestStatus& aReqStatus, TInt aRLPVersion, TDes8& aRLPRange) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6869
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6870
	class TMobileHscsdCallParamsV1 : public TMobileDataCallParamsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6871
/** The High Speed Circuit Switched Data parameters. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6872
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6873
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6874
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6875
		IMPORT_C TMobileHscsdCallParamsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6876
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6877
	/** The wanted Air Interface Rate for the HSCSD call being set-up.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6878
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6879
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6880
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6881
	@see TMobileCallAiur */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6882
		TMobileCallAiur	iWantedAiur;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6883
	/** The wanted number of receive timeslots for the HSCSD call being set-up.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6884
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6885
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6886
		TInt iWantedRxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6887
		TInt iMaxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6888
	/** Bit-wise sum of acceptable air interface channel codings TMobileCallAiurCodingCaps 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6889
	for the HSCSD call being set-up.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6890
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6891
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6892
		TUint iCodings;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6893
	/** The wanted asymmetry bias for the HSCSD call being set-up.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6894
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6895
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6896
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6897
	@see TMobileCallAsymmetry */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6898
		TMobileCallAsymmetry  iAsymmetry;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6899
	/** A boolean indicating whether or not automatic user initiated service level upgrading 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6900
	is active for the HSCSD call being set-up. ETrue means enabled, EFalse means 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6901
	disabled.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6902
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6903
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6904
		TBool iUserInitUpgrade;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6905
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6906
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6907
/** A typedef'd packaged TMobileHscsdCallParamsV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6908
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6909
	typedef TPckg<TMobileHscsdCallParamsV1> TMobileHscsdCallParamsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6910
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6911
	class TMobileHscsdCallParamsV2 : public TMobileHscsdCallParamsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6912
/** Call parameters for High Speed Circuit Switched Data (HSCSD) for version v2.0 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6913
of the API. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6914
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6915
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6916
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6917
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6918
		IMPORT_C TMobileHscsdCallParamsV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6919
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6920
	/** The bearer mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6921
		TMobileCallMulticallBearerMode iBearerMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6922
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6923
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6924
/** A typedef'd packaged TMobileHscsdCallParamsV2 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6925
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6926
	typedef TPckg<TMobileHscsdCallParamsV2> TMobileHscsdCallParamsV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6927
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6928
	IMPORT_C void SetDynamicHscsdParams(TRequestStatus& aReqStatus, TMobileCallAiur aAiur, TInt aRxTimeslots) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6929
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6930
	class TMobileCallHscsdInfoV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6931
/** The HSCSD settings.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6932
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6933
Modes: GSM/WCDMA 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6934
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6935
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6936
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6937
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6938
		IMPORT_C TMobileCallHscsdInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6939
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6940
	/** Current AIUR for the HSCSD call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6941
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6942
	@see TMobileCallAiur */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6943
		TMobileCallAiur	iAiur;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6944
	/** Current number of receive timeslots for the HSCSD call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6945
		TInt iRxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6946
	/** Current number of transmit time slots for the HSCSD call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6947
		TInt iTxTimeSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6948
	/** Current channel coding for the HSCSD call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6949
		TMobileCallTchCoding iCodings;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6950
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6951
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6952
/** A typedef'd packaged TMobileCallHscsdInfoV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6953
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6954
	typedef TPckg<TMobileCallHscsdInfoV1> TMobileCallHscsdInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6955
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6956
	IMPORT_C TInt GetCurrentHscsdInfo(TDes8& aHSCSDInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6957
	IMPORT_C void NotifyHscsdInfoChange(TRequestStatus& aReqStatus, TDes8& aHSCSDInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6958
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6959
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6960
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6961
	// Multimedia Calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6962
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6963
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6964
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6965
	IMPORT_C void AnswerMultimediaCallAsVoice(TRequestStatus& aReqStatus, const TDesC8& aCallParams, TName& aCallName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6966
	IMPORT_C void NotifyVoiceFallback(TRequestStatus& aReqStatus, TName& aCallName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6967
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6968
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6969
	// Mobile Alternating Call Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6970
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6971
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6972
	IMPORT_C void SwitchAlternatingCall(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6973
	IMPORT_C void NotifyAlternatingCallSwitch(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6974
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6975
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6976
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6977
	// MobileCallControl functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6978
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6979
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6980
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6981
/** Mobile call control capabilites.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6982
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6983
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6984
	enum TMobileCallControlCaps 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6985
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6986
		//KCapsData=0x00000001, // taken from etel.h
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6987
		//KCapsFax=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6988
		//KCapsVoice=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6989
		//KCapsDial=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6990
		//KCapsConnect=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6991
		//KCapsHangUp=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6992
		//KCapsAnswer=0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6993
		//KCapsLoanDataPort=0x00000080, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6994
		//KCapsRecoverDataPort=0x00000100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6995
	/** Indicates that this call can be put on hold. This implies that the call is currently 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6996
	active and that there is no other held call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6997
		KCapsHold = 0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6998
	/** Indicates that this call can be resumed. This implies that the call is currently 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  6999
	on hold and that there is no other active call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7000
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7001
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7002
		KCapsResume = 0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7003
	/** Indicates that this call's state can be swapped to the opposite state. This
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7004
	implies that this call is either active or held. There may be another call 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7005
	in the opposite state and if this is the case then both calls will be simultaneously 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7006
	swapped to their opposite state. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7007
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7008
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7009
		KCapsSwap = 0x00000800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7010
	/** Indicates that this incoming call can be deflected to another destination. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7011
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7012
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7013
		KCapsDeflect = 0x00001000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7014
	/** Indicates that this call can be transferred to the remote party of another call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7015
	For this capability to be set there must be one active call and one held or 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7016
	dialing call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7017
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7018
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7019
		KCapsTransfer = 0x00002000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7020
	/** Indicates that this call can be joined either to another single call to form 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7021
	a conference call or to an existing conference call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7022
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7023
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7024
		KCapsJoin = 0x00004000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7025
	/** Indicates that this call (within a conference call) can go into One to One mode. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7026
	This action would put the rest of the conference call on hold. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7027
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7028
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7029
		KCapsOneToOne = 0x00008000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7030
	/** Indicates that the user can activate a CCBS request on this failed call set-up. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7031
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7032
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7033
		KCapsActivateCCBS = 0x00010000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7034
	/** Indicates that this call is part of an alternating call and the client can call 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7035
	SwitchAlternatingCall() on this call in order to switch it to its other mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7036
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7037
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7038
		KCapsSwitchAlternatingCall = 0x00020000,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7039
	/** Indicates that this call can use/create a new bearer. This means that multiple 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7040
	calls (multicall) can be active at the same time using no more that 7 bearers 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7041
	simultaneously. The other option is to swap with an active call, therefore 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7042
	it becomes held and shares the same bearer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7043
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7044
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7045
		KCapsMulticall = 0x00040000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7046
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7047
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7048
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7049
/** Mobile call events capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7050
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7051
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7052
	enum TMobileCallEventCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7053
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7054
	/** Indicates that local hold notifications are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7055
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7056
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7057
		KCapsLocalHold = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7058
	/** Indicates that local resume notifications are supported. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7059
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7060
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7061
		KCapsLocalResume = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7062
	/** Indicates that local deflect transfer notifications are supported. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7063
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7064
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7065
		KCapsLocalDeflectCall = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7066
	/** Indicates that local explicit transfer notifications are supported. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7067
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7068
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7069
		KCapsLocalTransfer = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7070
	/** Indicates that remote hold notifications are supported. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7071
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7072
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7073
		KCapsRemoteHold = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7074
	/** Indicates that remote resume notifications are supported. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7075
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7076
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7077
		KCapsRemoteResume = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7078
	/** Indicates that remote termination notifications are supported. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7079
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7080
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7081
		KCapsRemoteTerminate = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7082
	/** Indicates that remote conference invocation notifications are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7083
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7084
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7085
		KCapsRemoteConferenceCreate = 0x00000080
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7086
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7087
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7088
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7089
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7090
	class TMobileCallCapsV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7091
/** Defines the dynamic capabilities of a mobile call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7092
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7093
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7094
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7095
		IMPORT_C TMobileCallCapsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7096
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7097
	/** Call control capability information - a bit wise sum of TMobileCallControlCaps 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7098
	constants */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7099
		TUint32 iCallControlCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7100
	/** Call event capability information - a bit wise sum of TMobileCallEventCaps constants. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7101
		TUint32 iCallEventCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7102
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7103
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7104
/** A typedef'd packaged TMobileCallCapsV1 for passing through a generic API function 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7105
member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7106
	typedef TPckg<TMobileCallCapsV1> TMobileCallCapsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7107
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7108
	IMPORT_C TInt GetMobileCallCaps(TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7109
	IMPORT_C void NotifyMobileCallCapsChange(TRequestStatus& aReqStatus, TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7110
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7111
	IMPORT_C void Hold(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7112
	IMPORT_C void Resume(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7113
	IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7114
	IMPORT_C void DialISV(TRequestStatus& aStatus,const TDesC8& aCallParams,const TTelNumberC& aTelNumber);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7115
	IMPORT_C void AnswerIncomingCallISV(TRequestStatus& aStatus,const TDesC8& aCallParams);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7116
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7117
/** The type of call deflection requested.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7118
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7119
@see Deflect() */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7120
	enum TMobileCallDeflect
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7121
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7122
	/** Destination is not specified. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7123
		EDeflectUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7124
	/** Call will be deflected to voicemail. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7125
		EDeflectVoicemail,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7126
	/** Call will be deflected to the pre-registered number for the call forwarding 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7127
	service. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7128
		EDeflectRegisteredNumber,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7129
	/** Call will be deflected to the number supplied in the aDestination parameter. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7130
		EDeflectSuppliedNumber
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7131
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7132
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7133
	IMPORT_C void Deflect(TRequestStatus& aReqStatus, TMobileCallDeflect aDeflectType, const RMobilePhone::TMobileAddress& aDestination) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7134
	IMPORT_C void Transfer(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7135
	IMPORT_C void GoOneToOne(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7136
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7137
/** The mobile call events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7138
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7139
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7140
	enum TMobileCallEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7141
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7142
	/** The call has been placed on hold as a result of a local action. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7143
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7144
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7145
		ELocalHold,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7146
	/** The call has been resumed as a result of a local action. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7147
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7148
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7149
		ELocalResume,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7150
	/** The call has been deflected to another remote party as a result of a local action. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7151
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7152
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7153
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7154
		ELocalDeflectCall,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7155
	/** The call has been transferred to another remote party as a result of a local 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7156
	action. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7157
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7158
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7159
		ELocalTransfer,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7160
	/** The call has been placed on hold by the remote connected party. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7161
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7162
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7163
		ERemoteHold,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7164
	/** The call has been resumed by the remote connected party. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7165
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7166
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7167
		ERemoteResume,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7168
	/** The call has been terminated by the remote party. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7169
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7170
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7171
		ERemoteTerminated,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7172
	/** The call has been joined by the remote connected party to other call(s) to create/add 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7173
	to a conference call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7174
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7175
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7176
		ERemoteConferenceCreate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7177
		ERemoteTransferring,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7178
		ERemoteTransferAlerting,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7179
	/** The outgoing call has been barred by the remote party. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7180
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7181
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7182
		ERemoteBarred,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7183
	/** The call is being forwarded by the remote party. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7184
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7185
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7186
		ERemoteForwarding,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7187
	/** The call is waiting at the remote end. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7188
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7189
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7190
		ERemoteWaiting,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7191
	/** The outgoing call has been barred by the local party. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7192
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7193
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7194
		ELocalBarred
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7195
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7196
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7197
	IMPORT_C void NotifyCallEvent(TRequestStatus& aReqStatus, TMobileCallEvent& aEvent) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7198
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7199
/** Describes the possible call states. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7200
	enum TMobileCallStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7201
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7202
	/** Indicates that the call status is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7203
		EStatusUnknown,			// same as RCall::EStatusUnknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7204
	/** Indicates that the call is idle. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7205
		EStatusIdle,			// same as RCall::EStatusIdle
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7206
		EStatusDialling,		// same as RCall::EStatusDialling
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7207
	/** Indicates that the MT call is ringing but not answered yet by the local user. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7208
		EStatusRinging,			// same as RCall::EStatusRinging
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7209
	/** Indicates that the local user has answered the MT call but the network has not 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7210
	acknowledged the call connection yet. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7211
		EStatusAnswering,		// same as RCall::EStatusAnswering
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7212
	/** MO Call: the network notifies to the MS that the remote party is now ringing. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7213
		EStatusConnecting,		// same as RCall::EStatusConnecting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7214
	/** Indicates that call is connected and active. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7215
		EStatusConnected,		// same as RCall::EStatusConnected
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7216
	/** Indicates that call is disconnecting. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7217
		EStatusDisconnecting,	// same as RCall::EStatusHangingUp
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7218
	/** Indicates that the call is disconnecting with inband data (to enable the network 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7219
	to send an audio tone), signifying that the call is not to be released until 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7220
	the user terminates the call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7221
		EStatusDisconnectingWithInband,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7222
	/** Indicates that call is undergoing temporary channel loss and it may or may not 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7223
	be reconnected. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7224
		EStatusReconnectPending,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7225
	/** Indicates that the call is connected but on hold. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7226
		EStatusHold,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7227
	/** Indicates that the call is the non-active half of an alternating call. This 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7228
	call is waiting for its active half or the remote end to switch alternating 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7229
	call mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7230
		EStatusWaitingAlternatingCallSwitch,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7231
		EStatusTransferring,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7232
		EStatusTransferAlerting
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7233
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7234
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7235
	IMPORT_C TInt GetMobileCallStatus(TMobileCallStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7236
	IMPORT_C void NotifyMobileCallStatusChange(TRequestStatus& aReqStatus, TMobileCallStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7237
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7238
	IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC& aTelNumber) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7239
	IMPORT_C void DialNoFdnCheck(TRequestStatus& aStatus,const TDesC8& aCallParams,const TDesC& aTelNumber) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7240
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7241
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7242
	Contains audio tone events.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7243
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7244
	enum TMobileCallAudioToneEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7245
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7246
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7247
		Stop audio tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7248
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7249
		EAudioStop,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7250
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7251
		Start audio tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7252
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7253
		EAudioStart		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7254
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7255
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7256
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7257
	List of 3GPP defined supervisory audio tones taken from technical specification 3GPP TS 22.001 v4.0.0 Annex F.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7258
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7259
	This enumeration is based on the signal information element specified in Table 10.5.130/3GPP TS 24.008 v5.15.0
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7260
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7261
	enum TMobileCallAudioTones	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7262
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7263
		/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7264
		No tone.  Not defined in specification used for initialisation of 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7265
		iTone class member variable during TAudioToneV3 construction.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7266
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7267
		ENoTone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7268
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7269
		Dial tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7270
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7271
		EDialTone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7272
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7273
		Subscriber busy tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7274
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7275
		ESubscriberBusyTone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7276
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7277
		Congestion tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7278
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7279
		ECongestionTone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7280
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7281
		Radio path acknowledgement tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7282
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7283
		ERadioPathAcknowledgement,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7284
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7285
		Radio path not available tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7286
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7287
		ERadioPathNotAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7288
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7289
		Call dropped (Mobile Originated only).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7290
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7291
 		EMOCallDropped,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7292
 		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7293
		Error special information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7294
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7295
 		EErrorSpecialInformation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7296
 		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7297
		Number unobtainable.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7298
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7299
 		ENumberUnobtainable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7300
 		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7301
		Authentication failure.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7302
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7303
 		EAuthenticationFailure,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7304
 		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7305
		Call waiting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7306
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7307
 		ECallWaiting,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7308
 		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7309
		Ringback tone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7310
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7311
		ERingback
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7312
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7313
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7314
	class TAudioToneV3 :  public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7315
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7316
	Audio tone version 1 class. Contains information relating to the  call control playing of audio tones. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7317
	Tones maybe generated by the network (in-band) or signalled to be played locally by the ME.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7318
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7319
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7320
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7321
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7322
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7323
		IMPORT_C TAudioToneV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7324
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7325
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7326
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7327
		Indicates whether the tone is starting or stopping playing.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7328
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7329
		TMobileCallAudioToneEvent iEvent;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7330
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7331
		Indicates which tone is to be played.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7332
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7333
		TMobileCallAudioTones	iTone;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7334
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7335
		Indicates whether the tone is played by the network or is to be played locally by the ME.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7336
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7337
		TBool iPlayedLocally; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7338
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7339
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7340
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7341
	Packaging typedef for TAudioToneV3 class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7342
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7343
	typedef TPckg<TAudioToneV3> TAudioToneV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7344
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7345
	IMPORT_C void NotifyAudioToneEvent(TRequestStatus& aReqStatus, TDes8& aToneInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7346
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7347
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7348
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7349
	// MobilePrivacy functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7350
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7351
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7352
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7353
	IMPORT_C TInt SetPrivacy(RMobilePhone::TMobilePhonePrivacy aPrivacySetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7354
	IMPORT_C void NotifyPrivacyConfirmation(TRequestStatus& aReqStatus, RMobilePhone::TMobilePhonePrivacy& aPrivacySetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7355
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7356
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7357
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7358
	// MobileTrafficChannel function unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7359
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7360
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7361
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7362
/** Call traffic channels.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7363
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7364
Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7365
	enum TMobileCallTch
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7366
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7367
	/** The traffic channel of the call is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7368
		ETchUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7369
	/** The call has a digital traffic channel */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7370
		ETchDigital,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7371
	/** The call has an analog traffic channel */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7372
		ETchAnalog
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7373
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7374
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7375
	IMPORT_C TInt SetTrafficChannel(TMobileCallTch aTchRequest) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7376
	IMPORT_C void NotifyTrafficChannelConfirmation(TRequestStatus& aReqStatus, TMobileCallTch& aTchType) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7377
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7378
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7379
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7380
	// MobileCallInformation functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7381
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7382
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7383
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7384
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7385
	Remote party Identity status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7386
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7387
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7388
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7389
	@see TMobileCallRemotePartyInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7390
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7391
	enum TMobileCallRemoteIdentityStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7392
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7393
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7394
		The remote party's identity can not be determined.  Calling
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7395
		party's Binary Coded Decimal (BCD) number is not available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7396
		Cause of No CLI is "unavailable".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7397
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7398
		ERemoteIdentityUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7399
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7400
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7401
		The remote party's identity, or BCD number, is available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7402
		However, cause of No CLI has not been set.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7403
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7404
		ERemoteIdentityAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7405
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7406
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7407
		The remote party has suppressed the transmission of its
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7408
		identity; i.e. their BCD number is not available.  Cause of No
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7409
		CLI is "reject by user".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7410
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7411
		ERemoteIdentitySuppressed,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7412
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7413
		The remote party's identity, or BCD number, is available.  The
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7414
		cause of No CLI is "reject by user".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7415
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7416
		To be used where the network has specified that displaying of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7417
		CLI information of the remote party has been rejected by the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7418
		caller but the TMobileCallRemotePartyInfoV1::iRemoteNumber
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7419
		parameter has been populated with some other string which may
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7420
		be of use to the client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7421
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7422
		ERemoteIdentityAvailableNoCliRejectedByUser,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7423
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7424
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7425
		The remote party's identity is available; a BCD number is
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7426
		available.  The cause of No CLI is "Interaction with other
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7427
		service".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7428
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7429
		To be used where the network has specified that CLI information
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7430
		of the remote party is not available due to ineraction with
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7431
		another service.  However, the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7432
		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7433
		populated with some other string which may be of use to the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7434
		client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7435
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7436
		ERemoteIdentityAvailableNoCliInteractionWithOtherService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7437
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7438
		The remote party's identity, or BCD number, is unavailable.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7439
		Cause of No CLI is "interaction with other service".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7440
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7441
		ERemoteIdentityUnavailableNoCliInteractionWithOtherService,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7442
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7443
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7444
		The remote party's identity, or BCD number, is available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7445
		Cause of No CLI is "Coin Line/ Payphone".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7446
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7447
		To be used where the network has specified that CLI information
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7448
		of the remote party is not available as the caller is calling
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7449
		from a coin/ payphone.  However, the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7450
		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7451
		populated with some other string which may be of use to the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7452
		client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7453
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7454
		ERemoteIdentityAvailableNoCliCoinOrPayphone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7455
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7456
		The remote party's identity, or BCD number, is not available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7457
		Cause of No CLI is "Coin Line/ Payphone".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7458
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7459
		ERemoteIdentityUnavailableNoCliCoinOrPayphone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7460
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7461
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7462
		The remote party's identity, or BCD number, is available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7463
		Cause of No CLI is "unavailable".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7464
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7465
		To be used where the network has specified that the CLI
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7466
		information of the remote party is not available but the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7467
		TMobileCallRemotePartyInfoV1::iRemoteNumber parameter has been
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7468
		populated with some other string which may be of use to the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7469
		client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7470
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7471
		ERemoteIdentityAvailableNoCliUnavailable
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7472
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7473
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7474
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7475
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7476
	The direction of the mobile call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7477
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7478
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7479
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7480
	@see TMobileCallRemotePartyInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7481
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7482
	enum TMobileCallDirection
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7483
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7484
	/** The direction of the call is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7485
		EDirectionUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7486
	/** The call was originated by this phone, i.e. it is an outgoing call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7487
		EMobileOriginated,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7488
	/** The call was terminated by this phone, i.e. it is an incoming call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7489
		EMobileTerminated
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7490
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7491
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7492
	enum { KCallingNameSize=80 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7493
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7494
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7495
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7496
	class TMobileCallRemotePartyInfoV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7497
/** Defines information about the remote party of a mobile call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7498
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7499
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7500
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7501
		IMPORT_C TMobileCallRemotePartyInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7502
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7503
	/** Indicates whether the remote party information in the rest of this structure 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7504
	is valid or not.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7505
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7506
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7507
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7508
	@see TMobileCallRemoteIdentityStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7509
		TMobileCallRemoteIdentityStatus iRemoteIdStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7510
	/** The direction of the call and hence the role of the remote party, i.e. if the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7511
	call is mobile originated then the remote party is the called party whereas 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7512
	if the call is mobile terminated then the remote party is the calling party.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7513
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7514
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7515
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7516
	@see TMobileCallDirection */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7517
		static TMobileCallDirection iDirection;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7518
	/** The phone number of the remote party if available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7519
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7520
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7521
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7522
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7523
		RMobilePhone::TMobileAddress iRemoteNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7524
	/** Calling party name available through the CNAP supplementary service (if provisioned). 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7525
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7526
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7527
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7528
		TBuf<KCallingNameSize> iCallingName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7529
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7530
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7531
/** A typedef'd packaged TMobileCallRemotePartyInfoV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7532
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7533
	typedef TPckg<TMobileCallRemotePartyInfoV1> TMobileCallRemotePartyInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7534
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7535
	IMPORT_C void NotifyRemotePartyInfoChange(TRequestStatus& aReqStatus, TDes8& aRemotePartyInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7536
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7537
/** Determines which fields in the class are valid.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7538
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7539
@see TMobileCallInfoV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7540
	enum TMobileCallInfoFlags
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7541
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7542
	/** The iStartTime field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7543
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7544
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7545
		KCallStartTime		= 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7546
	/** The iDuration field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7547
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7548
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7549
		KCallDuration		= 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7550
	/** The iCallId field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7551
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7552
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7553
		KCallId				= 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7554
	/** The iRemoteParty field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7555
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7556
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7557
		KCallRemoteParty	= 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7558
	/** The iDialledParty field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7559
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7560
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7561
		KCallDialledParty	= 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7562
	/** The iExitCode field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7563
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7564
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7565
		KCallExitCode		= 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7566
	/** The iEmergency field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7567
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7568
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7569
		KCallEmergency		= 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7570
	/** The iForwarded field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7571
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7572
	Modes: COMMON */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7573
		KCallForwarded		= 0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7574
	/** The iPrivacy field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7575
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7576
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7577
		KCallPrivacy		= 0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7578
	/** The iTch field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7579
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7580
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7581
		KCallTch			= 0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7582
	/** The iAlternatingCall field is valid in the call info class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7583
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7584
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7585
		KCallAlternating	= 0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7586
		KCallSecurity		= 0x00000800
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7587
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7588
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7589
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7590
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7591
	class TMobileCallInfoV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7592
/** Defines general information about a mobile call. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7593
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7594
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7595
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7596
		IMPORT_C TMobileCallInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7597
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7598
	/** A bit-wise sum of TMobileCallInfoFlags indicating which of the following optional 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7599
	fields contain valid data. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7600
		TUint32 iValid;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7601
	/** The call service (voice, data, fax, aux. voice) that this call provides.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7602
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7603
	@see RMobilePhone::TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7604
		RMobilePhone::TMobileService iService;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7605
	/** The mobile call status.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7606
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7607
	@see TMobileCallStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7608
		static TMobileCallStatus iStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7609
	/** The call ID number assigned to an ongoing call. Will equal -1 if the call does 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7610
	not have an allocated ID. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7611
		TInt iCallId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7612
	/** The reason for termination of a finished call. Will equal KErrNone if the call 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7613
	ended normally and KErrNotFound if the call has not ended. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7614
		TInt iExitCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7615
	/** ETrue if the call is an emergency call or EFalse if it is not. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7616
		static TBool iEmergency;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7617
	/** For a MT call, this attribute equals ETrue if the call has been forwarded to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7618
	this phone or EFalse if it has not. For a MO call, this attribute equals ETrue 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7619
	if the call has been forwarded to another destination or EFalse if it has 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7620
	not. If the phone can not determine whether the call has been forwarded or 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7621
	not then the attribute will return EFalse. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7622
		TBool iForwarded;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7623
	/** This attribute indicates whether privacy is on or off for this call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7624
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7625
	@see RMobilePhone::TMobilePhonePrivacy */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7626
		RMobilePhone::TMobilePhonePrivacy iPrivacy;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7627
	/** This attribute indicates whether this call is an alternating call or not.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7628
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7629
	@see RMobilePhone::TMobilePhoneAlternatingCallMode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7630
		RMobilePhone::TMobilePhoneAlternatingCallMode iAlternatingCall;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7631
	/** The current duration of the call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7632
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7633
	@see TTimeIntervalSeconds */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7634
		TTimeIntervalSeconds iDuration;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7635
	/** This attribute indicates whether a digital or analog traffic channel is being 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7636
	used for this call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7637
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7638
	@see TMobileCallTch */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7639
		TMobileCallTch iTch;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7640
	/** Information about remote party of a connected call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7641
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7642
	@see TMobileCallRemotePartyInfoV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7643
		TMobileCallRemotePartyInfoV1 iRemoteParty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7644
	/** The original number (including DTMF) dialled for an outgoing call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7645
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7646
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7647
		RMobilePhone::TMobileAddress iDialledParty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7648
	/** The time and date the call started.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7649
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7650
	@see TDateTime */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7651
		TDateTime iStartTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7652
	/** The name of the call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7653
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7654
	@see TName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7655
		TName iCallName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7656
	/** The name of the line on which the call is open.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7657
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7658
	@see TName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7659
		TName iLineName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7660
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7661
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7662
/** A typedef'd packaged TMobileCallInfoV1 for passing through a generic API function 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7663
member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7664
	typedef TPckg<TMobileCallInfoV1> TMobileCallInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7665
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7666
	class TMobileCallInfoV3 : public TMobileCallInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7667
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7668
	Extends the TMobileCallInfoV1 claass to include extra call info parameter relating to network security.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7669
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7670
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7671
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7672
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7673
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7674
		IMPORT_C TMobileCallInfoV3();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7675
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7676
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7677
		Indicates whether Ciphering Status of a call is enabled or disabled. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7678
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7679
		RMobilePhone::TMobilePhoneNetworkSecurity  iSecurity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7680
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7681
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7682
	typedef TPckg<TMobileCallInfoV3> TMobileCallInfoV3Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7683
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7684
	IMPORT_C TInt GetMobileCallInfo(TDes8& aCallInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7685
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7686
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7687
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7688
	// MobileCallEmergency functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7689
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7690
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7691
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7692
	IMPORT_C void DialEmergencyCall(TRequestStatus& aReqStatus, const TDesC& aNumber) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7693
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7694
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7695
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7696
	// MobileCallCompletion
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7697
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7698
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7699
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7700
	IMPORT_C void ActivateCCBS(TRequestStatus& aReqStatus, TInt& aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7701
	IMPORT_C TInt RejectCCBS() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7702
		//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7703
	// User-To-User Signalling Functional Unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7704
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7705
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7706
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7707
/** The UUS capabilities of the call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7708
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7709
Modes: GSM/WCDMA. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7710
	enum TMobileCallUUSCaps			// UUS capabilities of the call
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7711
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7712
	/** Indicates that MS supports UUS1 implicit request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7713
		KCapsSetupUUS1Implicit=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7714
	/** Indicates that MS supports UUS1 explicit request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7715
		KCapsSetupUUS1Explicit=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7716
	/** Indicates that MS supports UUS2 request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7717
		KCapsSetupUUS2=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7718
	/** Indicates that MS supports UUS3 request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7719
		KCapsSetupUUS3=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7720
	/** Indicates that MS supports activating more than one UUS request at a time. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7721
		KCapsSetupMultipleUUS=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7722
	/** Indicates that UUS1 is active for this call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7723
		KCapsActiveUUS1=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7724
	/** Indicates that UUS2 is active for this call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7725
		KCapsActiveUUS2=0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7726
	/** Indicates that UUS3 is active for this call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7727
		KCapsActiveUUS3=0x00000080
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7728
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7729
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7730
	IMPORT_C TInt GetUUSCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7731
	IMPORT_C void NotifyUUSCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7732
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7733
/** UUS Service requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7734
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7735
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7736
	enum TMobileCallUUSReqs			// UUS Service requests
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7737
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7738
	/** UUS1 is implicitly requested. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7739
		KUUS1Implicit=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7740
	/** UUS1 is explicitly requested, but it is not mandatory for this call to proceed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7741
		KUUS1ExplicitRequested=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7742
	/** UUS1 is explicitly requested and it is mandatory for this call to proceed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7743
		KUUS1ExplicitRequired=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7744
	/** UUS2 is (explicitly) requested, but it is not mandatory for this call to proceed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7745
		KUUS2Requested=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7746
	/** UUS2 is (explicitly) requested and it is mandatory for this call to proceed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7747
		KUUS2Required=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7748
	/** UUS3 is (explicitly) requested, but it is not mandatory for this call to proceed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7749
		KUUS3Requested=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7750
	/** UUS3 is (explicitly) requested and it is mandatory for this call to proceed. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7751
		KUUS3Required=0x00000040
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7752
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7753
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7754
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7755
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7756
		KMaxUUISize = 129,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7757
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7758
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7759
/** Buffer for the UUI element. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7760
	typedef TBuf<KMaxUUISize> TMobileCallUUI;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7761
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7762
	class  TMobileCallUUSRequestV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7763
/** The mobile Call User-to-User Signaling request. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7764
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7765
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7766
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7767
		IMPORT_C  TMobileCallUUSRequestV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7768
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7769
	/** This field indicates whether the specified service is requested or required 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7770
	for the call. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7771
		TUint             iServiceReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7772
	/** The UUI element. This field only contains data if iServiceReq indicates UUS1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7773
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7774
	@see TMobileCallUUI */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7775
		TMobileCallUUI	  iUUI;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7776
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7777
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7778
/** A typedef'd packaged TMobileCallUUSRequestV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7779
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7780
	typedef TPckg<TMobileCallUUSRequestV1> TMobileCallUUSRequestV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7781
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7782
	IMPORT_C void ActivateUUS(TRequestStatus& aReqStatus, const TDesC8& aUUSRequest) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7783
	IMPORT_C void SendUUI(TRequestStatus& aReqStatus, TBool aMore, const TMobileCallUUI& aUUI) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7784
	IMPORT_C void ReceiveUUI(TRequestStatus& aReqStatus, TMobileCallUUI& aUUI) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7785
	IMPORT_C void HangupWithUUI(TRequestStatus& aReqStatus, const TMobileCallUUI& aUUI) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7786
	IMPORT_C void AnswerIncomingCallWithUUI(TRequestStatus& aReqStatus, const TDesC8& aCallParams, const TMobileCallUUI& aUUI) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7787
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7788
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7789
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7790
	// Etel 3rd Party v1.0 Parameter classes
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7791
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7792
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7793
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7794
	class TEtel3rdPartyMobileCallParamsV1 : public RCall::TCallParams
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7795
/** Defines the parameters used to set-up of a call originated from an ETel 3rd Party client. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7796
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7797
@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7798
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7799
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7800
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7801
		IMPORT_C TEtel3rdPartyMobileCallParamsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7802
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7803
	/** Call Id restriction setting to be used for this call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7804
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7805
	@see TMobileCallIdRestriction */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7806
		TMobileCallIdRestriction iIdRestrict;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7807
	/** Specifies whether this call attempt is user initiated (EFalse) or a client initiated 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7808
	redial (ETrue). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7809
		TBool iAutoRedial;		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7810
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7811
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7812
/** A typedef'd packaged TEtel3rdPartyMobileCallParamsV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7813
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7814
	typedef TPckg<TEtel3rdPartyMobileCallParamsV1>TEtel3rdPartyMobileCallParamsV1Pckg;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7815
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7816
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7817
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7818
	RMobileCall(const RMobileCall& aCall);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7819
	CMobileCallPtrHolder* iMmPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7820
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7821
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7822
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7823
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7824
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7825
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7826
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7827
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7828
// Line based functionality (RMobileLine)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7829
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7830
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7831
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7832
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7833
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7834
class CMobileLinePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7835
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7836
class RMobileLine : public RLine
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7837
/** Provides access to the functionality associated with a specific mobile line. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7838
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7839
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7840
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7841
	IMPORT_C RMobileLine();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7842
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7843
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7844
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7845
	// MobileLineStatus functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7846
	// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7847
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7848
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7849
	IMPORT_C TInt GetMobileLineStatus(RMobileCall::TMobileCallStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7850
	IMPORT_C void NotifyMobileLineStatusChange(TRequestStatus& aReqStatus, RMobileCall::TMobileCallStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7851
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7852
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7853
	// Additional Caps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7854
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7855
/** Enumerated auxiliary capabilities. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7856
	enum TMobileLineAdditionalCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7857
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7858
	/** Indicates whether the line is a Primary or Auxiliary voice line offset added 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7859
	so that core Etel and additional line caps can be returned in one TUint. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7860
		KCapsAuxVoice=0x00000008	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7861
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7862
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7863
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7864
	RMobileLine(const RMobileLine& aLine);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7865
	CMobileLinePtrHolder* iMmPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7866
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7867
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7868
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7869
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7870
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7871
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7872
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7873
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7874
// SMS Messaging (RMobileSmsMessaging)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7875
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7876
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7877
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7878
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7879
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7880
class CMobilePhoneSmspList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7881
class CSmsMessagingPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7882
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7883
class RMobileSmsMessaging : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7884
/** Provides client access to SMS messaging functionality provided by TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7885
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7886
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7887
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7888
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7889
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7890
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7891
	friend class CRetrieveMobilePhoneSmspList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7892
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7893
	IMPORT_C RMobileSmsMessaging();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7894
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7895
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7896
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7897
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7898
/** Defines capabilities of SMS messaging.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7899
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7900
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7901
	enum TMobileSmsModeCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7902
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7903
	/** SMS is supported in GSM and WCDMA modes. SMS are sent across MM ETel API in 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7904
	a GSM 03.40 TPDU format.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7905
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7906
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7907
		KCapsGsmSms=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7908
	/** SMS is supported in CDMA mode. SMS are sent across MM ETel API in a IS-637 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7909
	Teleservice message PDU format. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7910
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7911
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7912
		KCapsCdmaSms=0x00000002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7913
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7914
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7915
/** Defines SMS control capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7916
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7917
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7918
	enum TMobileSmsControlCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7919
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7920
	/** TSY supports receiving incoming SMS that have been stored and acknowledged 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7921
	by the phone prior to forwarding to the TSY. If this flag is set then KCapsReceiveEither 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7922
	will not be set and the client can receive stored messages only while the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7923
	TSY-phone link is in "receive stored" mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7924
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7925
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7926
		KCapsReceiveStored=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7927
	/** TSY supports receiving incoming SMS that have been acknowledged by the phone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7928
	but have NOT already been stored. It is the client's responsibility to do 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7929
	the storage. If this flag is set then KCapsReceiveEither will not be set and 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7930
	the client can receive unstored messages only while the TSY-phone link is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7931
	in "receive unstored with phone ack" mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7932
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7933
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7934
		KCapsReceiveUnstoredPhoneAck=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7935
	/** TSY supports receiving incoming SMS that have NOT already been stored and acknowledged
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7936
	by the phone. It is the client's responsibility to do both the storage and 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7937
	the acknowledgment or rejection. If this flag is set then KCapsReceiveEither 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7938
	will not be set and the client can receive unstored messages only while the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7939
	TSY-phone link is in "receive unstored with client ack" mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7940
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7941
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7942
		KCapsReceiveUnstoredClientAck=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7943
	/** TSY supports receiving either stored or unstored incoming SMS at any time. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7944
	If this flag is set then any other KCapsReceive... flags will not be set and 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7945
	the client can receive stored or unstored messages while the TSY-phone link 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7946
	is in "receive either" mode.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7947
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7948
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7949
		KCapsReceiveEither=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7950
	/** TSY supports creating a default acknowledgment or rejection TPDU using only 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7951
	a "cause code" supplied by the client. If this flag is not set then the client 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7952
	must supply the full ack or nack TPDU if it calls RMobileSmsMessaging::AckSmsStored() 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7953
	or RMobileSmsMessaging::NackSmsStored().
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7954
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7955
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7956
		KCapsCreateAck=0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7957
	/** TSY supports sending SMS messages but does not support returning the service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7958
	centre's acknowledgment of the submitted message to the client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7959
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7960
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7961
		KCapsSendNoAck=0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7962
	/** TSY supports sending SMS messages and also supports returning the service centre's 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7963
	acknowledgment of the submitted message to the client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7964
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7965
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7966
		KCapsSendWithAck=0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7967
	/** TSY supports retrieval of the SMS parameter list.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7968
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7969
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7970
		KCapsGetSmspList=0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7971
	/** TSY supports storage of the SMS parameter list
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7972
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7973
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7974
		KCapsSetSmspList=0x00000100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7975
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7976
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7977
	class TMobileSmsCapsV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7978
/** Defines capabilities of SMS messaging.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7979
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7980
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7981
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7982
		IMPORT_C TMobileSmsCapsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7983
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7984
	/** Sum of TMobileSmsModeCaps constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7985
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7986
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7987
		TUint32 iSmsMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7988
	/** Sum of TMobileSmsControlCaps constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7989
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7990
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7991
		TUint32 iSmsControl;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7992
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7993
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7994
/** A typedef'd packaged TMobileSmsCapsV1 for passing through a generic API member 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7995
function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7996
	typedef TPckg<TMobileSmsCapsV1> TMobileSmsCapsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7997
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7998
	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  7999
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8000
	// Definitions for sizes of TPDU and User Data fields
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8001
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8002
		{ 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8003
		KGsmTpduSize = 165,		// 140 bytes user data + 25 bytes TPDU header
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8004
		KCdmaTpduSize  = 256	// Max size of Bearer Data in Transport Layer message
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8005
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8006
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8007
/** A typedef'd buffer for GSM or WCDMA message data. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8008
	typedef TBuf8<KGsmTpduSize>			TMobileSmsGsmTpdu;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8009
/** A typedef'd buffer for CDMA message data. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8010
	typedef TBuf8<KCdmaTpduSize>		TMobileSmsCdmaTpdu;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8011
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8012
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8013
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8014
	// Enum used by TSY to distinguish which SMS attribute class is used by client
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8015
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8016
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8017
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8018
/** Used by TSY to distinguish which SMS attribute class is used by client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8019
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8020
Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8021
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8022
@see RMobileSmsMessaging::TMobileSmsSendAttributesV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8023
	enum TMobileSmsAttributeExtensionId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8024
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8025
	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsAttributesV1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8026
		KETelMobileSmsAttributesV1=KETelExtMultimodeV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8027
	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsReceiveAttributesV1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8028
		KETelMobileSmsReceiveAttributesV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8029
	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsSendAttributesV1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8030
		KETelMobileSmsSendAttributesV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8031
	/** The iExtensionId contents indicate that the packaged class is a TMobileSmsCdmaSendAttributesV4. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8032
		KETelMobileSmsCdmaSendAttributesV4=KETelExtMultimodeV4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8033
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8034
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8035
/** Defines common attributes of all SMS messages.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8036
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8037
Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8038
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8039
@see TMobileSmsAttributesV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8040
	enum TMobileSmsAttributeFlags
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8041
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8042
	/** The iCdmaTeleservice field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8043
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8044
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8045
		KCdmaTeleservice = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8046
	/** The iCdmaServiceCategory field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8047
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8048
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8049
		KCdmaServiceCategory = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8050
	/** The iGsmServiceCentre field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8051
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8052
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8053
		KGsmServiceCentre = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8054
	/** The iDataFormat field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8055
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8056
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8057
		KSmsDataFormat = 0x00000008,	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8058
	/** The iOriginator or iDestination field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8059
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8060
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8061
		KRemotePartyInfo = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8062
	/** The iStatus field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8063
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8064
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8065
		KIncomingStatus = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8066
	/** The iStore and iStoreIndex fields are valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8067
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8068
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8069
		KStorageLocation = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8070
	/** The iMsgRef field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8071
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8072
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8073
		KMessageReference = 0x00000080,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8074
	/** The iSubmitReport field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8075
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8076
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8077
		KGsmSubmitReport = 0x00000100,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8078
	/** The iMore field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8079
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8080
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8081
		KMoreToSend = 0x00000200,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8082
	/** Indicates to the TSY that it should keep the traffic channel open since there is
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8083
	    another message ready to be sent immediately after this one (typically used when
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8084
	    sending messages to multiple recipients). TSY should then keep the channel open 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8085
	    until a message is sent with this bit cleared.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8086
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8087
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8088
		KCdmaKeepChannelOpen = 0x00000400,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8089
	/** Indicates to the TSY that it must wait for the Transport Layer Acknowledgement from the network
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8090
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8091
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8092
		KCdmaTLAckRequired = 0x00000800,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8093
	/** The iAddressAuthentication field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8094
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8095
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8096
		KCdmaAddressAuthentication = 0x00001000
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8097
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8098
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8099
/** Defines the SMS data format.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8101
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8102
	enum TMobileSmsDataFormat
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8103
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8104
	/** The format is not specified.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8105
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8106
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8107
		EFormatUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8108
	/** The message data format complies to a SMS TPDU coded as octets according to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8109
	GSM 03.40.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8110
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8111
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8112
		EFormatGsmTpdu,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8113
	/** The message data format complies to a SMS Teleservice PDU coded as octets according 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8114
	to IS-637.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8115
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8116
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8117
		EFormatCdmaTpdu
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8118
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8119
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8120
	class TMobileSmsAttributesV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8121
	/** Defines common attributes of all SMS messages. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8122
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8123
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8124
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8125
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8126
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8127
		TMobileSmsAttributesV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8128
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8129
	/** The bit-mask flags from TMobileSmsAttributeFlags indicating which attributes 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8130
	are present in this instance.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8131
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8132
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8133
		TUint32 iFlags;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8134
	/** The format of the message data buffer .
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8135
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8136
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8137
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8138
	@see TMobileSmsDataFormat */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8139
		TMobileSmsDataFormat iDataFormat;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8140
	/** The teleservice this message belongs to, coded according to SMS teleservice 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8141
	identifier values table in TIA/EIA-41-D.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8142
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8143
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8144
		TInt iCdmaTeleservice;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8145
	/** The service category this message belongs to.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8146
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8147
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8148
		TInt iCdmaServiceCategory;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8149
	/** The GSM service centre used for this SMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8150
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8151
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8152
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8153
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8154
		RMobilePhone::TMobileAddress iGsmServiceCentre;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8155
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8156
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8157
/** A typedef'd packaged TMobileSmsAttributesV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8158
API member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8159
	typedef TPckg<TMobileSmsAttributesV1> TMobileSmsAttributesV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8160
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8161
/** Defines attributes of incoming SMS messages.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8162
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8163
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8164
	enum TMobileSmsIncomingStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8165
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8166
	/** The status of the incoming SMS is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8167
		EMtMessageUnknownStatus,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8168
	/** The incoming SMS is not stored phone-side but has already been acknowledged 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8169
	by the phone. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8170
		EMtMessageUnstoredPhoneAck,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8171
	/** The incoming SMS is not stored phone-side and needs to be acknowledged by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8172
	client. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8173
		EMtMessageUnstoredClientAck,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8174
	/** The incoming SMS is stored phone-side. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8175
		EMtMessageStored
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8176
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8177
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8178
	class TMobileSmsReceiveAttributesV1 : public TMobileSmsAttributesV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8179
	/** Defines attributes of incoming SMS messages. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8180
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8181
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8182
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8183
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8184
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8185
		IMPORT_C TMobileSmsReceiveAttributesV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8186
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8187
	/** Indicates the status of the incoming message -whether it is stored phone-side 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8188
	or has been acknowledged by the phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8189
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8190
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8191
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8192
	@see TMobileSmsIncomingStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8193
		TMobileSmsIncomingStatus	 iStatus;	// indicates if MT message is stored phone-side
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8194
	/** If the message is stored phone-side, indicates the index (within the phone-side 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8195
	store) where the message is stored.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8196
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8197
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8198
		TInt						 iStoreIndex;// used if MT message is stored phone-side
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8199
	/** If the message is stored phone-side, indicates the name of the appropriate 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8200
	phone-side store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8201
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8202
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8203
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8204
	@see RMobilePhone::TMobileName */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8205
		RMobilePhone::TMobileName	 iStore;		// used if MT message is stored phone-side
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8206
	/** The address of the originator of the SMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8207
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8208
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8209
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8210
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8211
		RMobilePhone::TMobileAddress iOriginator;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8212
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8213
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8214
/** A typedef'd packaged TMobileSmsReceiveAttributesV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8215
API member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8216
	typedef TPckg<TMobileSmsReceiveAttributesV1> TMobileSmsReceiveAttributesV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8217
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8218
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8219
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8220
	class TMobileSmsSendAttributesV1 : public TMobileSmsAttributesV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8221
	/** Defines attributes of sent SMS messages.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8222
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8223
	@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8224
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8225
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8226
		IMPORT_C TMobileSmsSendAttributesV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8227
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8228
	/** The message reference assigned to a sent message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8229
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8230
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8231
		TUint16						 iMsgRef;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8232
	/** A boolean indicating whether the client is going to send another SMS immediately 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8233
	after this one. Equals ETrue if this is the case, EFalse if it is not.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8234
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8235
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8236
		TBool						 iMore;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8237
	/** The SMS-SUBMIT-REPORT TPDU received from network in response to a sent message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8238
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8239
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8240
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8241
	@see TMobileSmsGsmTpdu */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8242
		TMobileSmsGsmTpdu			 iSubmitReport;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8243
	/** The address of the destination of the SMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8244
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8245
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8246
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8247
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8248
		RMobilePhone::TMobileAddress iDestination;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8249
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8250
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8251
/** A typedef'd packaged TMobileSmsSendAttributesV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8252
API member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8253
	typedef TPckg<TMobileSmsSendAttributesV1> TMobileSmsSendAttributesV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8254
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8255
	class TMobileSmsCdmaSendAttributesV4 : public TMobileSmsAttributesV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8256
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8257
	Defines attributes of sent SMS messages (CDMA only).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8258
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8259
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8260
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8261
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8262
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8263
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8264
		IMPORT_C TMobileSmsCdmaSendAttributesV4();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8265
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8266
		/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8267
		The message id allocated by the SMS stack. The TSY should
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8268
		retrieve the value from iCdmaTeleserviceId to determine
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8269
		which teleservice this message id corresponds to. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8270
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8271
		TUint16 iMsgRef;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8272
		/** Indicates whether the client is going to send another 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8273
		PDU immediately after this one (typically used when sending
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8274
		messages of more than one PDU). Equals ETrue if at least 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8275
		one more PDU is needed to complete the message and EFalse
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8276
		otherwise.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8277
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8278
		TBool iMore;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8279
		/** TPDU received from network in response to a sent message */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8280
		TMobileSmsCdmaTpdu iTLAck;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8281
		/** The address of the destination of the SMS. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8282
		RMobilePhone::TMobileAddress iDestination;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8283
		/** Transport layer authentication parameter */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8284
		TUint32 iAddressAuthentication;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8285
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8286
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8287
/** A typedef'd packaged TMobileSmsCdmaSendAttributesV4 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8288
API member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8289
	typedef TPckg<TMobileSmsCdmaSendAttributesV4> TMobileSmsCdmaSendAttributesV4Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8290
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8291
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8292
	// Setting up the storage & acknowledgement mode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8293
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8294
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8295
/** Defines the SMS receive modes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8296
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8297
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8298
	enum TMobileSmsReceiveMode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8299
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8300
	/** Receive mode is unspecified and phone will use its default. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8301
		EReceiveModeUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8302
	/** Phone will store and acknowledge all incoming messages before passing them 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8303
	onto TSY. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8304
		EReceiveUnstoredPhoneAck,	// client stores but phone acknowledges message
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8305
	/** Phone will acknowledge but NOT store all incoming messages before passing them 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8306
	onto TSY. It is client's responsibility to store the message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8307
		EReceiveUnstoredClientAck,	// client acknowledges and stores message
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8308
	/** Phone will NOT acknowledge or store any incoming messages before passing them 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8309
	onto TSY. It is client's responsibility to attempt storage and then either
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8310
	acknowledge or reject the message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8311
		EReceiveStored,				// phone acknowledges and store message
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8312
	/** Phone may pass on either stored or unstored messages to TSY. It is client's 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8313
	responsibility to check RMobileSmsMessaging::TMobileSmsReceiveAttributesV1::iStatus 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8314
	to determine what action(s) the client needs to take for a message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8315
		EReceiveEither				// client deals with stored & unstored messages
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8316
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8317
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8318
	IMPORT_C void SetReceiveMode(TRequestStatus& aReqStatus, TMobileSmsReceiveMode aReceiveMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8319
	IMPORT_C TInt GetReceiveMode(TMobileSmsReceiveMode& aReceiveMode) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8320
	IMPORT_C void NotifyReceiveModeChange(TRequestStatus& aStatus, TMobileSmsReceiveMode& aReceiveMode);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8321
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8322
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8323
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8324
	// Incoming SMS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8325
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8326
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8327
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8328
	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8329
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8330
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8331
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8332
	// Responding to incoming SMS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8333
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8334
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8335
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8336
	IMPORT_C void AckSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TBool aFull=EFalse) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8337
	IMPORT_C void NackSmsStored(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TInt aRpCause) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8338
	IMPORT_C void ResumeSmsReception(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8339
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8340
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8341
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8342
	// Outgoing SMS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8343
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8344
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8345
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8346
	IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8347
	IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, TDes8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8348
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8349
/** Defines the SMS bearer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8350
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8351
Modes: GSM */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8352
	enum TMobileSmsBearer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8353
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8354
	/** SMS messages will only be sent over a packet-switched (GPRS) network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8355
		ESmsBearerPacketOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8356
	/** SMS messages will only be sent over a circuit-switched (GSM) network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8357
		ESmsBearerCircuitOnly,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8358
	/** SMS messages will be sent over the packet-switched (GPRS) network if possible, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8359
	otherwise over circuit-switched (GSM) network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8360
		ESmsBearerPacketPreferred,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8361
	/** SMS messages will be sent over the circuit-switched (GSM) network if possible, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8362
	otherwise over packet-switched (GPRS) network. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8363
		ESmsBearerCircuitPreferred
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8364
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8365
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8366
	IMPORT_C void SetMoSmsBearer(TRequestStatus& aReqStatus, TMobileSmsBearer aBearer) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8367
	IMPORT_C TInt GetMoSmsBearer(TMobileSmsBearer& aBearer) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8368
	IMPORT_C void NotifyMoSmsBearerChange(TRequestStatus& aReqStatus, TMobileSmsBearer& aBearer);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8369
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8370
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8371
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8372
	// Get information on phone-side SMS storage
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8373
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8374
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8375
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8376
	IMPORT_C TInt EnumerateMessageStores(TInt& aCount) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8377
	IMPORT_C void GetMessageStoreInfo(TRequestStatus& aReqStatus, TInt aIndex, TDes8& aInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8378
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8379
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8380
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8381
	// Read/Write SMS parameters to phone-side storage
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8382
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8383
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8384
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8385
	enum { KMaxSmspTextSize=30 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8386
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8387
/** Defines the valid SMS parameters store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8388
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8389
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8390
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8391
@see TMobileSmspEntryV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8392
	enum TMobileSmspStoreValidParams
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8393
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8394
	/** The entry includes a valid iDestination field. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8395
		KDestinationIncluded=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8396
	/** The entry includes a valid iServiceCentre field. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8397
		KSCAIncluded=0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8398
	/** The entry includes a valid iProtocolId field. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8399
		KProtocolIdIncluded=0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8400
	/** The entry includes a valid iDcs field. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8401
		KDcsIncluded=0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8402
	/** The entry includes a valid iValidityPeriod field. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8403
		KValidityPeriodIncluded=0x00000010
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8404
 		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8405
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8406
	class TMobileSmspEntryV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8407
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8408
	/** Defines a set of SMS parameters. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8409
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8410
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8411
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8412
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8413
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8414
		IMPORT_C TMobileSmspEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8415
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8416
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8417
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8418
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8419
	/** The slot index where this SMSP entry is stored in the SIM's SMSP file. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8420
		TInt iIndex;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8421
	/** A bit-wise sum of the constants defined in TMobileSmspStoreValidParams, that 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8422
	specifies which parameters are valid within this entry. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8423
		TUint32	iValidParams;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8424
	/** Default protocol ID. Coded according to GSM 03.40. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8425
		TUint8 iProtocolId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8426
	/** Default data coding scheme. Coded according to GSM 03.40. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8427
		TUint8 iDcs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8428
	/** Default validity period, in relative format and coded on 8 bits as defined 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8429
	by GSM 03.40. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8430
		TUint8 iValidityPeriod;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8431
	/** Reserved for future use. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8432
		TUint8 iReservedFiller;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8433
	/** Default destination for outgoing SMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8434
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8435
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8436
		RMobilePhone::TMobileAddress iDestination;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8437
	/** Default service centre for outgoing SMS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8438
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8439
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8440
		RMobilePhone::TMobileAddress iServiceCentre;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8441
	/** The alpha-tag associated with this SMSP entry, expressed as Unicode characters. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8442
		TBuf<KMaxSmspTextSize> iText;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8443
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8444
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8445
/** A typedef'd packaged TMobileSmspEntryV1 for passing through a generic API member
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8446
function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8447
	typedef TPckg<TMobileSmspEntryV1> TMobileSmspEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8448
	IMPORT_C void StoreSmspListL(TRequestStatus& aReqStatus, CMobilePhoneSmspList* aSmspList) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8449
	IMPORT_C void NotifySmspListChange(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8450
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8451
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8452
	RMobileSmsMessaging(const RMobileSmsMessaging&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8453
	CSmsMessagingPtrHolder* iSmsMessagingPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8454
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8455
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8456
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8457
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8458
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8459
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8460
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8461
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8462
// Broadcast Messaging (RMobileBroadcastMessaging)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8463
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8464
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8465
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8466
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8467
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8468
class CMobilePhoneBroadcastIdList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8469
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8470
class CCbsMessagingPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8471
class RMobileBroadcastMessaging : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8472
/** This sub-session provides access to the broadcast message services provided 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8473
by GSM/WCDMA and CDMA networks.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8474
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8475
Clients will open a RMobileBroadcastMessaging sub-session and then wait for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8476
incoming broadcast messages. The broadcast messages received can depend upon 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8477
a "message filter" which defines the languages and/or identifiers of acceptable 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8478
(or unacceptable) messages. This sub-session and the function members within 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8479
this section must be supported if the TSY indicates that it supports the MobileBroadcastMessaging
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8480
functional unit. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8481
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8482
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8483
@released*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8484
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8485
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8486
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8487
	friend class CRetrieveMobilePhoneBroadcastIdList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8488
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8489
	IMPORT_C RMobileBroadcastMessaging();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8490
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8491
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8492
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8493
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8494
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8495
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8496
	// Broadcast messaging capabilities
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8497
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8498
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8499
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8500
/** Broadcast capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8501
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8502
Modes:GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8503
	enum TMobileBroadcastModeCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8504
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8505
	/** GSM 03.41 cell broadcast messages are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8506
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8507
	Modes:GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8508
		KCapsGsmTpduFormat = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8509
	/** IS-637-A broadcast messages are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8510
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8511
	Modes:CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8512
		KCapsCdmaTpduFormat = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8513
	/** 3GPP 25.324 Release 4 cell broadcast messages are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8514
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8515
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8516
		KCapsWcdmaTpduFormat = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8517
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8518
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8519
/** Broadcast message filter capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8520
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8521
Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8522
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8523
@see RMobileBroadcastMessaging::GetLanguageFilter() */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8524
	enum TBroadcastMessagingFilterCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8525
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8526
	/** Phone supports switching broadcast messages on or off. This means the EbroadcastAcceptNone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8527
	and EBroadcastAcceptAll settings of TMobilePhoneBroadcastFilter are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8528
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8529
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8530
		KCapsSimpleFilter = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8531
	/** Phone supports filtering of broadcast messages depending upon their language. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8532
	The language filter is a list of languages used only for broadcast filtering.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8533
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8534
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8535
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8536
	@see RMobileBroadcastMessaging::GetLanguageFilter() */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8537
		KCapsLangFilter = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8538
	/** Phone supports filtering of broadcast messages depending upon their subject. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8539
	The subject of a message is identified in GSM/WCDMA mode by the Cell Broadcast 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8540
	Message Identifier (CBMI) and in CDMA mode by the Service Category.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8541
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8542
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8543
		KCapsIdFilter = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8544
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8545
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8546
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8547
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8548
	class TMobileBroadcastCapsV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8549
	/** Defines capabilities of Broadcast messaging. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8550
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8551
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8552
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8553
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8554
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8555
		IMPORT_C TMobileBroadcastCapsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8556
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8557
	/** Sum of TMobileBroadcastModeCaps constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8558
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8559
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8560
		TUint32 iModeCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8561
	/** Sum of TBroadcastMessagingFilterCaps constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8562
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8563
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8564
		TUint32 iFilterCaps;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8565
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8566
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8567
/** A typedef'd packaged TMobileBroadcastCapsV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8568
function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8569
	typedef TPckg<TMobileBroadcastCapsV1> TMobileBroadcastCapsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8570
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8571
	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8572
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8573
/** Defines the broadcast attributes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8574
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8575
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8576
	enum TMobileBroadcastAttributeFlags
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8577
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8578
	/** The iFormat field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8579
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8580
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8581
		KBroadcastDataFormat = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8582
	/** The iServiceCategory field is valid in the attribute class.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8583
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8584
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8585
		KCdmaServiceCategory = 0x00000002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8586
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8587
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8588
/** The mobile broadcast data format, used byTMobileBroadcastAttributesV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8589
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8590
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8591
	enum TMobileBroadcastDataFormat
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8592
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8593
	/** The message data format is not specified.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8594
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8595
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8596
		EFormatUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8597
	/** The message data format complies to a Cell Broadcast TPDU coded as 88 octets 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8598
	(6 for header and 82 for message data) according to GSM 03.41.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8599
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8600
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8601
		EFormatGsmTpdu,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8602
	/** The message data format complies to IS-637-A encoding of the Bearer Data parameter 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8603
	within the Transport Layer's SMS-Broadcast message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8604
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8605
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8606
		EFormatCdmaTpdu,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8607
	/** The message data format complies to a Cell Broadcast TPDU coded as 1252 octets 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8608
	(6 for header and a maximum of 1246 for message data) according to 3GPP 25.324.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8609
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8610
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8611
		EFormatWcdmaTpdu
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8612
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8613
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8614
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8615
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8616
	class TMobileBroadcastAttributesV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8617
	/** Defines attributes of a Broadcast message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8618
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8619
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8620
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8621
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8622
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8623
		IMPORT_C TMobileBroadcastAttributesV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8624
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8625
	/** The bit-mask flags indicating which attributes are present in this instance.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8626
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8627
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8628
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8629
	@see TMobileBroadcastAttributeFlags */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8630
		TUint32	iFlags;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8631
	/** Format of the message data buffer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8632
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8633
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8634
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8635
	@see TMobileBroadcastDataFormat */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8636
		TMobileBroadcastDataFormat	iFormat;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8637
	/** Service category of the message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8638
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8639
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8640
		TInt iServiceCategory;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8641
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8642
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8643
/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8644
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8645
	typedef TPckg<TMobileBroadcastAttributesV1> TMobileBroadcastAttributesV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8646
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8647
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8648
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8649
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8650
	class TMobileBroadcastAttributesV2 : public TMobileBroadcastAttributesV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8651
	/** Defines attributes of a UMTS Broadcast message for version v2.0 of the API. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8652
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8653
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8654
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8655
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8656
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8657
		IMPORT_C TMobileBroadcastAttributesV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8658
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8659
	/** The number of pages that the current broadcast message consists of. The maximum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8660
	number of pages for WCDMA Broadcast messages is 15. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8661
		TInt	 iNumberOfPages;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8662
	/** This parameter is used to store the message type for this broadcast message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8663
		TUint8	 iMessageType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8664
	/** This parameter is used to store the message id for this broadcast message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8665
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8666
	This parameter is used to store the serial number for this broadcast message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8667
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8668
	This parameter is used to store the data coding scheme for this broadcast 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8669
	message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8670
		TUint16	 iMessageId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8671
	/** This parameter is used to store the serial number for this broadcast message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8672
		TUint16	 iSerialNum;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8673
	/** This parameter is used to store the data coding scheme for this broadcast message. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8674
		TUint8	 iDCS;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8675
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8676
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8677
/** A typedef'd packaged TMobileBroadcastAttributesV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8678
API function member. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8679
	typedef TPckg<TMobileBroadcastAttributesV2> TMobileBroadcastAttributesV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8680
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8681
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8682
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8683
	// Receiving broadcast messages
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8684
 	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8685
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8686
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8687
	/** A constant which defines the length of the buffer to be passed to ReceiveMessage.	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8688
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8689
	This constant should be used for all message types: GSM, CDMA and WCDMA.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8690
	enum
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8691
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8692
		KBroadcastPageSize = 88	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8693
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8694
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8695
	/** Buffer for received messages. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8696
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8697
	This buffer should be used for all message types: GSM, CDMA and WCDMA.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8698
	typedef TBuf8<KBroadcastPageSize> TBroadcastPageData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8699
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8700
	/** Old buffer sizes.  KBroadcastPageSize should be used instead. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8701
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8702
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8703
		KGsmBroadcastDataSize = KBroadcastPageSize,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8704
		KCdmaBroadcastDataSize = KBroadcastPageSize,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8705
		KWCdmaBroadcastPageSize = KBroadcastPageSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8706
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8707
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8708
	/** Buffer for GSM messages.  TBroadcastPageData should be used instead. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8709
	typedef TBuf8<KGsmBroadcastDataSize>  TGsmBroadcastMessageData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8710
	/** Buffer for CDMA messages.  TBroadcastPageData should be used instead.  */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8711
	typedef TBuf8<KCdmaBroadcastDataSize> TCdmaBroadcastMessageData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8712
	/** Buffer for WCDMA messages.  TBroadcastPageData should be used instead. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8713
	typedef TBuf8<KWCdmaBroadcastPageSize> TWCdmaBroadcastPageData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8714
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8715
	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8716
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8717
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8718
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8719
	// Filters
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8720
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8721
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8722
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8723
/** The filter settings of the mobile phone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8724
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8725
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8726
	enum TMobilePhoneBroadcastFilter
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8727
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8728
	/** The phone does not have a filter setting. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8729
		EBroadcastFilterUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8730
	/** The phone is not accepting any broadcast messages. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8731
		EBroadcastAcceptNone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8732
	/** The phone is accepting all broadcast messages. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8733
		EBroadcastAcceptAll,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8734
	/** The phone is accepting those broadcast messages included within the language 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8735
	and identifier filters. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8736
		EBroadcastAcceptFilter,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8737
	/** The phone is rejecting those broadcast messages included within the language 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8738
	or identifier filters. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8739
		EBroadcastRejectFilter
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8740
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8741
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8742
	IMPORT_C TInt GetFilterSetting(TMobilePhoneBroadcastFilter& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8743
	IMPORT_C void SetFilterSetting(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8744
	IMPORT_C void NotifyFilterSettingChange(TRequestStatus& aReqStatus, TMobilePhoneBroadcastFilter& aSetting) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8745
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8746
	IMPORT_C void GetLanguageFilter(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8747
	IMPORT_C void SetLanguageFilter(TRequestStatus& aReqStatus, const TDesC16& aLangFilter) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8748
	IMPORT_C void NotifyLanguageFilterChange(TRequestStatus& aReqStatus, TDes16& aLangFilter) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8749
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8750
	class TMobileBroadcastIdEntryV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8751
	/** In GSM - defines a Cell Broadcast Message Identifier (CBMI) list entry. In 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8752
	CDMA - defines a Service Category list entry. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8753
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8754
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8755
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8756
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8757
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8758
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8759
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8760
		IMPORT_C TMobileBroadcastIdEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8761
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8762
	/** The value of the message identifier. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8763
		TUint16	iId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8764
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8765
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8766
/** Defines the broadcast types. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8767
	enum TMobileBroadcastIdType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8768
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8769
	/** GSM broadcast. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8770
		EGsmBroadcastId,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8771
	/** CDMA broadcast. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8772
		ECdmaBroadcastId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8773
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8774
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8775
	IMPORT_C void StoreBroadcastIdListL(TRequestStatus& aReqStatus, CMobilePhoneBroadcastIdList* aIdList, TMobileBroadcastIdType aIdType);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8776
	IMPORT_C void NotifyBroadcastIdListChange(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8777
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8778
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8779
	RMobileBroadcastMessaging(const RMobileBroadcastMessaging&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8780
	CCbsMessagingPtrHolder* iCbsMessagingPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8781
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8782
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8783
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8784
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8785
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8786
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8787
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8788
// USSD Messaging (RMobileUssdMessaging)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8789
// 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8790
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8791
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8792
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8793
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8794
class CUssdMessagingPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8795
class RMobileUssdMessaging : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8796
/** Provides client access to USSD functionality provided by TSY. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8797
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8798
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8799
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8800
	IMPORT_C RMobileUssdMessaging();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8801
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8802
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8803
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8804
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8805
/** Defines the USSD Messaging Format Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8806
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8807
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8808
	enum TMobileUssdFormatCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8809
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8810
	/** USSD messages coded as a packed string within 160 octets, as defined for a 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8811
	ussd-String within GSM 04.80 and GSM 03.38.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8812
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8813
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8814
		KCapsPackedString=0x00000001
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8815
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8816
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8817
/** Defines the USSD Messaging Type Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8818
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8819
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8820
	enum TMobileUssdTypeCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8821
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8822
	/** Outgoing USSD messages are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8823
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8824
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8825
		KCapsMOUssd=0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8826
	/** Incoming USSD messages are supported.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8827
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8828
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8829
		KCapsMTUssd=0x00000002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8830
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8831
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8832
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8833
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8834
	class TMobileUssdCapsV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8835
	/** Defines capabilities of USSD messaging. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8836
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8837
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8838
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8839
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8840
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8841
		IMPORT_C TMobileUssdCapsV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8842
	/** Sum of TMobileUssdFormatCaps constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8843
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8844
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8845
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8846
	@see TMobileUssdFormatCaps */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8847
		TUint32 iUssdFormat;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8848
	/** Sum of TMobileUssdTypeCaps constants.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8849
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8850
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8851
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8852
	@see TMobileUssdTypeCaps */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8853
		TUint32 iUssdTypes;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8854
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8855
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8856
/** A typedef'd packaged TMobileUssdCapsV1 for passing through a generic API member 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8857
function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8858
	typedef TPckg<TMobileUssdCapsV1> TMobileUssdCapsV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8859
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8860
	IMPORT_C TInt GetCaps(TDes8& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8861
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8862
/** Defines the USSD Messaging Attributes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8863
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8864
Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8865
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8866
@see TMobileUssdAttributesV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8867
	enum TMobileUssdAttributeFlags
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8868
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8869
	/** The iFormat field is valid in the attribute class. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8870
		KUssdDataFormat = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8871
	/** The iType field is valid in the attribute class. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8872
		KUssdMessageType = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8873
	/** The iDcs field is valid in the attribute class. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8874
		KUssdMessageDcs = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8875
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8876
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8877
/** Defines the USSD Data Formats.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8878
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8879
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8880
	enum TMobileUssdDataFormat
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8881
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8882
	/** The message data format is unspecified.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8883
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8884
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8885
		EFormatUnspecified,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8886
	/** The message data format complies to a USSD coded as 160 octets as defined for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8887
	a ussd-String within GSM 04.80 and GSM 03.38.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8888
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8889
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8890
		EFormatPackedString
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8891
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8892
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8893
/** Defines the USSD Message Types.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8894
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8895
Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8896
	enum TMobileUssdMessageType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8897
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8898
	/** Message is an unknown type. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8899
		EUssdUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8900
	/** Message is a mobile originated USSD request. The MS expects the network to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8901
	send a USSD MT reply. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8902
		EUssdMORequest,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8903
	/** Message is a reply to a previously received network initiated USSD request. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8904
	It is a USSD MO reply. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8905
		EUssdMOReply,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8906
	/** Message is a one-off network initiated USSD notification. The network expects the MS to
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8907
	send a USSD MO acknowledgement with empty message content. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8908
		EUssdMTNotify,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8909
	/** Message is a network initiated USSD request. The network expects
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8910
	the MS to send a USSD MO reply. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8911
		EUssdMTRequest,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8912
	/** Message is a network initiated reply to a previously sent MO USSD request. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8913
		EUssdMTReply,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8914
	/** For acknowledging MT USSD notifications (empty message content). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8915
		EUssdMOAcknowledgement
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8916
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8917
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8918
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8919
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8920
	class TMobileUssdAttributesV1 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8921
	/** Defines attributes of a USSD message. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8922
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8923
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8924
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8925
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8926
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8927
		IMPORT_C TMobileUssdAttributesV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8928
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8929
	/** The TMobileUssdAttributeFlags bit-mask flags indicating which attributes are
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8930
	present in this instance.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8931
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8932
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8933
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8934
	@see TMobileUssdAttributeFlags */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8935
		TUint32 iFlags;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8936
	/** Format of the message data buffer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8937
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8938
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8939
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8940
	@see TMobileUssdDataFormat */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8941
		TMobileUssdDataFormat iFormat;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8942
	/** The type of USSD message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8943
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8944
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8945
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8946
	@see TMobileUssdMessageType */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8947
		TMobileUssdMessageType iType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8948
	/** The Data Coding Scheme of the USSD message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8949
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8950
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8951
		TUint8 iDcs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8952
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8953
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8954
/** A typedef'd packaged TMobileUssdAttributesV1 for passing through a generic 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8955
API member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8956
	typedef TPckg<TMobileUssdAttributesV1> TMobileUssdAttributesV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8957
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8958
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8959
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8960
	// Receiving USSD messages
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8961
 	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8962
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8963
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8964
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8965
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8966
		KGsmUssdDataSize = 160
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8967
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8968
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8969
/** A typedef'd buffer to hold the message data. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8970
	typedef TBuf8<KGsmUssdDataSize> TGsmUssdMessageData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8971
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8972
	IMPORT_C void ReceiveMessage(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8973
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8974
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8975
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8976
	// Sending USSD messages
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8977
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8978
	/***********************************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8979
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8980
	IMPORT_C void SendMessage(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8981
	IMPORT_C void SendMessageNoFdnCheck(TRequestStatus& aReqStatus, const TDesC8& aMsgData, const TDesC8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8982
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8983
	IMPORT_C void SendRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8984
	IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aReturnResult) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8985
	IMPORT_C void NotifyNetworkRelease(TRequestStatus& aReqStatus, TDes8& aMsgData, TDes8& aMsgAttributes) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8986
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8987
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8988
	RMobileUssdMessaging(const RMobileUssdMessaging&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8989
	CUssdMessagingPtrHolder* iUssdMessagingPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8990
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8991
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8992
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8993
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8994
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8995
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8996
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8997
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8998
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  8999
// SMS Message Storage (RMobileSmsStore)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9000
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9001
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9002
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9003
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9005
class CSmsStorePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9006
class CMobilePhoneSmsList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9007
class RMobileSmsStore : public RMobilePhoneStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9008
/** Provides client access to SMS storage functionality provided by TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9009
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9010
@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9011
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9012
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9013
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9014
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9015
	IMPORT_C RMobileSmsStore();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9016
	IMPORT_C TInt Open(RMobileSmsMessaging& aMessaging, const TDesC& aStoreName);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9017
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9018
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9019
/** Defines the SMS Store Capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9020
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9021
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9022
	enum TMobileSmsStoreCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9023
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9024
	/** The store contains unread, incoming SMS entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9025
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9026
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9027
		KCapsUnreadMessages = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9028
	/** The store contains read, incoming SMS entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9029
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9030
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9031
		KCapsReadMessages = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9032
	/** The store contains sent SMS entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9033
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9034
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9035
		KCapsSentMessages = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9036
	/** The store contains un sent SMS entries. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9037
		KCapsUnsentMessages = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9038
	/** The store contains GSM SMS message entries – so TMobileGsmSmsEntryV1 class 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9039
	should be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9040
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9041
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9042
		KCapsGsmMessages = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9043
	/** The store contains CDMA SMS message entries – so TMobileCdmaSmsEntryV1 class 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9044
	should be used.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9045
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9046
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9047
		KCapsCdmaMessages = 0x00000020
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9048
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9049
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9050
/** Defines contents of a fixed-size, stored SMS entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9051
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9052
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9053
	enum TMobileSmsStoreStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9054
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9055
	/** The status of the SMS is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9056
		EStoredMessageUnknownStatus,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9057
	/** The SMS is stored phone-side. It is an incoming message that has not been read 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9058
	yet. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9059
		EStoredMessageUnread,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9060
	/** The SMS is stored phone-side. It is an incoming message that has already been 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9061
	read. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9062
		EStoredMessageRead,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9063
	/** The SMS is stored phone-side. It is an outgoing message that has not been sent 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9064
	yet. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9065
		EStoredMessageUnsent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9066
	/** The SMS is stored phone-side. It is an outgoing message that has already been 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9067
	sent but a delivery/status report has either not been received yet or was 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9068
	not requested in the first place. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9069
		EStoredMessageSent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9070
	/** The SMS is stored phone-side. It is an outgoing message that has already been 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9071
	sent and a delivery/status report has been received */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9072
		EStoredMessageDelivered
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9073
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9074
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9075
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9076
	// Enum used by TSY to distinguish which SMS entry class is used by client
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9077
	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9078
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9079
/** Used by TSY to distinguish which SMS entry class is used by client. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9080
	enum TMobileSmsEntryExtensionId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9081
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9082
	/** Type is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9083
		KETelMobileSmsEntryV1=KETelExtMultimodeV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9084
	/** The iExtensionId contents indicate that the packaged class is a TMobileGsmSmsEntryV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9085
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9086
	Also used to indicate that GSM SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9087
		KETelMobileGsmSmsEntryV1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9088
	/** The iExtensionId contents indicate that the packaged class is a TMobileCdmaSmsEntryV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9089
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9090
	Also used to indicate that CDMA SMS entries will be retrieved by CRetrieveMobilePhoneSmsList. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9091
		KETelMobileCdmaSmsEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9092
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9093
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9094
	class TMobileSmsEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9095
	/** Defines contents of a fixed-size, stored SMS entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9096
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9097
	@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9098
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9099
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9100
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9101
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9102
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9103
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9104
		TMobileSmsEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9105
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9106
	/** The status of the stored message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9107
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9108
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9109
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9110
	@see TMobileSmsStoreStatus */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9111
		TMobileSmsStoreStatus	iMsgStatus;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9112
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9113
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9114
/** A typedef'd packaged TMobileSmsEntryV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9115
member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9116
	typedef TPckg<TMobileSmsEntryV1> TMobileSmsEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9117
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9118
	class TMobileGsmSmsEntryV1 : public TMobileSmsEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9119
/** Defines contents of a fixed-size, stored GSM SMS entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9120
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9121
@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9122
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9123
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9124
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9125
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9126
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9127
		IMPORT_C TMobileGsmSmsEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9128
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9129
	/** The service centre to use (or used) for the message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9130
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9131
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9132
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9133
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9134
		RMobilePhone::TMobileAddress iServiceCentre;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9135
	/** The GSM 03.40 TPDU.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9136
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9137
	Modes: GSM/WCDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9138
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9139
	@see RMobileSmsMessaging::TMobileSmsGsmTpdu */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9140
		RMobileSmsMessaging::TMobileSmsGsmTpdu	iMsgData;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9141
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9142
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9143
/** A typedef'd packaged TMobileGsmSmsEntryV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9144
member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9145
	typedef TPckg<TMobileGsmSmsEntryV1> TMobileGsmSmsEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9146
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9147
	class TMobileCdmaSmsEntryV1 : public TMobileSmsEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9148
	/** Defines contents of a fixed-size, stored CDMA SMS entry. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9149
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9150
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9151
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9152
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9153
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9154
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9155
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9156
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9157
		IMPORT_C TMobileCdmaSmsEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9158
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9159
	/** The teleservice identifier of the stored message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9160
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9161
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9162
		TInt iTeleservice;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9163
	/** The service category of the stored message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9164
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9165
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9166
		TInt iServiceCategory;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9167
	/** The remote party (destination or originator) of the stored message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9168
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9169
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9170
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9171
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9172
		RMobilePhone::TMobileAddress iRemoteParty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9173
	/** The teleservice layer bearer data of the stored message.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9174
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9175
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9176
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9177
	@see RMobileSmsMessaging::TMobileSmsCdmaTpdu */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9178
		RMobileSmsMessaging::TMobileSmsCdmaTpdu iMsgData;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9179
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9180
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9181
/** A typedef'd packaged TMobileCdmaSmsEntryV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9182
member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9183
	typedef TPckg<TMobileCdmaSmsEntryV1> TMobileCdmaSmsEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9184
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9185
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9186
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9187
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9188
	RMobileSmsStore(const RMobileSmsStore&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9189
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9190
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9191
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9192
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9193
// NAM Storage (RMobileNamStore)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9194
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9195
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9196
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9197
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9198
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9199
class CNamStorePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9200
class CMobilePhoneNamList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9201
class CMobilePhoneNamListV4;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9202
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9203
class RMobileNamStore : public RMobilePhoneStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9204
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9205
Provides client access to NAM storage functionality provided by TSY
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9206
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9207
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9208
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9209
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9210
	IMPORT_C RMobileNamStore();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9211
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9212
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9213
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9214
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9215
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9216
	class TMobileNamStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9217
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9218
	Defines information about a NAM store
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9219
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9220
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9221
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9222
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9223
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9224
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9225
		IMPORT_C TMobileNamStoreInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9226
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9227
	/** The number of enabled NAMs within the NAM store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9228
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9229
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9230
		TInt iNamCount;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9231
	/** The index of the NAM that is currently the active NAM, will be between 0 and 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9232
	iNamCount-1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9233
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9234
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9235
		TInt iActiveNam;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9236
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9237
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9238
/** A typedef'd packaged TMobileNamStoreInfoV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9239
member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9240
	typedef TPckg<TMobileNamStoreInfoV1> TMobileNamStoreInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9241
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9242
	IMPORT_C void SetActiveNam(TRequestStatus& aReqStatus, TInt aNamId) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9243
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9244
	enum
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9245
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9246
		/* The original maximum NAM parameter size for a TMobileNamEntryV1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9247
		KMaxNamParamSize = 64,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9248
		/* Updated maximum NAM parameter size for TMobileNamEntryV4 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9249
		KMaxNamParamSizeV4 = 256
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9250
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9251
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9252
	class TMobileNamEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9253
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9254
	Defines contents of a NAM store entry
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9255
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9256
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9257
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9258
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9259
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9260
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9261
		IMPORT_C TMobileNamEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9262
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9263
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9264
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9265
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9266
	/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfoV1::iNamCount-1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9267
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9268
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9269
		TInt iNamId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9270
	/** The identifier of the NAM parameter to be accessed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9271
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9272
	TSY must define values of parameter identifiers.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9273
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9274
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9275
		TInt iParamIdentifier;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9276
	/** The data contents of the selected parameter.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9277
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9278
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9279
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9280
	@see KMaxNamParamSize */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9281
		TBuf8<KMaxNamParamSize> iData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9282
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9283
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9284
	/** A typedef'd packaged TMobileNamEntryV1 for passing through a generic API member 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9285
	function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9286
	typedef TPckg<TMobileNamEntryV1> TMobileNamEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9287
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9288
	/** Enumeration for the standard NAM parameters (see 3GPP2 C.S0005-A appendix F.3)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9289
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9290
	enum TStandardNamParameters
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9291
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9292
		/** The 64-bit pattern stored in the Mobile Station and 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9293
			Home Location Register/Authentication Centre used to generate/update the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9294
			mobile station’s Shared Secret Data
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9295
			Corresponds to NAM Indicator 'A_KEY' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9296
		EAKey,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9297
		/** 64-bit key used for authentication
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9298
			Corresponds to NAM Indicator 'SSD_A(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9299
		ESharedSecretDataA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9300
		/** 64-bit key used as input to generate encryption mask and long code
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9301
			Corresponds to NAM Indicator 'SSD_B(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9302
		ESharedSecretDataB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9303
		/** Modulo-64 event counter maintained by the mobile station and Authentication Center 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9304
			used for clone detection
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9305
			Corresponds to NAM Indicator 'COUNT(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9306
		EParameterUpdateReceivedCount,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9307
		/** Class of the International Mobile Station Identity (IMSI) containing a MIN as 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9308
			the lower 10 digits 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9309
			Corresponds to NAM Indicator 'IMSI_M_CLASS(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9310
		EMinBasedImsiClass,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9311
		/** The class of the International Mobile Station Identity (IMSI) not containing a MIN as 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9312
			the lower 10 digits 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9313
			Corresponds to NAM Indicator 'IMSI_T_CLASS(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9314
		ETrueImsiClass,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9315
		/** 34-bit number derived from the IMSI M used as input for authentication
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9316
			Corresponds to NAM Indicator 'IMSI_M_S(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9317
		EMinBasedImsiS,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9318
		/** 34-bit number derived from the IMSI T used as input for authentication
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9319
			Corresponds to NAM Indicator 'IMSI_T_S(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9320
		ETrueImsiS,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9321
		/** Number of digits in the IMSI M minus 4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9322
			Corresponds to NAM Indicator 'IMSI_M_ADDR_NUM(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9323
		EMinBasedImsiAddressNum,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9324
		/** The number of digits in the IMSI T minus 4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9325
			Corresponds to NAM Indicator 'IMSI_T_ADDR_NUM(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9326
		ETrueImsiAddressNum,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9327
		/** The 11th and 12th digits in the IMSI M
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9328
			Corresponds to NAM Indicator 'IMSI_M_11_12(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9329
		EMinBasedImsiDigits11and12,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9330
		/** The 11th and 12th digits in the IMSI T
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9331
			Corresponds to NAM Indicator 'IMSI_T_11_12(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9332
		ETrueImsiDigits11and12,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9333
		/** The country code for the IMSI M
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9334
			Corresponds to NAM Indicator 'MCC_M(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9335
		EMinBasedMobileCountryCode,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9336
		/** The country code for the IMSI T
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9337
			Corresponds to NAM Indicator 'MCC_T(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9338
		ETrueMobileCountryCode,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9339
		/** Up to 15 digit dialable number associated with the mobile station through a service 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9340
			subscription
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9341
			Corresponds to NAM Indicator 'MDN(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9342
		EMobileDirectoryNumber,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9343
		/** 4-bit number giving the length of the assigning Temporary Mobile Station Identity (TMSI) zone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9344
			(can range from 1 to 8 octets)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9345
			Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE_LEN(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9346
		EAssigningTmsiZoneLen,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9347
		/** Temporary Mobile Station Identity (TMSI) zone is an arbitrary set of base stations 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9348
			for the administrative assignment of TMSI
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9349
			Corresponds to NAM Indicator 'ASSIGNING_TMSI_ZONE(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9350
		EAssigningTmsiZone,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9351
		/** The uniquely assigned number to a mobile station inside a TMSI zone
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9352
			Corresponds to NAM Indicator 'TMSI_CODE(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9353
		ETmsiCode,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9354
		/** The expiration time used to automatically delete the assigned TMSI
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9355
			Corresponds to NAM Indicator 'TMSI_EXP_TIME(s-p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9356
		ETmsiExpTime,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9357
		/** Mobile station's home System Id for 800MHz analog operation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9358
			Corresponds to NAM Indicator 'HOME_SID(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9359
		EHomeSystemIdAnalog,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9360
		/** Mobile station's home System Id
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9361
			Corresponds to NAM Indicator 'SID(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9362
		EHomeSystemId,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9363
		/** Mobile station's home Network Id
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9364
			Corresponds to NAM Indicator 'NID(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9365
		EHomeNetworkId,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9366
		/** Mobile station is configured to receive mobile station terminated calls when 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9367
			using a home (SID, NID) pair
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9368
			Corresponds to NAM Indicator 'MOB_TERM_HOME(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9369
		EReceiveCallsHome,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9370
		/** The mobile station is configured to receive mobile station terminated calls when 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9371
			it is a foreign SID roamer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9372
			Corresponds to NAM Indicator 'MOB_TERM_FOR_SID(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9373
		EReceiveCallsForeignSystem,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9374
		/** The mobile station is configured to receive mobile station terminated calls when 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9375
			it is a foreign NID roamer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9376
			Corresponds to NAM Indicator 'MOB_TERM_FOR_NID(p)' */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9377
		EReceiveCallsForeignNetwork,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9378
		/**	A TSY may use this as the first TSY-defined non-standard NAM parameter */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9379
		ENumStandardNamParameters
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9380
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9381
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9382
	class TMobileNamEntryV4 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9383
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9384
	Defines contents of a NAM store entry
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9385
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9386
	The differences between the original TMobileNamEntryV1, and updated TMobileNamEntryV4 are:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9387
	- the maximum mobile NAM parameter size is KMaxNamParamSize(64) for TMobileNamEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9388
	  and KMaxNamParamSizeV4(256) for TMobileNamEntryV4
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9389
	- TMobileNamEntryV4 defines a set of standard NAM parameters for the iParamIdentifier as
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9390
	  described in 3GPP2 C.S0005-A appendix F.3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9391
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9392
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9393
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9394
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9395
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9396
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9397
		IMPORT_C TMobileNamEntryV4();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9398
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9399
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9400
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9401
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9402
	/** The NAM that is to be accessed, will be between 0 and TMobileNamStoreInfo::iNamCount-1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9403
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9404
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9405
		TInt iNamId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9406
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9407
	/** The identifier of the NAM parameter to be accessed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9408
	iParamIdentifier will be a TStandardNamParameters value if a standard NAM parameter is being accessed, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9409
	however a TSY may support and define NAM parameters in addition to those given by TStandardNamParameters	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9410
	Modes: CDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9411
		TInt iParamIdentifier;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9412
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9413
	/** The data contents of the selected parameter.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9414
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9415
	Modes: CDMA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9416
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9417
	@see KMaxNamParamSizeV4 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9418
		TBuf8<KMaxNamParamSizeV4> iData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9419
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9420
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9421
	/** A typedef'd packaged TMobileNamEntryV4 for passing through a generic API member 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9422
	function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9423
	typedef TPckg<TMobileNamEntryV4> TMobileNamEntryV4Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9424
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9425
	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamList* aNamList) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9426
	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, TInt aNamId, CMobilePhoneNamListV4* aNamList) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9427
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9428
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9429
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9430
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9431
	RMobileNamStore(const RMobileNamStore&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9432
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9433
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9434
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9435
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9436
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9437
// Own Number Storage (RMobileONStore)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9438
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9439
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9440
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9441
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9442
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9443
class CONStorePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9444
class CMobilePhoneONList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9445
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9446
class RMobileONStore : public RMobilePhoneStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9447
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9448
Provides client access to Own Number storage functionality provided by TSY
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9449
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9450
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9451
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9452
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9453
	IMPORT_C RMobileONStore();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9454
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9455
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9456
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9457
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9458
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9459
	class TMobileONStoreInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9460
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9461
	Defines information about an Own Number store
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9462
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9463
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9464
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9465
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9466
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9467
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9468
		IMPORT_C TMobileONStoreInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9469
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9470
	/** The maximum length of the own phone number can be. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9471
		TInt iNumberLen;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9472
	/** The maximum length the text field can be. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9473
		TInt iTextLen;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9474
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9475
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9476
/** A typedef'd packaged TMobileONStoreInfoV1 for passing through a generic API 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9477
member function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9478
	typedef TPckg<TMobileONStoreInfoV1> TMobileONStoreInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9479
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9480
	enum
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9481
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9482
		KOwnNumberTextSize = 20
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9483
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9484
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9485
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9486
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9487
	class TMobileONEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9488
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9489
	Defines contents of a Own Number store entry
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9490
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9491
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9492
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9493
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9494
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9495
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9496
		IMPORT_C TMobileONEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9497
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9498
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9499
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9500
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9501
	/** Network mode. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9502
		RMobilePhone::TMobilePhoneNetworkMode iMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9503
	/** Mobile call service type.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9504
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9505
	@see RMobilePhone::TMobileService */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9506
		RMobilePhone::TMobileService iService;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9507
	/** Own number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9508
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9509
	@see RMobilePhone::TMobileAddress */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9510
		RMobilePhone::TMobileAddress iNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9511
	/** The name-tag associated with own number (e.g. "Voice Number"). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9512
		TBuf<KOwnNumberTextSize> iText;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9513
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9514
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9515
/** A typedef'd packaged TMobileONEntryV1 for passing through a generic API member 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9516
function. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9517
	typedef TPckg<TMobileONEntryV1> TMobileONEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9518
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9519
	IMPORT_C void StoreAllL(TRequestStatus& aReqStatus, CMobilePhoneONList* aONList) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9520
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9521
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9522
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9523
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9524
	RMobileONStore(const RMobileONStore&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9525
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9526
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9527
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9528
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9529
// Emergency Number Storage (RMobileENStore)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9530
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9531
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9532
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9533
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9534
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9535
class CMobilePhoneENList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9536
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9537
class RMobileENStore : public RMobilePhoneStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9538
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9539
Provides client access to Emergency Number storage functionality provided by TSY
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9540
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9541
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9542
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9543
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9544
	IMPORT_C RMobileENStore();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9545
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9546
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9547
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9548
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9549
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9550
		KEmergencyNumberSize  = 6,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9551
		KEmergencyAlphaTagSize = 20
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9552
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9553
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9554
/** Enumerated list of Emergency Number entries.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9555
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9556
Mode: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9557
	enum TMobilePhoneENServiceCategory
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9558
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9559
	/** This number provides emergency care by the police department. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9560
		KServiceCatPolice =0x0001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9561
	/** This number provides emergency care by the ambulance department. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9562
		KServiceCatAmbulance =0x0002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9563
	/** This number provides emergency care by the fire brigade department. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9564
		KServiceCatFireBrigade =0x0004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9565
	/** This number provides emergency care by the marine guard department. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9566
		KServiceCatMarineGuard =0x0008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9567
	/** This number provides emergency care by the mountain rescue department. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9568
		KServiceCatMountainRescue =0x0010
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9569
		// Reserved types: 0x0020,0x0040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9570
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9571
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9572
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9573
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9574
/** Buffer to hold the emergency number in. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9575
	typedef TBuf<KEmergencyNumberSize> TEmergencyNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9576
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9577
	class TMobileENEntryV1 : public RMobilePhoneStore::TMobilePhoneStoreEntryV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9578
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9579
	Defines contents of a Emergency Number store entry
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9580
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9581
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9582
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9583
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9584
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9585
		IMPORT_C TMobileENEntryV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9586
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9587
		void InternalizeL(RReadStream& aStream);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9588
		void ExternalizeL(RWriteStream& aStream) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9589
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9590
	/** Indicates whether the emergency number is applicable in all situations (=EFalse) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9591
	or only when the MS is registered to a specific GSM or CDMA network (=ETrue). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9592
		TBool iNetworkSpecific;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9593
	/** The network mode. Only applicable if iNetworkSpecific equals ETrue.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9594
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9595
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9596
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9597
	@see RMobilePhone::TMobilePhoneNetworkMode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9598
		RMobilePhone::TMobilePhoneNetworkMode iMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9599
	/** Country code. Only applicable if iNetworkSpecific equals ETrue.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9600
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9601
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9602
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9603
	@see RMobilePhone::TMobilePhoneNetworkCountryCode */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9604
		RMobilePhone::TMobilePhoneNetworkCountryCode iCountryCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9605
	/** Network identity. Only applicable if iNetworkSpecific equals ETrue.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9606
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9607
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9608
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9609
	@see RMobilePhone::TMobilePhoneNetworkIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9610
		RMobilePhone::TMobilePhoneNetworkIdentity iIdentity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9611
	/** Emergency number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9612
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9613
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9614
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9615
	@see TEmergencyNumber */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9616
		TEmergencyNumber             iNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9617
	/** Emergency call number type. It is used to display information about the dialed 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9618
	emergency number (e.g. "Police", "Ambulance", "Fire brigade", etc.)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9619
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9620
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9621
		TBuf<KEmergencyAlphaTagSize> iAlphaId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9622
		//TInt should map to TMobilePhoneENServiceCategory.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9623
		//It was not changed to maintain source compatibility
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9624
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9625
	/** Emergency call type indicator, which contains information to be sent to the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9626
	network indicating the type of emergency call.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9627
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9628
	The field is for future reference only and it is set to RFU (Reserved for
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9629
	Future Use) as it is currently not being used, as specified in section 4.2.21 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9630
	TS 31.102 v3.3.0 Rel 99.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9631
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9632
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9633
		TInt	                     iCallType; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9634
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9635
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9636
	typedef TPckg<TMobileENEntryV1> TMobileENEntryV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9637
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9638
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9639
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9640
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9641
	RMobileENStore(const RMobileENStore&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9642
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9643
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9644
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9645
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9646
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9647
// RMobilePhoneBookStore 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9648
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9649
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9650
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9651
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9652
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9653
class CPhoneBookStorePtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9654
class CMobilePhoneBookList;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9655
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9656
class RMobilePhoneBookStore : public RMobilePhoneStore
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9657
/** Provides member functions for clients to access phone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9658
books that are stored in ICC memory or in non-volatile memory on the phone 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9659
itself. This sub-session and the member functions within this section must 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9660
be supported if the TSY indicates that it supports the MobilePhonebookStore 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9661
functional unit.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9662
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9663
@released 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9664
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9665
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9666
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9667
	IMPORT_C RMobilePhoneBookStore();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9668
	IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9669
	IMPORT_C TInt Open(RMobilePhone& aPhone, const TDesC& aStore, const TDesC& aMode);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9670
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9671
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9672
/** Describes the specialized phone book capabilities.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9673
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9674
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9675
	enum TMobilePhoneBookCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9676
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9677
	/** New entries can only be written to (or deleted from) the phone book with the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9678
	PIN2 password or equivalent.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9679
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9680
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9681
		KCapsRestrictedWriteAccess = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9682
	/** The phonebook supports the second name field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9683
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9684
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9685
		KCapsSecondNameUsed        = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9686
	/** The phonebook supports the additional number (with optional Text, TON, NPI 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9687
	and Bearer Capability) field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9688
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9689
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9690
		KCapsAdditionalNumUsed     = 0x00000004,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9691
	/** The phonebook supports the group name field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9692
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9693
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9694
		KCapsGroupingUsed		   = 0x00000008,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9695
	/** The phonebook supports entry control and hidden flag fields.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9696
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9697
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9698
		KCapsEntryControlUsed      = 0x00000010,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9699
	/** The phonebook supports the email address field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9700
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9701
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9702
		KCapsEmailAddressUsed      = 0x00000020,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9703
	/** The phonebook supports the bearer capability IE field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9704
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9705
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9706
		KCapsBearerCapUsed		   = 0x00000040,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9707
	/** The phonebook supports retrieval of the phonebook's PBID and Change Counter 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9708
	- and for each entry its UID field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9709
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9710
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9711
		KCapsSynchronisationUsed   = 0x00000080
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9712
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9713
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9714
/** Described the location of the phone book.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9715
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9716
Modes: Common for all */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9717
	enum TMobilePhoneBookLocation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9718
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9719
	/** The phonebook's location is unknown. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9720
		ELocationUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9721
	/** The phonebook is located in ICC (SIM/R-UIM) memory. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9722
		ELocationIccMemory,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9723
	/** The phonebook is located in Phone (ME) memory. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9724
		ELocationPhoneMemory,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9725
	/** The phonebook is located in an external memory. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9726
		ELocationExternalMemory,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9727
	/** The phonebook entries are dispersed over a combination of memory locations. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9728
		ELocationCombinedMemory
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9729
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9730
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9731
	enum
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9732
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9733
		KMaxPBIDSize=15
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9734
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9735
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9736
/** Defines a modifiable buffer descriptor to contain the phone book identity. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9737
Used in TMobilePhoneBookInfoV1. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9738
	typedef TBuf8<KMaxPBIDSize> TMobilePhoneBookIdentity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9739
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9740
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9741
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9742
	class TMobilePhoneBookInfoV1 : public RMobilePhoneStore::TMobilePhoneStoreInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9743
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9744
	Defines information about a Phonebook store.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9745
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9746
	@released
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9747
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9748
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9749
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9750
	/** Trivial constructor. Initializes iMaxNumLength=-1; iMaxTextLength=-1; iLocation=ELocationUnknown; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9751
	iChangeCounter=0; iExtensionId=KETelMobilePhonebookStoreV1; */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9752
		IMPORT_C TMobilePhoneBookInfoV1();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9753
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9754
	/** The maximum number of characters for the number in a phonebook entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9755
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9756
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9757
		TInt    iMaxNumLength;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9758
	/** The maximum number of characters for the text tag in a phonebook entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9759
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9760
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9761
		TInt    iMaxTextLength;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9762
	/** The memory location of this phonebook.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9763
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9764
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9765
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9766
	@see TMobilePhoneBookLocation */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9767
		TMobilePhoneBookLocation iLocation;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9768
	/** The contents of the Change Counter file in a USIM phonebook.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9769
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9770
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9771
		TUint16 iChangeCounter;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9772
	/** A unique identity for this type of phonebook.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9773
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9774
	If this is a SIM or R-UIM phonebook then it will equal the ICCID of the card.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9775
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9776
	If this is a USIM phonebook then it will equal the PBID of the phonebook. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9777
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9778
	Modes: Common
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9779
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9780
	@see TMobilePhoneBookIdentity */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9781
		TMobilePhoneBookIdentity iIdentity; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9782
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9783
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9784
/** Packages the TMobilePhoneBookInfoV1 into a TMobilePhoneBookInfoV1Pckg. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9785
	typedef TPckg<TMobilePhoneBookInfoV1> TMobilePhoneBookInfoV1Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9786
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9787
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9788
	class TMobilePhoneBookInfoV2 : public TMobilePhoneBookInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9789
/** Defines information about a Phonebook store for version v2.0 of the API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9790
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9791
@released */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9792
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9793
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9794
		IMPORT_C TMobilePhoneBookInfoV2();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9795
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9796
	/** The type of the phonebook which relates to its location (ICC/UICC/CDMA).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9797
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9798
	Mode: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9799
		TName iPhBkMode; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9800
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9801
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9802
/** Packages the TMobilePhoneBookInfoV2 into a TMobilePhoneBookInfoV1Pckg. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9803
	typedef TPckg<TMobilePhoneBookInfoV2> TMobilePhoneBookInfoV2Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9804
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9805
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9806
	/** Defines information about a Phonebook store for version v5.0 of the API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9807
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9808
	Extends the v2.0 API to allow additional information about the phonebook
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9809
	(Maximum number of second name fields, Maximum number of additional number fields,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9810
	Maximum number of additional group name fields, Maximum number of email address fields)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9811
	to be retieved where available. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9812
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9813
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9814
	@released*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9815
	class TMobilePhoneBookInfoV5 : public TMobilePhoneBookInfoV2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9816
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9817
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9818
		IMPORT_C TMobilePhoneBookInfoV5();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9819
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9820
		/** The maximum number of Second Name fields that can be used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9821
		TInt iMaxSecondNames;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9822
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9823
		/** The maximum text length for Second Name fields. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9824
		TInt iMaxTextLengthSecondName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9825
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9826
		/** The maximum number of additional number fields that can be used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9827
		TInt iMaxAdditionalNumbers;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9828
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9829
		/** The maximum number length for Additional Number fields. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9830
		TInt iMaxNumLengthAdditionalNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9831
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9832
		/** The maximum text length for Additonal Number fields. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9833
		TInt iMaxTextLengthAdditionalNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9834
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9835
		/** The maximum number of additional Group Name fields that can be used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9836
		TInt iMaxGroupNames;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9837
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9838
		/** The maximum text length for Group Name fields. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9839
		TInt iMaxTextLengthGroupName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9840
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9841
		/** The maximum number of additional E-Mail address fields that can be used. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9842
		TInt iMaxEmailAddr;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9843
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9844
		/** The maximum text length for Email Address fields. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9845
		TInt iMaxTextLengthEmailAddr;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9846
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9847
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9848
	/** Packages the TMobilePhoneBookInfoV5 into a TMobilePhoneBookInfoV5Pckg. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9849
	typedef TPckg<TMobilePhoneBookInfoV5> TMobilePhoneBookInfoV5Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9850
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9851
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9852
	// check these fields - not sure all are correct
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9853
/** The following Tag IDs are used to encode/decode the phonebook entries to/from 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9854
the TLV format. Each field will have a unique identifier and will be followed 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9855
by the field length. The type of data associated with the field is also specified 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9856
below. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9857
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9858
Some fields do not have any data and just serve as separators within the buffer 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9859
- in these cases the Data Type column is set to not applicable (n/a).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9860
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9861
Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9862
	enum TMobilePBFieldTags
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9863
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9864
	/** Tag id for the beginning of a new phonebook entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9865
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9866
	Data type: n/a.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9867
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9868
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9869
		ETagPBNewEntry		=0xA0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9870
	/** Tag id for the Unique ID field.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9871
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9872
	Data type: TUint16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9873
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9874
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9875
		ETagPBUniqueId		=0xB0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9876
	/** Tag id for the Index within the ADN record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9877
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9878
	Data type: TUint16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9879
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9880
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9881
		ETagPBAdnIndex		=0xC0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9882
	/** Tag id for a Text field within the ADN/ANR record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9883
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9884
	Data type: TDes16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9885
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9886
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9887
		ETagPBText			=0xC1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9888
	/** Tag id for a Number field within the ADN/ANR record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9889
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9890
	Data type: TDes16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9891
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9892
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9893
		ETagPBNumber		=0xC2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9894
	/** Tag id for a TON/NPI byte within the ADN/ANR record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9895
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9896
	Data type: TUint8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9897
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9898
	Modes: Common */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9899
		ETagPBTonNpi		=0xC3,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9900
	/** Tag id for a Bearer Capability IE associated to the ADN/ANR record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9901
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9902
	Data type: TDes8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9903
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9904
	Modes: GSM/WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9905
		ETagPBBearerCap		=0xC4,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9906
	/** Tag id for the beginning of an Additional Number entry within the phonebook 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9907
	entry.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9908
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9909
	Data type: n/a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9910
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9911
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9912
		ETagPBAnrStart		=0xC5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9913
	/** Tag id for the Second Name associated to the ADN record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9914
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9915
	Data type: TDes16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9916
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9917
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9918
		ETagPBSecondName	=0xC6,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9919
	/** Tag id for a Group Name associated to the ADN record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9920
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9921
	Data type:TDes16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9922
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9923
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9924
		ETagPBGroupName		=0xC7,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9925
	/** Tag id for an Email Address associated to the ADN record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9926
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9927
	Data type: TDes16
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9928
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9929
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9930
		ETagPBEmailAddress	=0xC8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9931
	/** Tag id for the Entry Control byte associated to the ADN record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9932
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9933
	Data type: TUint8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9934
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9935
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9936
		ETagPBEntryControl	=0xC9,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9937
	/** Tag id for the Hidden Information byte associated to the ADN record.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9938
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9939
	Data type: TUint8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9940
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9941
	Modes: WCDMA */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9942
		ETagPBHiddenInfo	=0xCA,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9943
		ETagPBDateTime		=0xCB,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9944
		ETagPBDuration		=0xCC,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9945
		ETagPBCallStatus	=0xCD,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9946
		ETagPBEntryStatus	=0xCE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9947
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9948
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9949
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9950
	// API/TSY internal type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9951
	struct TPBIndexAndNumEntries
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9952
/** A structure to hold the phone book index and number of entries. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9953
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9954
	/** Index for the phone book. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9955
		TInt iIndex;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9956
		TInt iNumSlots;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9957
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9958
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9959
	IMPORT_C void Read(TRequestStatus& aReqStatus, TInt aIndex, TInt aNumSlots, TDes8& aPBData) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9960
	IMPORT_C void Write(TRequestStatus& aReqStatus, const TDesC8& aPBData, TInt& aIndex) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9961
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9962
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9963
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9964
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9965
	RMobilePhoneBookStore(const RMobilePhoneBookStore&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9966
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9967
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9968
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9969
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9970
// RMobileConferenceCall
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9971
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9972
/*********************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9973
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9974
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9975
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9976
class CMobileConferenceCallPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9977
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9978
class RMobileConferenceCall : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9979
/** Provides access to conference call functionality provided by TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9980
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9981
Conference calls allow users to conduct multi-connection voice calls, for example
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9982
simultaneous communication to more than one remote party. All participants 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9983
within a conference call can hear and speak to each other. There is a controlling 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9984
party that initiates and manages the conference.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9985
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9986
Conference calling is possible in both GSM and CDMA mode and the actions to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9987
initiate a 3-way conference are the same in either mode. However, GSM conference 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9988
calls offer more functionality and the number of remote parties is limited 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9989
in CDMA mode to 2 and in GSM mode to 5.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9990
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9991
The Multimode ETel API uses a new sub-session called RMobileConferenceCall 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9992
as a model for a conference call. The conference call object will be an aggregation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9993
of all the RMobileCall objects that are part of the conference call. It will 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9994
be possible for clients to manipulate both the conference call as a whole 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9995
and individual calls within a conference call depending on the dynamic capabilities 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9996
of each of these objects.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9997
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9998
Please note that RMobileConferenceCall is replacing the RCallGroup abstraction 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
  9999
used in the GSM API. This was an optimisation decision. The call group abstraction 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10000
placed a large burden on a TSY to create call groups, monitor the calls in 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10001
each group and trigger notification when calls were added or moved, probably 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10002
even when a conference call was not ongoing. Clients will probably only open 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10003
a RMobileConferenceCall when the user has decided to make a conference call 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10004
and by having just one object replace three call groups it will also reduce 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10005
the number of notifications that would trigger in response to conference call 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10006
events. With a view to the future, without call groups there are also no longer 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10007
any restrictions to the allowed types of active calls (simultaneous, separate 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10008
voice and data calls are possible).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10009
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10010
The methods within this section must be supported if the TSY supports MobileConferenceCall 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10011
functional unit. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10012
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10013
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10014
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10015
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10016
	IMPORT_C RMobileConferenceCall();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10017
	IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10018
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10019
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10020
/** Conference call capabilities. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10021
	enum TMobileConferenceCallCaps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10022
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10023
	/** Indicates that a conference call can be created. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10024
		KCapsCreate = 0x00000001,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10025
	/** Indicates that a conference call can be terminated. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10026
		KCapsHangUp = 0x00000002,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10027
	/** Indicates that a conference call exists and can be swapped to the opposite 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10028
	state (active or hold). */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10029
		KCapsSwap = 0x00000004
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10030
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10031
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10032
	IMPORT_C TInt GetCaps(TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10033
	IMPORT_C void NotifyCapsChange(TRequestStatus& aReqStatus, TUint32& aCaps) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10034
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10035
	IMPORT_C void CreateConference(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10036
	IMPORT_C void AddCall(TRequestStatus& aReqStatus, const TName& aCallName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10037
	IMPORT_C void Swap(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10038
	IMPORT_C void HangUp(TRequestStatus& aReqStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10039
	IMPORT_C TInt EnumerateCalls(TInt& aCount) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10040
	IMPORT_C TInt GetMobileCallInfo(TInt aIndex, TDes8& aCallInfo) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10041
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10042
/** Conference call status. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10043
	enum TMobileConferenceStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10044
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10045
	/** The conference call is in the idle state. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10046
		EConferenceIdle,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10047
	/** The conference call is in the active, connected state. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10048
		EConferenceActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10049
	/** The conference call is in the held, connected state. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10050
		EConferenceHold
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10051
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10052
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10053
	IMPORT_C TInt GetConferenceStatus(TMobileConferenceStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10054
	IMPORT_C void NotifyConferenceStatusChange(TRequestStatus& aReqStatus, TMobileConferenceStatus& aStatus) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10055
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10056
/** Conference events. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10057
	enum TMobileConferenceEvent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10058
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10059
	/** A call has been added to the conference. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10060
		EConferenceCallAdded,		// Name of the call added returned in aCallName
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10061
	/** A call has been removed from the conference. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10062
		EConferenceCallRemoved,		// Name of the call terminated returned in aCallName
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10063
	/** Names of the two calls used to build the conference call returned in aCallName. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10064
		EConferenceBuilt,		// Names of the two calls used to build the conference call returned in aCallName
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10065
	/** No name provided */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10066
		EConferenceTerminated,	// No name provided
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10067
	/** No name provided. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10068
		EConferenceSwapped,		// No name provided
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10069
	/** Name of the call being seperated. */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10070
		EConferenceSplit		// Name of the call being seperated
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10071
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10072
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10073
	IMPORT_C void NotifyConferenceEvent(TRequestStatus& aReqStatus, TMobileConferenceEvent& aEvent, TName& aCallName) const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10074
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10075
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10076
	CMobileConferenceCallPtrHolder* iMmPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10077
	RMobileConferenceCall(const RMobileConferenceCall&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10078
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10079
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10080
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10081
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10082
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10083
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10084
/////////////////////////////////////////////////////////////////////////////////////
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10085
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10086
// EAP-SIM Authentication functional unit
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10087
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10088
/////////////////////////////////////////////////////////////////////////////////////
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10089
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10090
class CMobileSmartCardEapPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10091
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10092
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10093
This sub-session opens under RMobilePhone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10094
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10095
RMobileSmartCardEap provides the client with access to a Smart Card
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10096
Application's EAP-capability (if one exists).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10097
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10098
(See ETSI TS 102.310 v6.2.0 and RFC3748)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10099
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10100
To submit authentication challenges or requests, a client must use
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10101
CAsyncSmartCardEapAuthentication in conjunction with this sub-session.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10102
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10103
@see CAsyncSmartCardEapAuthentication
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10104
@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10105
@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10106
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10107
class RMobileSmartCardEap : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10108
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10109
	friend class CAsyncSmartCardEapAuthentication;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10110
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10111
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10112
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10113
	Class encapsulates EAP request packet data for authentication.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10114
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10115
	@see CAsyncSmartCardEapAuthentication
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10116
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10117
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10118
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10119
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10120
	class CEapAuthenticateRequestDataV6 : public CBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10121
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10122
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10123
		IMPORT_C static CEapAuthenticateRequestDataV6* NewL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10124
		IMPORT_C virtual void ExternalizeL(TPtr8& aBuffer);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10125
		IMPORT_C virtual void InternalizeL(const TDesC8& aBuffer);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10126
		IMPORT_C TUint VersionId() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10127
		IMPORT_C TPtr8 GetEapReqPacket() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10128
		IMPORT_C void SetEapReqPacketL(const TDesC8& aData);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10129
		IMPORT_C ~CEapAuthenticateRequestDataV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10130
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10131
	private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10132
		CEapAuthenticateRequestDataV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10133
		void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10134
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10135
	protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10136
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10137
		ETelMM's supported version.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10138
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10139
		TUint iVersionId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10140
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10141
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10142
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10143
		EAP-request packet in a flat buffer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10144
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10145
		CBufFlat* iEapReqPacket;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10146
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10147
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10148
	IMPORT_C RMobileSmartCardEap();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10149
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10150
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10151
	EAP types are represented by one byte for standard EAP methods, and
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10152
	eight bytes for extended methods.  Each byte specified in the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10153
	TEapType buffer should represent one semi-octet.  Therefore, a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10154
	maximum of 16-chars are needed for representing any possible EAP
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10155
	type.  (See section 5.2 of ETSI TS 102.310 v6.2.0.)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10156
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10157
	@see RMobileSmartCardEap::TEapType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10158
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10159
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10160
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10161
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10162
	enum { KEapTypeSize = 16 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10163
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10164
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10165
	A typedef'd buffer to hold the EAP type for the subsequent
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10166
	authentication that will be carried out on the Smart Card
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10167
	Application.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10168
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10169
	The value specified must correspond to the pre-allocated type
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10170
	identifiers for various EAPs (see
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10171
	http://www.iana.org/assignments/eap-numbers).  Some known values
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10172
	are given in etelmm.h.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10173
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10174
	The type must be specified in hexadecimal format, where each
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10175
	character represents one semi-octet.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10176
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10177
	@see KETelSmartCardEapTypeMD5
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10178
	@see KETelSmartCardEapTypeTLS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10179
	@see KETelSmartCardEapTypeSIM
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10180
	@see KETelSmartCardEapTypeAKA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10181
	@see KETelSmartCardEapTypeTTLS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10182
	@see RMobileSmartCardEap::Open()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10183
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10184
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10185
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10186
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10187
	typedef TBuf8<KEapTypeSize> TEapType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10188
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10189
	IMPORT_C TInt Open(RMobilePhone& aPhone, const RMobilePhone::TAID& aAID, const TEapType& aEapType);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10190
	IMPORT_C void InitialiseEapMethod(TRequestStatus& aReqStatus);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10191
	IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10192
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10193
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10194
	Authentication status of the EAP supporting UICC application (See
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10195
	section 7.2 of ETSI TS 102.310 v6.2.0).  One of these values is
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10196
	returned on completion of an
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10197
	RMobileSmartCardEap::GetAuthenticationStatus() request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10198
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10199
	@see RMobileSmartCardEap::GetAuthenticationStatus()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10201
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10202
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10203
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10204
	enum TEapAuthStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10205
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10206
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10207
		No authentication started
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10208
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10209
		ENoAuthStarted,    // 0
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10210
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10211
		Authenticating
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10212
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10213
		EAuthenticating,   // 1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10214
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10215
		Authentication complete
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10216
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10217
		EAuthenticated,    // 2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10218
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10219
		Held (authentication failure)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10220
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10221
		EHeld              // 3
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10222
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10223
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10224
	IMPORT_C void GetAuthenticationStatus(TRequestStatus& aReqStatus, TEapAuthStatus& aAuthStatus);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10225
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10226
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10227
	TEapUserIdType should be used to request an identity from EF_PUId
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10228
	or EF_Ps, when making an RMobileSmartCardEap::GetUserIdentity()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10229
	request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10230
	(See sections 7.3 and 7.4, respectively, of ETSI TS	102.310 v6.2.0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10231
	and RFC2486 - The Network Access Identifier).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10232
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10233
	@see RMobileSmartCardEap::GetUserIdentity()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10234
	@see RMobileSmartCardEap::TEapUserIdentityV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10235
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10236
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10237
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10238
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10239
	enum TEapUserIdType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10240
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10241
		/** Identity is permanent type */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10242
		EPermanentIdentity,   // 0
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10243
		/** Identity is pseudonym type */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10244
		EPseudonymIdentity    // 1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10245
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10246
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10247
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10248
	Maximum permitted size of identity data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10249
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10250
	enum { KEapIdentityMaxSize = 255 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10251
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10252
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10253
	EAP User Identity data.  Ids are stored in EF_PUId or EF_Ps
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10254
	(specified in sections 7.3 and 7.4, respectively, of ETSI TS
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10255
	102.310 v6.2.0).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10256
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10257
	@see RMobileSmartCardEap::GetUserIdentity()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10258
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10259
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10260
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10261
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10262
	class TEapUserIdentityV6 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10263
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10264
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10265
		IMPORT_C TEapUserIdentityV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10266
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10267
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10268
		EAP-IDENTITY Data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10269
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10270
		TBuf8<KEapIdentityMaxSize> iEapId;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10271
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10272
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10273
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10274
	A typedef'd packaged TEapUserIdentityV6 for passing through a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10275
	generic API method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10276
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10277
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10278
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10279
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10280
	typedef TPckg<TEapUserIdentityV6> TEapUserIdentityV6Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10281
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10282
	IMPORT_C void GetUserIdentity(TRequestStatus& aReqStatus,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10283
	                              TEapUserIdType aRequestedIdType,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10284
	                              TDes8& aUserId);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10285
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10286
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10287
	TEapKeyV6 should be used to request one of (currently) two keys
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10288
	available on the EF_EAPKEYS of the UICC application (see section
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10289
	7.1 of ETSI TS 102.310 v6.2.0).  This enumeration type should be
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10290
	used in RMobileSmartCardEap::GetEapKey() to specify the key to be
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10291
	retrieved.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10292
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10293
	@see RMobileSmartCardEap::TEapKeyV6
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10294
	@see RMobileSmartCardEap::GetEapKey()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10295
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10296
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10297
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10298
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10299
	enum TEapKeyTag
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10300
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10301
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10302
		Used to request Master Session Key.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10303
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10304
		EEapKeyMSK =  0x80,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10305
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10306
		Used to request Extended Master Session Key.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10307
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10308
		EEapKeyEMSK = 0x81
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10309
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10310
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10311
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10312
	Maximum size of an EAP Key stored on the DF_EAP's EF_EAPKEYS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10313
	255 as each key has a length that can be specified by exactly one
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10314
	byte (see section 7.1 of ETSI TS 102.310 v6.2.0).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10315
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10316
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10317
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10318
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10319
	enum { KEapKeyMaxSize = 255 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10320
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10321
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10322
	EAP authentication key data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10323
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10324
	@see RMobileSmartCardEap::GetEapKey()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10325
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10326
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10327
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10328
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10329
	class TEapKeyV6 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10330
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10331
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10332
		IMPORT_C TEapKeyV6();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10333
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10334
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10335
		EAP-KEY Data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10336
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10337
		TBuf8<KEapKeyMaxSize> iEapKey;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10338
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10339
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10340
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10341
	A typedef'd packaged TEapKeyV6 for passing through a generic API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10342
	method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10343
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10344
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10345
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10346
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10347
	typedef TPckg<TEapKeyV6> TEapKeyV6Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10348
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10349
	IMPORT_C void GetEapKey(TRequestStatus& aReqStatus, const TEapKeyTag aRequestedKey, TDes8& aKey);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10350
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10351
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10352
	Status of the DF_EAP this subsession refers to.  The status is
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10353
	basically an indication of whether the DF is in use by another sub-
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10354
	session client instance.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10355
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10356
	NotifyEapMethodAccessStatusChange() will give a notification when
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10357
	the status changes.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10358
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10359
	Status will change when the first client calls
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10360
	InitialiseEapMethod() on this sub-session.  When the same client
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10361
	calls ReleaseEapMethod() (or Close()), the status will change
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10362
	again.  This allows mutually exclusive access to the DF_EAP.  All
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10363
	other RMobileSmartCardEap hanles will get an error if they attempt
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10364
	to make requests that access the same DF_EAP.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10365
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10366
	@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10367
	@see RMobileSmartCardEap::ReleaseEapMethod()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10368
	@see RMobileSmartCardEap::InitialiseEapMethod()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10369
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10370
	@publishedPartner
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10371
	@prototype
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10372
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10373
	enum TEapMethodAccessStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10374
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10375
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10376
		AID/DF_EAP has been reset, and the DF_EAP has not been
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10377
		initialised by any other instance of RMobileSmartCardEap.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10378
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10379
		EEapMethodAvailable,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10380
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10381
		Another instance of RMobileSmartCardEap has initialised first
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10382
		and taken ownership of the DF_EAP.  The DF_EAP is currently
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10383
		active and EAP requests can be made.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10384
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10385
		EEapMethodInUseApplicationActive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10386
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10387
		This instance of RMobileSmartCardEap still owns the lock on the
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10388
		DF_EAP, but the application has been deactivated elsewhere.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10389
		The client should re-initialise before making further EAP
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10390
		requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10391
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10392
		@see RMobileSmartCardEap::InitialiseEapMethod()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10393
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10394
		EEapMethodInUseApplicationInactive,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10395
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10396
		Lock on the DF_EAP has been released, but another DF_EAP method
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10397
		is in use under the same AID, thus, cannot reset/initialise
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10398
		this subsessions EAP method.  Client can only post a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10399
		notification and wait till status changes to
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10400
		EEapMethodAvailable.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10401
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10402
		@see RMobileSmartCardEap::NotifyEapMethodAccessStatusChange()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10403
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10404
		EEapMethodUnableToInitialise
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10405
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10406
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10407
	IMPORT_C TInt ReleaseEapMethod();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10408
	IMPORT_C TInt GetEapMethodAccessStatus(TEapMethodAccessStatus& aEapMethodStatus);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10409
	IMPORT_C void NotifyEapMethodAccessStatusChange(TRequestStatus& aReqStatus, TEapMethodAccessStatus& aEapMethodStatus);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10410
	IMPORT_C TBool IsEapMethodOwner() const;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10411
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10412
protected:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10413
	IMPORT_C void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10414
	IMPORT_C void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10415
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10416
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10417
	RMobileSmartCardEap(const RMobileSmartCardEap&);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10418
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10419
	TChar SeptChar(TInt aDigit);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10420
	void ConvertBinToText(const TDesC8& aBinData, TDes& aText);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10421
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10422
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10423
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10424
	Pointer Holder for the RMobileSmartCardEap sub-session requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10425
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10426
	CMobileSmartCardEapPtrHolder* iMmPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10427
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10428
	True if this object is the first to request	InitialiseEapMethod()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10429
	on its <AID,EAPType> when the status is EEapMethodAvailable.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10430
	I.e. True only for the instance of RMobileSmartCardEap that
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10431
	successfully passes the Wait() on iSemaphore.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10432
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10433
	TBool iOwnsEapMethodLock;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10434
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10435
	Semaphore is actually owned by TSY, and used by all instances of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10436
	RMobileSmartCardEap	to stop multiple access to the same EAP method
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10437
	on any one application.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10438
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10439
	RSemaphore iSemaphore;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10440
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10441
	};	// RMobileSmartCardEap
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10442
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10443
/////////////////////////////////////////////////////////////////////////////////////
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10444
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10445
// LCS-MO-LR AND LCS-MT-LR
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10446
//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10447
/////////////////////////////////////////////////////////////////////////////////////
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10448
class CMobileLocationServicesPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10449
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10450
/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10451
This sub-session opens under RMobilePhone.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10452
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10453
A new RMobileLocationServices class is used to add the ETelMM Support for Mobile Terminating Location Request,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10454
Mobile Originating Location Requests, A-Gps assistance data for the LBS Framework.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10455
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10456
RMobileLocationServices is derived from RTelSubSessionBase.RMobileLocationServices lists the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10457
APIs,which provided the support for Mtlr, Molr, A-Gps assistance data requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10458
*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10459
class RMobileLocationServices : public RTelSubSessionBase
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10460
	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10461
public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10462
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10463
	IMPORT_C RMobileLocationServices();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10464
    IMPORT_C TInt Open(RMobilePhone& aPhone);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10465
    IMPORT_C void Close();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10466
 	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10467
 	Maximum length of the array used for TLcsRequestorIdString.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10468
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10469
	enum { KLcsMaxRequestorIdStringSize = 256 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10470
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10471
	Maximum length of the array used for TLcsClientBufferName.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10472
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10473
	enum { KLcsMaxClientNameBufferSize = 256 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10474
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10475
	Maximum length of the array used for TLcsClientExternalID.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10476
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10477
	enum { KLcsMaxClientExternalIdSize = 64 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10478
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10479
	Maximum length of the array used for TLcsLocationEstimate.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10480
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10481
	enum { KLcsMaxLocationEstimateSize = 64 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10482
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10483
	Maximum length of the array used for TLcsVelocityEstimate.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10484
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10485
	enum { KLcsMaxVelocityEstimateSize = 64 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10486
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10487
	Maximum length of the array used for TLcsGpsAssistanceData.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10488
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10489
	enum { KLcsMaxGpsAssistanceDataSize = 64 };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10490
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10491
	A typedef'd buffer which holds the External ClientName Buffer.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10492
	@see KLcsMaxClientNameBufferSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10493
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10494
	typedef TBuf8<KLcsMaxClientNameBufferSize> TLcsClientNameBuffer;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10495
	/** 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10496
	A typedef'd buffer which holds the RequestorId String.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10497
	@see KLcsMaxRequestorIdStringSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10498
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10499
	typedef TBuf8<KLcsMaxRequestorIdStringSize> TLcsRequestorIdString;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10500
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10501
	A typedef'd buffer which holds the Gps Assistance Data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10502
	@see KLcsMaxGpsAssistanceDataSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10503
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10504
	typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10505
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10506
	A typedef'd buffer which holds the External ClientId.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10507
	@see KLcsMaxClientExternalIdSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10508
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10509
	typedef TBuf8<KLcsMaxClientExternalIdSize> TLcsClientExternalID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10510
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10511
	A typedef'd TUint8 which holds the Data Coding Scheme information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10512
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10513
	typedef TUint8 TLcsDataCodingScheme;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10514
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10515
	A typedef'd buffer which holds the Location Estimate.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10516
	@see KLcsMaxLocationEstimateSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10517
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10518
	typedef TBuf8<KLcsMaxLocationEstimateSize> TLcsLocationEstimate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10519
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10520
	A typedef'd buffer which holds the Velocity Estimate.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10521
	@see KLcsMaxVelocityEstimateSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10522
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10523
	typedef TBuf8<KLcsMaxVelocityEstimateSize> TLcsVelocityEstimate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10524
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10525
	A typedef'd buffer which holds the GpsAssistanceData type.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10526
	@see KLcsMaxGpsAssistanceDataSize
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10527
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10528
	typedef TBuf8<KLcsMaxGpsAssistanceDataSize> TGpsAssistanceData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10529
	typedef TUint8 TTransactionIdentifier;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10530
	typedef TUint8 TGPSI;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10531
 	 /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10532
     Note:Refer to 3GPP TS 23.271(Functional stage 2 description of Location Services (LCS)),
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10533
     3GPP TS 24.030(Location Services (LCS); Supplementary service operations - Stage 3) and
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10534
     3GPP TS 24.080(Mobile radio interface layer 3 supplementary services specification; Formats and coding)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10535
     for further details of MTLR and MOLR member data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10536
     */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10537
 /*********************************************************************/ 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10538
 //                  MTLR                                             //
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10539
 /*********************************************************************/   
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10540
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10541
    TNotificationType lists the various types of Notification
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10542
    that can be expected from any MTLR-Location Notification coming from the Network,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10543
    These types depend on the Subscription Profile of the UE. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10544
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10545
    One of the TNotificationType is expected to be retrieved from the Network,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10546
    when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10547
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10548
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10549
    enum TNotificationType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10550
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10551
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10552
		Notification Type Unknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10553
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10554
		ENotificationTypeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10555
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10556
		The Location Request is accepted by default
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10557
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10558
		ENotifyLocationAllowed,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10559
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10560
        This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10561
        and that the user is expected to respond by granting/denying the request. By defualt, if the user 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10562
        does not provide a response, the request is granted
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10563
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10564
		ENotifyAndVerify_LocationAllowedIfNoResponse,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10565
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10566
        This enum is used to indicate to the client, that the user should be notified of the incoming MTLR request, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10567
        and that the user is expected to respond by granting/denying the request. By defualt, if the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10568
        user does not provide a response, the request is denied.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10569
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10570
		ENotifyAndVerify_LocationNotAllowedIfNoResponse,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10571
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10572
        The network sends the information to the UE that the external client has privacy overide capability,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10573
        This indicator is received when an authenticated or emergency client had sent the request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10574
		*/     
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10575
        ELocationPrivacyOverride,  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10576
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10577
        This enum is used to notify the UE that an incoming MTLR request was denied by the network for any of various 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10578
        reasons.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10579
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10580
		ELocationNotAllowed                                      
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10581
        };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10582
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10583
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10584
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10585
    TLocationEstimateType lists the various types of LocationEstimate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10586
    that can be expected from any MTLR-Location Notification request coming from the Network,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10587
    These types depend on the Subscription Profile of the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10588
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10589
    One of the TLocationEstimateType is expected to be retrieved from the Network,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10590
    when a UE places a RMobileLocationServices::NotifyMtlr() request on the TSY.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10591
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10592
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10593
    enum TLocationEstimateType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10594
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10595
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10596
		Location Estimate Type Unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10597
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10598
		ELocationEstimateTypeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10599
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10600
		The External Client has requested for the Current Location of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10601
		the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10602
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10603
		ECurrentLocation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10604
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10605
		The External Client has requested for the Current Location of
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10606
		the UE.Incase,if the request is accepted,But still it fails to
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10607
		generate the Location report because of Measurement Control Failure.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10608
		The Client receives the Last Known Location.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10609
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10610
		ECurrentOrLastKnownLocation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10611
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10612
		The External Client has requested for the initial location of the UE. The current 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10613
		location of the UE may or may not be the initial location.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10614
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10615
		EInitialLocation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10616
		};	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10617
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10618
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10619
    TLcsClientNameV1 holds the details of the name of the External client, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10620
    who is making the request via Network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10621
    TLcsClientNameV1 is used by RMobileLocationServices::NotifyMtlr() request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10622
    @see TLcsDataCodingScheme
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10623
    @see TLcsClientNameBuffer
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10624
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10625
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10626
    class TLcsClientNameV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10627
    	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10628
    public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10629
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10630
    	TLcsDataCodingScheme holds the Data Coding Scheme information which is used
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10631
    	to extract the ExternalClient name.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10632
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10633
    	TLcsDataCodingScheme iLcsDataCodingScheme;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10634
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10635
    	TLcsClientNameBuffer holds the Client name 		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10636
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10637
    	TLcsClientNameBuffer       iLcsClientNameBuffer;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10638
    	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10639
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10640
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10641
    TLcsRequestorIDV1 holds the details of the RequestorId i.e the details of the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10642
    Network,Which is carrying the request of External Client to UE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10643
    TLcsRequestorIDV1 is used by RMobileLocationServices::NotifyMtlr() request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10644
    @see TLcsDataCodingScheme
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10645
    @see TLcsRequestorIdString 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10646
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10647
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10648
    class TLcsRequestorIDV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10649
    	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10650
    public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10651
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10652
    	TLcsDataCodingScheme holds the Data Coding Scheme information which is used
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10653
    	to extract the RequestorId String.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10654
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10655
    	TLcsDataCodingScheme        iLcsDataCodingScheme;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10656
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10657
    	TLcsRequestorIdString holds the RequestorId String 		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10658
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10659
    	TLcsRequestorIdString       iLcsRequestorIdString;	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10660
    	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10661
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10662
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10663
    TLocationExternalInfoV1 holds the details of the External client and the Requestor
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10664
    TLocationExternalInfoV1 is used by RMobileLocationServices::NotifyMtlr() request
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10665
    @see TLcsClientExternalID
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10666
    @see TLcsClientNameV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10667
    @see TLcsRequestorIDV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10668
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10669
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10670
    class TLocationExternalInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10671
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10672
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10673
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10674
		TLcsClientExternalID gives the id of the External client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10675
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10676
		TLcsClientExternalID     iLcsClientID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10677
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10678
		TLcsClientNameV1 holds the name of the External Client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10679
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10680
		TLcsClientNameV1           iLcsClientName;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10681
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10682
		TLcsRequestorIDV1 gives the details of requestor id
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10683
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10684
		TLcsRequestorIDV1          iLcsRequestorID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10685
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10686
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10687
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10688
	TNotifyMtlrV7 holds the details of the MTLR request made by the External client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10689
	TNotifyMtlrV7 is used by RMobileLocationServices::NotifyMtlr() request
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10690
	@see TNotificationType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10691
	@see TLocationEstimateType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10692
	@see TLocationExternalInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10693
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10694
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10695
	class TNotifyMtlrV7: public RMobilePhone::TMultimodeType 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10696
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10697
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10698
		IMPORT_C TNotifyMtlrV7();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10699
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10700
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10701
		TNotificationType holds the type of notification request being made
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10702
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10703
		TNotificationType          iNotificationType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10704
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10705
		TLocationEstimateType holds the type of LocationEstimate is requested 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10706
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10707
		TLocationEstimateType      iMtlrLocationEstimateType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10708
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10709
		TLocationExternalInfoV7  holds the details of the External client. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10710
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10711
		TLocationExternalInfoV1      iLocationInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10712
        };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10713
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10714
   	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10715
	A typedef'd packaged TNotifyMtlrV7 for passing through a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10716
	generic API method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10717
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10718
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10719
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10720
	typedef TPckg<TNotifyMtlrV7> TNotifyMtlrV7Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10721
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10722
 //MTLR-RESPONSE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10723
 	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10724
 	TMtlrResponse is used by the OverLoaded RMobileLocationServices::SendMtlrResponse() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10725
 	It holds the type of response being sent back for the MTLR request made.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10726
 	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10727
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10728
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10729
	enum TMtlrResponse
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10730
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10731
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10732
		Mtlr Response Unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10733
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10734
		EMtlrResponseUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10735
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10736
		The UE has denied the Location Request  of the External client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10737
		@see RMobileLocationServices::SendMtlrResponse()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10738
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10739
		EPermissionDenied ,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10740
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10741
		The UE has granted  the Location Request  of the External client.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10742
		@see RMobileLocationServices::SendMtlrResponse()
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10743
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10744
		EPermissionGranted
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10745
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10746
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10747
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10748
 	TMtlrError is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10749
 	It holds the type of Error response being sent back for the MTLR request made.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10750
 	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10751
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10752
 	enum TMtlrError
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10753
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10754
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10755
		Mtlr Error Unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10756
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10757
		EMtlrErrorUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10758
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10759
		This response is sent back to the network when System has failed to 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10760
		do the privacy check due to some Miscellaneous reasons
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10761
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10762
		ESystemFailure ,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10763
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10764
		The response is sent when the privacy verification has failed because of Unexpected data 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10765
		values retrieved from the Location Notification request generated by the Network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10766
		This generates an Error-Prone response from UE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10767
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10768
		EUnexpectedDataValue	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10769
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10770
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10771
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10772
 	TMtlrReject is used by the Overloaded RMobileLocationServices::SendMtlrResponse() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10773
 	It holds the details of the Response being rejected due to one of the problems reported to the UE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10774
 	for the MTLR request being made.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10775
 	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10776
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10777
 	enum TMtlrReject
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10778
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10779
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10780
		Mtlr Reject Unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10781
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10782
		EMtlrRejectUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10783
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10784
		This indication is given under a scenario where the UE wants to reject a request,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10785
		It is done by invoking Duplicate ID's.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10786
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10787
		EDuplicateInvokeID,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10788
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10789
		This indication is given under a scenario where the UE wants to reject a request, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10790
		It is done by saying the operation is not recognized
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10791
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10792
		EUnrecognizedOperation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10793
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10794
		This invokes a problem indicating Resource Limitation.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10795
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10796
		EResourceLimitation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10797
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10798
		This Invokes a problem initiating release.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10799
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10800
		EInitiatingRelease,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10801
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10802
		This invokes a problem indicating that  the ID linked with the Client information 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10803
		is unrecognized
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10804
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10805
		EUnrecognizedLinkedID,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10806
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10807
		This invokes a problem of Linked Response Unexpected
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10808
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10809
		ELinkedResponseUnexpected,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10810
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10811
		This invokes a problem of Unexpected Linked Operation
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10812
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10813
		EUnexpectedLinkedOperation,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10814
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10815
		This invokes a problem of Mistyped Parameter.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10816
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10817
		EMistypedParameter	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10818
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10819
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10820
   /**************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10821
   //                  MOLR                                      //
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10822
   /**************************************************************/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10823
 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10824
 	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10825
 	TMolrType is used by the SendMolr() API.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10826
 	This gives an indication of type of Molr request the UE wants to invoke
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10827
 	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10828
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10829
 	enum TMolrType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10830
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10831
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10832
		MolrType UnKnown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10833
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10834
		EMolrTypeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10835
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10836
		UE is requesting the Network for its Location Estimate  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10837
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10838
		ELocationEstimate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10839
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10840
		UE is requesting the Network for  GPS Assistance data
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10841
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10842
		EAssistanceData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10843
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10844
		UE is requesting the Network for  DecipheringKeys
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10845
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10846
		EDecipheringKeys
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10847
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10848
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10849
 	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10850
 	TResponseTime is used by SendMolr() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10851
 	This enum holds the various types of delay that an UE is expecting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10852
 	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10853
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10854
 	enum TResponseTime
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10855
  		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10856
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10857
  		Response Time Unknown.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10858
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10859
  		EResponseTimeunknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10860
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10861
  		This enum value indicates that the UE expects a Less Time Delay
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10862
  		from Network in responding to its request
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10863
  		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10864
  		ELowDelay,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10865
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10866
  		This enum value indicates that the UE expects a Long Time Delay
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10867
  		from Network in responding to its request and is tolerant to it.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10868
  		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10869
  		EDelayTolerant		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10870
  		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10871
 	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10872
 	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10873
 	TLocationMethod is used by SendMolr() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10874
 	This is an enum which lists out all different types of Location methods that an UE can request
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10875
 	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10876
 	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10877
 	enum TLocationMethod
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10878
  		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10879
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10880
  		Location Method Unknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10881
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10882
  		ELocationMethodunknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10883
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10884
  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Based Location Fix.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10885
  		This can be termed as UE Assisted Location Fix(EOTD-Enhanced observed time difference).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10886
  		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10887
  		EMSBasedEOTD,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10888
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10889
  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted Location Fix.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10890
  		This can be termed out as UE based location fix.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10891
  		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10892
  		EMSAssistedEOTD,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10893
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10894
  		This indication is given under a scenario where the UE wants a MS (Mobile Station) Assisted GPS data.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10895
  		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10896
  		EMSAssistedGPS,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10897
  		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10898
  		This indication is given under a scenario where the UE wants a MS (Mobile Station) based location fix 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10899
  		(OTDOA-Observed time difference of arrival).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10900
  		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10901
  		EMSBasedOTDOA
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10902
  		}; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10903
   
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10904
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10905
    TQosV1 is used by SendMolr() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10906
    This is a class with details of accuracy of Position information, Response Time, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10907
    expected to be received from the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10908
    @see TResponseTime
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10909
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10910
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10911
 	class TQosV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10912
   		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10913
   	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10914
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10915
    	This gives an information of the amount of Horizontal accuracy that the UE is expecting.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10916
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10917
    	TUint8 iHorizontalAccuracy;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10918
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10919
    	This gives an information of the amount of Vertical accuracy that the UE is expecting. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10920
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10921
    	TUint8 iVerticalAccuracy;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10922
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10923
    	This enum indicates the Response Time expected by the UE to receive a response for its MOlr request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10924
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10925
    	TResponseTime iResponseTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10926
    	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10927
    
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10928
    /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10929
    TMolrErrors is used by SendMolr() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10930
    This is an enum which lists out all the possible errors that can be 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10931
    reported to UE by an External Client or the Network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10932
    @internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10933
    */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10934
   	enum TMolrErrors
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10935
    	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10936
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10937
    	Molr Error Unknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10938
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10939
    	EMolrErrorUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10940
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10941
    	This indication is given to the UE when the Location Report is unable to reach the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10942
    	External Client due to some failure in the Network Connections.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10943
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10944
        EMolrSystemFailure, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10945
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10946
        This indication is given back to the UE by the Network to the UE or by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10947
        External Client to the UE,where the UE generated MOLR has some unexpected values. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10948
        */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10949
        EMolrUnexpectedDataValue,  
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10950
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10951
        This indication is given back to the UE by the Network to the UE or by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10952
        External Client to the UE,where the UE generated MOLR had a data discrepancy
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10953
        */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10954
        EMolrDataMissing, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10955
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10956
        This indication is given by the Network to the UE, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10957
        when the UE is not given a facility to make a MOLR request
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10958
        */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10959
        EMolrFacilityNotSupported, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10960
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10961
        This indication is given by the Network to the UE, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10962
        when the subscription profile of the UE doesn't match with the requests made by it.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10963
        */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10964
        EMolrSS_SubscriptionViolation, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10965
        /**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10966
        This indication is given by the Network to the UE, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10967
        when the UE or the Network failed to generate the Location estimate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10968
        */ 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10969
        EMolrPositionMethodFailure 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10970
        };
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10971
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10972
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10973
	TStartMolrV7 is used by SendMolr() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10974
	This class lists the details send by UE to Network when a Molr request is being made.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10975
	@see TMolrType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10976
	@see TQosV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10977
	@see TLocationEstimateType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10978
	@see TLcsClientExternalID
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10979
	@see TGpsAssistanceData
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10980
	@see TLocationMethod
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10981
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10982
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10983
	class TStartMolrV7: public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10984
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10985
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10986
		IMPORT_C TStartMolrV7();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10987
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10988
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10989
		TMolrType holds the type of Molr request being made
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10990
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10991
		TMolrType             iMolrType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10992
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10993
		TQosV1 lists out the Quality of Service expected by UE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10994
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10995
		TQosV1                iQos;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10996
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10997
		Type of Location Estimate requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10998
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 10999
		TLocationEstimateType iMolrLocationEstimateType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11000
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11001
		Id of the External client
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11002
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11003
		TLcsClientExternalID  iLcsClientExternalID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11004
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11005
		Type of GpsAssistanceData
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11006
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11007
		TGpsAssistanceData    iGpsAssistanceData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11008
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11009
		Type of Location method requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11010
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11011
		TLocationMethod       iLocationMethod ;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11012
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11013
		Type of Service requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11014
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11015
		TUint8                 iLcsServiceTypeID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11016
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11017
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11018
	A typedef'd packaged TStartMolrV7 for passing through a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11019
	generic API method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11020
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11021
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11022
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11023
	typedef TPckg<TStartMolrV7> TStartMolrV7Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11024
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11025
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11026
	TMolrReturnResultV7 is used by SendMolr() API
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11027
	This class lists all the Molr return results that can be expected for the Molr request
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11028
	being made.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11029
	@see TLcsLocationEstimate 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11030
	@see TLcsVelocityEstimate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11031
	@see TMolrErrors
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11032
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11033
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11034
    class TMolrReturnResultV7: public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11035
    	{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11036
    public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11037
		IMPORT_C TMolrReturnResultV7();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11038
    public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11039
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11040
    	This gives the Location Estimate of the UE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11041
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11042
    	TLcsLocationEstimate    iLocationEstimate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11043
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11044
    	This gives the Velocity Estimate of the UE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11045
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11046
    	TLcsVelocityEstimate	iVelocityEstimate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11047
    	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11048
    	This gives the indication of the type of error occured
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11049
    	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11050
    	TMolrErrors             iMolrErrors;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11051
    	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11052
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11053
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11054
	A typedef'd packaged TMolrReturnResultV7 for passing through a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11055
	generic API method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11056
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11057
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11058
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11059
	typedef TPckg<TMolrReturnResultV7> TMolrReturnResultV7Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11060
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11061
	//**************************************//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11062
	// Measurement Control Data structures	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11063
	//**************************************//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11064
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11065
	enum 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11066
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11067
		/**Maximum number of monitored cells RACH*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11068
		KMaxMonitoredCells = 8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11069
		/**Maximum number of satellites*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11070
		KMaxSat = 16,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11071
		/**GlobalHealth size. 364 bits =46 bytes (Rounded) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11072
		KGlobalHealthSize	= 46
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11073
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11074
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11075
	/**This enum contains the possible types of measurement commands.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11076
	enum TMeasurementCmd
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11077
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11078
		/**Measurement Command Unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11079
		EMeasCommandUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11080
		/**Setup a new measurement*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11081
		ESetup,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11082
		/**Modify a previously defined measurement, e.g. to change the reporting criteria*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11083
		EModify,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11084
		/**Indicates to stop a measurement and clear all information in the UE that are related to that measurement */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11085
		ERelease,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11086
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11087
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11088
	/**This enum contains the possible positioning method types*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11089
	enum TUePosMethodType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11090
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11091
		/**Positioning Method Type unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11092
		EPosMethodTypeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11093
		/**UE Assisted : The network computes the location of the UE.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11094
		EUeAssisted,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11095
		/**UE Based : The UE computes the location of itself*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11096
		EUeBased,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11097
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11098
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11099
	/**This enum contains the possible positioning methods*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11100
	enum TPosMethod
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11101
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11102
		/**Positioning Method unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11103
		EPosMethodUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11104
		/**OTDOA may be selected by the SRNC as the method to be used on receipt of an LCS positioning request from the CN */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11105
		EOtdoa,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11106
		/**These methods make use of UEs, which are equipped with radio receivers capable of receiving GPS signals*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11107
		EGps,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11108
		/**Use either OTDOA or GPS positioning method.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11109
		EOtdoaOrGps,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11110
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11111
		In the cell ID based (i.e. cell coverage) method, the position of an UE is 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11112
		estimated with the knowledge of its serving Node B. The information about the serving 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11113
		Node B and cell may be obtained by paging,locating area update, cell update, URA update, or routing area update.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11114
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11115
		ECellID
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11116
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11117
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11118
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11119
	This class contains the information which is part of the Navigation Model.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11120
	This can be requested by the UE as part of additional request.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11121
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11122
	class TSatDataV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11123
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11124
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11125
		/**Satellite identity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11126
		TUint8		iSatID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11127
		/**Issue of Data Ephemeris for SatID*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11128
		TUint8		iIode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11129
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11130
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11131
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11132
	This class contains the additional information that can be requested by the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11133
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11134
	class TNavModelAddlDataReqV1	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11135
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11136
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11137
		/**GPS time in weeks*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11138
		TUint16		iGpsWeek;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11139
		/**GPS time of ephemeris in hours of the latest ephemeris set contained by the UE.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11140
		TUint8		iGpsToe;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11141
		/**Ephemeris age tolerance of the UE to UTRAN in hours.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11142
		TUint8		iTToeLimit;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11143
		/**Satellite Identities
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11144
		@see TSatDataV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11145
		TSatDataV1	iSatData[KMaxSat];
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11146
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11147
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11148
	/**This class contains the indicators to request for additional assistance data from the network.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11149
	class TGpsAddlAssistDataReqV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11150
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11151
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11152
		/**ETrue indicates Almanac Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11153
		@see	TAlmanacV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11154
		TBool	iAlmanacRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11155
		/**ETrue indicates UTC model Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11156
		@see	TUtcModelV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11157
		TBool	iUtcModelRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11158
		/**ETrue indicates Ionospheric Model Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11159
		@see	TUtcModelV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11160
		TBool	iIonosphericModelRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11161
		/**ETrue indicates Navigation model Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11162
		@see	TIonosphericModelV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11163
		TBool	iNavigationModelRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11164
		/**ETrue indicates DGPS corrections Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11165
		@see	TNavigationModelSatInfoV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11166
		TBool	iDgpsCorrectionsRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11167
		/**ETrue indicates Reference location Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11168
		@see	TDgpsCorrectionsV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11169
		TBool	iReferenceLocationRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11170
		/**ETrue indicates Reference time Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11171
		@see	TReferenceLocationV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11172
		TBool	iReferenceTimeRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11173
		/**ETrue indicates Acquisition assistance Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11174
		@see	TReferenceTimeV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11175
		TBool	iAcquisitionAssistanceReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11176
		/**ETrue indicates Realtime integrity Data is requested
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11177
		@see	TAcquisitionAssistanceV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11178
		TBool	iRealTimeIntegrityRequest;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11179
		/**This member is included only if Navigagion Model Data is requested (iNavigationModelRequest is ETrue).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11180
		@see	TNavModelAddlDataReqV1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11181
		TNavModelAddlDataReqV1	iNavModelAddlDataReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11182
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11183
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11184
	/**This class contains the UE positioning reporting quantity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11185
	class TUePosReportingQuantityV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11186
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11187
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11188
		/**Holds the positioning method type*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11189
		TUePosMethodType	 iUePosMethodType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11190
		/**Holds the positioning method*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11191
		TPosMethod 	iPosMethod;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11192
		/**Holds the horizontal accuracy*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11193
		TInt8	iHorzAccuracy;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11194
		/**Holds the vertical accuracy*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11195
		TInt8	iVertAccuracy;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11196
		/**If true the SRNC wants the UE to report the SFN-GPS timing of the reference cell.*/ 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11197
		TBool 	iGpsTimingOfCellWanted;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11198
		/**ETrue indicates that the UE is requested to send the IE "Additional assistance Data Request" 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11199
		when the IE "UE positioning Error" is present in the UE positioning measured results.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11200
		EFalse indicates that the UE shall use the assistance data available.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11201
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11202
		TBool	iAddlAssistanceDataReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11203
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11204
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11205
	/**This enum contains the states in which measurements are valid*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11206
	enum TMeasurementValidity
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11207
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11208
		/**Measurement Validity Unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11209
		EMeasValidityUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11210
		/**Indicates measurement is valid in CellDCH state*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11211
		ECellDCH,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11212
		/**Indicates measurement is valid except in CellDCH state*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11213
		EAllButCellDCH,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11214
		/**Indicates measurement is valid in all state*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11215
		EAllStates
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11216
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11217
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11218
	/**This enum list the SfnTow uncertainity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11219
	enum TSfnTowUncertainity
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11220
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11221
		/**Sfn Tow Uncertainity unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11222
		ESfnTowUncertainityUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11223
		/**SfnTowUncertainity < 10*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11224
		ELessThan10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11225
		/**SfnTowUncertainity > 10*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11226
		EMoreThan10
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11227
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11228
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11229
	/**This enum lists the different GPS drift rates*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11230
	enum TUtranGpsDriftRate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11231
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11232
		/**GPS Drift rate unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11233
		EDriftRateUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11234
		/**Drift = 0*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11235
		EUtranGpsDrift0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11236
		/**Drift = 1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11237
		EUtranGpsDrift1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11238
		/**Drift = 2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11239
		EUtranGpsDrift2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11240
		/**Drift = 5*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11241
		EUtranGpsDrift5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11242
		/**Drift = 10*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11243
		EUtranGpsDrift10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11244
		/**Drift = 15*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11245
		EUtranGpsDrift15,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11246
		/**Drift = 25*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11247
		EUtranGpsDrift25,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11248
		/**Drift = 50*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11249
		EUtranGpsDrift50,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11250
		/**Drift = -1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11251
		EUtranGpsDriftMinus1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11252
		/**Drift = -2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11253
		EUtranGpsDriftMinus2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11254
		/**Drift = -5*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11255
		EUtranGpsDriftMinus5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11256
		/**Drift = -10*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11257
		EUtranGpsDriftMinus10,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11258
		/**Drift = -15*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11259
		EUtranGpsDriftMinus15,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11260
		/**Drift = -25*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11261
		EUtranGpsDriftMinus25,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11262
		/**Drift = -50*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11263
		EUtranGpsDriftMinus50,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11264
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11265
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11266
	/**This enum lists the different Udre values*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11267
	enum TDiffCorrectionsStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11268
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11269
		/**Diff Corrections Status unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11270
		ECorrectionStatusUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11271
		/**UDRE 1.0 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11272
		EUdre1Point0,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11273
		/**UDRE 0.75 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11274
		EUdre0Point75,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11275
		/**UDRE 0.5 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11276
		EUdre0Point5,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11277
		/**UDRE 0.3 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11278
		EUdre0Point3,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11279
		/**UDRE 0.2 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11280
		EUdre0Point2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11281
		/**UDRE 0.1 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11282
		EUdre0Point1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11283
		/**UDRE No Data */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11284
		ENoData,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11285
		/**UDRE Invalid Data */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11286
		EInvalidData
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11287
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11288
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11289
	/**This class reserves members for future use*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11290
	class TSubFrame1ReservedV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11291
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11292
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11293
		/**Reserve member 1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11294
		TUint	iReserved1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11295
		/**Reserve member 2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11296
		TUint	iReserved2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11297
		/**Reserve member 3*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11298
		TUint	iReserved3;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11299
		/**Reserve member 4*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11300
		TUint	iReserved4;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11301
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11302
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11303
	/**This class contains information for GPS ephemeris and clock correction.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11304
	class TEphemerisParameterV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11305
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11306
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11307
		/**Code(s) on L2 Channel */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11308
		TUint8	iCodeOnL2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11309
		/**User Range Accuracy */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11310
		TUint8	iUraIndex;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11311
		/**Health of Satellite*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11312
		TUint8	iSatHealth;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11313
		/**Issue of Data, Clock */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11314
		TUint16	iIodc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11315
		/**L2 channel flag*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11316
		TUint8	iL2Flag;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11317
		TSubFrame1ReservedV1	iSubFrame1Reserved;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11318
		/**Estimated group delay differential */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11319
		TUint8	iTGd;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11320
		/**Apparent clock correction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11321
		TUint16	iTOc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11322
		/**Apparent clock correction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11323
		TUint8	iAf2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11324
		/**Apparent clock correction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11325
		TUint16	iAf1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11326
		/**Apparent clock correction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11327
		TUint	iAf0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11328
		/**Amplitude of the Sine Harmonic Correction Term to the Orbit Radius (meters)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11329
		TUint16	iCRs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11330
		/**Mean Motion Difference From Computed Value (semi-circles/sec)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11331
		TUint16	iDeltaN;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11332
		/**Mean Anomaly at Reference Time (semi-circles)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11333
		TUint	iM0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11334
		/**Amplitude of the Cosine Harmonic Correction Term To The Argument Of Latitude (radians)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11335
		TUint16	iCUc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11336
		/**Eccentricity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11337
		TUint	iE;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11338
		/**Amplitude of the Sine Harmonic Correction Term To The Argument Of Latitude (radians)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11339
		TUint16	iCUs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11340
		/**Semi-Major Axis in squareroot(meters) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11341
		TUint	iASqrt;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11342
		/**Reference Time Ephemeris */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11343
		TUint16	iTOe;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11344
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11345
		Fit interval flag
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11346
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11347
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11348
		TUint8	iFitInterval;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11349
		/**Age Of Data Offset */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11350
		TUint8	iAodo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11351
		/**Amplitude of the Cosine Harmonic Correction Term To The Angle Of Inclination (radians)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11352
		TUint16	iCIc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11353
		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11354
		TUint	iOmega0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11355
		/**Amplitude of the Sine Harmonic Correction Term To The Angle Of Inclination (radians) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11356
		TUint16	iCIs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11357
		/**Inclination Angle at Reference Time (semi-circles) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11358
		TUint	i0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11359
		/**Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius (meters) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11360
		TUint16	iCRc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11361
		/**Argument of Perigee (semi-circles) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11362
		TUint	iOmega;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11363
		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11364
		TUint	iOmegaDot;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11365
		/**Rate of Inclination Angle (semi-circles/sec) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11366
		TUint16	iDot;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11367
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11368
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11369
	/**This enum specifies the possible status of a satellite*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11370
	enum TSatelliteStatus
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11371
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11372
		/**Satellite Status unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11373
		ESatStatusUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11374
		/**New satellite, new Navigation Model*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11375
		ENsNnU,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11376
		/**Existing satellite, same Navigation Model*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11377
		EEsSn,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11378
		/**Existing satellite, new Navigation Model*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11379
		EEsNnU,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11380
		/**Reserved*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11381
		ERev2,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11382
		/**Reserved*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11383
		ERev
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11384
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11385
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11386
	/**This class contains the navigation model satellite information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11387
	class TNavigationModelSatInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11388
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11389
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11390
		/**Satellite identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11391
		TUint8				iSatID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11392
		/**Status of the satellite*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11393
		TSatelliteStatus	iSatelliteStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11394
		/**Contains information for GPS ephemeris and clock correction.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11395
		TEphemerisParameterV1	iEphemerisParameter;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11396
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11397
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11398
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11399
	This class contains the ionospheric model information needed to model
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11400
	the propagation delays of the GPS signals through the ionosphere
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11401
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11402
	class TIonosphericModelV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11403
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11404
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11405
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11406
		The parameters *n are the coefficients of a cubic equation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11407
		representing the amplitude of the vertical delay.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11408
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11409
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11410
		/**Alfa = 0*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11411
		TUint8	iAlfa0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11412
		/**Alfa = 1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11413
		TUint8	iAlfa1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11414
		/**Alfa = 2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11415
		TUint8	iAlfa2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11416
		/**Alfa = 3*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11417
		TUint8	iAlfa3;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11418
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11419
		The parameters *n are the coefficients of a cubic equation 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11420
		representing the period of the ionospheric model 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11421
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11422
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11423
		/**Beta = 0*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11424
		TUint8	iBeta0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11425
		/**Beta = 1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11426
		TUint8	iBeta1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11427
		/**Beta = 2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11428
		TUint8	iBeta2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11429
		/**Beta = 3*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11430
		TUint8	iBeta3;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11431
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11432
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11433
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11434
	This class contains the UTC model information needed to relate GPS time to Universal Time Coordinate (UTC)
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11435
	@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11436
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11437
	class TUtcModelV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11438
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11439
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11440
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11441
		Time in seconds. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11442
		@see ICD-GPS-200.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11443
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11444
		TUint	iA1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11445
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11446
		Time in seconds. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11447
		@see ICD-GPS-200.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11448
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11449
		TUint	iA2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11450
		/**Time in seconds
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11451
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11452
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11453
		TUint8	iTOt;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11454
		/**weeks
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11455
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11456
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11457
		TUint8	iWnT;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11458
		/**Time in seconds
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11459
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11460
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11461
		TUint8	iDeltaTLs;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11462
		/**Weeks
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11463
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11464
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11465
		TUint8	iWnLsf;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11466
		/**Days
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11467
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11468
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11469
		TUint8	iDn;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11470
		/**Seconds
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11471
		@see ICD-GPS-200
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11472
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11473
		TUint8	iDeltaTLsf;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11474
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11475
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11476
	/**This class contains a reduced-precision subset of the ephemeris and clock correction parameters.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11477
	class TAlmanacSatInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11478
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11479
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11480
		/**Data identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11481
		TUint8	iDataID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11482
		/**Eccentricity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11483
		TUint16	iE;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11484
		/**Reference Time of Almanac */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11485
		TUint8 	iTOa;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11486
		/**@see ICD-GPS-200*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11487
		TUint16	iDeltaI;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11488
		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles/sec) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11489
		TUint16	iOmegaDot;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11490
		/**Satellite health*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11491
		TUint8	iSatHealth;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11492
		/**Semi-Major Axis in squareroot(meters)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11493
		TUint	iASqrt;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11494
		/**Longitude of Ascending Node of Orbit Plane at Weekly Epoch (semi-circles) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11495
		TUint	iOmega0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11496
		/**Mean Anomaly at Reference Time (semi-circles) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11497
		TUint	iM0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11498
		/**Argument of Perigee (semi-circles) */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11499
		TUint	iOmega;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11500
		/**Apparent clock correction */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11501
		TUint16	iAf0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11502
		/**Apparent clock correction */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11503
		TUint16	iAf1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11504
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11505
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11506
	/**This class holds the coarse, long-term model of the satellite positions and clocks.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11507
	class TAlmanacV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11508
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11509
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11510
		/**Almanac Reference Week */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11511
		TUint8	iWnA;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11512
		TAlmanacSatInfoV1	iAlmanacSatInfoList[KMaxSat]; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11513
		/**This enables GPS time recovery and possibly extended GPS correlation intervals.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11514
		TUint16	iSvGlobalHealth[KGlobalHealthSize]; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11515
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11516
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11517
	/**This union contains the information specific to mode - FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11518
	union TModeSpecificInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11519
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11520
		/**Used in FDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11521
		TUint16	iPrimaryScramblingCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11522
		/**Used in TDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11523
		TUint16	iCellParametersID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11524
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11525
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11526
	/**This class contains parameters that enable fast acquisition of the GPS 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11527
	   signals in UE-assisted GPS positioning.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11528
	class TAcquisitionAssistanceV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11529
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11530
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11531
		/**Specifies GPS reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11532
		TUint				iGpsReferenceTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11533
		/**Specifies GPS reference time specific to mode - FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11534
		TModeSpecificInfoV1	iUtranGpsReferenceTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11535
		/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11536
		EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11537
		TBool	iUtranGpsRefTimeStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11538
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11539
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11540
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11541
	The UDRE provides an estimate of the uncertainty (1-*) in the corrections for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11542
	the particular satellite. The value in this field shall be multiplied by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11543
	UDRE Scale Factor in the common Corrections Status/Health field to determine the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11544
	final UDRE estimate for the particular satellite. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11545
	@see 3GPP TS 25.305
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11546
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11547
	enum TUdre
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11548
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11549
		/**Udre unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11550
		EUdreUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11551
		/** UDRE < 1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11552
		ELessThan1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11553
		/** 1> UDRE < 4*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11554
		EBtw1And4,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11555
		/** 1> UDRE < 8*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11556
		EBtw1And8,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11557
		/** UDRE > 8*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11558
		EOver8
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11559
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11560
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11561
	/**This class contains DGPS corrections to be used by the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11562
	class TDgpsCorrectionSatInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11563
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11564
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11565
		/**Satellite identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11566
		TUint8	iSatID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11567
		/**Issue of Data Ephemeris for SatID.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11568
		TUint8	iIode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11569
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11570
		The UDRE provides an estimate of the uncertainty (1-*) in the corrections for 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11571
		the particular satellite. The value in this field shall be multiplied by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11572
		UDRE Scale Factor in the common Corrections Status/Health field to determine the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11573
		final UDRE estimate for the particular satellite. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11574
		@see 3GPP TS 25.305
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11575
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11576
		TUdre	iUdre;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11577
		/**The PRC indicates the correction to the pseudorange for the particular satellite at the GPS Reference Time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11578
		TInt16	iPrc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11579
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11580
		This information indicates the rate-of-change of the pseudorange correction for the particular satellite,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11581
		using the satellite ephemeris identified by the IODE IE
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11582
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11583
		TInt8	iRrc;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11584
		/**For future use*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11585
		TInt8	iDummy1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11586
		/**For future use*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11587
		TInt8	iDummy2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11588
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11589
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11590
	/**This class contains the DGPS corrections information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11591
	class TDgpsCorrectionsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11592
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11593
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11594
		/**GPS time of week*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11595
		TUint16				iGpsTow;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11596
		/**This information indicates the status of the differential corrections contained in the message.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11597
		TDiffCorrectionsStatus	iStatusHealth;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11598
		/**This member data contains DGPS corrections of the satellites to be used by the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11599
		TDgpsCorrectionSatInfoV1	iDgpsCorrectionSatInfoList[KMaxSat];
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11600
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11601
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11602
	/**This enum containst the possible signs of latitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11603
	enum TLatitudeSign
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11604
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11605
		/**Latitude Sign Unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11606
		ELatitudeSignUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11607
		/**Latitude sign is north*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11608
		ENorth,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11609
		/**Latitude sign is south*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11610
		ESouth
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11611
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11612
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11613
	/**This enum contains the possible directions of altitudes for reference location*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11614
	enum TAltDirection
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11615
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11616
		/**Altitude Direction Unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11617
		EAltDirectionUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11618
		/**Indicates Altitude direction is height-wise*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11619
		EHeight,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11620
		/**Indicates Altitude direction is depth-wise*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11621
		EDepth
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11622
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11623
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11624
	/**This class contains a 3-D location (with uncertainty)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11625
	class TReferenceLocationV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11626
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11627
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11628
		/**Specifies the sign - North/South*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11629
		TLatitudeSign	iLatitudeSign;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11630
		/**Degree of latitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11631
		TUint16			iLatitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11632
		/**Degree of longitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11633
		TInt16			iLongitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11634
		/**Direction of altitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11635
		TAltDirection	iAltDirection;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11636
		/**Degree of altitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11637
		TUint16			iAltitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11638
		/**Uncertainty semi major axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11639
		TUint8			iUncertainitySemiMajor;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11640
		/**Uncertainty semi minor axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11641
		TUint8			iUncertainitySemiMinor;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11642
		/**Orientation of major axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11643
		TUint8			iOrientationMajorAxis;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11644
		/**The uncertainty in altitude, h, expressed in metres*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11645
		TUint8			iUncertainityAltitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11646
		/**The confidence by which the position of a target entity is known to be within the shape description*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11647
		TUint8			iConfidence;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11648
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11649
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11650
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11651
	Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11652
	that are currently being broadcast by the respective GPS satellites. Combining this information 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11653
	with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11654
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11655
	class TGpsTowAssistV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11656
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11657
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11658
		/**Satellite identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11659
		TUint8				iSatID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11660
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11661
		Contains a 14-bit value representing the Telemetry Message (TLM) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11662
		being broadcast by the GPS satellite identified by the particular SatID, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11663
		with the MSB occurring first in the satellite transmission.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11664
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11665
		TUint16				iTlmMsg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11666
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11667
		Contains the two reserved bits in the TLM Word 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11668
		being broadcast by the GPS satellite identified by SatID, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11669
		with the MSB occurring first in the satellite transmission.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11670
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11671
		TUint8				iTlmReserved;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11672
		/**Contain the Alert flags that are being broadcast by the GPS satellite identified by SatID.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11673
		TBool				iAlert;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11674
		/**Contain the Anti-Spoof that are being broadcast by the GPS satellite identified by SatID.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11675
		TBool				iAntiSpoof;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11676
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11677
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11678
	/**This class contains information that may be used to provide a mapping between UTRAN and GPS time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11679
	class TUtranGpsRefTimeV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11680
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11681
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11682
		/**UE-GPS timing of cell ms-part*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11683
		TUint16 			iMsPart;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11684
		/**UE-GPS timing of cell ls-part*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11685
		TUint16				iLsPart;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11686
		/**System frame number*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11687
		TUint16				iSfn;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11688
		/**Specifies GPS reference time specific to mode - FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11689
		TModeSpecificInfoV1	iModeSpecificInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11690
		/**ETrue indicates iUtranGpsReferenceTime is iPrimaryScramblingCode. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11691
		EFalse indicates iUtranGpsReferenceTime is iCellParametersID*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11692
		TBool	iModeSpecificInfoStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11693
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11694
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11695
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11696
	This class contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11697
	that are currently being broadcast by the respective GPS satellites. Combining this information 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11698
	with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11699
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11700
	class TReferenceTimeV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11701
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11702
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11703
		/**GPS time in weeks*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11704
		TUint16				iGpsWeek;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11705
		/**GPS Time of Week in milliseconds */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11706
		TUint16				iGpsTowOneMsec;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11707
		/**GPS reference time may be used to provide a mapping between UTRAN and GPS time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11708
		TUtranGpsRefTimeV1	iUtranGpsRefTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11709
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11710
		This field indicates the uncertainty of the relation GPS TOW/SFN. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11711
		ELessThan10 means the relation is accurate to at least 10 ms.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11712
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11713
		TSfnTowUncertainity	iSfnTowUncertainity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11714
		/**Drift rate of the NODE B clock relative to GPS time.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11715
		TUtranGpsDriftRate	iUtranGpsDriftRate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11716
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11717
		Contains several fields in the Telemetry (TLM) Word and Handover Word (HOW) 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11718
		that are currently being broadcast by the respective GPS satellites. Combining this information 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11719
		with GPS TOW helps the UE with time-recovery needed to predict satellite signal.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11720
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11721
		TGpsTowAssistV1		iGpsTowAssistList[KMaxSat];
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11722
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11723
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11724
	/**This class contains the GPS Assistance Data received from network*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11725
	class TUePosGpsAssistanceDataV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11726
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11727
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11728
		/**GPS reference time may be used to provide a mapping between UTRAN and GPS time.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11729
		TReferenceTimeV1 			iReferencTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11730
		/**The Reference Location contains a 3-D location (with uncertainty)*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11731
		TReferenceLocationV1		iReferenceLocation;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11732
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11733
		Holds information to allow a UE to estimate its position more accurate,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11734
		biases in the pseudorange measurements may be provided to the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11735
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11736
		TDgpsCorrectionsV1			iDgpsCorrections;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11737
		/**Holds navigation model satellite information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11738
		TNavigationModelSatInfoV1	iNavigationModel;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11739
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11740
		The Ionospheric Model contains information needed to model
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11741
		the propagation delays of the GPS signals through the ionosphere.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11742
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11743
		TIonosphericModelV1			iIonosphericModel;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11744
		/**UTC parameters may be used to provide Coordinated Universal Time to the UE.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11745
		TUtcModelV1					iUtcModel;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11746
		/**Holds the coarse, long-term model of the satellite positions and clocks.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11747
		TAlmanacV1					iAlmanac;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11748
		/**Holds the acquistions assistance information of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11749
		TAcquisitionAssistanceV1	iAcquisitionAssistance;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11750
		/**Holds the list of bad satellites*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11751
		TUint8						iBadSatList[KMaxSat];
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11752
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11753
		This member specifies which of the above additional data structures are populated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11754
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11755
		TGpsAddlAssistDataReqV1 iGpsAddlDataStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11756
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11757
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11758
	/**This class contains the GPS assistance data required to compute the UE Postioning information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11759
	class TUePosMeasurementV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11760
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11761
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11762
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11763
		The purpose of the element is to express the allowed/required location method(s), 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11764
		and to provide information desired QoS.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11765
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11766
		TUePosReportingQuantityV1	iUePosReportingQuantity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11767
		/**This member data defines in which UE states the measurement is valid.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11768
		TMeasurementValidity		iMeasurementValidity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11769
		/**This member data holds the GPS Assistance Data sent by the network*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11770
		TUePosGpsAssistanceDataV1	iUePosGpsAssistanceData;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11771
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11772
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11773
	/**This holds the possible types of measurement commands that can be specified*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11774
	union TMeasurementCommandV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11775
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11776
		/**Setup a new measurement*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11777
		TUePosMeasurementV1	iSetup;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11778
		/**Modify a previously defined measurement*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11779
		TUePosMeasurementV1	iModify;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11780
		/**Stop the measurement and clear all information in the UE that are related to that measurement.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11781
		TBool	iRelease;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11782
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11783
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11784
	/**This enum specifies the mode the UE shall use to transmit the measurement report*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11785
	enum TMeasReportTransferMode
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11786
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11787
		/**Transfer mode unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11788
		ETransferModeUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11789
		/**The UE shall transmit the measurement report using Acknowledged RLC mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11790
		EAckModeRlc,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11791
		/**The UE shall transmit the measurement report using Unacknowledged RLC mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11792
		EUnAckModeRlc
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11793
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11794
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11795
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11796
	This class contains the GPS assistance data needed by the UE to compute the location 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11797
	of the UE. The UE computes the location once it receives all required information.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11798
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11799
	class TMeasurementControlV7 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11800
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11801
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11802
		IMPORT_C TMeasurementControlV7();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11803
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11804
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11805
		A reference number that should be used by the UTRAN when setting up, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11806
		modifying or releasing the measurement and by the UE in the measurement report.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11807
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11808
		TUint8	iMeasurementIdentity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11809
		/**Specifies the Measurement Setup / Modify / Release*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11810
		TMeasurementCommandV1	iMeasurementCommand;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11811
		/**This specifies whether the UE shall transmit the measurement report using AM or UM RLC.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11812
		TMeasReportTransferMode iMeasReportTransferMode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11813
		/**ETrue indicates velocity estimate is requested. EFalse indicates velocity estimate is not requested*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11814
		TBool	iVelocityRequested;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11815
		/**Holds the type of measurement command being used*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11816
		TMeasurementCmd	iMeasurementCmdStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11817
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11818
   	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11819
	A typedef'd packaged TMeasurementControlV7 for passing through a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11820
	generic API method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11821
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11822
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11823
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11824
	typedef TPckg<TMeasurementControlV7> TMeasurementControlV7Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11825
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11826
	//**************************************//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11827
	// Measurement Report Data structures	//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11828
	//**************************************//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11829
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11830
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11831
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11832
	This enum contains the indicators thta specify which 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11833
	union members of TMeasurementQuantityV1 are included
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11834
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11835
	enum TMeasQnty
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11836
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11837
		/**Measurement Quantity unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11838
		EMeasQntyUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11839
		/**Indicates that CpichEcN0 is present*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11840
		EMeasQntyCpichEcN0Present,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11841
		/**Indicates that CpichRscp is present*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11842
		EMeasQntyCpichRscpPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11843
		/**Indicates that path loss is present*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11844
		EMeasQntyPathLossPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11845
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11846
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11847
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11848
	This enum contains the indicators that specify which 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11849
	union members of TPosEstimateRefTime and  TPositionEstimateV1 are included
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11850
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11851
	enum TPosEstimateInfo
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11852
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11853
		/**Position Estimate Info Unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11854
		EPosEstimateInfoUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11855
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11856
		NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPosEstimateRefTime
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11857
		Indicates that UE positioning estimate reference time is populated
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11858
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11859
		EUtranGpsRefTimeResultPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11860
		/**Indicates that GPS reference time is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11861
		EGpsRefTimeOnlyPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11862
		/**Indicates that cell timing is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11863
		ECellTimingPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11864
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11865
		NOTE: The following states correspond to TUePosPositionEstimateInfoV1/TPositionEstimateV1.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11866
		Indicates EllipsoidPoint is populated
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11867
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11868
		EEllipsoidPointPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11869
		/**Indicates EllipsoidPoint with uncertainty circle is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11870
		EEllipsoidPointUncertCirclePresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11871
		/**Indicates EllipsoidPoint with uncertainty ellipse is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11872
		EEllipsoidPointUncertEllipsePresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11873
		/**Indicates EllipsoidPoint with altitude is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11874
		EEllipsoidPointAltitudePresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11875
		/**Indicates EllipsoidPoint with altitude and ellipse is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11876
		EEllipsoidPointAltEllipsePresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11877
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11878
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11879
	/**This enum contains the possible types of velocity estimates*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11880
	enum TVelEstimate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11881
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11882
		/**Velocity Estimate Unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11883
		EVelEstimateUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11884
		/**Velocity Estimate is not present*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11885
		EVelEstimateNotPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11886
		/**Horizontal velocity is included*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11887
		EHorzVelPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11888
		/**Horizontal and vertical velocity is included*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11889
		EHorzWithVertVelPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11890
		/**Horizontal velocity with uncertainty is included*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11891
		EHorzVelWithUncertPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11892
		/**Horizontal and vertical velocity with uncertainty is included*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11893
		EHorzWithVertVelAndUncertPresent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11894
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11895
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11896
	/**This contains the measurement quantities of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11897
	union TMeasurementQuantityV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11898
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11899
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11900
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11901
		@see 3GPP TS 25.133.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11902
		@see 3GPP TS 25.123.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11903
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11904
		TUint8	iCpichEcN0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11905
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11906
		@see 3GPP TS 25.133.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11907
		@see 3GPP TS 25.123.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11908
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11909
		TUint8	iCpichRscp;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11910
		/**Measurement path loss in dB.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11911
		TUint8	iPathLoss;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11912
		/**Extra for future use*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11913
		TBool	iSpare;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11914
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11915
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11916
	/**This class contains the current cell informations in TDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11917
	class TTddV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11918
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11919
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11920
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11921
		Time slot Interference on Signal Code Power
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11922
		@see 3GPP TS 25.123
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11923
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11924
		TUint8	iTimeSlotIscp;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11925
		/**Primary Common Control Physical CHannel received signal code power*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11926
		TUint8	iPrimaryCcpchRscp;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11927
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11928
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11929
	/**This class contains the information in FDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11930
	class TFddV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11931
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11932
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11933
		/**Holds the measurement quantities of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11934
		TMeasurementQuantityV1	iMeasurementQuantity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11935
		/**Holds the field that would be populated in iMeasurementQuantity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11936
		TMeasQnty	iMeasQntyStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11937
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11938
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11939
	/**This contains the current cell information in specific modes - FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11940
	union TCurrentCellV1 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11941
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11942
		/**Current cell information in FDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11943
		TFddV1	iFdd;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11944
		/**Current cell information in TDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11945
		TTddV1	iTdd;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11946
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11947
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11948
	/**This contains the type of sfn-sfn observed time difference*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11949
	union TSfnSfnObsTimeDifferenceV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11950
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11951
		/**Sfn-Sfn observed time difference -type1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11952
		TUint16	iSfnSfnObsTimeDiff1;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11953
		/**Sfn-Sfn observed time difference -type2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11954
		TUint16	iSfnSfnObsTimeDiff2;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11955
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11956
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11957
	/**This class contains the FDD mode information of monitored cells*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11958
	class TMonitoredCellFddV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11959
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11960
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11961
		/**Primary Common Control Physical CHannel information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11962
		TUint16		iPrimaryCpichInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11963
		/**Holds the measurement quantities of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11964
		TMeasurementQuantityV1 iMeasurementQuantity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11965
		/**Holds the field that would be populated in iMeasurementQuantity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11966
		TMeasQnty	iMeasQntyStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11967
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11968
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11969
	/**This class contains the TDD mode information of monitored cells*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11970
	class TMonitoredCellTddV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11971
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11972
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11973
		/**Cell identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11974
		TUint8	iCellParametersID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11975
		/**Primary Common Control Physical CHannel received signal code power*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11976
		TUint8	iPrimaryCcpchRscp;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11977
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11978
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11979
	/**This contains the monitored cells information in specific mode -  FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11980
	union TMonitoredCellModeSpecificInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11981
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11982
		/**Monitored Cell information in FDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11983
		TMonitoredCellFddV1	iMonitoredCellFdd;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11984
		/**Monitored Cell information in TDD mode*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11985
		TMonitoredCellTddV1	iMonitoredCellTdd;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11986
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11987
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11988
	/**This class contains the measured results for monitored cells on Random Access Channel*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11989
	class TMonitoredCellRachResultV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11990
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11991
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11992
		/**Holds the sfn-sfn observed time difference*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11993
		TSfnSfnObsTimeDifferenceV1 iSfnSfnObsTimeDiff;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11994
		/**Holds the monitored cells specific info mode - FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11995
		TMonitoredCellModeSpecificInfoV1 iMonitoredCellModeSpecificInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11996
		/**ETrue indicates iMonitoredCellModeSpecificInfo is iMonitoredCellFdd.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11997
		EFalse indicates iMonitoredCellModeSpecificInfo is iMonitoredCellTdd*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11998
		TBool	iSfnSfnObsTimeDiffStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 11999
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12000
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12001
	Horizontal velocity is characterised by the horizontal speed and bearing. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12002
	The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12003
	The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12004
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12005
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12006
	class THorzVelocityV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12007
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12008
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12009
		/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12010
		TUint16		iBearing;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12011
		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12012
		TUint16		iHorzSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12013
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12014
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12015
	/**This enum holds vertical speed direction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12016
	enum TVertSpeedDirection
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12017
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12018
		/**Speed direction unknown*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12019
		ESpeedDirectionUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12020
		/**Upward direction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12021
		EUpward,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12022
		/**Downward direction*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12023
		EDownward
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12024
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12025
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12026
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12027
	Horizontal velocity is characterised by the horizontal speed and bearing. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12028
	The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12029
	The vertical speed and direction provides the component of velocity of a UE in a vertical direction.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12030
	The bearing provides the direction of the horizontal component of velocity taken clockwise from North.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12031
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12032
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12033
	class THorzWithVertVelocityV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12034
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12035
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12036
		/**Direction of vertical speed*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12037
		TVertSpeedDirection	iVertSpeedDirection;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12038
		/**The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12039
		TUint16		iBearing;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12040
		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12041
		TUint16		iHorzSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12042
		/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12043
		TUint8		iVertSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12044
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12045
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12046
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12047
	Horizontal velocity with uncertainty is characterised by a horizontal speed and bearing,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12048
	giving a horizontal velocity vector V, and an uncertainty speed s.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12049
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12050
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12051
	class THorzVelocityWithUncertaintyV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12052
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12053
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12054
		/**	The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12055
		TUint16		iBearing;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12056
		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12057
		TUint16		iHorzSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12058
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12059
		Horizontal speed uncertainty.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12060
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12061
		TUint8		iHorzSpeedUncertainty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12062
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12063
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12064
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12065
	Horizontal and vertical velocity with uncertainty is characterised by a horizontal speed and bearing, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12066
	giving a horizontal velocity vector Vx,y, a vertical speed and direction giving a vertical velocity component Vz,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12067
	and uncertainty speeds s1 and s2. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12068
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12069
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12070
	class THorzWithVertVelocityAndUncertaintyV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12071
		{	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12072
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12073
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12074
		The direction of movement is given in degrees where '0' represents North, '90' represents East, etc.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12075
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12076
		TUint16		iBearing;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12077
		/**The horizontal speed gives the magnitude of the horizontal component of the velocity of a UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12078
		TUint16		iHorzSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12079
		/**The vertical speed and direction provides the component of velocity of a UE in a vertical direction.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12080
		TUint8		iVertSpeed;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12081
		/**Horizontal speed uncertainty.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12082
		TUint8		iHorzSpeedUncertainty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12083
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12084
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12085
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12086
	This class contains the possible ways of velocity estimates
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12087
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12088
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12089
	union TVelocityEstimateV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12090
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12091
		/**Horizontal velocity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12092
		THorzVelocityV1					iHorzVelocity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12093
		/**Horizontal velockity and vertical velocity*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12094
		THorzWithVertVelocityV1			iHorzWithVertVelocity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12095
		/**Horizontal velocity with uncertainty*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12096
		THorzVelocityWithUncertaintyV1	iHorzVelocityWithUncertainty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12097
		/**Horizontal and vertical velocity with uncertainty*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12098
		THorzWithVertVelocityAndUncertaintyV1	iHorzWithVertVelocityAndUncertainty;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12099
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12100
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12101
	/**This class contains the measured results on Random Access Channel*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12102
	class TMeasuredResultsOnRachV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12103
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12104
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12105
		/**Current cell information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12106
		TCurrentCellV1	iCurrentCell;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12107
		/**Monitored Cell information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12108
		TMonitoredCellRachResultV1	iMonitoredCellsRachList[KMaxMonitoredCells];
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12109
		/**ETrue indicates iCurrentCell is iFdd.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12110
		EFalse indicates iCurrentCell is iTdd*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12111
		TBool	iCurrentCellStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12112
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12113
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12114
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12115
	Identifies the channel in combination with the Midamble shift and slot number.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12116
	It is not used in 1.28 Mcps TDD and may be set to either value and should be ignored by the receiver.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12117
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12118
	enum TBurstType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12119
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12120
		/**Burst type 1*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12121
		EType1,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12122
		/**Burst type 2*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12123
		EType2
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12124
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12125
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12126
	/**This class contains UE positioning estimates specific to TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12127
	class TPosEstimateTddV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12128
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12129
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12130
		/**Identifies the channel in combination with the Midamble shift and slot number.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12131
		TBurstType	iBurstType;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12132
		/**Midamble shift*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12133
		TUint8	iMidambleShift;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12134
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12135
		This member data is present only if no IPDL scheme is configured in the reference cell.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12136
		Otherwise the slot is defined by the IPDL configuration.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12137
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12138
		TUint8	iTimeSlotNumber;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12139
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12140
		Cell identification
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12141
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12142
		TUint8	iCellParametersID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12143
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12144
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12145
	/**This class contains UE positioning estimates specific to FDD/TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12146
	union TPosEstimateModeSpecificInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12147
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12148
		/**Identifies the reference cell for the GPS TOW-SFN relationship.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12149
		TUint16		iPrimaryCpichInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12150
		/**Holds the cell and channel identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12151
		TPosEstimateTddV1	iCellAndChannelID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12152
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12153
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12154
	/**This class contains the cell timing information*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12155
	class TCellTimingV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12156
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12157
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12158
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12159
		SFN during which the position was calculated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12160
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12161
		TUint16		iSfn;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12162
		/**Holds the UE positioning estimates specific to mode - FDD or TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12163
		TPosEstimateModeSpecificInfoV1	iPosEstimateModeSpecificInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12164
		/**ETrue indicates iPosEstimateModeSpecificInfo is iPrimaryCpichInfo.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12165
		EFalse indicates iPosEstimateModeSpecificInfo is iCellAndChannelID.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12166
		TBool	iPosEstimateModeStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12167
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12168
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12169
	/**This class captures the GPS measurement specific to FDD or TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12170
	union TGpsMeasModeSpecificInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12171
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12172
		/**Frequency Division Duplex identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12173
		TUint16	iFddRefID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12174
		/**Time Division Duplex identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12175
		TUint8	iTddRefID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12176
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12177
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12178
	/**This class contains results of the GPS reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12179
	class TUtranGpsRefTimeResultV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12180
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12181
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12182
		/**UE-GPS timing of cell ms-part*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12183
		TUint16		iMsPart;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12184
		/**UE-GPS timing of cell ls-part*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12185
		TUint16		iLsPart;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12186
		/**Holds the GPS measurement specific to FDD or TDD*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12187
		TGpsMeasModeSpecificInfoV1	iGpsMeasModeSpecificInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12188
		/**Cell System Frame Number*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12189
		TUint16		iSfn;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12190
		/**ETrue indicates iGpsMeasModeSpecificInfo is iFddRefID. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12191
		 EFalse indicates iGpsMeasModeSpecificInfo is iTddRefID*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12192
		TBool	iGpsMeasModeStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12193
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12194
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12195
	/**This union contains the UE positioning reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12196
	union TPosReferenceTimeV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12197
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12198
		/**Contains the results of GPS reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12199
		TUtranGpsRefTimeResultV1	iUtranGpsRefTimeResult;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12200
		/**Contains the GPS reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12201
		TUint16		iGpsRefTimeOnly;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12202
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12203
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12204
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12205
	This class contains the information of ellipsoid.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12206
	It consists of a latitude and a longitude.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12207
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12208
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12209
	class TEllipsoidPointV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12210
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12211
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12212
		/**Specifies the sign - North/South*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12213
		TLatitudeSign	iLatitudeSign;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12214
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12215
		A north/south angular measurement of position relative to the equator, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12216
		in the meridian plane which contains the earth's rotation axis
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12217
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12218
		TUint16	iLatitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12219
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12220
		An east/west angular measurement of position in relation to the Prime Meridian. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12221
		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12222
		and the other a meridian passing through the point of interest.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12223
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12224
		TInt16	iLongitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12225
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12226
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12227
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12228
	It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12229
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12230
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12231
	class TEllipsoidPointUncertCircleV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12232
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12233
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12234
		/**Specifies the sign - North/South*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12235
		TLatitudeSign	iLatitudeSign;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12236
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12237
		A north/south angular measurement of position relative to the equator, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12238
		in the meridian plane which contains the earth's rotation axis
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12239
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12240
		TUint16	iLatitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12241
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12242
		An east/west angular measurement of position in relation to the Prime Meridian. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12243
		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12244
		and the other a meridian passing through the point of interest.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12245
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12246
		TInt16	iLongitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12247
		/**Uncertainty code*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12248
		TUint8	iUncertaintyCode;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12249
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12250
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12251
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12252
	It is characterised by the co-ordinates of an ellipsoid point (the origin), 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12253
	distances r1 and r2 and an angle of orientation A
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12254
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12255
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12256
	class TEllipsoidPointUncertEllipseV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12257
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12258
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12259
		/**Specifies the sign - North/South*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12260
		TLatitudeSign	iLatitudeSign;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12261
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12262
		A north/south angular measurement of position relative to the equator, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12263
		in the meridian plane which contains the earth's rotation axis
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12264
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12265
		TUint16	iLatitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12266
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12267
		An east/west angular measurement of position in relation to the Prime Meridian. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12268
		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12269
		and the other a meridian passing through the point of interest.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12270
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12271
		TInt16	iLongitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12272
		/**Uncertainty semi major axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12273
		TUint8	iUncertaintySemiMajor;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12274
		/**Uncertainty semi minor axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12275
		TUint8	iUncertaintySemiMinor;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12276
		/**Orientation of major axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12277
		TUint8	iOrientationMajorAxis;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12278
		/**The confidence by which the position of a target entity is known to be within the shape description*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12279
		TUint8	iConfidence;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12280
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12281
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12282
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12283
	The description of an ellipsoid point with altitude is that of a point at a specified distance 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12284
	above or below a point on the earth's surface. This is defined by an ellipsoid point 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12285
	with the given longitude and latitude and the altitude above or below the ellipsoid point.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12286
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12287
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12288
	class TEllipsoidPointAltitudeV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12289
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12290
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12291
		/**Specifies the sign - North/South*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12292
		TLatitudeSign	iLatitudeSign;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12293
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12294
		A north/south angular measurement of position relative to the equator, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12295
		in the meridian plane which contains the earth's rotation axis
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12296
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12297
		TUint16	iLatitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12298
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12299
		An east/west angular measurement of position in relation to the Prime Meridian. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12300
		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12301
		and the other a meridian passing through the point of interest.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12302
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12303
		TInt16	iLongitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12304
		/**Direction of altitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12305
		TAltDirection	iAltDirection;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12306
		/**Degree of altitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12307
		TUint16	iAltitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12308
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12309
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12310
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12311
	characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12312
	r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12313
	(the "angle of the major axis")
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12314
	@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12315
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12316
	class TEllipsoidPointAltitudeEllipseV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12317
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12318
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12319
		/**Specifies the sign - North/South*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12320
		TLatitudeSign	iLatitudeSign;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12321
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12322
		A north/south angular measurement of position relative to the equator, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12323
		in the meridian plane which contains the earth's rotation axis
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12324
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12325
		TUint16	iLatitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12326
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12327
		An east/west angular measurement of position in relation to the Prime Meridian. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12328
		The angle between the two great circles, one being the Prime (or Greenwich) Meridian 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12329
		and the other a meridian passing through the point of interest.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12330
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12331
		TInt16	iLongitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12332
		/**Direction of altitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12333
		TAltDirection	iAltDirection;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12334
		/**Degree of latitude*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12335
		TUint16	iAltitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12336
		/**Uncertainty semi major axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12337
		TUint8	iUncertaintySemiMajor;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12338
		/**Uncertainty semi minor axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12339
		TUint8	iUncertaintySemiMinor;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12340
		/**Orientation of major axis*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12341
		TUint8	iOrientationMajorAxis;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12342
		/**The confidence by which the position of a target entity is known to be within the shape description*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12343
		TUint8	iConfidence;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12344
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12345
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12346
	/**This union holds the possible forms of position estimate of the UE that can be captured.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12347
	union TPositionEstimateV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12348
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12349
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12350
		The description of an ellipsoid point is that of a point
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12351
		on the surface of the ellipsoid, and consists of a latitude and a longitude.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12352
		@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12353
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12354
		TEllipsoidPointV1					iEllipsoidPoint;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12355
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12356
		It is characterised by the co-ordinates of an ellipsoid point (the origin) and a distance r
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12357
		@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12358
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12359
		TEllipsoidPointUncertCircleV1		iEllipsoidPointUncertCircle;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12360
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12361
		It is characterised by the co-ordinates of an ellipsoid point (the origin), 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12362
		distances r1 and r2 and an angle of orientation A
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12363
		@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12364
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12365
		TEllipsoidPointUncertEllipseV1		iEllipsoidPointUncertEllipse;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12366
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12367
		The description of an ellipsoid point with altitude is that of a point at a specified distance 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12368
		above or below a point on the earth's surface. This is defined by an ellipsoid point 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12369
		with the given longitude and latitude and the altitude above or below the ellipsoid point.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12370
		@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12371
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12372
		TEllipsoidPointAltitudeV1			iEllipsoidPointAltitude;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12373
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12374
		characterised by the co-ordinates of an ellipsoid point with altitude, distances r1 (the "semi-major uncertainty"),
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12375
		r2 (the "semi-minor uncertainty") and r3 (the "vertical uncertainty") and an angle of orientation A 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12376
		(the "angle of the major axis")
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12377
		@see 3GPP TS 23.032
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12378
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12379
		TEllipsoidPointAltitudeEllipseV1	iEllipsoidPointAltitudeEllipsoide;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12380
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12381
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12382
	/**This contains the positioning estimate reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12383
	union TPosEstimateRefTime
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12384
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12385
		/**Contains results of the GPS reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12386
		TUtranGpsRefTimeResultV1	iUtranGpsRefTimeResult;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12387
		/**Contains the GPS reference time */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12388
		TUint16		iGpsRefTimeOnly;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12389
		/**Contains the cell timing*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12390
		TCellTimingV1	iCellTiming;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12391
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12392
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12393
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12394
	Provides the position estimate from the UE to the network, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12395
	if the UE is capable of determining its own position.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12396
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12397
	class TUePosPositionEstimateInfoV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12398
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12399
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12400
		/**UE positioning estimate reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12401
		TPosEstimateRefTime	iPosEstimateRefTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12402
		/**Holds the UE's position estimate
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12403
		@see TPositionEstimateV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12404
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12405
		TPositionEstimateV1	iPostionEstimate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12406
		/**Holds the field that would be populated in iPosEstimateRefTime*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12407
		TPosEstimateInfo	iPosEstimateRefTimeStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12408
		/**Holds the field that would be populated in iPosEstimate*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12409
		TPosEstimateInfo	iPosEstimateStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12410
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12411
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12412
	/**This enum contains the multipath indicators*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12413
	enum TMultipathIndicator
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12414
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12415
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12416
		Multipath indicator unknown
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12417
		This is an invalid indicator. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12418
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12419
		EMPUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12420
		/**Not measured*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12421
		ENm,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12422
		/**MP error < 5m*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12423
		ELow,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12424
		/**5m < MP error < 43m*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12425
		EMedium,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12426
		/**MP error > 43m*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12427
		EHigh
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12428
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12429
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12430
	/**This class contains the GPS measurement parameters of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12431
	class TGpsMeasMeasurementParamV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12432
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12433
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12434
		/**Satellite Identification*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12435
		TUint8		iSatID;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12436
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12437
		The estimate of the carrier-to-noise ratio of the received signal from the particular 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12438
		satellite used in the measurement. It is given in units of dB-Hz (typical levels will 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12439
		be in the range of 20 - 50 dB-Hz).
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12440
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12441
		TUint8		iCN0;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12442
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12443
		It is the instantaneous frequency difference between the receiver's internal oscillator 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12444
		and the received carrier from the satellite. Hz, scale factor 0.2.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12445
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12446
		TInt16		iDoppler;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12447
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12448
		Unit in GPS chips.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12449
		Whole value of the UE GPS code-phase measurement, where increasing binary values of the field 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12450
		signify increasing measured pseudoranges.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12451
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12452
		TUint16		iWholeGpsChips;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12453
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12454
		The UE GPS code-phase measurement is divided into the fields "Whole GPS Chips" and "Fractional GPS Chips".
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12455
		Scale factor 2-10 Fractional value of the UE GPS code-phase measurement.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12456
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12457
		TUint16		iFractionalGpsChips;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12458
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12459
		Contains the possible multipath indicators. Multipath error is usually caused by one path being bounced or 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12460
		reflected. The impact on a pseudo-range measurement may be up to a few metres. In the case of carrier phase,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12461
		this is of the order of a few centimetres.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12462
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12463
		TMultipathIndicator	iMultipathIndicator;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12464
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12465
		A distance measurement based on the correlation of a satellite's transmitted code (may be the C/A-Code or 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12466
		the encrypted P-Code) and the local receiver's reference code (for that PRN satellite number), 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12467
		that has not been corrected for errors in synchronisation between the transmitter's clock and the receiver's clock.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12468
		Hence a pseudo-range measurement is a time-error biased distance measurement.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12469
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12470
		TUint8		iPseudorangeRmsError;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12471
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12472
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12473
	/**This class contains the GPS measurement parameters and the positioning reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12474
	class TUePosGpsMeasurementResultsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12475
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12476
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12477
		/**UE positioning reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12478
		TPosReferenceTimeV1	iPosGpsMeasRefTime;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12479
		/**Holds the GPS measurement parameters from all the active satellites*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12480
		TGpsMeasMeasurementParamV1	iGpsMeasurementParamList[KMaxSat];
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12481
		/**ETrue indicates TPosReferenceTimeV1::iUtranGpsRefTimeResult is populated. 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12482
		 EFalse indicates TPosReferenceTimeV1::iGpsRefTimeOnly is populated*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12483
		TBool	iPosGpsMeasRefTimeStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12484
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12485
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12486
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12487
	This enum lists all the possible errors that UE can report to the network
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12488
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12489
	enum TPosErrorCause
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12490
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12491
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12492
		Error Cause Unknown. This is an invalid error cause and is set if the UE does not set with 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12493
		any of the underlying valid error causes
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12494
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12495
		EErrorCauseUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12496
		/**Indicates that enought number of GPS satellites are healthy and active.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12497
		ENotEnoughGpsSatellites,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12498
		/**Assistance data required to compute location of the UE is missing in the measurement control.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12499
		If the Additional data request flag is true in the measurement control only then additional assistance
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12500
		data can be requested otherwise measurements need to be done using the existing assistance data
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12501
		@see TGpsAddlAssistDataReqV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12502
		@see TUePosReportingQuantityV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12503
		 */
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12504
		EAssistanceDataMissing,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12505
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12506
		Cell Frames Timings are not accomplished
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12507
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12508
		ENotAccomplishedGpsTimingOfCellFrames,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12509
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12510
		UE can set this error in case other than the above mentioned is encountered 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12511
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12512
		EUndefinedError,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12513
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12514
		UE denies Location information
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12515
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12516
		ERequestDeniedByUser,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12517
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12518
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12519
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12520
	This class contains the positioning errors that might have encountered during 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12521
	measurement of location of the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12522
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12523
	class TUePosError
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12524
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12525
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12526
		/**Indicates the error cause encountered while computing GPS Assistance data*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12527
		TPosErrorCause		iPosErrorCause;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12528
		/**If error cause is "Assistance Data Missing" and iAddlAssistanceDataReq is set to ETrue then
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12529
		then this member shall indicate what additional assistance data is needed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12530
		If iAddlAssistanceDataReq is set to EFalse then existing assistance data is used to compute location
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12531
		information of the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12532
		@see TUePosReportingQuantityV1::iAddlAssistanceDataReq*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12533
		TGpsAddlAssistDataReqV1	iGpsAddlAssistDataReq;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12534
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12535
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12536
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12537
	This class contains the measurement results computed by the UE.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12538
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12539
	class TUePosMeasuredResultsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12540
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12541
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12542
		/**The purpose of this is to provide the position estimate from the UE to the network, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12543
		if the UE is capable of determining its own position.*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12544
		TUePosPositionEstimateInfoV1	iUePosPositionEstimateInfo;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12545
		/**Contains the GPS measurement parameters and the positioning reference time*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12546
		TUePosGpsMeasurementResultsV1	iUePosGpsMeasurement;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12547
		/**Indicates the error cause and/or additional assistance data is required*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12548
		TUePosError						iUePosError;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12549
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12550
		ETrue indicates some error has encountered. iUePosError will be populated.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12551
		EFalse indicates Gps Assistance Data is received and no error has encountered while processing.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12552
		Hence iUePosPositionEstimateInfo and iUePosGpsMeasurement will be populated
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12553
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12554
		TBool	iPosErrorStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12555
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12556
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12557
	/**Contains the measured location information of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12558
	union TMeasuredResultsV1
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12559
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12560
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12561
		This member either contains the measurement results or the error that might have 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12562
		encountered during measurements.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12563
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12564
		TUePosMeasuredResultsV1		iTUePosMeasuredResults;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12565
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12566
		A spare member for future use.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12567
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12568
		TBool						iSpare;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12569
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12570
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12571
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12572
	This class contains the measurement report expected as response to the measurement control sent by the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12573
	network. Veloctiy estimates are included if requested in measurement control.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12574
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12575
	class TMeasurementReportV7 : public RMobilePhone::TMultimodeType
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12576
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12577
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12578
		IMPORT_C TMeasurementReportV7();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12579
	public:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12580
		/**A reference number that should be used by the UTRAN when setting up, 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12581
		modifying or releasing the measurement and by the UE in the measurement report.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12582
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12583
		TUint8 iMeasurementIdentity;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12584
		/**Contains the measured location information of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12585
		TMeasuredResultsV1 iMeasuredResults;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12586
		/**Contains the measured results on Random Access Channel*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12587
		TMeasuredResultsOnRachV1	iMeasuredResultsOnRach;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12588
		/**Contains the velocity estimates of the UE*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12589
		TVelocityEstimateV1		iVelocityEstimate;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12590
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12591
		Indicates the populated member in iVelocityEstimate if velocity estimate is computed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12592
		Otherwise indicates that velocity estimate is not computed.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12593
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12594
		TVelEstimate	iVelEstimateStatus;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12595
		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12596
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12597
	A typedef'd packaged TMeasurementReportV7 for passing through a
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12598
	generic API method.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12599
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12600
	@internalAll
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12601
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12602
	typedef TPckg<TMeasurementReportV7> TMeasurementReportV7Pckg;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12603
	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12604
	//*********************************************//	
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12605
	//  Measurement Control Failure data structure //
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12606
	//*********************************************//
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12607
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12608
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12609
	This enum contains the list of errors that the UE can specify.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12610
	The Measurement control failure is caused only when the the UE 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12611
	cannot initiate a measurement as instructed by the network.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12612
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12613
	enum TMeasurementControlFailure
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12614
		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12615
		/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12616
		Unknown Measurement Control Failure.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12617
		This is an invalid failure state whic will be set if the UE does not set with the 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12618
		underlying valid error reasons.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12619
		*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12620
		EControlFailureUnknown,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12621
		/**Indicates ASN1.0 encoding is incorrect*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12622
		EAsn1ViolationOrEncoding,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12623
		/**Messsgae type specified is not existent*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12624
		EMsgTypeNonExistent,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12625
		/**Message is not compatible*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12626
		EMsgNotCompatibleWithReceiverState,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12627
		/**Information sent cannot be understood*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12628
		EIeValueNotComprehend,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12629
		/**Information expected is not present*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12630
		EInformationElementMissing,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12631
		/*Message extension cannot be understood*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12632
		EMsgExtnNotComprehend
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12633
		}; 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12634
		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12635
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12636
	This enum contains the possible domains used by MOLR 
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12637
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12638
	enum TDomain
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12639
   		{
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12640
		/**Packet switch domain is the default domain that will be used by Molr*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12641
   		EPacketSwitchedDomain,
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12642
		/**UE shall set the domain to Circuit switch whenever Molr is intended to use it*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12643
  	 	ECircuitSwitchedDomain
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12644
   		};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12645
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12646
	IMPORT_C void NotifyMtlr(TRequestStatus& aReqStatus,TDes8& aNotifyMtlr);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12647
	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrResponse aMtlrResponse);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12648
	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrError aMtlrResponse);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12649
	IMPORT_C void SendMtlrResponse(TRequestStatus& aReqStatus,const TMtlrReject aMtlrResponse);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12650
    IMPORT_C void SendMolr(TRequestStatus& aReqStatus,const TDesC8& aStartMolr,TDes8& aMolrReturnResult);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12651
	IMPORT_C void NotifyMeasurementControl(TRequestStatus& aReqStatus,TDes8& aMeasurementControl);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12652
	IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TDesC8& aMeasurementReport);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12653
	IMPORT_C void SendMeasurementReport(TRequestStatus& aReqStatus,const TMeasurementControlFailure aMeasurementControlFailure);
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12654
	IMPORT_C TInt SetLcsDomain(const TDomain aDomain);		
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12655
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12656
	void ConstructL();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12657
	void Destruct();
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12658
private:
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12659
	/**
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12660
	Pointer Holder for the RMobileLocationServices sub-session requests.
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12661
	*/
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12662
	CMobileLocationServicesPtrHolder* iMmPtrHolder;
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12663
	};
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12664
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12665
#endif // __ETELMM_H__
bef183758dfa Dependencies for idlefw
kashif.sayed
parents:
diff changeset
 12666