epoc32/include/variant/symbian_os.hrh
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@2
     4
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2
     5
// which accompanies this distribution, and is available
williamr@2
     6
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
// Symbian_OS.hrh
williamr@2
    15
// Configuration options for Symbian OS
williamr@2
    16
// This file is managed by the Master Codeline Forum
williamr@2
    17
// SYMBIAN_JAVA_NOT_INCLUDED
williamr@2
    18
// For TB9.1 and later versions, J2ME will no longer be included in the 
williamr@2
    19
// build.  
williamr@2
    20
// This #define supports PREQ2545
williamr@2
    21
// 
williamr@2
    22
//
williamr@2
    23
williamr@2
    24
#include "platform_paths.hrh"
williamr@2
    25
#define SMPSAFE   /* SMPSAFE keyword removed */
williamr@2
    26
williamr@2
    27
williamr@2
    28
/**
williamr@2
    29
 @publishedPartner
williamr@2
    30
*/
williamr@2
    31
#define SYMBIAN_JAVA_NOT_INCLUDED
williamr@2
    32
   
williamr@2
    33
/**
williamr@2
    34
@publishedAll
williamr@2
    35
williamr@2
    36
__WATCHER_API_V2__
williamr@2
    37
williamr@2
    38
If __WATCHER_API_V2__ is defined then the 
williamr@2
    39
watcher framework supports ECOM watcher plugins.
williamr@2
    40
*/
williamr@2
    41
#define __WATCHER_API_V2__
williamr@2
    42
williamr@2
    43
/**
williamr@2
    44
@publishedAll
williamr@2
    45
williamr@2
    46
__HIDE_WATCHER_API_V1__
williamr@2
    47
williamr@2
    48
Hides support APIs for loading non-ECOM watcher plugins. Non-ECOM watcher 
williamr@2
    49
plugins are still loaded. The associated define __REMOVE_WATCHER_API_V1__
williamr@2
    50
removes the implementation of the support APIs.
williamr@2
    51
williamr@2
    52
Assumes that __WATCHER_API_V2__ has been defined.
williamr@2
    53
*/
williamr@2
    54
#define __HIDE_WATCHER_API_V1__
williamr@2
    55
#define __REMOVE_WATCHER_API_V1__
williamr@2
    56
williamr@2
    57
/**
williamr@2
    58
SYMBIAN_TIMEZONE_SUPPORT_V1
williamr@2
    59
williamr@2
    60
@publishedAll
williamr@2
    61
williamr@2
    62
When SYMBIAN_TIMEZONE_SUPPORT_V1 is defined the App-services TzClient.dll 
williamr@2
    63
module (and accompanying import library) is made available for client 
williamr@2
    64
application use.
williamr@2
    65
williamr@2
    66
This #define supports PREQ663
williamr@2
    67
*/
williamr@2
    68
#define SYMBIAN_TIMEZONE_SUPPORT_V1
williamr@2
    69
williamr@2
    70
/** 
williamr@2
    71
@publishedAll
williamr@2
    72
williamr@2
    73
SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
williamr@2
    74
williamr@2
    75
If SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT is defined then 
williamr@2
    76
the Multimedia Framework (MMF) can support video playback on 
williamr@2
    77
a secondary display. The default screen will be the screen 
williamr@2
    78
number in the cone environment.
williamr@2
    79
williamr@2
    80
@see CVideoPlayerUtility
williamr@2
    81
*/
williamr@2
    82
#define SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
williamr@2
    83
williamr@2
    84
/**
williamr@2
    85
@publishedAll
williamr@2
    86
williamr@2
    87
SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
williamr@2
    88
williamr@2
    89
If  SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM is defined, the Composite
williamr@2
    90
File System allows more than one ROFS partition to be included in
williamr@2
    91
the composite Z: drive.
williamr@2
    92
williamr@2
    93
This #define supports PREQ1085
williamr@2
    94
*/
williamr@2
    95
#define SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
williamr@2
    96
williamr@2
    97
/**
williamr@2
    98
@publishedPartner
williamr@2
    99
williamr@2
   100
__SECURE_BIN__
williamr@2
   101
williamr@2
   102
When __SECURE_BIN__ is defined, executable files stored as
williamr@2
   103
"data" in the XIP ROM are assumed to be in their data-caged 
williamr@2
   104
locations. The presence of this #define does not imply that 
williamr@2
   105
data-caging is enforced, and does not imply that binaries have 
williamr@2
   106
been relocated to sys\bin.
williamr@2
   107
williamr@2
   108
This #define supports PREQ537 "Platform security - file system layout".
williamr@2
   109
*/
williamr@2
   110
#define __SECURE_BIN__
williamr@2
   111
williamr@2
   112
/**
williamr@2
   113
@publishedAll
williamr@2
   114
williamr@2
   115
SYMBIAN_COREAPPS_API_V2
williamr@2
   116
williamr@2
   117
If SYMBIAN_COREAPPS_API_V2 is defined then new functionality is available within 
williamr@2
   118
the Core Apps sub-system (Contacts Model, Agenda Model and World Server) to 
williamr@2
   119
support a platform secured OS.
williamr@2
   120
*/
williamr@2
   121
#define SYMBIAN_COREAPPS_API_V2
williamr@2
   122
williamr@2
   123
/**
williamr@2
   124
@publishedPartner
williamr@2
   125
williamr@2
   126
SYMBIAN_APPARC_APPINFO_CACHE
williamr@2
   127
williamr@2
   128
If SYMBIAN_APPARC_APPINFO_CACHE is defined then apparc creates 
williamr@2
   129
a file of application information on the first boot, which is 
williamr@2
   130
used during subsequent boots for application information.
williamr@2
   131
*/
williamr@2
   132
#define SYMBIAN_APPARC_APPINFO_CACHE
williamr@2
   133
williamr@2
   134
/**
williamr@2
   135
@publishedPartner
williamr@2
   136
williamr@2
   137
SYMBIAN_NETWORKING_IPSEC_IKE_V2
williamr@2
   138
williamr@2
   139
If SYMBIAN_NETWORKING_IPSEC_IKE_V2 is defined, IPSEC will 
williamr@2
   140
be able to support Internet Key Exchange version 2 in 
williamr@2
   141
addition to IKE v1. This involves a change in the size of 
williamr@2
   142
the TPfkeyMsgBase class - see BR1736.1.
williamr@2
   143
williamr@2
   144
Actual support for IKE v2 will depend on the provision 
williamr@2
   145
of a suitable plugin to the Key Management Daemon.
williamr@2
   146
williamr@2
   147
This #define supports PREQ1223.
williamr@2
   148
*/
williamr@2
   149
#define SYMBIAN_NETWORKING_IPSEC_IKE_V2
williamr@2
   150
williamr@2
   151
/**
williamr@2
   152
@publishedPartner
williamr@2
   153
williamr@2
   154
SYMBIAN_UIKON_UNIFICATION
williamr@2
   155
williamr@2
   156
When SYMBIAN_UIKON_UNIFICATION is defined, the existing 
williamr@2
   157
CEikSrvAppUiBase class is replaced with a customisable class
williamr@2
   158
provided by the System GUI. 
williamr@2
   159
williamr@2
   160
This #define supports PREQ819 and PREQ826
williamr@2
   161
*/
williamr@2
   162
#define SYMBIAN_UIKON_UNIFICATION
williamr@2
   163
williamr@2
   164
/**
williamr@2
   165
@publishedAll
williamr@2
   166
williamr@2
   167
__SECURITY_PLATSEC_ARCH__
williamr@2
   168
williamr@2
   169
If this macro is defined, then platform security aware security services 
williamr@2
   170
APIs will be present.  This includes architectural changes to several 
williamr@2
   171
components.
williamr@2
   172
williamr@2
   173
If this macro is not defined, the original version (since 8.0) of the 
williamr@2
   174
security services APIs will be present. 
williamr@2
   175
williamr@2
   176
The following components are affected:
williamr@2
   177
  cryptotokens
williamr@2
   178
  certman
williamr@2
   179
  filetokens
williamr@2
   180
williamr@2
   181
*/
williamr@2
   182
#define __SECURITY_PLATSEC_ARCH__
williamr@2
   183
williamr@2
   184
/**
williamr@2
   185
SYMBIAN_ECAM_CHUNKAPI
williamr@2
   186
williamr@2
   187
@publishedAll
williamr@2
   188
@released
williamr@2
   189
williamr@2
   190
Specifies that an extended API will be used in the multimedia 
williamr@2
   191
camera interface. This has a v2 observer which allows camera data 
williamr@2
   192
to be returned without buffer copy, and also allows clients to set 
williamr@2
   193
camera access priority
williamr@2
   194
williamr@2
   195
@see CCamera
williamr@2
   196
@see MCameraObserver2
williamr@2
   197
williamr@2
   198
This #define supports PREQ799.
williamr@2
   199
*/
williamr@2
   200
#define SYMBIAN_ECAM_CHUNKAPI
williamr@2
   201
williamr@2
   202
/**
williamr@2
   203
@publishedAll
williamr@2
   204
williamr@2
   205
SYMBIAN_SECURE_ECOM
williamr@2
   206
williamr@2
   207
When SYMBIAN_SECURE_ECOM is not defined, ECOM plugins are discovered by 
williamr@2
   208
searching for DLLs in System\libs\plugins, and inferring the name of 
williamr@2
   209
the resource file from the UID3 of the DLL.
williamr@2
   210
williamr@2
   211
When SYMBIAN_SECURE_ECOM is defined, ECOM plugins will also be discovered
williamr@2
   212
by searching for resource files in \Resource\Plugins, and inferring the
williamr@2
   213
name of the DLL from the name of the resource file. When platform security
williamr@2
   214
is fully enforced, only this new style of discovery will work.
williamr@2
   215
*/
williamr@2
   216
#define SYMBIAN_SECURE_ECOM
williamr@2
   217
williamr@2
   218
/**
williamr@2
   219
@publishedAll
williamr@2
   220
williamr@2
   221
SYMBIAN_INETPROTUTILS_RFC3986
williamr@2
   222
williamr@2
   223
Description:
williamr@2
   224
If SYMBIAN_INETPROTUTILS_RFC3986 is defined, the Internet 
williamr@2
   225
Protocol Utility Library supports RFC 3986, which increases 
williamr@2
   226
the set of reserved characters.
williamr@2
   227
williamr@2
   228
@see EscapeUtils::IsExcludedChar
williamr@2
   229
williamr@2
   230
This #define implements BR2009.
williamr@2
   231
*/
williamr@2
   232
#define SYMBIAN_INETPROTUTILS_RFC3986
williamr@2
   233
williamr@2
   234
/**
williamr@2
   235
@publishedPartner
williamr@2
   236
williamr@2
   237
SYMBIAN_FONT_METRICS_V2 
williamr@2
   238
williamr@2
   239
If this is defined, then classes which derive from COpenFont (usually 
williamr@2
   240
these are part of a font rasterizer implementation) must set the 
williamr@2
   241
protected member variables:
williamr@2
   242
iFontAscentOfCapitals
williamr@2
   243
iFontAscentIncAccents
williamr@2
   244
iFontDescent
williamr@2
   245
iFontLineGap
williamr@2
   246
to appropriate values during the creation of a font. 
williamr@2
   247
If this macro is not defined then these member variables do not exist.
williamr@2
   248
williamr@2
   249
@see COpenFont
williamr@2
   250
*/
williamr@2
   251
#define SYMBIAN_FONT_METRICS_V2
williamr@2
   252
williamr@2
   253
/**
williamr@2
   254
@publishedAll
williamr@2
   255
williamr@2
   256
__OBEX_USER_DEFINED_HEADERS__
williamr@2
   257
williamr@2
   258
If __OBEX_USER_DEFINED_HEADERS__ is defined then the new API support for extended Headers will be available.
williamr@2
   259
This new support includes USER DEFINED HEADERS and the COUNT header.
williamr@2
   260
If this functionality is compiled out then the old API is available as before.
williamr@2
   261
For more information on see documents shown below.
williamr@2
   262
williamr@2
   263
@see SGL.GT171.097 - Obex Header Extension how to
williamr@2
   264
@see SGL.GT171.095 - Obex Extension Design Document
williamr@2
   265
*/
williamr@2
   266
#define __OBEX_USER_DEFINED_HEADERS__
williamr@2
   267
williamr@2
   268
/**
williamr@2
   269
@publishedPartner
williamr@2
   270
williamr@2
   271
SYMBIAN_CENTREP_NOC
williamr@2
   272
williamr@2
   273
If SYMBIAN_CENTREP_NOC is defined, the Central Repository 
williamr@2
   274
includes Notify-Only Client Optimization. This will cause 
williamr@2
   275
repositories to be unloaded after a timeout even if the 
williamr@2
   276
connection is still open.
williamr@2
   277
williamr@2
   278
This #define supports PREQ1228. 
williamr@2
   279
*/
williamr@2
   280
#define SYMBIAN_CENTREP_NOC
williamr@2
   281
williamr@2
   282
/**
williamr@2
   283
@publishedPartner
williamr@2
   284
@since 8.1
williamr@2
   285
williamr@2
   286
SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT 
williamr@2
   287
williamr@2
   288
If this is defined, the MHCIEventObserver class must implement
williamr@2
   289
the FlushCompleteEvent virtual function, which will be used by 
williamr@2
   290
the link manager to send Flush Complete events up to the stack. 
williamr@2
   291
If this macro is not defined, Flush Complete events will be discarded.
williamr@2
   292
williamr@2
   293
@see MHCIEventObserver
williamr@2
   294
@see CHCIFacade
williamr@2
   295
*/
williamr@2
   296
#define SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
williamr@2
   297
williamr@2
   298
/**
williamr@2
   299
@publishedAll
williamr@2
   300
williamr@2
   301
SYMBIAN_MULTIMEDIA_CODEC_API
williamr@2
   302
williamr@2
   303
If SYMBIAN_MULTIMEDIA_CODEC_API is defined then support is 
williamr@2
   304
available for PREQ1024 delivered Processing Unit or 
williamr@2
   305
OpenMAX based codecs and Multimedia hardware devices.
williamr@2
   306
*/
williamr@2
   307
#define SYMBIAN_MULTIMEDIA_CODEC_API
williamr@2
   308
williamr@2
   309
/**
williamr@2
   310
@publishedAll
williamr@2
   311
williamr@2
   312
__MESSAGING_API_V2__
williamr@2
   313
williamr@2
   314
If __MESSAGING_API_V2__ is defined then new functionality 
williamr@2
   315
is available within the Messaging sub-system to support a 
williamr@2
   316
platform secured OS, e.g. the Attachment API.
williamr@2
   317
*/
williamr@2
   318
#define __MESSAGING_API_V2__
williamr@2
   319
#define __HIDE_MESSAGING_API_V1__
williamr@2
   320
#define __REMOVE_MESSAGING_API_V1__
williamr@2
   321
williamr@2
   322
/**
williamr@2
   323
@publishedPartner
williamr@2
   324
williamr@2
   325
SYMBIAN_BOOKMARK_DATABASE
williamr@2
   326
williamr@2
   327
The Bookmark Database is an API used to provide system-wide 
williamr@2
   328
storage and management functionality for URI bookmarks. 
williamr@2
   329
If defined, this macro indicates that the Bookmark Database 
williamr@2
   330
API is present in the platform.
williamr@2
   331
*/
williamr@2
   332
#define SYMBIAN_BOOKMARK_DATABASE
williamr@2
   333
williamr@2
   334
/**
williamr@2
   335
@publishedPartner
williamr@2
   336
williamr@2
   337
SYMBIAN_NETWORKING_UMTSR5
williamr@2
   338
williamr@2
   339
If SYMBIAN_NETWORKING_UMTSR5 is defined support for the QoS 
williamr@2
   340
and IMS parameters introduced by Release 5 of the 3GPP 
williamr@2
   341
specification will be enabled. This involves a BC break in 
williamr@2
   342
TContextConfig - see BR1582.1 for details.
williamr@2
   343
williamr@2
   344
@see TContextConfig
williamr@2
   345
williamr@2
   346
This #define supports PREQ192 and PREQ635.
williamr@2
   347
*/
williamr@2
   348
#define SYMBIAN_NETWORKING_UMTSR5
williamr@2
   349
williamr@2
   350
/**
williamr@2
   351
@publishedPartner
williamr@2
   352
williamr@2
   353
SYMBIAN_NETWORKING_3GPPDEFAULTQOS
williamr@2
   354
williamr@2
   355
If SYMBIAN_NETWORKING_3GPPDEFAULTQOS is defined, support 
williamr@2
   356
for QoS modification on the default PDP context will be 
williamr@2
   357
enabled via the RSubconnection API.
williamr@2
   358
williamr@2
   359
This #define supports PREQ870.
williamr@2
   360
*/
williamr@2
   361
#define SYMBIAN_NETWORKING_3GPPDEFAULTQOS
williamr@2
   362
williamr@2
   363
williamr@2
   364
/**
williamr@2
   365
SYMBIAN_STAGED_SYSTEM_STARTUP
williamr@2
   366
williamr@2
   367
@publishedPartner
williamr@2
   368
williamr@2
   369
When SYMBIAN_STAGED_SYSTEM_STARTUP is defined, the staged 
williamr@2
   370
start-up architecture has been introduced into the OS and 
williamr@2
   371
'Start-up State Aware' components can make use of the 
williamr@2
   372
architecture.
williamr@2
   373
williamr@2
   374
This #define supports PREQ 810.
williamr@2
   375
*/
williamr@2
   376
#define SYMBIAN_STAGED_SYSTEM_STARTUP
williamr@2
   377
williamr@2
   378
/**
williamr@2
   379
@publishedAll
williamr@2
   380
williamr@2
   381
__HIDE_IPC_V1__
williamr@2
   382
williamr@2
   383
If __HIDE_IPC_V1__ is defined then the deprecated insecure IPC APIs will be removed from various Symbian OS header files. Classes affected include CSession, CServer, RMessage and RMessageptr.
williamr@2
   384
williamr@2
   385
For more information see the document listed below.
williamr@2
   386
williamr@2
   387
@see SMG.SM0005.004 - Platform Security Development for Zephyr
williamr@2
   388
@see CSession
williamr@2
   389
@see CServer
williamr@2
   390
@see RMessage
williamr@2
   391
@see RMessagePtr
williamr@2
   392
*/
williamr@2
   393
#define __HIDE_IPC_V1__
williamr@2
   394
williamr@2
   395
/**
williamr@2
   396
@publishedPartner
williamr@2
   397
williamr@2
   398
SYMBIAN_NETWORKING_DHCPSERVER
williamr@2
   399
williamr@2
   400
If SYMBIAN_NETWORKING_DHCPSERVER is defined, Symbian OS includes a
williamr@2
   401
simplified DHCPv4 server capable of dealing with single client.
williamr@2
   402
williamr@2
   403
This #define provides functionality to support PREQ749.
williamr@2
   404
*/
williamr@2
   405
#define SYMBIAN_NETWORKING_DHCPSERVER
williamr@2
   406
williamr@2
   407
/**  
williamr@2
   408
@publishedAll 
williamr@2
   409
williamr@2
   410
SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
williamr@2
   411
williamr@2
   412
This macro removes the trivial encryption APIs that are exported by EUSER. 
williamr@2
   413
williamr@2
   414
See BR1320 for more details
williamr@2
   415
williamr@2
   416
*/
williamr@2
   417
#define SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
williamr@2
   418
williamr@2
   419
/**
williamr@2
   420
@internalTechnology
williamr@2
   421
williamr@2
   422
SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
williamr@2
   423
williamr@2
   424
Description:
williamr@2
   425
If SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST is defined, the WAP Push
williamr@2
   426
watcher compares the origin of Push messages against URIs in a
williamr@2
   427
"White list" and "Black list".
williamr@2
   428
williamr@2
   429
This #define supports PREQ1505
williamr@2
   430
*/
williamr@2
   431
#define SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
williamr@2
   432
williamr@2
   433
/**
williamr@2
   434
@publishedPartner
williamr@2
   435
williamr@2
   436
SYMBIAN_FLEXIBLE_ALARM
williamr@2
   437
williamr@2
   438
When this macro is defined, Calendar Interim API, Alarm server and UIKON 
williamr@2
   439
Alert Server will support additional functionality.
williamr@2
   440
- Extra data can be attached to calendar alarm and allow UI app 
williamr@2
   441
to retrieve the associated data.
williamr@2
   442
- The Alarm server can send multiple expired alarms to Alert Server without 
williamr@2
   443
waiting for the previous alarm acknowledged first
williamr@2
   444
- A Resource file can be used to configure alarm play intervals and durations, 
williamr@2
   445
or to disable alarm sound control.
williamr@2
   446
williamr@2
   447
This #define supports PREQ1118
williamr@2
   448
*/
williamr@2
   449
#define SYMBIAN_FLEXIBLE_ALARM
williamr@2
   450
williamr@2
   451
/**
williamr@2
   452
@publishedPartner
williamr@2
   453
williamr@2
   454
SYMBIAN_PKCS12
williamr@2
   455
williamr@2
   456
If SYMBIAN_PKCS12 is defined, the PKCS#12 Key Derivation 
williamr@2
   457
Algorithm is supplied.
williamr@2
   458
williamr@2
   459
This #define supports PREQ1054. 
williamr@2
   460
*/
williamr@2
   461
#define SYMBIAN_PKCS12
williamr@2
   462
williamr@2
   463
/**
williamr@2
   464
@publishedAll
williamr@2
   465
williamr@2
   466
SYMBIAN_MMF_AUTOPAUSE_RESUME
williamr@2
   467
williamr@2
   468
This #define enables extra features in the MMF APIs for auto pause 
williamr@2
   469
and resume of audio streams.
williamr@2
   470
*/
williamr@2
   471
#define SYMBIAN_MMF_AUTOPAUSE_RESUME
williamr@2
   472
williamr@2
   473
/**
williamr@2
   474
@publishedAll
williamr@2
   475
williamr@2
   476
__SECURE_BACKUP__
williamr@2
   477
williamr@2
   478
If __SECURE_BACKUP__ is defined, the Secure Backup server replaces
williamr@2
   479
the use of SCRemFs for backup and restore, changing the backup protocol.
williamr@2
   480
Applications which have private data need to provide additional backup 
williamr@2
   481
registration files, and may use Publish & Subscribe to receive 
williamr@2
   482
notification of backup requests.
williamr@2
   483
williamr@2
   484
This #define supports PREQ716 - Provide support for secure backup and 
williamr@2
   485
restore for licensee PC Connectivity software 
williamr@2
   486
*/
williamr@2
   487
#define __SECURE_BACKUP__
williamr@2
   488
williamr@2
   489
/** 
williamr@2
   490
@publishedAll
williamr@2
   491
williamr@2
   492
SYMBIAN_NETWORKING_REMOVE_RGENERIC
williamr@2
   493
williamr@2
   494
If this macro is defined the deprecated APIs RGenericAgent, 
williamr@2
   495
RNif, RNifMonitor and Nifman are removed. All of these APIs, 
williamr@2
   496
exported by NIFMAN, have been deprecated and replaced by 
williamr@2
   497
the RConnection API exported by ESOCK.
williamr@2
   498
williamr@2
   499
@see Break request BR1070 
williamr@2
   500
*/ 
williamr@2
   501
#define SYMBIAN_NETWORKING_REMOVE_RGENERIC
williamr@2
   502
williamr@2
   503
/**
williamr@2
   504
@publishedPartner
williamr@2
   505
@released 9.0
williamr@2
   506
williamr@2
   507
SYMBIAN_NETWORKING_RSUBCONNECTION
williamr@2
   508
williamr@2
   509
If SYMBIAN_NETWORKING_RSUBCONNECTION is defined, the RQosChannel API is
williamr@2
   510
removed, and the RSubConnection API exported by ESOCK must be used instead.
williamr@2
   511
williamr@2
   512
This #define supports PREQ 26.
williamr@2
   513
*/ 
williamr@2
   514
#define SYMBIAN_NETWORKING_RSUBCONNECTION
williamr@2
   515
williamr@2
   516
/**
williamr@2
   517
@publishedAll
williamr@2
   518
williamr@2
   519
SYMBIAN_HIDE_COREAPPS_API_V1
williamr@2
   520
williamr@2
   521
If SYMBIAN_HIDE_COREAPPS_API_V1 is defined then the insecure CoreApps APIs
williamr@2
   522
will be removed from various Symbian OS header files. Components affected are 
williamr@2
   523
Contacts Model, Agenda Model and World Server.
williamr@2
   524
williamr@2
   525
The related define SYMBIAN_REMOVE_COREAPPS_API_V1 removes the underlying implementations,
williamr@2
   526
causing a binary compatibility break to match the source compatibility break.
williamr@2
   527
*/
williamr@2
   528
#define SYMBIAN_HIDE_COREAPPS_API_V1
williamr@2
   529
#define SYMBIAN_REMOVE_COREAPPS_API_V1
williamr@2
   530
williamr@2
   531
/**
williamr@2
   532
@publishedAll
williamr@2
   533
williamr@2
   534
__UI_FRAMEWORKS_V2__
williamr@2
   535
williamr@2
   536
If __UI_FRAMEWORKS_V2__ is defined then PlatSec aware UI Frameworks API's will be available. 
williamr@2
   537
The following frameworks will be affected:
williamr@2
   538
williamr@2
   539
Applications 
williamr@2
   540
File Recognizers
williamr@2
   541
Data Recognizers
williamr@2
   542
Notifiers
williamr@2
   543
Control Panel Plugins
williamr@2
   544
Feps
williamr@2
   545
App-initialization (CEikLibrary)
williamr@2
   546
Converters
williamr@2
   547
Error-Resolving
williamr@2
   548
*/
williamr@2
   549
#define __UI_FRAMEWORKS_V2__
williamr@2
   550
#define SYMBIAN_HIDE_UI_FRAMEWORKS_V1
williamr@2
   551
#define SYMBIAN_REMOVE_UI_FRAMEWORKS_V1
williamr@2
   552
williamr@2
   553
/**
williamr@2
   554
@internalAll
williamr@2
   555
williamr@2
   556
__BC_FUTURE_PROOFING__
williamr@2
   557
williamr@2
   558
Support for the implementation of PREQ743 "Introduction of interface 
williamr@2
   559
robustness patterns to support future binary compatibility".
williamr@2
   560
*/
williamr@2
   561
#define __BC_FUTURE_PROOFING__
williamr@2
   562
williamr@2
   563
/** 
williamr@2
   564
@publishedPartner 
williamr@2
   565
  
williamr@2
   566
SYMBIAN_TELEPHONY_USAT5 
williamr@2
   567
williamr@2
   568
If SYMBIAN_TELEPHONY_USAT5 is defined then support for 3GPP 
williamr@2
   569
Release 5 (U)SAT will be enabled. 
williamr@2
   570
williamr@2
   571
@see RSat::TCallControlV5
williamr@2
   572
williamr@2
   573
This #define supports PREQ1234.
williamr@2
   574
*/ 
williamr@2
   575
#define SYMBIAN_TELEPHONY_USAT5
williamr@2
   576
williamr@2
   577
/**
williamr@2
   578
SYMBIAN_GENERIC_SYSTEM_STARTUP
williamr@2
   579
williamr@2
   580
@publishedPartner
williamr@2
   581
williamr@2
   582
This #define enables the generic start-up architecture in
williamr@2
   583
which the System Starter process is responsible for the
williamr@2
   584
controlled startup of the system. 
williamr@2
   585
williamr@2
   586
The #define supports PREQ808 and PREQ809.
williamr@2
   587
*/
williamr@2
   588
#define SYMBIAN_GENERIC_SYSTEM_STARTUP
williamr@2
   589
williamr@2
   590
/**
williamr@2
   591
@publishedAll
williamr@2
   592
williamr@2
   593
SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
williamr@2
   594
williamr@2
   595
If this macro is defined, then the Bluetooth stack reconfigures to take
williamr@2
   596
advantage of security mechanisms in Publish and Subscribe. Any other
williamr@2
   597
components requiring reconfiguration to make use of Publish and Subscribe
williamr@2
   598
can also use this macro.
williamr@2
   599
williamr@2
   600
*/
williamr@2
   601
#define SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
williamr@2
   602
williamr@2
   603
/**
williamr@2
   604
@publishedAll
williamr@2
   605
williamr@2
   606
SYMBIAN_SECURITY_CAF_RFILE_HANDLE
williamr@2
   607
williamr@2
   608
If SYMBIAN_SECURITY_CAF_RFILE_HANDLE is defined then it enables the Content Access 
williamr@2
   609
Framework to read from files passed to it as an open RFile handles instead of CAF 
williamr@2
   610
opening the file itself. This allows files stored in a data caged directory to be 
williamr@2
   611
read by CAF.  
williamr@2
   612
williamr@2
   613
*/
williamr@2
   614
#define SYMBIAN_SECURITY_CAF_RFILE_HANDLE
williamr@2
   615
williamr@2
   616
/**
williamr@2
   617
@publishedAll
williamr@2
   618
williamr@2
   619
__JAVACUSTOMINSTALL__
williamr@2
   620
williamr@2
   621
If __JAVACUSTOMINSTALL__ is defined then an additional UI callback is made after MIDlet
williamr@2
   622
installation has succeeded or failed. This callback is intended for information only and the 
williamr@2
   623
information passed can be licensee customised. The intention would be that the device user
williamr@2
   624
can use this information to diagnose install problems in conjunction with network operators.
williamr@2
   625
If this #define is not present then the callback is not present and is not called.
williamr@2
   626
For more information on see documents shown below.
williamr@2
   627
williamr@2
   628
@see SGL.GT0188.253 CDMA Java MIDlet Installer Component Design
williamr@2
   629
*/
williamr@2
   630
#define __JAVACUSTOMINSTALL__
williamr@2
   631
williamr@2
   632
/**  
williamr@2
   633
@publishedAll 
williamr@2
   634
williamr@2
   635
SYMBIAN_MDF_API_V2 
williamr@2
   636
williamr@2
   637
This macro selects the Symbian OS 9.x phase of development in 
williamr@2
   638
the Media Device Framework API, including changes to enable 
williamr@2
   639
MDF Video Decoder Hardware devices to support applications, 
williamr@2
   640
streaming and demux.
williamr@2
   641
williamr@2
   642
@see CMMFVideoPlayHwDevice
williamr@2
   643
*/ 
williamr@2
   644
#define SYMBIAN_MDF_API_V2
williamr@2
   645
williamr@2
   646
/**
williamr@2
   647
@publishedPartner
williamr@2
   648
williamr@2
   649
SYMBIAN_SMS_REL6_SUPPORT
williamr@2
   650
williamr@2
   651
SMS Release 6 support is defined in the 3GPP specifications
williamr@2
   652
(3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0).
williamr@2
   653
If defined, this macro indicates that Symbian OS SMS APIs
williamr@2
   654
shall support Release 6 functionality.
williamr@2
   655
*/
williamr@2
   656
#define SYMBIAN_SMS_REL6_SUPPORT
williamr@2
   657
williamr@2
   658
/**
williamr@2
   659
@publishedPartner
williamr@2
   660
williamr@2
   661
SYMBIAN_SWI_POST_INSTALL_REVOCATION
williamr@2
   662
williamr@2
   663
When SYMBIAN_SWI_POST_INSTALL_REVOCATION is defined, 
williamr@2
   664
support for the SWI post install revocation service is enabled.
williamr@2
   665
williamr@2
   666
This #define supports PREQ919
williamr@2
   667
*/
williamr@2
   668
#define SYMBIAN_SWI_POST_INSTALL_REVOCATION
williamr@2
   669
williamr@2
   670
/**
williamr@2
   671
@publishedPartner
williamr@2
   672
williamr@2
   673
SYMBIAN_TELEPHONY_IMS
williamr@2
   674
williamr@2
   675
If SYMBIAN_TELEPHONY_IMS is defined then IMS related APIs are included 
williamr@2
   676
in Telephony components.
williamr@2
   677
williamr@2
   678
This #define supports PREQ61.
williamr@2
   679
*/
williamr@2
   680
#define SYMBIAN_TELEPHONY_IMS
williamr@2
   681
williamr@2
   682
/**
williamr@2
   683
@publishedPartner
williamr@2
   684
williamr@2
   685
SYMBIAN_IGNORE_BIN_TARGETPATH
williamr@2
   686
williamr@2
   687
When SYMBIAN_IGNORE_BIN_TARGETPATH is defined the TARGETPATH keyword in MMP files is ignored for executables. 
williamr@2
   688
Executables for the emulator instead get built to the default location.
williamr@2
   689
e.g. \epoc32\release\winscw\udeb
williamr@2
   690
*/
williamr@2
   691
#define SYMBIAN_IGNORE_BIN_TARGETPATH
williamr@2
   692
williamr@2
   693
/**
williamr@2
   694
@publishedAll 
williamr@2
   695
williamr@2
   696
SYMBIAN_COMMS_REPOSITORY
williamr@2
   697
williamr@2
   698
Comms data is now stored in the Central Repository rather than the DBMS server.  
williamr@2
   699
A new module, CommsDat.dll, replaces Commdb.dll as the interface for comms data stored on a device. 
williamr@2
   700
CommsDat has a different API to Commdb, but provides equivalent functionality. 
williamr@2
   701
There is no longer an SQL API for access to Comms Data. 
williamr@2
   702
Commdb tools have been migrated for use with CommsDat 
williamr@2
   703
Commdb is deprecated and should not be used, though it remains as a temporary BC shim on top of CommsDat.   
williamr@2
   704
*/
williamr@2
   705
#define SYMBIAN_COMMS_REPOSITORY
williamr@2
   706
williamr@2
   707
/**
williamr@2
   708
@publishedAll
williamr@2
   709
williamr@2
   710
SYMBIAN_VARIABLE_BITRATE_CODEC
williamr@2
   711
williamr@2
   712
If SYMBIAN_VARIABLE_BITRATE_CODEC is defined then 
williamr@2
   713
CMMFSwCodecWrapper based audio hardware devices in the 
williamr@2
   714
Multimedia Framework (MMF) can support variable bitrate codecs.
williamr@2
   715
williamr@2
   716
@see CMMFSwCodecWrapper
williamr@2
   717
*/
williamr@2
   718
#define SYMBIAN_VARIABLE_BITRATE_CODEC
williamr@2
   719
williamr@2
   720
/**
williamr@2
   721
@publishedAll
williamr@2
   722
williamr@2
   723
__SECURE_TELEPHONY__
williamr@2
   724
williamr@2
   725
If __SECURE_TELEPHONY__ is defined, all Platform Security functionality 
williamr@2
   726
within the Telephony subsystem will be enabled.
williamr@2
   727
If __SECURE_TELEPHONY__ is not defined, no Platform Security functionality 
williamr@2
   728
within the Telephony subsystem is enabled.
williamr@2
   729
*/
williamr@2
   730
#define __SECURE_TELEPHONY__
williamr@2
   731
williamr@2
   732
/**
williamr@2
   733
@publishedPartner
williamr@2
   734
williamr@2
   735
SYMBIAN_CAF_V2
williamr@2
   736
williamr@2
   737
The SYMBIAN_CAF_V2 flag indicates the CAF API v2 is present. 
williamr@2
   738
CAF v2 supports files containing multiple content objects, which requires 
williamr@2
   739
a change of API for CAF agents: agents written for CAF v1 will not compile
williamr@2
   740
against CAF v2. See BR.1219.2 for migration information.
williamr@2
   741
williamr@2
   742
This #define supports PREQ780.
williamr@2
   743
*/
williamr@2
   744
#define SYMBIAN_CAF_V2
williamr@2
   745
williamr@2
   746
/**
williamr@2
   747
SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
williamr@2
   748
williamr@2
   749
@publishedPartner
williamr@2
   750
 
williamr@2
   751
This macro enables a consolidation phase in the ROM building 
williamr@2
   752
process to generate additional metadata for each ROM drive.  
williamr@2
   753
The metadata describes the content and structure of the ROM 
williamr@2
   754
conveniently filtered for any component that requires it.
williamr@2
   755
williamr@2
   756
Components supply metadata with the "spidata" BUILDROM keyword.
williamr@2
   757
williamr@2
   758
This macro supports PREQ806 and other requirements that 
williamr@2
   759
eliminate run-time scanning of ROM content.
williamr@2
   760
*/
williamr@2
   761
#define SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
williamr@2
   762
williamr@2
   763
/**
williamr@2
   764
@publishedPartner
williamr@2
   765
williamr@2
   766
SYMBIAN_BLUETOOTH_ESCO_ENABLED
williamr@2
   767
williamr@2
   768
Enable support for Bluetooth eSCO synchronous links.  
williamr@2
   769
Defining this macro extends the interface to CHCIBase to support 
williamr@2
   770
the Synchronous connection commands added in Bluetooth 1.2.
williamr@2
   771
*/
williamr@2
   772
#define SYMBIAN_BLUETOOTH_ESCO_ENABLED
williamr@2
   773
williamr@2
   774
/**
williamr@2
   775
@publishedPartner
williamr@2
   776
williamr@2
   777
SYMBIAN_SECURE_MIDLET_INSTALL
williamr@2
   778
williamr@2
   779
If SYMBIAN_SECURE_MIDLET_INSTALL is defined then the Java MIDlet 
williamr@2
   780
Installer supports installation under Platform Security policies, 
williamr@2
   781
using the interface published by security\JavaMIDletInstaller.
williamr@2
   782
williamr@2
   783
If SYMBIAN_SECURE_MIDLET_INSTALL is not defined then Java MIDlet 
williamr@2
   784
installation is achieved through the security\appinst interfaces.
williamr@2
   785
*/
williamr@2
   786
#define SYMBIAN_SECURE_MIDLET_INSTALL
williamr@2
   787
williamr@2
   788
/**
williamr@2
   789
@publishedAll
williamr@2
   790
williamr@2
   791
SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
williamr@2
   792
williamr@2
   793
If SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2 is defined then 
williamr@2
   794
the following additional features will be available in CONE.
williamr@2
   795
1) Functions to set and get the background of a control.
williamr@2
   796
2) Functions to add components to a compound control in a simpler way.
williamr@2
   797
3) Hooks for the support of layout managers.
williamr@2
   798
4) A component that will provide fonts and cache them for easier use 
williamr@2
   799
   of these fonts by controls.
williamr@2
   800
williamr@2
   801
@see CCoeControl
williamr@2
   802
*/
williamr@2
   803
#define SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
williamr@2
   804
williamr@2
   805
/**
williamr@2
   806
@publishedAll
williamr@2
   807
williamr@2
   808
SYMBIAN_CNTMODEL_V2
williamr@2
   809
williamr@2
   810
If SYMBIAN_CNTMODEL_V2 is defined, clients of the
williamr@2
   811
Contacts Model can exploit the efficiency improvements
williamr@2
   812
introduced by PREQ811, e.g. efficient use of transactions. 
williamr@2
   813
williamr@2
   814
This #define supports PREQ811
williamr@2
   815
*/
williamr@2
   816
#define SYMBIAN_CNTMODEL_V2
williamr@2
   817
williamr@2
   818
/**
williamr@2
   819
@publishedAll
williamr@2
   820
williamr@2
   821
SYMBIAN_COREAPPS_PLUGIN_API_V2
williamr@2
   822
williamr@2
   823
If SYMBIAN_COREAPPS_PLUGIN_API_V2 is defined then  Ecom solely is used as loading 
williamr@2
   824
mechanism.The legacy plugin loading mechanism is used otherwise.
williamr@2
   825
*/
williamr@2
   826
#define SYMBIAN_COREAPPS_PLUGIN_API_V2
williamr@2
   827
williamr@2
   828
/**
williamr@2
   829
@internalAll
williamr@2
   830
williamr@2
   831
DO_NOT_USE_THIS_MACRO
williamr@2
   832
williamr@2
   833
If DO_NOT_USE_THIS_MACRO is defined, assume the Cedar platform.
williamr@2
   834
If DO_NOT_USE_THIS_MACRO is not defined, assume the Beech platform.
williamr@2
   835
williamr@2
   836
This macro was originally introduced as a stopgap measure, to
williamr@2
   837
identify differences between Symbian OS v7.0s and Symbian OS v8.0b
williamr@2
   838
which were not specifically to do with the change from Kernel
williamr@2
   839
Architecture 1 to Kernel Architecture 2.
williamr@2
   840
williamr@2
   841
This macro will be deprecated when a suitable alternative is provided.
williamr@2
   842
*/
williamr@2
   843
#ifndef DO_NOT_USE_THIS_MACRO
williamr@2
   844
#define DO_NOT_USE_THIS_MACRO
williamr@2
   845
#endif
williamr@2
   846
williamr@2
   847
/** 
williamr@2
   848
@publishedPartner
williamr@2
   849
williamr@2
   850
SYMBIAN_C32ROOT_API_V2
williamr@2
   851
williamr@2
   852
Strengthens the C32Root API and extends it to include 
williamr@2
   853
configuration of queue length for bindings. 
williamr@2
   854
williamr@2
   855
This #define supports PREQ318.
williamr@2
   856
*/
williamr@2
   857
#define SYMBIAN_C32ROOT_API_V2
williamr@2
   858
williamr@2
   859
/**
williamr@2
   860
@publishedAll
williamr@2
   861
williamr@2
   862
__SECURE_API__
williamr@2
   863
williamr@2
   864
Hides unsecure APIs. Many of these have been replaced by Secure variants 
williamr@2
   865
but some are no longer available in a Secure platform.
williamr@2
   866
williamr@2
   867
e.g.
williamr@2
   868
williamr@2
   869
@see User::RenameThread
williamr@2
   870
@see User::CommandLine
williamr@2
   871
williamr@2
   872
*/
williamr@2
   873
#define __SECURE_API__
williamr@2
   874
#define SYMBIAN_REMOVE_INSECURE_API
williamr@2
   875
williamr@2
   876
/**
williamr@2
   877
@publishedAll
williamr@2
   878
williamr@2
   879
__CNF_FORMAT_V2__
williamr@2
   880
williamr@2
   881
If __CNF_FORMAT_V2__ is defined, assume that Epoccnf.pl generates
williamr@2
   882
files in version 2 of the CNF format, and that both versions 1
williamr@2
   883
and 2 of this file format can be read by Conarc.
williamr@2
   884
If __CNF_FORMAT_V2__ is not defined, assume that Epoccnf.pl
williamr@2
   885
generates files in version 1 of the CNF format, and that only
williamr@2
   886
version 1 of this file format can be read by Conarc.
williamr@2
   887
*/
williamr@2
   888
#define __CNF_FORMAT_V2__
williamr@2
   889
williamr@2
   890
/** 
williamr@2
   891
@publishedPartner 
williamr@2
   892
williamr@2
   893
SYMBIAN_SUPPORT_LINKED_FONTS 
williamr@2
   894
williamr@2
   895
If SYMBIAN_SUPPORT_LINKED_FONTS is defined then APIs are provided 
williamr@2
   896
to create 'linked' font instances which combine glyph sets from 
williamr@2
   897
multiple existing font glyph sets.
williamr@2
   898
williamr@2
   899
@see CLinkedTypefaceElement
williamr@2
   900
@see CLinkedTypefaceSpecification
williamr@2
   901
williamr@2
   902
This #define supports PREQ1431.
williamr@2
   903
*/ 
williamr@2
   904
#define SYMBIAN_SUPPORT_LINKED_FONTS
williamr@2
   905
williamr@2
   906
/**
williamr@2
   907
@publishedPartner
williamr@2
   908
williamr@2
   909
SYMBIAN_SECURE_DBMS
williamr@2
   910
williamr@2
   911
When SYMBIAN_SECURE_DBMS is defined, support for secure 
williamr@2
   912
shared databases is enabled within DBMS.  
williamr@2
   913
When not defined, all secure-shared-database-specific APIs 
williamr@2
   914
take the form of dummy implementations which return KErrNone.
williamr@2
   915
*/
williamr@2
   916
#define SYMBIAN_SECURE_DBMS
williamr@2
   917
williamr@2
   918
/**
williamr@2
   919
@publishedAll
williamr@2
   920
williamr@2
   921
SYMBIAN_ASSUME_SECURE_DATA
williamr@2
   922
williamr@2
   923
When this macro is defined, all data files are assumed to be in their secure
williamr@2
   924
locations, and all code which provided backward compatibility for the
williamr@2
   925
insecure locations is removed. For example, ICL extended resource files
williamr@2
   926
will not be loaded from System\Libs\Plugins, only from \Resource\ICL.
williamr@2
   927
williamr@2
   928
This macro only makes sense if __SECURE_DATA__ is defined.
williamr@2
   929
*/
williamr@2
   930
#define SYMBIAN_ASSUME_SECURE_DATA
williamr@2
   931
williamr@2
   932
/**
williamr@2
   933
@publishedAll
williamr@2
   934
@deprecated
williamr@2
   935
@since 8.0
williamr@2
   936
williamr@2
   937
__KEYSTORE_API_V2__
williamr@2
   938
williamr@2
   939
*/
williamr@2
   940
#define __KEYSTORE_API_V2__
williamr@2
   941
williamr@2
   942
/**
williamr@2
   943
@publishedAll
williamr@2
   944
williamr@2
   945
__SECURE_DATA__
williamr@2
   946
williamr@2
   947
When __SECURE_DATA__ is defined, public read-only files are
williamr@2
   948
assumed to be in their data-caged locations. The presence of
williamr@2
   949
this #define does not imply that data-caging is enforced, and
williamr@2
   950
does not imply that binaries have been relocated to sys\bin.
williamr@2
   951
williamr@2
   952
This #define supports PREQ537 "Platform security - file system layout".
williamr@2
   953
*/
williamr@2
   954
#define __SECURE_DATA__
williamr@2
   955
williamr@2
   956
/**
williamr@2
   957
@publishedAll
williamr@2
   958
williamr@2
   959
SYMBIAN_NETWORKING_PLATSEC
williamr@2
   960
williamr@2
   961
If SYMBIAN_NETWORKING_PLATSEC is defined, additional platform security 
williamr@2
   962
related functionality in enabled in the Comms-Infras and Networking 
williamr@2
   963
subsystems (e.g. API policing).
williamr@2
   964
*/
williamr@2
   965
#define SYMBIAN_NETWORKING_PLATSEC
williamr@2
   966
williamr@2
   967
/**
williamr@2
   968
@publishedAll
williamr@2
   969
williamr@2
   970
__CONDITIONS_SCHEDULES_VALID__
williamr@2
   971
williamr@2
   972
If __CONDITIONS_SCHEDULES_VALID__ is defined then the Task Scheduler component 
williamr@2
   973
supports creating persistent schedules based on a set of conditions and a 
williamr@2
   974
timeout. The schedule is run when either all the conditions are met or the 
williamr@2
   975
timeout is reached.
williamr@2
   976
williamr@2
   977
This functionality is part of PREQ694 - PREQ 694 - Automatic sending of SMS on
williamr@2
   978
network reconnection.
williamr@2
   979
*/
williamr@2
   980
#define __CONDITIONS_SCHEDULES_VALID__
williamr@2
   981
williamr@2
   982
/**
williamr@2
   983
@internalComponent
williamr@2
   984
williamr@2
   985
__LEAVE_EQUALS_THROW__
williamr@2
   986
williamr@2
   987
If __LEAVE_EQUALS_THROW__ is defined, User::Leave() and TRAP() are 
williamr@2
   988
implemented in terms of C++ exceptions where the compiler supports this.
williamr@2
   989
If __LEAVE_EQUALS_THROW__ is not defined, the legacy Symbian exception 
williamr@2
   990
mechanism is used instead.
williamr@2
   991
williamr@2
   992
Support for C++ exceptions by the compiler is indicated by the 
williamr@2
   993
internal macro __SUPPORT_CPP_EXCEPTIONS__ supplied by the tools.  
williamr@2
   994
Where this macro is not present, __LEAVE_EQUALS_THROW__ is automatically 
williamr@2
   995
undefined.
williamr@2
   996
williamr@2
   997
This macro supports PREQ519 "Implement User::Leave() in terms of throw()".
williamr@2
   998
*/
williamr@2
   999
#define __LEAVE_EQUALS_THROW__
williamr@2
  1000
williamr@2
  1001
/**
williamr@2
  1002
@publishedAll
williamr@2
  1003
williamr@2
  1004
__BLUETOOTH_API_V2__
williamr@2
  1005
williamr@2
  1006
If __BLUETOOTH_API_V2__ is defined assume that version 2 of the bluetooth
williamr@2
  1007
subsystem will be built.  This is binary compatible with version 1 for all
williamr@2
  1008
published-all APIs but is not source compatible.  Users of classes defined
williamr@2
  1009
in BTDevice.h and BTManClient.h may need to make source changes.
williamr@2
  1010
williamr@2
  1011
The BTRegistry.dll is removed, users should link instead against BTManClient.lib.
williamr@2
  1012
The APIs provided by that DLL were classified as published-partner.
williamr@2
  1013
williamr@2
  1014
@see CBTDevice
williamr@2
  1015
@see SGL.GT172.103 - Bluetooth Compatibility Specification
williamr@2
  1016
williamr@2
  1017
If __BLUETOOTH_API_V2__ is not defined then version 1 of the bluetooth subsystem
williamr@2
  1018
will be built.
williamr@2
  1019
williamr@2
  1020
*/
williamr@2
  1021
#define __BLUETOOTH_API_V2__
williamr@2
  1022
williamr@2
  1023
/**
williamr@2
  1024
@publishedAll
williamr@2
  1025
williamr@2
  1026
__BLUETOOTH_HCI_ALLOWS_AFH__
williamr@2
  1027
williamr@2
  1028
If __BLUETOOTH_HCI_ALLOWS_AFH__ is defined the HCI interface will require the Adaptive Frequency Hopping CHCIBase pure virtual functions to be implemented in any derived class in Licensee produced host controller interface (HCI) code. 
williamr@2
  1029
If this is not defined no AFH commands may be sent to the host controller, and no AFH events will be received from the host controller. 
williamr@2
  1030
The APIs provided by the HCI DLL were classified as published-partner.
williamr@2
  1031
williamr@2
  1032
@see CHCIBase
williamr@2
  1033
@see MHCIEventObserver
williamr@2
  1034
williamr@2
  1035
*/
williamr@2
  1036
#define __BLUETOOTH_HCI_ALLOWS_AFH__
williamr@2
  1037
williamr@2
  1038
/**
williamr@2
  1039
@publishedAll
williamr@2
  1040
williamr@2
  1041
EKA2
williamr@2
  1042
williamr@2
  1043
If EKA2 is defined, assume Kernel Architecture 2.
williamr@2
  1044
If EKA2 is not defined, assume Kernel Architecture 1
williamr@2
  1045
williamr@2
  1046
Kernel Architecture 2 is a defining property of the Cedar platform.
williamr@2
  1047
Kernel Architecture 1 is a defining property of the Beech platform.
williamr@2
  1048
*/
williamr@2
  1049
#ifndef EKA2
williamr@2
  1050
#define EKA2
williamr@2
  1051
#endif
williamr@2
  1052
williamr@2
  1053
/**
williamr@2
  1054
@publishedPartner
williamr@2
  1055
williamr@2
  1056
SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
williamr@2
  1057
williamr@2
  1058
When SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1 is defined a new EColor16MA 
williamr@2
  1059
display mode is available, having an alpha channel. The alpha support 
williamr@2
  1060
is tailored to the needs of wserv server-side, although some alpha 
williamr@2
  1061
support will also be available to client applications.
williamr@2
  1062
williamr@2
  1063
This #define supports PREQ915.
williamr@2
  1064
*/
williamr@2
  1065
#define SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
williamr@2
  1066
williamr@2
  1067
/**
williamr@2
  1068
@publishedPartner
williamr@2
  1069
williamr@2
  1070
__SECURE_SOFTWARE_INSTALL__
williamr@2
  1071
williamr@2
  1072
When __SECURE_SOFTWARE_INSTALL__ is defined, the Software
williamr@2
  1073
Install APIs are replaced with versions appropriate to
williamr@2
  1074
the Secure Platform.
williamr@2
  1075
williamr@2
  1076
This #define supports PREQ56 "Software install enhancements"
williamr@2
  1077
*/
williamr@2
  1078
#define __SECURE_SOFTWARE_INSTALL__
williamr@2
  1079
williamr@2
  1080
/**
williamr@2
  1081
@publishedPartner
williamr@2
  1082
williamr@2
  1083
SYMBIAN_ESOCK_V3
williamr@2
  1084
williamr@2
  1085
If SYMBIAN_ESOCK_V3 is defined, the socket server allows protocol 
williamr@2
  1086
families to run in individual threads to protect one protocol family 
williamr@2
  1087
from the behaviour of another. The allocation of protocol families to
williamr@2
  1088
threads is determined by a naming convention on the ESK files.
williamr@2
  1089
williamr@2
  1090
This #define supports PREQ318.
williamr@2
  1091
*/
williamr@2
  1092
#define SYMBIAN_ESOCK_V3
williamr@2
  1093
williamr@2
  1094
/**
williamr@2
  1095
@publishedAll
williamr@2
  1096
williamr@2
  1097
SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
williamr@2
  1098
williamr@2
  1099
If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is defined, threads at 
williamr@2
  1100
priority SystemServer/More (i.e. process priorities EPriorityFileServer, 
williamr@2
  1101
EPriorityWindowServer or EPrioritySupervisor with relative thread priority 
williamr@2
  1102
EPriorityMore) are mapped to absolute priority 23, equal to the highest 
williamr@2
  1103
priority available to normal applications. This lowers the Window Server 
williamr@2
  1104
and File Server priorities so application threads can timeslice with them, 
williamr@2
  1105
benefitting audio and other pseudo real-time applications.
williamr@2
  1106
williamr@2
  1107
If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is not defined, these system server 
williamr@2
  1108
priorities remain at 24, preempting all normal user application threads.
williamr@2
  1109
williamr@2
  1110
This #define supports PREQ955, and BR1821.
williamr@2
  1111
*/
williamr@2
  1112
#define SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
williamr@2
  1113
williamr@2
  1114
/**
williamr@2
  1115
@publishedAll
williamr@2
  1116
@deprecated
williamr@2
  1117
@since 8.0
williamr@2
  1118
williamr@2
  1119
SYMBIAN_CRYPTO
williamr@2
  1120
williamr@2
  1121
*/
williamr@2
  1122
#define SYMBIAN_CRYPTO
williamr@2
  1123
williamr@2
  1124
williamr@2
  1125
/**
williamr@2
  1126
@publishedPartner
williamr@2
  1127
williamr@2
  1128
SYMBIAN_GRAPHICS_BUILD_WSERV2
williamr@2
  1129
williamr@2
  1130
If SYMBIAN_GRAPHICS_BUILD_WSERV2 is defined WServ2 binaries are built and can be used instead of WSERV1 versions
williamr@2
  1131
*/
williamr@2
  1132
#define SYMBIAN_GRAPHICS_BUILD_WSERV2
williamr@2
  1133
williamr@2
  1134
/**
williamr@2
  1135
@publishedPartner
williamr@2
  1136
williamr@2
  1137
SYMBIAN_HCI_API_V2
williamr@2
  1138
williamr@2
  1139
If SYMBIAN_HCI_API_V2 is defined then the HCI APIs provided in PREQ750 (Bluetooth HCI improvements) will be required for use by a version 2 Bluetooth Stack and a version 2 HCI. These APIs are neither binary nor source compatible with the previous version 1 HCI APIs. Both the original version 1  Bluetooth stack and HCI, and the new version 2 Bluetooth stack and HCI will be built, but both rombuild and the emulator will be configured to use the version 2 binaries. The version 2 HCI will support all commands and events listed in Bluetooth v2.0 specification.
williamr@2
  1140
williamr@2
  1141
If SYMBIAN_HCI_API_V2 is not defined then only the version 1 Bluetooth stack and HCI will be built and used by rombuild and the emulator.
williamr@2
  1142
The version 1 HCI supports most but NOT all commands and events listed in Bluetooth v2.0 specification.
williamr@2
  1143
williamr@2
  1144
See BR1613 for more information.
williamr@2
  1145
*/
williamr@2
  1146
#define SYMBIAN_HCI_API_V2
williamr@2
  1147
williamr@2
  1148
/**
williamr@2
  1149
@publishedAll
williamr@2
  1150
@released
williamr@2
  1151
williamr@2
  1152
SYMBIAN_BAFL_SYSUTIL
williamr@2
  1153
williamr@2
  1154
If SYMBIAN_BAFL_SYSUTIL is defined, the bafl sysutil.dll is present, 
williamr@2
  1155
providing APIs for obtaining system version information and 
williamr@2
  1156
APIs for monitoring free disk space.
williamr@2
  1157
williamr@2
  1158
@see SysUtil::GetSWVersion
williamr@2
  1159
@see SysUtil::DiskSpaceBelowCriticalLevelL
williamr@2
  1160
williamr@2
  1161
This #define supports PREQ1802.
williamr@2
  1162
*/
williamr@2
  1163
#define SYMBIAN_BAFL_SYSUTIL 
williamr@2
  1164
williamr@2
  1165
/**
williamr@2
  1166
@publishedPartner
williamr@2
  1167
@released
williamr@2
  1168
williamr@2
  1169
SYMBIAN_BAFL_ACTIVITYMGR
williamr@2
  1170
 
williamr@2
  1171
If SYMBIAN_BAFL_ACTIVITYMGR is defined, the bafl activitymgr.dll is 
williamr@2
  1172
presentand provides an API that allows the client to take action at the 
williamr@2
  1173
start and/or end of a period of user inactivity.
williamr@2
  1174
williamr@2
  1175
@see CUserActivityManager::Start
williamr@2
  1176
williamr@2
  1177
This #define supports PREQ1802.
williamr@2
  1178
*/
williamr@2
  1179
#define SYMBIAN_BAFL_ACTIVITYMGR 
williamr@2
  1180
williamr@2
  1181
/**
williamr@2
  1182
@publishedPartner
williamr@2
  1183
williamr@2
  1184
SYMBIAN_CENREPNOTIFIERHANDLER
williamr@2
  1185
williamr@2
  1186
If SYMBIAN_CENREPNOTIFIERHANDLER is defined, the Central 
williamr@2
  1187
Repository notifier handler is present.
williamr@2
  1188
williamr@2
  1189
@see CCenRepNotifyHandler
williamr@2
  1190
@see MCenRepNotifyHandlerCallback
williamr@2
  1191
williamr@2
  1192
This #define supports PREQ1802. 
williamr@2
  1193
*/
williamr@2
  1194
#define SYMBIAN_CENREPNOTIFIERHANDLER
williamr@2
  1195
/**
williamr@2
  1196
@publishedPartner 
williamr@2
  1197
williamr@2
  1198
SYMBIAN_C32_SERCOMMS_V2
williamr@2
  1199
williamr@2
  1200
Description: 
williamr@2
  1201
If SYMBIAN_C32_SERCOMMS_V2 is defined, the Comms Server allows grouped CSYs
williamr@2
  1202
to get loaded into individual threads in order to avoid CSY blocking. 
williamr@2
  1203
The allocation of CSYs to threads is determined by naming convention from 
williamr@2
  1204
the configurator/INI file. 
williamr@2
  1205
This #define supports PREQ890
williamr@2
  1206
williamr@2
  1207
*/
williamr@2
  1208
#define SYMBIAN_C32_SERCOMMS_V2
williamr@2
  1209
williamr@2
  1210
/**
williamr@2
  1211
@internalAll
williamr@2
  1212
williamr@2
  1213
SYMBIAN_J2ME_USE_CALENDAR
williamr@2
  1214
williamr@2
  1215
Internal macro - do not use outside Symbian code.
williamr@2
  1216
*/
williamr@2
  1217
#define SYMBIAN_J2ME_USE_CALENDAR
williamr@2
  1218
williamr@2
  1219
/** 
williamr@2
  1220
@publishedPartner 
williamr@2
  1221
williamr@2
  1222
SYMBIAN_LOCATION_PRIVACY_V2 
williamr@2
  1223
williamr@2
  1224
If SYMBIAN_LOCATION_PRIVACY_V2 is defined, the Symbian LBS sub-system 
williamr@2
  1225
includes support for the advanced privacy dialogs and standalone 
williamr@2
  1226
privacy components.
williamr@2
  1227
williamr@2
  1228
This #define supports PREQ1660. 
williamr@2
  1229
*/
williamr@2
  1230
#define SYMBIAN_LOCATION_PRIVACY_V2
williamr@2
  1231
williamr@2
  1232
/** 
williamr@2
  1233
@publishedPartner 
williamr@2
  1234
williamr@2
  1235
SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
williamr@2
  1236
williamr@2
  1237
If SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER is defined, the Media Device
williamr@2
  1238
Framework (MDF) will use the RSoundSc sound driver interface.
williamr@2
  1239
If this macro is not defined, MDF will use the older RMdaDevSound interface.
williamr@2
  1240
williamr@2
  1241
BR2079 gives further details of the migration needed by customers who 
williamr@2
  1242
are using the Symbian reference DevSound with their own implementation
williamr@2
  1243
of RMdaDevSound.
williamr@2
  1244
williamr@2
  1245
@see RMdaDevSound
williamr@2
  1246
@see RSoundSc
williamr@2
  1247
*/
williamr@2
  1248
#define SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
williamr@2
  1249
williamr@2
  1250
/** 
williamr@2
  1251
@publishedPartnerProto 
williamr@2
  1252
williamr@2
  1253
SYMBIAN_MULTIMEDIA_A3FDEVSOUND 
williamr@2
  1254
williamr@2
  1255
If SYMBIAN_MULTIMEDIA_A3FDEVSOUND is defined, the PREQ1540 DevSound API is 
williamr@2
  1256
present in the Advanced Audio Adaptation Framework
williamr@2
  1257
williamr@2
  1258
This #define supports PREQ1540. 
williamr@2
  1259
*/
williamr@2
  1260
#define SYMBIAN_MULTIMEDIA_A3FDEVSOUND