epoc32/include/variant/symbian_os.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
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@4
     4
// under the terms of "Eclipse Public License v1.0"
williamr@2
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.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@4
    17
williamr@4
    18
/** This include is for PREQ2621 */
williamr@4
    19
#include "platform_paths.hrh"
williamr@4
    20
williamr@2
    21
// SYMBIAN_JAVA_NOT_INCLUDED
williamr@4
    22
// For Sphinx and later versions, J2ME will no longer be included in the 
williamr@2
    23
// build.  
williamr@4
    24
// This #define supports PREQ1791
williamr@2
    25
// 
williamr@2
    26
//
williamr@2
    27
williamr@2
    28
/**
williamr@2
    29
 @publishedPartner
williamr@4
    30
 @released
williamr@2
    31
*/
williamr@2
    32
#define SYMBIAN_JAVA_NOT_INCLUDED
williamr@2
    33
   
williamr@2
    34
/**
williamr@4
    35
@publishedPartner
williamr@4
    36
@released
williamr@4
    37
williamr@4
    38
SYMBIAN_HCI_API_V2
williamr@4
    39
                    
williamr@4
    40
If SYMBIAN_HCI_API_V2 is defined then the HCI APIs provided in PREQ750 
williamr@4
    41
(Bluetooth HCI improvements) will be required for use by a version 2 
williamr@4
    42
Bluetooth Stack and a version 2 HCI. These APIs are neither binary nor 
williamr@4
    43
source compatible with the previous version 1 HCI APIs. Both the original 
williamr@4
    44
version 1  Bluetooth stack and HCI, and the new version 2 Bluetooth stack 
williamr@4
    45
and HCI will be built, but both rombuild and the emulator will be 
williamr@4
    46
configured to use the version 2 binaries. The version 2 HCI will support 
williamr@4
    47
all commands and events listed in Bluetooth v2.0 specification.
williamr@4
    48
williamr@4
    49
If SYMBIAN_HCI_API_V2 is not defined then only the version 1 Bluetooth 
williamr@4
    50
stack and HCI will be built and used by rombuild and the emulator.
williamr@4
    51
The version 1 HCI supports most but NOT all commands and events listed 
williamr@4
    52
in Bluetooth v2.0 specification.
williamr@4
    53
williamr@4
    54
See BR1613 for more information.
williamr@4
    55
*/
williamr@4
    56
#define SYMBIAN_HCI_API_V2
williamr@4
    57
williamr@4
    58
/**
williamr@2
    59
@publishedAll
williamr@4
    60
@released
williamr@2
    61
williamr@2
    62
__WATCHER_API_V2__
williamr@2
    63
williamr@2
    64
If __WATCHER_API_V2__ is defined then the 
williamr@2
    65
watcher framework supports ECOM watcher plugins.
williamr@2
    66
*/
williamr@2
    67
#define __WATCHER_API_V2__
williamr@2
    68
williamr@2
    69
/**
williamr@2
    70
@publishedAll
williamr@4
    71
@released
williamr@2
    72
williamr@2
    73
__HIDE_WATCHER_API_V1__
williamr@2
    74
williamr@2
    75
Hides support APIs for loading non-ECOM watcher plugins. Non-ECOM watcher 
williamr@2
    76
plugins are still loaded. The associated define __REMOVE_WATCHER_API_V1__
williamr@2
    77
removes the implementation of the support APIs.
williamr@2
    78
williamr@2
    79
Assumes that __WATCHER_API_V2__ has been defined.
williamr@2
    80
*/
williamr@2
    81
#define __HIDE_WATCHER_API_V1__
williamr@2
    82
#define __REMOVE_WATCHER_API_V1__
williamr@2
    83
williamr@2
    84
/**
williamr@2
    85
SYMBIAN_TIMEZONE_SUPPORT_V1
williamr@2
    86
williamr@2
    87
@publishedAll
williamr@4
    88
@released
williamr@2
    89
williamr@2
    90
When SYMBIAN_TIMEZONE_SUPPORT_V1 is defined the App-services TzClient.dll 
williamr@2
    91
module (and accompanying import library) is made available for client 
williamr@2
    92
application use.
williamr@2
    93
williamr@2
    94
This #define supports PREQ663
williamr@2
    95
*/
williamr@2
    96
#define SYMBIAN_TIMEZONE_SUPPORT_V1
williamr@2
    97
williamr@2
    98
/** 
williamr@2
    99
@publishedAll
williamr@4
   100
@released
williamr@2
   101
williamr@2
   102
SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
williamr@2
   103
williamr@2
   104
If SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT is defined then 
williamr@2
   105
the Multimedia Framework (MMF) can support video playback on 
williamr@2
   106
a secondary display. The default screen will be the screen 
williamr@2
   107
number in the cone environment.
williamr@2
   108
williamr@2
   109
@see CVideoPlayerUtility
williamr@2
   110
*/
williamr@2
   111
#define SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
williamr@2
   112
williamr@2
   113
/**
williamr@2
   114
@publishedAll
williamr@4
   115
@released
williamr@2
   116
williamr@2
   117
SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
williamr@2
   118
williamr@2
   119
If  SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM is defined, the Composite
williamr@2
   120
File System allows more than one ROFS partition to be included in
williamr@2
   121
the composite Z: drive.
williamr@2
   122
williamr@2
   123
This #define supports PREQ1085
williamr@2
   124
*/
williamr@2
   125
#define SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
williamr@2
   126
williamr@2
   127
/**
williamr@2
   128
@publishedPartner
williamr@4
   129
@released
williamr@2
   130
williamr@2
   131
__SECURE_BIN__
williamr@2
   132
williamr@2
   133
When __SECURE_BIN__ is defined, executable files stored as
williamr@2
   134
"data" in the XIP ROM are assumed to be in their data-caged 
williamr@2
   135
locations. The presence of this #define does not imply that 
williamr@2
   136
data-caging is enforced, and does not imply that binaries have 
williamr@2
   137
been relocated to sys\bin.
williamr@2
   138
williamr@2
   139
This #define supports PREQ537 "Platform security - file system layout".
williamr@2
   140
*/
williamr@2
   141
#define __SECURE_BIN__
williamr@2
   142
williamr@2
   143
/**
williamr@2
   144
@publishedAll
williamr@4
   145
@released
williamr@2
   146
williamr@2
   147
SYMBIAN_COREAPPS_API_V2
williamr@2
   148
williamr@2
   149
If SYMBIAN_COREAPPS_API_V2 is defined then new functionality is available within 
williamr@2
   150
the Core Apps sub-system (Contacts Model, Agenda Model and World Server) to 
williamr@2
   151
support a platform secured OS.
williamr@2
   152
*/
williamr@2
   153
#define SYMBIAN_COREAPPS_API_V2
williamr@2
   154
williamr@2
   155
/**
williamr@2
   156
@publishedPartner
williamr@4
   157
@released
williamr@2
   158
williamr@2
   159
SYMBIAN_APPARC_APPINFO_CACHE
williamr@2
   160
williamr@2
   161
If SYMBIAN_APPARC_APPINFO_CACHE is defined then apparc creates 
williamr@2
   162
a file of application information on the first boot, which is 
williamr@2
   163
used during subsequent boots for application information.
williamr@2
   164
*/
williamr@2
   165
#define SYMBIAN_APPARC_APPINFO_CACHE
williamr@2
   166
williamr@2
   167
/**
williamr@2
   168
@publishedPartner
williamr@4
   169
@released
williamr@2
   170
williamr@2
   171
SYMBIAN_NETWORKING_IPSEC_IKE_V2
williamr@2
   172
williamr@2
   173
If SYMBIAN_NETWORKING_IPSEC_IKE_V2 is defined, IPSEC will 
williamr@2
   174
be able to support Internet Key Exchange version 2 in 
williamr@2
   175
addition to IKE v1. This involves a change in the size of 
williamr@2
   176
the TPfkeyMsgBase class - see BR1736.1.
williamr@2
   177
williamr@2
   178
Actual support for IKE v2 will depend on the provision 
williamr@2
   179
of a suitable plugin to the Key Management Daemon.
williamr@2
   180
williamr@2
   181
This #define supports PREQ1223.
williamr@2
   182
*/
williamr@2
   183
#define SYMBIAN_NETWORKING_IPSEC_IKE_V2
williamr@2
   184
williamr@2
   185
/**
williamr@2
   186
@publishedPartner
williamr@4
   187
@released
williamr@2
   188
williamr@2
   189
SYMBIAN_UIKON_UNIFICATION
williamr@2
   190
williamr@2
   191
When SYMBIAN_UIKON_UNIFICATION is defined, the existing 
williamr@2
   192
CEikSrvAppUiBase class is replaced with a customisable class
williamr@2
   193
provided by the System GUI. 
williamr@2
   194
williamr@2
   195
This #define supports PREQ819 and PREQ826
williamr@2
   196
*/
williamr@2
   197
#define SYMBIAN_UIKON_UNIFICATION
williamr@2
   198
williamr@2
   199
/**
williamr@2
   200
@publishedAll
williamr@4
   201
@released
williamr@2
   202
williamr@2
   203
__SECURITY_PLATSEC_ARCH__
williamr@2
   204
williamr@2
   205
If this macro is defined, then platform security aware security services 
williamr@2
   206
APIs will be present.  This includes architectural changes to several 
williamr@2
   207
components.
williamr@2
   208
williamr@2
   209
If this macro is not defined, the original version (since 8.0) of the 
williamr@2
   210
security services APIs will be present. 
williamr@2
   211
williamr@2
   212
The following components are affected:
williamr@2
   213
  cryptotokens
williamr@2
   214
  certman
williamr@2
   215
  filetokens
williamr@2
   216
williamr@2
   217
*/
williamr@2
   218
#define __SECURITY_PLATSEC_ARCH__
williamr@2
   219
williamr@2
   220
/**
williamr@2
   221
SYMBIAN_ECAM_CHUNKAPI
williamr@2
   222
williamr@2
   223
@publishedAll
williamr@2
   224
@released
williamr@2
   225
williamr@2
   226
Specifies that an extended API will be used in the multimedia 
williamr@2
   227
camera interface. This has a v2 observer which allows camera data 
williamr@2
   228
to be returned without buffer copy, and also allows clients to set 
williamr@2
   229
camera access priority
williamr@2
   230
williamr@2
   231
@see CCamera
williamr@2
   232
@see MCameraObserver2
williamr@2
   233
williamr@2
   234
This #define supports PREQ799.
williamr@2
   235
*/
williamr@2
   236
#define SYMBIAN_ECAM_CHUNKAPI
williamr@2
   237
williamr@2
   238
/**
williamr@2
   239
@publishedAll
williamr@4
   240
@released
williamr@2
   241
williamr@2
   242
SYMBIAN_SECURE_ECOM
williamr@2
   243
williamr@2
   244
When SYMBIAN_SECURE_ECOM is not defined, ECOM plugins are discovered by 
williamr@2
   245
searching for DLLs in System\libs\plugins, and inferring the name of 
williamr@2
   246
the resource file from the UID3 of the DLL.
williamr@2
   247
williamr@2
   248
When SYMBIAN_SECURE_ECOM is defined, ECOM plugins will also be discovered
williamr@2
   249
by searching for resource files in \Resource\Plugins, and inferring the
williamr@2
   250
name of the DLL from the name of the resource file. When platform security
williamr@2
   251
is fully enforced, only this new style of discovery will work.
williamr@2
   252
*/
williamr@2
   253
#define SYMBIAN_SECURE_ECOM
williamr@2
   254
williamr@2
   255
/**
williamr@2
   256
@publishedAll
williamr@4
   257
@released
williamr@2
   258
williamr@2
   259
SYMBIAN_INETPROTUTILS_RFC3986
williamr@2
   260
williamr@2
   261
Description:
williamr@2
   262
If SYMBIAN_INETPROTUTILS_RFC3986 is defined, the Internet 
williamr@2
   263
Protocol Utility Library supports RFC 3986, which increases 
williamr@2
   264
the set of reserved characters.
williamr@2
   265
williamr@2
   266
@see EscapeUtils::IsExcludedChar
williamr@2
   267
williamr@2
   268
This #define implements BR2009.
williamr@2
   269
*/
williamr@2
   270
#define SYMBIAN_INETPROTUTILS_RFC3986
williamr@2
   271
williamr@2
   272
/**
williamr@2
   273
@publishedPartner
williamr@4
   274
@released
williamr@2
   275
williamr@2
   276
SYMBIAN_FONT_METRICS_V2 
williamr@2
   277
williamr@2
   278
If this is defined, then classes which derive from COpenFont (usually 
williamr@2
   279
these are part of a font rasterizer implementation) must set the 
williamr@2
   280
protected member variables:
williamr@2
   281
iFontAscentOfCapitals
williamr@2
   282
iFontAscentIncAccents
williamr@2
   283
iFontDescent
williamr@2
   284
iFontLineGap
williamr@2
   285
to appropriate values during the creation of a font. 
williamr@2
   286
If this macro is not defined then these member variables do not exist.
williamr@2
   287
williamr@2
   288
@see COpenFont
williamr@2
   289
*/
williamr@2
   290
#define SYMBIAN_FONT_METRICS_V2
williamr@2
   291
williamr@2
   292
/**
williamr@2
   293
@publishedAll
williamr@4
   294
@released
williamr@2
   295
williamr@2
   296
__OBEX_USER_DEFINED_HEADERS__
williamr@2
   297
williamr@2
   298
If __OBEX_USER_DEFINED_HEADERS__ is defined then the new API support for extended Headers will be available.
williamr@2
   299
This new support includes USER DEFINED HEADERS and the COUNT header.
williamr@2
   300
If this functionality is compiled out then the old API is available as before.
williamr@2
   301
For more information on see documents shown below.
williamr@2
   302
williamr@2
   303
@see SGL.GT171.097 - Obex Header Extension how to
williamr@2
   304
@see SGL.GT171.095 - Obex Extension Design Document
williamr@2
   305
*/
williamr@2
   306
#define __OBEX_USER_DEFINED_HEADERS__
williamr@2
   307
williamr@2
   308
/**
williamr@2
   309
@publishedPartner
williamr@4
   310
@released
williamr@2
   311
williamr@2
   312
SYMBIAN_CENTREP_NOC
williamr@2
   313
williamr@2
   314
If SYMBIAN_CENTREP_NOC is defined, the Central Repository 
williamr@2
   315
includes Notify-Only Client Optimization. This will cause 
williamr@2
   316
repositories to be unloaded after a timeout even if the 
williamr@2
   317
connection is still open.
williamr@2
   318
williamr@2
   319
This #define supports PREQ1228. 
williamr@2
   320
*/
williamr@2
   321
#define SYMBIAN_CENTREP_NOC
williamr@2
   322
williamr@2
   323
/**
williamr@2
   324
@publishedPartner
williamr@4
   325
@released
williamr@2
   326
@since 8.1
williamr@2
   327
williamr@2
   328
SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT 
williamr@2
   329
williamr@2
   330
If this is defined, the MHCIEventObserver class must implement
williamr@2
   331
the FlushCompleteEvent virtual function, which will be used by 
williamr@2
   332
the link manager to send Flush Complete events up to the stack. 
williamr@2
   333
If this macro is not defined, Flush Complete events will be discarded.
williamr@2
   334
williamr@2
   335
@see MHCIEventObserver
williamr@2
   336
@see CHCIFacade
williamr@2
   337
*/
williamr@2
   338
#define SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
williamr@2
   339
williamr@2
   340
/**
williamr@2
   341
@publishedAll
williamr@4
   342
@released
williamr@2
   343
williamr@2
   344
SYMBIAN_MULTIMEDIA_CODEC_API
williamr@2
   345
williamr@2
   346
If SYMBIAN_MULTIMEDIA_CODEC_API is defined then support is 
williamr@2
   347
available for PREQ1024 delivered Processing Unit or 
williamr@2
   348
OpenMAX based codecs and Multimedia hardware devices.
williamr@2
   349
*/
williamr@2
   350
#define SYMBIAN_MULTIMEDIA_CODEC_API
williamr@4
   351
/** 
williamr@4
   352
@publishedAll
williamr@4
   353
@released
williamr@4
   354
williamr@4
   355
williamr@4
   356
SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT 
williamr@4
   357
williamr@4
   358
Provides support control the presentation of subtitle and closed captioning text
williamr@4
   359
from video playback controllers in the Multimedia Framework as part of @see CVideoPlayerUtility2.
williamr@4
   360
Note that this support is dependent on the following being present in ROM: 
williamr@4
   361
- GCE version of Graphics (migration component)
williamr@4
   362
- GCE version of Videorender (optional component).
williamr@4
   363
- The Subtitle plugin (optional component). 
williamr@4
   364
williamr@4
   365
This #define supports PREQ1939 
williamr@4
   366
*/ 
williamr@4
   367
#define SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT
williamr@2
   368
williamr@2
   369
/**
williamr@2
   370
@publishedAll
williamr@4
   371
@released
williamr@2
   372
williamr@2
   373
__MESSAGING_API_V2__
williamr@2
   374
williamr@2
   375
If __MESSAGING_API_V2__ is defined then new functionality 
williamr@2
   376
is available within the Messaging sub-system to support a 
williamr@2
   377
platform secured OS, e.g. the Attachment API.
williamr@2
   378
*/
williamr@2
   379
#define __MESSAGING_API_V2__
williamr@2
   380
#define __HIDE_MESSAGING_API_V1__
williamr@2
   381
#define __REMOVE_MESSAGING_API_V1__
williamr@2
   382
williamr@2
   383
/**
williamr@2
   384
@publishedPartner
williamr@4
   385
@released
williamr@2
   386
williamr@2
   387
SYMBIAN_BOOKMARK_DATABASE
williamr@2
   388
williamr@2
   389
The Bookmark Database is an API used to provide system-wide 
williamr@2
   390
storage and management functionality for URI bookmarks. 
williamr@2
   391
If defined, this macro indicates that the Bookmark Database 
williamr@2
   392
API is present in the platform.
williamr@2
   393
*/
williamr@2
   394
#define SYMBIAN_BOOKMARK_DATABASE
williamr@2
   395
williamr@2
   396
/**
williamr@2
   397
@publishedPartner
williamr@4
   398
@released
williamr@2
   399
williamr@2
   400
SYMBIAN_NETWORKING_UMTSR5
williamr@2
   401
williamr@2
   402
If SYMBIAN_NETWORKING_UMTSR5 is defined support for the QoS 
williamr@2
   403
and IMS parameters introduced by Release 5 of the 3GPP 
williamr@2
   404
specification will be enabled. This involves a BC break in 
williamr@2
   405
TContextConfig - see BR1582.1 for details.
williamr@2
   406
williamr@2
   407
@see TContextConfig
williamr@2
   408
williamr@2
   409
This #define supports PREQ192 and PREQ635.
williamr@2
   410
*/
williamr@2
   411
#define SYMBIAN_NETWORKING_UMTSR5
williamr@2
   412
williamr@2
   413
/**
williamr@2
   414
@publishedPartner
williamr@4
   415
@released
williamr@2
   416
williamr@2
   417
SYMBIAN_NETWORKING_3GPPDEFAULTQOS
williamr@2
   418
williamr@2
   419
If SYMBIAN_NETWORKING_3GPPDEFAULTQOS is defined, support 
williamr@2
   420
for QoS modification on the default PDP context will be 
williamr@2
   421
enabled via the RSubconnection API.
williamr@2
   422
williamr@2
   423
This #define supports PREQ870.
williamr@2
   424
*/
williamr@2
   425
#define SYMBIAN_NETWORKING_3GPPDEFAULTQOS
williamr@2
   426
williamr@2
   427
williamr@2
   428
/**
williamr@2
   429
SYMBIAN_STAGED_SYSTEM_STARTUP
williamr@2
   430
williamr@2
   431
@publishedPartner
williamr@4
   432
@released
williamr@2
   433
williamr@2
   434
When SYMBIAN_STAGED_SYSTEM_STARTUP is defined, the staged 
williamr@2
   435
start-up architecture has been introduced into the OS and 
williamr@2
   436
'Start-up State Aware' components can make use of the 
williamr@2
   437
architecture.
williamr@2
   438
williamr@2
   439
This #define supports PREQ 810.
williamr@2
   440
*/
williamr@2
   441
#define SYMBIAN_STAGED_SYSTEM_STARTUP
williamr@2
   442
williamr@2
   443
/**
williamr@2
   444
@publishedAll
williamr@4
   445
@released
williamr@2
   446
williamr@2
   447
__HIDE_IPC_V1__
williamr@2
   448
williamr@2
   449
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
   450
williamr@2
   451
For more information see the document listed below.
williamr@2
   452
williamr@2
   453
@see SMG.SM0005.004 - Platform Security Development for Zephyr
williamr@2
   454
@see CSession
williamr@2
   455
@see CServer
williamr@2
   456
@see RMessage
williamr@2
   457
@see RMessagePtr
williamr@2
   458
*/
williamr@2
   459
#define __HIDE_IPC_V1__
williamr@2
   460
williamr@2
   461
/**
williamr@2
   462
@publishedPartner
williamr@4
   463
@released
williamr@2
   464
williamr@2
   465
SYMBIAN_NETWORKING_DHCPSERVER
williamr@2
   466
williamr@2
   467
If SYMBIAN_NETWORKING_DHCPSERVER is defined, Symbian OS includes a
williamr@2
   468
simplified DHCPv4 server capable of dealing with single client.
williamr@2
   469
williamr@2
   470
This #define provides functionality to support PREQ749.
williamr@2
   471
*/
williamr@2
   472
#define SYMBIAN_NETWORKING_DHCPSERVER
williamr@2
   473
williamr@2
   474
/**  
williamr@2
   475
@publishedAll 
williamr@4
   476
@released
williamr@2
   477
williamr@2
   478
SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
williamr@2
   479
williamr@2
   480
This macro removes the trivial encryption APIs that are exported by EUSER. 
williamr@2
   481
williamr@2
   482
See BR1320 for more details
williamr@2
   483
williamr@2
   484
*/
williamr@2
   485
#define SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
williamr@2
   486
williamr@2
   487
/**
williamr@2
   488
@internalTechnology
williamr@2
   489
williamr@2
   490
SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
williamr@2
   491
williamr@2
   492
Description:
williamr@2
   493
If SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST is defined, the WAP Push
williamr@2
   494
watcher compares the origin of Push messages against URIs in a
williamr@2
   495
"White list" and "Black list".
williamr@2
   496
williamr@2
   497
This #define supports PREQ1505
williamr@2
   498
*/
williamr@2
   499
#define SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
williamr@2
   500
williamr@2
   501
/**
williamr@2
   502
@publishedPartner
williamr@4
   503
@released
williamr@2
   504
williamr@2
   505
SYMBIAN_FLEXIBLE_ALARM
williamr@2
   506
williamr@2
   507
When this macro is defined, Calendar Interim API, Alarm server and UIKON 
williamr@2
   508
Alert Server will support additional functionality.
williamr@2
   509
- Extra data can be attached to calendar alarm and allow UI app 
williamr@2
   510
to retrieve the associated data.
williamr@2
   511
- The Alarm server can send multiple expired alarms to Alert Server without 
williamr@2
   512
waiting for the previous alarm acknowledged first
williamr@2
   513
- A Resource file can be used to configure alarm play intervals and durations, 
williamr@2
   514
or to disable alarm sound control.
williamr@2
   515
williamr@2
   516
This #define supports PREQ1118
williamr@2
   517
*/
williamr@2
   518
#define SYMBIAN_FLEXIBLE_ALARM
williamr@2
   519
williamr@2
   520
/**
williamr@2
   521
@publishedPartner
williamr@4
   522
@released
williamr@2
   523
williamr@2
   524
SYMBIAN_PKCS12
williamr@2
   525
williamr@2
   526
If SYMBIAN_PKCS12 is defined, the PKCS#12 Key Derivation 
williamr@2
   527
Algorithm is supplied.
williamr@2
   528
williamr@2
   529
This #define supports PREQ1054. 
williamr@2
   530
*/
williamr@2
   531
#define SYMBIAN_PKCS12
williamr@2
   532
williamr@2
   533
/**
williamr@2
   534
@publishedAll
williamr@4
   535
@released
williamr@2
   536
williamr@2
   537
SYMBIAN_MMF_AUTOPAUSE_RESUME
williamr@2
   538
williamr@2
   539
This #define enables extra features in the MMF APIs for auto pause 
williamr@2
   540
and resume of audio streams.
williamr@2
   541
*/
williamr@2
   542
#define SYMBIAN_MMF_AUTOPAUSE_RESUME
williamr@2
   543
williamr@2
   544
/**
williamr@2
   545
@publishedAll
williamr@4
   546
@released
williamr@2
   547
williamr@2
   548
__SECURE_BACKUP__
williamr@2
   549
williamr@2
   550
If __SECURE_BACKUP__ is defined, the Secure Backup server replaces
williamr@2
   551
the use of SCRemFs for backup and restore, changing the backup protocol.
williamr@2
   552
Applications which have private data need to provide additional backup 
williamr@2
   553
registration files, and may use Publish & Subscribe to receive 
williamr@2
   554
notification of backup requests.
williamr@2
   555
williamr@2
   556
This #define supports PREQ716 - Provide support for secure backup and 
williamr@2
   557
restore for licensee PC Connectivity software 
williamr@2
   558
*/
williamr@2
   559
#define __SECURE_BACKUP__
williamr@2
   560
williamr@2
   561
/** 
williamr@2
   562
@publishedAll
williamr@4
   563
@released
williamr@2
   564
williamr@2
   565
SYMBIAN_NETWORKING_REMOVE_RGENERIC
williamr@2
   566
williamr@2
   567
If this macro is defined the deprecated APIs RGenericAgent, 
williamr@2
   568
RNif, RNifMonitor and Nifman are removed. All of these APIs, 
williamr@2
   569
exported by NIFMAN, have been deprecated and replaced by 
williamr@2
   570
the RConnection API exported by ESOCK.
williamr@2
   571
williamr@2
   572
@see Break request BR1070 
williamr@2
   573
*/ 
williamr@2
   574
#define SYMBIAN_NETWORKING_REMOVE_RGENERIC
williamr@2
   575
williamr@2
   576
/**
williamr@2
   577
@publishedPartner
williamr@2
   578
@released 9.0
williamr@2
   579
williamr@2
   580
SYMBIAN_NETWORKING_RSUBCONNECTION
williamr@2
   581
williamr@2
   582
If SYMBIAN_NETWORKING_RSUBCONNECTION is defined, the RQosChannel API is
williamr@2
   583
removed, and the RSubConnection API exported by ESOCK must be used instead.
williamr@2
   584
williamr@2
   585
This #define supports PREQ 26.
williamr@2
   586
*/ 
williamr@2
   587
#define SYMBIAN_NETWORKING_RSUBCONNECTION
williamr@2
   588
williamr@2
   589
/**
williamr@2
   590
@publishedAll
williamr@4
   591
@released
williamr@2
   592
williamr@2
   593
SYMBIAN_HIDE_COREAPPS_API_V1
williamr@2
   594
williamr@2
   595
If SYMBIAN_HIDE_COREAPPS_API_V1 is defined then the insecure CoreApps APIs
williamr@2
   596
will be removed from various Symbian OS header files. Components affected are 
williamr@2
   597
Contacts Model, Agenda Model and World Server.
williamr@2
   598
williamr@2
   599
The related define SYMBIAN_REMOVE_COREAPPS_API_V1 removes the underlying implementations,
williamr@2
   600
causing a binary compatibility break to match the source compatibility break.
williamr@2
   601
*/
williamr@2
   602
#define SYMBIAN_HIDE_COREAPPS_API_V1
williamr@2
   603
#define SYMBIAN_REMOVE_COREAPPS_API_V1
williamr@2
   604
williamr@2
   605
/**
williamr@2
   606
@publishedAll
williamr@4
   607
@released
williamr@2
   608
williamr@2
   609
__UI_FRAMEWORKS_V2__
williamr@2
   610
williamr@2
   611
If __UI_FRAMEWORKS_V2__ is defined then PlatSec aware UI Frameworks API's will be available. 
williamr@2
   612
The following frameworks will be affected:
williamr@2
   613
williamr@2
   614
Applications 
williamr@2
   615
File Recognizers
williamr@2
   616
Data Recognizers
williamr@2
   617
Notifiers
williamr@2
   618
Control Panel Plugins
williamr@2
   619
Feps
williamr@2
   620
App-initialization (CEikLibrary)
williamr@2
   621
Converters
williamr@2
   622
Error-Resolving
williamr@2
   623
*/
williamr@2
   624
#define __UI_FRAMEWORKS_V2__
williamr@2
   625
#define SYMBIAN_HIDE_UI_FRAMEWORKS_V1
williamr@2
   626
#define SYMBIAN_REMOVE_UI_FRAMEWORKS_V1
williamr@2
   627
williamr@2
   628
/**
williamr@2
   629
@internalAll
williamr@2
   630
williamr@2
   631
__BC_FUTURE_PROOFING__
williamr@2
   632
williamr@2
   633
Support for the implementation of PREQ743 "Introduction of interface 
williamr@2
   634
robustness patterns to support future binary compatibility".
williamr@2
   635
*/
williamr@2
   636
#define __BC_FUTURE_PROOFING__
williamr@2
   637
williamr@2
   638
/** 
williamr@2
   639
@publishedPartner 
williamr@4
   640
@released
williamr@4
   641
williamr@2
   642
SYMBIAN_TELEPHONY_USAT5 
williamr@2
   643
williamr@2
   644
If SYMBIAN_TELEPHONY_USAT5 is defined then support for 3GPP 
williamr@2
   645
Release 5 (U)SAT will be enabled. 
williamr@2
   646
williamr@2
   647
@see RSat::TCallControlV5
williamr@2
   648
williamr@2
   649
This #define supports PREQ1234.
williamr@2
   650
*/ 
williamr@2
   651
#define SYMBIAN_TELEPHONY_USAT5
williamr@2
   652
williamr@2
   653
/**
williamr@2
   654
SYMBIAN_GENERIC_SYSTEM_STARTUP
williamr@2
   655
williamr@2
   656
@publishedPartner
williamr@4
   657
@released
williamr@2
   658
williamr@2
   659
This #define enables the generic start-up architecture in
williamr@2
   660
which the System Starter process is responsible for the
williamr@2
   661
controlled startup of the system. 
williamr@2
   662
williamr@2
   663
The #define supports PREQ808 and PREQ809.
williamr@2
   664
*/
williamr@2
   665
#define SYMBIAN_GENERIC_SYSTEM_STARTUP
williamr@2
   666
williamr@2
   667
/**
williamr@2
   668
@publishedAll
williamr@4
   669
@released
williamr@2
   670
williamr@2
   671
SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
williamr@2
   672
williamr@2
   673
If this macro is defined, then the Bluetooth stack reconfigures to take
williamr@2
   674
advantage of security mechanisms in Publish and Subscribe. Any other
williamr@2
   675
components requiring reconfiguration to make use of Publish and Subscribe
williamr@2
   676
can also use this macro.
williamr@2
   677
williamr@2
   678
*/
williamr@2
   679
#define SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
williamr@2
   680
williamr@2
   681
/**
williamr@2
   682
@publishedAll
williamr@4
   683
@released
williamr@2
   684
williamr@2
   685
SYMBIAN_SECURITY_CAF_RFILE_HANDLE
williamr@2
   686
williamr@2
   687
If SYMBIAN_SECURITY_CAF_RFILE_HANDLE is defined then it enables the Content Access 
williamr@2
   688
Framework to read from files passed to it as an open RFile handles instead of CAF 
williamr@2
   689
opening the file itself. This allows files stored in a data caged directory to be 
williamr@2
   690
read by CAF.  
williamr@2
   691
williamr@2
   692
*/
williamr@2
   693
#define SYMBIAN_SECURITY_CAF_RFILE_HANDLE
williamr@2
   694
williamr@2
   695
/**
williamr@2
   696
@publishedAll
williamr@4
   697
@released
williamr@2
   698
williamr@2
   699
__JAVACUSTOMINSTALL__
williamr@2
   700
williamr@2
   701
If __JAVACUSTOMINSTALL__ is defined then an additional UI callback is made after MIDlet
williamr@2
   702
installation has succeeded or failed. This callback is intended for information only and the 
williamr@2
   703
information passed can be licensee customised. The intention would be that the device user
williamr@2
   704
can use this information to diagnose install problems in conjunction with network operators.
williamr@2
   705
If this #define is not present then the callback is not present and is not called.
williamr@2
   706
For more information on see documents shown below.
williamr@2
   707
williamr@2
   708
@see SGL.GT0188.253 CDMA Java MIDlet Installer Component Design
williamr@2
   709
*/
williamr@2
   710
#define __JAVACUSTOMINSTALL__
williamr@2
   711
williamr@2
   712
/**  
williamr@2
   713
@publishedAll 
williamr@4
   714
@released
williamr@2
   715
williamr@2
   716
SYMBIAN_MDF_API_V2 
williamr@2
   717
williamr@2
   718
This macro selects the Symbian OS 9.x phase of development in 
williamr@2
   719
the Media Device Framework API, including changes to enable 
williamr@2
   720
MDF Video Decoder Hardware devices to support applications, 
williamr@2
   721
streaming and demux.
williamr@2
   722
williamr@2
   723
@see CMMFVideoPlayHwDevice
williamr@2
   724
*/ 
williamr@2
   725
#define SYMBIAN_MDF_API_V2
williamr@2
   726
williamr@2
   727
/**
williamr@2
   728
@publishedPartner
williamr@4
   729
@released
williamr@2
   730
williamr@2
   731
SYMBIAN_SMS_REL6_SUPPORT
williamr@2
   732
williamr@2
   733
SMS Release 6 support is defined in the 3GPP specifications
williamr@2
   734
(3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0).
williamr@2
   735
If defined, this macro indicates that Symbian OS SMS APIs
williamr@2
   736
shall support Release 6 functionality.
williamr@2
   737
*/
williamr@2
   738
#define SYMBIAN_SMS_REL6_SUPPORT
williamr@2
   739
williamr@2
   740
/**
williamr@2
   741
@publishedPartner
williamr@4
   742
@released
williamr@2
   743
williamr@2
   744
SYMBIAN_SWI_POST_INSTALL_REVOCATION
williamr@2
   745
williamr@2
   746
When SYMBIAN_SWI_POST_INSTALL_REVOCATION is defined, 
williamr@2
   747
support for the SWI post install revocation service is enabled.
williamr@2
   748
williamr@2
   749
This #define supports PREQ919
williamr@2
   750
*/
williamr@2
   751
#define SYMBIAN_SWI_POST_INSTALL_REVOCATION
williamr@2
   752
williamr@2
   753
/**
williamr@2
   754
@publishedPartner
williamr@4
   755
@released
williamr@2
   756
williamr@2
   757
SYMBIAN_TELEPHONY_IMS
williamr@2
   758
williamr@2
   759
If SYMBIAN_TELEPHONY_IMS is defined then IMS related APIs are included 
williamr@2
   760
in Telephony components.
williamr@2
   761
williamr@2
   762
This #define supports PREQ61.
williamr@2
   763
*/
williamr@2
   764
#define SYMBIAN_TELEPHONY_IMS
williamr@2
   765
williamr@2
   766
/**
williamr@2
   767
@publishedPartner
williamr@4
   768
@released
williamr@2
   769
williamr@2
   770
SYMBIAN_IGNORE_BIN_TARGETPATH
williamr@2
   771
williamr@2
   772
When SYMBIAN_IGNORE_BIN_TARGETPATH is defined the TARGETPATH keyword in MMP files is ignored for executables. 
williamr@2
   773
Executables for the emulator instead get built to the default location.
williamr@2
   774
e.g. \epoc32\release\winscw\udeb
williamr@2
   775
*/
williamr@2
   776
#define SYMBIAN_IGNORE_BIN_TARGETPATH
williamr@2
   777
williamr@2
   778
/**
williamr@2
   779
@publishedAll 
williamr@4
   780
@released
williamr@2
   781
williamr@2
   782
SYMBIAN_COMMS_REPOSITORY
williamr@2
   783
williamr@2
   784
Comms data is now stored in the Central Repository rather than the DBMS server.  
williamr@2
   785
A new module, CommsDat.dll, replaces Commdb.dll as the interface for comms data stored on a device. 
williamr@2
   786
CommsDat has a different API to Commdb, but provides equivalent functionality. 
williamr@2
   787
There is no longer an SQL API for access to Comms Data. 
williamr@2
   788
Commdb tools have been migrated for use with CommsDat 
williamr@2
   789
Commdb is deprecated and should not be used, though it remains as a temporary BC shim on top of CommsDat.   
williamr@2
   790
*/
williamr@2
   791
#define SYMBIAN_COMMS_REPOSITORY
williamr@2
   792
williamr@2
   793
/**
williamr@2
   794
@publishedAll
williamr@4
   795
@released
williamr@2
   796
williamr@2
   797
SYMBIAN_VARIABLE_BITRATE_CODEC
williamr@2
   798
williamr@2
   799
If SYMBIAN_VARIABLE_BITRATE_CODEC is defined then 
williamr@2
   800
CMMFSwCodecWrapper based audio hardware devices in the 
williamr@2
   801
Multimedia Framework (MMF) can support variable bitrate codecs.
williamr@2
   802
williamr@2
   803
@see CMMFSwCodecWrapper
williamr@2
   804
*/
williamr@2
   805
#define SYMBIAN_VARIABLE_BITRATE_CODEC
williamr@2
   806
williamr@2
   807
/**
williamr@2
   808
@publishedAll
williamr@4
   809
@released
williamr@2
   810
williamr@2
   811
__SECURE_TELEPHONY__
williamr@2
   812
williamr@2
   813
If __SECURE_TELEPHONY__ is defined, all Platform Security functionality 
williamr@2
   814
within the Telephony subsystem will be enabled.
williamr@2
   815
If __SECURE_TELEPHONY__ is not defined, no Platform Security functionality 
williamr@2
   816
within the Telephony subsystem is enabled.
williamr@2
   817
*/
williamr@2
   818
#define __SECURE_TELEPHONY__
williamr@2
   819
williamr@2
   820
/**
williamr@2
   821
@publishedPartner
williamr@4
   822
@released
williamr@2
   823
williamr@2
   824
SYMBIAN_CAF_V2
williamr@2
   825
williamr@2
   826
The SYMBIAN_CAF_V2 flag indicates the CAF API v2 is present. 
williamr@2
   827
CAF v2 supports files containing multiple content objects, which requires 
williamr@2
   828
a change of API for CAF agents: agents written for CAF v1 will not compile
williamr@2
   829
against CAF v2. See BR.1219.2 for migration information.
williamr@2
   830
williamr@2
   831
This #define supports PREQ780.
williamr@2
   832
*/
williamr@2
   833
#define SYMBIAN_CAF_V2
williamr@2
   834
williamr@2
   835
/**
williamr@2
   836
SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
williamr@2
   837
williamr@2
   838
@publishedPartner
williamr@4
   839
@released
williamr@4
   840
williamr@2
   841
This macro enables a consolidation phase in the ROM building 
williamr@2
   842
process to generate additional metadata for each ROM drive.  
williamr@2
   843
The metadata describes the content and structure of the ROM 
williamr@2
   844
conveniently filtered for any component that requires it.
williamr@2
   845
williamr@2
   846
Components supply metadata with the "spidata" BUILDROM keyword.
williamr@2
   847
williamr@2
   848
This macro supports PREQ806 and other requirements that 
williamr@2
   849
eliminate run-time scanning of ROM content.
williamr@2
   850
*/
williamr@2
   851
#define SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
williamr@2
   852
williamr@2
   853
/**
williamr@2
   854
@publishedPartner
williamr@4
   855
@released
williamr@2
   856
williamr@2
   857
SYMBIAN_BLUETOOTH_ESCO_ENABLED
williamr@2
   858
williamr@2
   859
Enable support for Bluetooth eSCO synchronous links.  
williamr@2
   860
Defining this macro extends the interface to CHCIBase to support 
williamr@2
   861
the Synchronous connection commands added in Bluetooth 1.2.
williamr@2
   862
*/
williamr@2
   863
#define SYMBIAN_BLUETOOTH_ESCO_ENABLED
williamr@2
   864
williamr@2
   865
/**
williamr@2
   866
@publishedPartner
williamr@4
   867
@released
williamr@2
   868
williamr@2
   869
SYMBIAN_SECURE_MIDLET_INSTALL
williamr@2
   870
williamr@2
   871
If SYMBIAN_SECURE_MIDLET_INSTALL is defined then the Java MIDlet 
williamr@2
   872
Installer supports installation under Platform Security policies, 
williamr@2
   873
using the interface published by security\JavaMIDletInstaller.
williamr@2
   874
williamr@2
   875
If SYMBIAN_SECURE_MIDLET_INSTALL is not defined then Java MIDlet 
williamr@2
   876
installation is achieved through the security\appinst interfaces.
williamr@2
   877
*/
williamr@2
   878
#define SYMBIAN_SECURE_MIDLET_INSTALL
williamr@2
   879
williamr@2
   880
/**
williamr@2
   881
@publishedAll
williamr@4
   882
@released
williamr@2
   883
williamr@2
   884
SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
williamr@2
   885
williamr@2
   886
If SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2 is defined then 
williamr@2
   887
the following additional features will be available in CONE.
williamr@2
   888
1) Functions to set and get the background of a control.
williamr@2
   889
2) Functions to add components to a compound control in a simpler way.
williamr@2
   890
3) Hooks for the support of layout managers.
williamr@2
   891
4) A component that will provide fonts and cache them for easier use 
williamr@2
   892
   of these fonts by controls.
williamr@2
   893
williamr@2
   894
@see CCoeControl
williamr@2
   895
*/
williamr@2
   896
#define SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
williamr@2
   897
williamr@2
   898
/**
williamr@2
   899
@publishedAll
williamr@4
   900
@released
williamr@2
   901
williamr@2
   902
SYMBIAN_CNTMODEL_V2
williamr@2
   903
williamr@2
   904
If SYMBIAN_CNTMODEL_V2 is defined, clients of the
williamr@2
   905
Contacts Model can exploit the efficiency improvements
williamr@2
   906
introduced by PREQ811, e.g. efficient use of transactions. 
williamr@2
   907
williamr@2
   908
This #define supports PREQ811
williamr@2
   909
*/
williamr@2
   910
#define SYMBIAN_CNTMODEL_V2
williamr@2
   911
williamr@2
   912
/**
williamr@2
   913
@publishedAll
williamr@4
   914
@released
williamr@2
   915
williamr@2
   916
SYMBIAN_COREAPPS_PLUGIN_API_V2
williamr@2
   917
williamr@2
   918
If SYMBIAN_COREAPPS_PLUGIN_API_V2 is defined then  Ecom solely is used as loading 
williamr@2
   919
mechanism.The legacy plugin loading mechanism is used otherwise.
williamr@2
   920
*/
williamr@2
   921
#define SYMBIAN_COREAPPS_PLUGIN_API_V2
williamr@2
   922
williamr@2
   923
/**
williamr@2
   924
@internalAll
williamr@2
   925
williamr@2
   926
DO_NOT_USE_THIS_MACRO
williamr@2
   927
williamr@2
   928
If DO_NOT_USE_THIS_MACRO is defined, assume the Cedar platform.
williamr@2
   929
If DO_NOT_USE_THIS_MACRO is not defined, assume the Beech platform.
williamr@2
   930
williamr@2
   931
This macro was originally introduced as a stopgap measure, to
williamr@2
   932
identify differences between Symbian OS v7.0s and Symbian OS v8.0b
williamr@2
   933
which were not specifically to do with the change from Kernel
williamr@2
   934
Architecture 1 to Kernel Architecture 2.
williamr@2
   935
williamr@2
   936
This macro will be deprecated when a suitable alternative is provided.
williamr@2
   937
*/
williamr@2
   938
#ifndef DO_NOT_USE_THIS_MACRO
williamr@2
   939
#define DO_NOT_USE_THIS_MACRO
williamr@2
   940
#endif
williamr@2
   941
williamr@2
   942
/** 
williamr@2
   943
@publishedPartner
williamr@4
   944
@released
williamr@2
   945
williamr@2
   946
SYMBIAN_C32ROOT_API_V2
williamr@2
   947
williamr@2
   948
Strengthens the C32Root API and extends it to include 
williamr@2
   949
configuration of queue length for bindings. 
williamr@2
   950
williamr@2
   951
This #define supports PREQ318.
williamr@2
   952
*/
williamr@2
   953
#define SYMBIAN_C32ROOT_API_V2
williamr@2
   954
williamr@2
   955
/**
williamr@2
   956
@publishedAll
williamr@4
   957
@released
williamr@2
   958
williamr@2
   959
__SECURE_API__
williamr@2
   960
williamr@2
   961
Hides unsecure APIs. Many of these have been replaced by Secure variants 
williamr@2
   962
but some are no longer available in a Secure platform.
williamr@2
   963
williamr@2
   964
e.g.
williamr@2
   965
williamr@2
   966
@see User::RenameThread
williamr@2
   967
@see User::CommandLine
williamr@2
   968
williamr@2
   969
*/
williamr@2
   970
#define __SECURE_API__
williamr@2
   971
#define SYMBIAN_REMOVE_INSECURE_API
williamr@2
   972
williamr@2
   973
/**
williamr@2
   974
@publishedAll
williamr@4
   975
@released
williamr@2
   976
williamr@2
   977
__CNF_FORMAT_V2__
williamr@2
   978
williamr@2
   979
If __CNF_FORMAT_V2__ is defined, assume that Epoccnf.pl generates
williamr@2
   980
files in version 2 of the CNF format, and that both versions 1
williamr@2
   981
and 2 of this file format can be read by Conarc.
williamr@2
   982
If __CNF_FORMAT_V2__ is not defined, assume that Epoccnf.pl
williamr@2
   983
generates files in version 1 of the CNF format, and that only
williamr@2
   984
version 1 of this file format can be read by Conarc.
williamr@2
   985
*/
williamr@2
   986
#define __CNF_FORMAT_V2__
williamr@2
   987
williamr@2
   988
/** 
williamr@2
   989
@publishedPartner 
williamr@4
   990
@released
williamr@2
   991
williamr@2
   992
SYMBIAN_SUPPORT_LINKED_FONTS 
williamr@2
   993
williamr@2
   994
If SYMBIAN_SUPPORT_LINKED_FONTS is defined then APIs are provided 
williamr@2
   995
to create 'linked' font instances which combine glyph sets from 
williamr@2
   996
multiple existing font glyph sets.
williamr@2
   997
williamr@2
   998
@see CLinkedTypefaceElement
williamr@2
   999
@see CLinkedTypefaceSpecification
williamr@2
  1000
williamr@2
  1001
This #define supports PREQ1431.
williamr@2
  1002
*/ 
williamr@2
  1003
#define SYMBIAN_SUPPORT_LINKED_FONTS
williamr@2
  1004
williamr@2
  1005
/**
williamr@2
  1006
@publishedPartner
williamr@4
  1007
@released
williamr@2
  1008
williamr@2
  1009
SYMBIAN_SECURE_DBMS
williamr@2
  1010
williamr@2
  1011
When SYMBIAN_SECURE_DBMS is defined, support for secure 
williamr@2
  1012
shared databases is enabled within DBMS.  
williamr@2
  1013
When not defined, all secure-shared-database-specific APIs 
williamr@2
  1014
take the form of dummy implementations which return KErrNone.
williamr@2
  1015
*/
williamr@2
  1016
#define SYMBIAN_SECURE_DBMS
williamr@2
  1017
williamr@2
  1018
/**
williamr@2
  1019
@publishedAll
williamr@4
  1020
@released
williamr@2
  1021
williamr@2
  1022
SYMBIAN_ASSUME_SECURE_DATA
williamr@2
  1023
williamr@2
  1024
When this macro is defined, all data files are assumed to be in their secure
williamr@2
  1025
locations, and all code which provided backward compatibility for the
williamr@2
  1026
insecure locations is removed. For example, ICL extended resource files
williamr@2
  1027
will not be loaded from System\Libs\Plugins, only from \Resource\ICL.
williamr@2
  1028
williamr@2
  1029
This macro only makes sense if __SECURE_DATA__ is defined.
williamr@2
  1030
*/
williamr@2
  1031
#define SYMBIAN_ASSUME_SECURE_DATA
williamr@2
  1032
williamr@2
  1033
/**
williamr@2
  1034
@publishedAll
williamr@2
  1035
@deprecated
williamr@2
  1036
@since 8.0
williamr@2
  1037
williamr@2
  1038
__KEYSTORE_API_V2__
williamr@2
  1039
williamr@2
  1040
*/
williamr@2
  1041
#define __KEYSTORE_API_V2__
williamr@2
  1042
williamr@2
  1043
/**
williamr@2
  1044
@publishedAll
williamr@4
  1045
@released
williamr@2
  1046
williamr@2
  1047
__SECURE_DATA__
williamr@2
  1048
williamr@2
  1049
When __SECURE_DATA__ is defined, public read-only files are
williamr@2
  1050
assumed to be in their data-caged locations. The presence of
williamr@2
  1051
this #define does not imply that data-caging is enforced, and
williamr@2
  1052
does not imply that binaries have been relocated to sys\bin.
williamr@2
  1053
williamr@2
  1054
This #define supports PREQ537 "Platform security - file system layout".
williamr@2
  1055
*/
williamr@2
  1056
#define __SECURE_DATA__
williamr@2
  1057
williamr@2
  1058
/**
williamr@2
  1059
@publishedAll
williamr@4
  1060
@released
williamr@2
  1061
williamr@2
  1062
SYMBIAN_NETWORKING_PLATSEC
williamr@2
  1063
williamr@2
  1064
If SYMBIAN_NETWORKING_PLATSEC is defined, additional platform security 
williamr@2
  1065
related functionality in enabled in the Comms-Infras and Networking 
williamr@2
  1066
subsystems (e.g. API policing).
williamr@2
  1067
*/
williamr@2
  1068
#define SYMBIAN_NETWORKING_PLATSEC
williamr@2
  1069
williamr@2
  1070
/**
williamr@2
  1071
@publishedAll
williamr@4
  1072
@released
williamr@2
  1073
williamr@2
  1074
__CONDITIONS_SCHEDULES_VALID__
williamr@2
  1075
williamr@2
  1076
If __CONDITIONS_SCHEDULES_VALID__ is defined then the Task Scheduler component 
williamr@2
  1077
supports creating persistent schedules based on a set of conditions and a 
williamr@2
  1078
timeout. The schedule is run when either all the conditions are met or the 
williamr@2
  1079
timeout is reached.
williamr@2
  1080
williamr@2
  1081
This functionality is part of PREQ694 - PREQ 694 - Automatic sending of SMS on
williamr@2
  1082
network reconnection.
williamr@2
  1083
*/
williamr@2
  1084
#define __CONDITIONS_SCHEDULES_VALID__
williamr@2
  1085
williamr@2
  1086
/**
williamr@2
  1087
@internalComponent
williamr@2
  1088
williamr@2
  1089
__LEAVE_EQUALS_THROW__
williamr@2
  1090
williamr@2
  1091
If __LEAVE_EQUALS_THROW__ is defined, User::Leave() and TRAP() are 
williamr@2
  1092
implemented in terms of C++ exceptions where the compiler supports this.
williamr@2
  1093
If __LEAVE_EQUALS_THROW__ is not defined, the legacy Symbian exception 
williamr@2
  1094
mechanism is used instead.
williamr@2
  1095
williamr@2
  1096
Support for C++ exceptions by the compiler is indicated by the 
williamr@2
  1097
internal macro __SUPPORT_CPP_EXCEPTIONS__ supplied by the tools.  
williamr@2
  1098
Where this macro is not present, __LEAVE_EQUALS_THROW__ is automatically 
williamr@2
  1099
undefined.
williamr@2
  1100
williamr@2
  1101
This macro supports PREQ519 "Implement User::Leave() in terms of throw()".
williamr@2
  1102
*/
williamr@2
  1103
#define __LEAVE_EQUALS_THROW__
williamr@2
  1104
williamr@2
  1105
/**
williamr@2
  1106
@publishedAll
williamr@4
  1107
@released
williamr@2
  1108
williamr@2
  1109
__BLUETOOTH_API_V2__
williamr@2
  1110
williamr@2
  1111
If __BLUETOOTH_API_V2__ is defined assume that version 2 of the bluetooth
williamr@2
  1112
subsystem will be built.  This is binary compatible with version 1 for all
williamr@2
  1113
published-all APIs but is not source compatible.  Users of classes defined
williamr@2
  1114
in BTDevice.h and BTManClient.h may need to make source changes.
williamr@2
  1115
williamr@2
  1116
The BTRegistry.dll is removed, users should link instead against BTManClient.lib.
williamr@2
  1117
The APIs provided by that DLL were classified as published-partner.
williamr@2
  1118
williamr@2
  1119
@see CBTDevice
williamr@2
  1120
@see SGL.GT172.103 - Bluetooth Compatibility Specification
williamr@2
  1121
williamr@2
  1122
If __BLUETOOTH_API_V2__ is not defined then version 1 of the bluetooth subsystem
williamr@2
  1123
will be built.
williamr@2
  1124
williamr@2
  1125
*/
williamr@2
  1126
#define __BLUETOOTH_API_V2__
williamr@2
  1127
williamr@2
  1128
/**
williamr@2
  1129
@publishedAll
williamr@4
  1130
@released
williamr@2
  1131
williamr@2
  1132
__BLUETOOTH_HCI_ALLOWS_AFH__
williamr@2
  1133
williamr@2
  1134
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
  1135
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
  1136
The APIs provided by the HCI DLL were classified as published-partner.
williamr@2
  1137
williamr@2
  1138
@see CHCIBase
williamr@2
  1139
@see MHCIEventObserver
williamr@2
  1140
williamr@2
  1141
*/
williamr@2
  1142
#define __BLUETOOTH_HCI_ALLOWS_AFH__
williamr@2
  1143
williamr@2
  1144
/**
williamr@2
  1145
@publishedAll
williamr@4
  1146
@released
williamr@2
  1147
williamr@2
  1148
EKA2
williamr@2
  1149
williamr@2
  1150
If EKA2 is defined, assume Kernel Architecture 2.
williamr@2
  1151
If EKA2 is not defined, assume Kernel Architecture 1
williamr@2
  1152
williamr@2
  1153
Kernel Architecture 2 is a defining property of the Cedar platform.
williamr@2
  1154
Kernel Architecture 1 is a defining property of the Beech platform.
williamr@2
  1155
*/
williamr@2
  1156
#ifndef EKA2
williamr@2
  1157
#define EKA2
williamr@2
  1158
#endif
williamr@2
  1159
williamr@2
  1160
/**
williamr@2
  1161
@publishedPartner
williamr@4
  1162
@released
williamr@2
  1163
williamr@2
  1164
SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
williamr@2
  1165
williamr@2
  1166
When SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1 is defined a new EColor16MA 
williamr@2
  1167
display mode is available, having an alpha channel. The alpha support 
williamr@2
  1168
is tailored to the needs of wserv server-side, although some alpha 
williamr@2
  1169
support will also be available to client applications.
williamr@2
  1170
williamr@2
  1171
This #define supports PREQ915.
williamr@2
  1172
*/
williamr@2
  1173
#define SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
williamr@2
  1174
williamr@2
  1175
/**
williamr@2
  1176
@publishedPartner
williamr@4
  1177
@released
williamr@2
  1178
williamr@2
  1179
__SECURE_SOFTWARE_INSTALL__
williamr@2
  1180
williamr@2
  1181
When __SECURE_SOFTWARE_INSTALL__ is defined, the Software
williamr@2
  1182
Install APIs are replaced with versions appropriate to
williamr@2
  1183
the Secure Platform.
williamr@2
  1184
williamr@2
  1185
This #define supports PREQ56 "Software install enhancements"
williamr@2
  1186
*/
williamr@2
  1187
#define __SECURE_SOFTWARE_INSTALL__
williamr@2
  1188
williamr@2
  1189
/**
williamr@2
  1190
@publishedPartner
williamr@4
  1191
@released
williamr@2
  1192
williamr@2
  1193
SYMBIAN_ESOCK_V3
williamr@2
  1194
williamr@2
  1195
If SYMBIAN_ESOCK_V3 is defined, the socket server allows protocol 
williamr@2
  1196
families to run in individual threads to protect one protocol family 
williamr@2
  1197
from the behaviour of another. The allocation of protocol families to
williamr@2
  1198
threads is determined by a naming convention on the ESK files.
williamr@2
  1199
williamr@2
  1200
This #define supports PREQ318.
williamr@2
  1201
*/
williamr@2
  1202
#define SYMBIAN_ESOCK_V3
williamr@2
  1203
williamr@2
  1204
/**
williamr@2
  1205
@publishedAll
williamr@4
  1206
@released
williamr@2
  1207
williamr@2
  1208
SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
williamr@2
  1209
williamr@2
  1210
If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is defined, threads at 
williamr@2
  1211
priority SystemServer/More (i.e. process priorities EPriorityFileServer, 
williamr@2
  1212
EPriorityWindowServer or EPrioritySupervisor with relative thread priority 
williamr@2
  1213
EPriorityMore) are mapped to absolute priority 23, equal to the highest 
williamr@2
  1214
priority available to normal applications. This lowers the Window Server 
williamr@2
  1215
and File Server priorities so application threads can timeslice with them, 
williamr@2
  1216
benefitting audio and other pseudo real-time applications.
williamr@2
  1217
williamr@2
  1218
If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is not defined, these system server 
williamr@2
  1219
priorities remain at 24, preempting all normal user application threads.
williamr@2
  1220
williamr@2
  1221
This #define supports PREQ955, and BR1821.
williamr@2
  1222
*/
williamr@2
  1223
#define SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
williamr@2
  1224
williamr@2
  1225
/**
williamr@2
  1226
@publishedAll
williamr@2
  1227
@deprecated
williamr@2
  1228
@since 8.0
williamr@2
  1229
williamr@2
  1230
SYMBIAN_CRYPTO
williamr@2
  1231
williamr@2
  1232
*/
williamr@2
  1233
#define SYMBIAN_CRYPTO
williamr@2
  1234
williamr@4
  1235
/**
williamr@4
  1236
@internalAll
williamr@4
  1237
SYMBIAN_J2ME_USE_CALENDAR
williamr@4
  1238
                
williamr@4
  1239
Internal macro - do not use outside Symbian code.
williamr@4
  1240
*/
williamr@4
  1241
#define SYMBIAN_J2ME_USE_CALENDAR
williamr@4
  1242
williamr@2
  1243
williamr@2
  1244
/**
williamr@2
  1245
@publishedPartner
williamr@4
  1246
@released
williamr@4
  1247
williamr@4
  1248
SYMBIAN_CENREPNOTIFIERHANDLER
williamr@4
  1249
williamr@4
  1250
If SYMBIAN_CENREPNOTIFIERHANDLER is defined, the Central 
williamr@4
  1251
Repository notifier handler is present.
williamr@4
  1252
williamr@4
  1253
@see CCenRepNotifyHandler
williamr@4
  1254
@see MCenRepNotifyHandlerCallback
williamr@4
  1255
williamr@4
  1256
This #define supports PREQ1802. 
williamr@2
  1257
*/
williamr@4
  1258
#define SYMBIAN_CENREPNOTIFIERHANDLER
williamr@4
  1259
williamr@2
  1260
williamr@2
  1261
/**
williamr@2
  1262
@publishedAll
williamr@2
  1263
@released
williamr@2
  1264
williamr@2
  1265
SYMBIAN_BAFL_SYSUTIL
williamr@4
  1266
 
williamr@2
  1267
If SYMBIAN_BAFL_SYSUTIL is defined, the bafl sysutil.dll is present, 
williamr@2
  1268
providing APIs for obtaining system version information and 
williamr@2
  1269
APIs for monitoring free disk space.
williamr@2
  1270
williamr@2
  1271
@see SysUtil::GetSWVersion
williamr@2
  1272
@see SysUtil::DiskSpaceBelowCriticalLevelL
williamr@2
  1273
williamr@2
  1274
This #define supports PREQ1802.
williamr@2
  1275
*/
williamr@4
  1276
#define SYMBIAN_BAFL_SYSUTIL
williamr@4
  1277
williamr@2
  1278
williamr@2
  1279
/**
williamr@2
  1280
@publishedPartner
williamr@2
  1281
@released
williamr@2
  1282
williamr@2
  1283
SYMBIAN_BAFL_ACTIVITYMGR
williamr@2
  1284
 
williamr@2
  1285
If SYMBIAN_BAFL_ACTIVITYMGR is defined, the bafl activitymgr.dll is 
williamr@2
  1286
presentand provides an API that allows the client to take action at the 
williamr@2
  1287
start and/or end of a period of user inactivity.
williamr@2
  1288
williamr@2
  1289
@see CUserActivityManager::Start
williamr@2
  1290
williamr@2
  1291
This #define supports PREQ1802.
williamr@2
  1292
*/
williamr@4
  1293
#define SYMBIAN_BAFL_ACTIVITYMGR
williamr@4
  1294
williamr@2
  1295
williamr@2
  1296
/**
williamr@2
  1297
@publishedPartner
williamr@4
  1298
@released
williamr@4
  1299
williamr@4
  1300
SYMBIAN_CLIENTPROV_V2
williamr@4
  1301
williamr@4
  1302
If SYMBIAN_CLIENTPROV_V2 is defined then the client provisioning
williamr@4
  1303
documents will be pushed to Inbox by default, and a new API is
williamr@4
  1304
added to submit the documents from Inbox back to CPAgent.
williamr@4
  1305
williamr@4
  1306
@see RCpMsvDocInputSession
williamr@4
  1307
williamr@4
  1308
This is a source and binary compatibility break: see BR2092.
williamr@4
  1309
williamr@4
  1310
This #define supports PREQ1664
williamr@2
  1311
*/
williamr@4
  1312
#define SYMBIAN_CLIENTPROV_V2
williamr@4
  1313
williamr@4
  1314
williamr@4
  1315
 /**
williamr@4
  1316
@publishedPartner
williamr@4
  1317
@released
williamr@4
  1318
williamr@4
  1319
SYMBIAN_CRYPTOSPI
williamr@4
  1320
williamr@4
  1321
The SYMBIAN_CRYPTOSPI flag indicates that the Crypto SPI is present.
williamr@4
  1322
Crypto SPI (Service Provider Interface) supports licensee-pluggable 
williamr@4
  1323
cryptographic algorithms (e.g. for enabling hardware acceleration), 
williamr@4
  1324
and also allows for future extensibility of the cryptography 
williamr@4
  1325
interfaces (e.g. for supporting future hashes and ciphers and 
williamr@4
  1326
to support non-extractable private keys). 
williamr@4
  1327
williamr@4
  1328
This #define supports PREQ57.
williamr@4
  1329
*/
williamr@4
  1330
#define SYMBIAN_CRYPTOSPI
williamr@4
  1331
williamr@4
  1332
williamr@2
  1333
/**
williamr@2
  1334
@publishedPartner 
williamr@4
  1335
@released
williamr@2
  1336
williamr@2
  1337
SYMBIAN_C32_SERCOMMS_V2
williamr@2
  1338
williamr@2
  1339
Description: 
williamr@2
  1340
If SYMBIAN_C32_SERCOMMS_V2 is defined, the Comms Server allows grouped CSYs
williamr@2
  1341
to get loaded into individual threads in order to avoid CSY blocking. 
williamr@2
  1342
The allocation of CSYs to threads is determined by naming convention from 
williamr@2
  1343
the configurator/INI file. 
williamr@2
  1344
This #define supports PREQ890
williamr@2
  1345
williamr@2
  1346
*/
williamr@2
  1347
#define SYMBIAN_C32_SERCOMMS_V2
williamr@2
  1348
williamr@4
  1349
williamr@2
  1350
/**
williamr@4
  1351
@publishedPartner
williamr@4
  1352
@released
williamr@4
  1353
williamr@4
  1354
SYMBIAN_DEVMAN_BEARER_CONFIGURABLE
williamr@4
  1355
williamr@4
  1356
If SYMBIAN_DEVMAN_BEARER_CONFIGURABLE is defined then the 
williamr@4
  1357
device management support for network bearers can configured 
williamr@4
  1358
using the resource file 'dmnapddf.rss'
williamr@4
  1359
williamr@4
  1360
This #define supports CR1011
williamr@2
  1361
*/
williamr@4
  1362
#define SYMBIAN_DEVMAN_BEARER_CONFIGURABLE
williamr@4
  1363
williamr@4
  1364
williamr@4
  1365
/**
williamr@4
  1366
@publishedPartner
williamr@4
  1367
@released
williamr@4
  1368
williamr@4
  1369
SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
williamr@4
  1370
williamr@4
  1371
If SYMBIAN_NETWORKING_DHCP_MSG_HEADERS is defined, the 
williamr@4
  1372
Symbian OS DHCPv4 daemon supports retrieval of 
williamr@4
  1373
DHCP message header fields and also 'Parameter Request List' 
williamr@4
  1374
in the DHCP request message to the remote DHCP server is 
williamr@4
  1375
configurable.
williamr@4
  1376
williamr@4
  1377
This #define supports PREQ1647 and PREQ1648
williamr@4
  1378
*/
williamr@4
  1379
#define SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
williamr@4
  1380
williamr@4
  1381
williamr@4
  1382
williamr@4
  1383
/** 
williamr@4
  1384
@publishedAll
williamr@4
  1385
@released
williamr@4
  1386
williamr@4
  1387
SYMBIAN_DRM_3RD_PARTY_PLAYBACK
williamr@4
  1388
williamr@4
  1389
If SYMBIAN_DRM_3RD_PARTY_PLAYBACK is defined, the Multimedia Framework
williamr@4
  1390
supports the playback of DRM-protected content by processes which do not 
williamr@4
  1391
have the DRM capability.
williamr@4
  1392
williamr@4
  1393
@see RMMFController
williamr@4
  1394
williamr@4
  1395
This #define supports CR1058.
williamr@4
  1396
*/
williamr@4
  1397
#define SYMBIAN_DRM_3RD_PARTY_PLAYBACK
williamr@4
  1398
williamr@4
  1399
williamr@4
  1400
/**
williamr@4
  1401
@publishedAll
williamr@4
  1402
@released
williamr@4
  1403
williamr@4
  1404
SYMBIAN_USE_MMF_RUF_RECOGNIZER
williamr@4
  1405
williamr@4
  1406
If SYMBIAN_USE_MMF_RUF_RECOGNIZER is defined, the MMF recognizer is able to 
williamr@4
  1407
recognize formats such as MPEG4, MPEG2, AAC and Divx.
williamr@4
  1408
*/
williamr@4
  1409
#define SYMBIAN_USE_MMF_RUF_RECOGNIZER
williamr@4
  1410
williamr@2
  1411
williamr@2
  1412
/** 
williamr@2
  1413
@publishedPartner 
williamr@4
  1414
@released
williamr@4
  1415
williamr@4
  1416
SYMBIAN_ENABLE_1630_JPEG_EXTENSIONS 
williamr@4
  1417
williamr@4
  1418
If SYMBIAN_ENABLE_1630_JPEG_EXTENSIONS is defined, the Symbian JPEG 
williamr@4
  1419
codec implements the PREQ1630 ICL API extensions. 
williamr@4
  1420
williamr@4
  1421
@see CImageDecoder::SetClippingRectL
williamr@4
  1422
@see CImageDecoder::GetDestinationSize
williamr@4
  1423
@see CImageDecoder::PrepareL
williamr@4
  1424
@see CImageDecoder::OperationL
williamr@4
  1425
@see CImageDecoder::ScalerL
williamr@4
  1426
@see CImageDecoder::BlockStreamerL
williamr@4
  1427
@see CImageEncoder::PrepareL
williamr@4
  1428
@see CImageEncoder::OperationL
williamr@4
  1429
@see CImageEncoder::BlockStreamerL
williamr@4
  1430
williamr@4
  1431
This #define supports PREQ1630. 
williamr@4
  1432
*/
williamr@4
  1433
#define SYMBIAN_ENABLE_1630_JPEG_EXTENSIONS
williamr@4
  1434
williamr@4
  1435
/**
williamr@4
  1436
@publishedPartner
williamr@4
  1437
@released
williamr@4
  1438
williamr@4
  1439
SYMBIAN_LFFS_SIBLEY_NORFLASH
williamr@4
  1440
williamr@4
  1441
If SYMBIAN_LFFS_SIBLEY_NORFLASH is defined support for LFFS on 
williamr@4
  1442
Intel Sibley NOR flash is enabled.
williamr@4
  1443
williamr@4
  1444
This #define supports PREQ912 and involves a BC break in the 
williamr@4
  1445
parameter list for DMediaDriverFlash::Caps() - see BR1680 for details.
williamr@4
  1446
*/
williamr@4
  1447
#define SYMBIAN_LFFS_SIBLEY_NORFLASH
williamr@4
  1448
williamr@4
  1449
 /** 
williamr@4
  1450
@publishedPartner 
williamr@4
  1451
@released
williamr@2
  1452
williamr@2
  1453
SYMBIAN_LOCATION_PRIVACY_V2 
williamr@2
  1454
williamr@2
  1455
If SYMBIAN_LOCATION_PRIVACY_V2 is defined, the Symbian LBS sub-system 
williamr@2
  1456
includes support for the advanced privacy dialogs and standalone 
williamr@2
  1457
privacy components.
williamr@2
  1458
williamr@2
  1459
This #define supports PREQ1660. 
williamr@2
  1460
*/
williamr@2
  1461
#define SYMBIAN_LOCATION_PRIVACY_V2
williamr@2
  1462
williamr@4
  1463
williamr@2
  1464
/** 
williamr@2
  1465
@publishedPartner 
williamr@4
  1466
@released
williamr@2
  1467
williamr@2
  1468
SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
williamr@4
  1469
	
williamr@2
  1470
If SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER is defined, the Media Device
williamr@2
  1471
Framework (MDF) will use the RSoundSc sound driver interface.
williamr@2
  1472
If this macro is not defined, MDF will use the older RMdaDevSound interface.
williamr@2
  1473
williamr@2
  1474
BR2079 gives further details of the migration needed by customers who 
williamr@2
  1475
are using the Symbian reference DevSound with their own implementation
williamr@2
  1476
of RMdaDevSound.
williamr@2
  1477
williamr@2
  1478
@see RMdaDevSound
williamr@2
  1479
@see RSoundSc
williamr@2
  1480
*/
williamr@2
  1481
#define SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
williamr@2
  1482
williamr@4
  1483
williamr@4
  1484
/**
williamr@4
  1485
@publishedPartner
williamr@4
  1486
@released
williamr@4
  1487
williamr@4
  1488
SYMBIAN_MESSAGESTORE_USING_SQLDB
williamr@4
  1489
williamr@4
  1490
If SYMBIAN_MESSAGESTORE_USING_SQLDB is defined then messaging server
williamr@4
  1491
uses the SQLite database to store message index data.
williamr@4
  1492
*/
williamr@4
  1493
#define SYMBIAN_MESSAGESTORE_USING_SQLDB
williamr@4
  1494
williamr@4
  1495
williamr@4
  1496
/**
williamr@4
  1497
@publishedAll
williamr@4
  1498
@released
williamr@4
  1499
williamr@4
  1500
SYMBIAN_WSERV_AND_CONE_MULTIPLE_SCREENS 
williamr@4
  1501
williamr@4
  1502
If SYMBIAN_WSERV_AND_CONE_MULTIPLE_SCREENS is defined, new
williamr@4
  1503
APIs are provided in cone.lib and ws32.lib which allow 
williamr@4
  1504
applications to draw to multiple displays simultaneously and 
williamr@4
  1505
react to a change of the active display.
williamr@4
  1506
williamr@4
  1507
This #define supports PREQ1227
williamr@4
  1508
williamr@4
  1509
@see CCoeEnv::ScreenDevice
williamr@4
  1510
@see CScreenItem
williamr@4
  1511
*/
williamr@4
  1512
#define SYMBIAN_WSERV_AND_CONE_MULTIPLE_SCREENS
williamr@4
  1513
williamr@4
  1514
williamr@2
  1515
/** 
williamr@4
  1516
@publishedPartner 
williamr@4
  1517
@released
williamr@4
  1518
williamr@4
  1519
SYMBIAN_POWER_RESOURCE_MANAGER_API 
williamr@4
  1520
williamr@4
  1521
If SYMBIAN_POWER_RESOURCE_MANAGER_API is defined, the Power Resource 
williamr@4
  1522
Manager is available. 
williamr@4
  1523
williamr@4
  1524
@see PowerResourceManager 
williamr@4
  1525
@see DPowerResourceController 
williamr@4
  1526
williamr@4
  1527
This #define supports PREQ1398. 
williamr@4
  1528
*/
williamr@4
  1529
#define SYMBIAN_POWER_RESOURCE_MANAGER_API
williamr@4
  1530
williamr@4
  1531
williamr@4
  1532
/**
williamr@4
  1533
@publishedAll
williamr@4
  1534
@released
williamr@4
  1535
williamr@4
  1536
SYMBIAN_PROCESS_MONITORING_AND_STARTUP
williamr@4
  1537
williamr@4
  1538
If defined, the System Startup architecture supports dynamic startup
williamr@4
  1539
for after market applications, and provides the SysMon process to
williamr@4
  1540
monitor critical system processes.
williamr@4
  1541
williamr@4
  1542
@see DscStore::Connect
williamr@4
  1543
@see ERestartOS
williamr@4
  1544
williamr@4
  1545
This define supports PREQ871 and PREQ1089.
williamr@4
  1546
*/
williamr@4
  1547
#define SYMBIAN_PROCESS_MONITORING_AND_STARTUP
williamr@4
  1548
williamr@4
  1549
williamr@4
  1550
/** 
williamr@4
  1551
@publishedAll 
williamr@4
  1552
@released
williamr@4
  1553
williamr@4
  1554
SYMBIAN_TUNER_RDS_ANNOUNCEMENT 
williamr@4
  1555
williamr@4
  1556
If SYMBIAN_TUNER_RDS_ANNOUNCEMENT is defined, the RDS Tuner API 
williamr@4
  1557
is provided, allowing applications to be notified if the radio
williamr@4
  1558
is retuned to another station in order to listen to an announcement.  
williamr@4
  1559
williamr@4
  1560
@see MMMRdsTunerUtilityImpl 
williamr@4
  1561
@see MMMRdsAnnouncementObserver2 
williamr@4
  1562
@see CMMRdsTunerUtility 
williamr@4
  1563
williamr@4
  1564
This #define supports CR1097. 
williamr@4
  1565
*/
williamr@4
  1566
#define SYMBIAN_TUNER_RDS_ANNOUNCEMENT
williamr@4
  1567
williamr@4
  1568
williamr@4
  1569
/** 
williamr@4
  1570
@publishedAll
williamr@4
  1571
@released
williamr@4
  1572
williamr@4
  1573
SYMBIAN_USER_PROMPT_SERVICE
williamr@4
  1574
williamr@4
  1575
If SYMBIAN_USER_PROMPT_SERVICE is defined, the User Prompt 
williamr@4
  1576
Service is available, allowing system servers to prompt the 
williamr@4
  1577
user to make a security decision about a request from a client 
williamr@4
  1578
application, e.g. "Allow application X to send an SMS message?" 
williamr@4
  1579
williamr@4
  1580
@see RupSubsession::Authorise 
williamr@4
  1581
williamr@4
  1582
This #define is associated with PREQ1262.
williamr@4
  1583
*/ 
williamr@4
  1584
#define SYMBIAN_USER_PROMPT_SERVICE
williamr@4
  1585
williamr@4
  1586
williamr@4
  1587
williamr@4
  1588
/** 
williamr@4
  1589
@publishedPartner 
williamr@4
  1590
@released
williamr@4
  1591
williamr@4
  1592
SYMBIAN_MULTIMEDIA_MUF 
williamr@4
  1593
williamr@4
  1594
If SYMBIAN_MULTIMEDIA_MUF is defined, then the PREQ1823 Multimedia 
williamr@4
  1595
Metadata Utility Framework is delivered in to the OS.
williamr@4
  1596
williamr@4
  1597
@see CMetaDataClientUtility
williamr@4
  1598
@see CMUFParserType
williamr@4
  1599
@see MMUFObserver
williamr@4
  1600
@see CMetaDataFieldsArray
williamr@4
  1601
@see CMetaDataFieldItem
williamr@4
  1602
@see CMetaDataParser
williamr@4
  1603
williamr@4
  1604
This #define supports PREQ1823. 
williamr@4
  1605
*/
williamr@4
  1606
#define SYMBIAN_MULTIMEDIA_MUF
williamr@4
  1607
williamr@4
  1608
williamr@4
  1609
/**
williamr@4
  1610
@publishedAll
williamr@4
  1611
@released
williamr@4
  1612
williamr@4
  1613
SYMBIAN_MBUFMANAGER_V2
williamr@4
  1614
williamr@4
  1615
williamr@4
  1616
SYMBIAN_MBUFMANAGER_V2 make several changes in 
williamr@4
  1617
the CMBufManager including multiple sized RMBuf's.
williamr@4
  1618
This #define supports REQ7857, REQ7860, REQ7864, REQ8585, REQ8586
williamr@4
  1619
developed as part of PREQ1248.
williamr@4
  1620
These changes introduces a BR-2242.
williamr@4
  1621
*/
williamr@4
  1622
#define	SYMBIAN_MBUFMANAGER_V2
williamr@4
  1623
williamr@4
  1624
williamr@4
  1625
/**
williamr@4
  1626
@publishedPartner
williamr@4
  1627
@released
williamr@4
  1628
williamr@4
  1629
SYMBIAN_FEATURE_MANAGER
williamr@4
  1630
williamr@4
  1631
If SYMBIAN_FEATURE_MANAGER is defined then the Feature Registry 
williamr@4
  1632
functionality is implemented via the Feature Manager, with
williamr@4
  1633
corresponding changes in the ROM building tools.
williamr@4
  1634
williamr@4
  1635
This #define supports PREQ1645
williamr@4
  1636
*/
williamr@4
  1637
#define SYMBIAN_FEATURE_MANAGER
williamr@4
  1638
williamr@4
  1639
williamr@4
  1640
/**
williamr@4
  1641
@publishedAll
williamr@4
  1642
@released
williamr@4
  1643
williamr@4
  1644
SYMBIAN_BUILD_GCE
williamr@4
  1645
williamr@4
  1646
If SYMBIAN_BUILD_GCE is defined, the Surface Manager and Graphics 
williamr@4
  1647
Composition Engine APIs are available at build time.
williamr@4
  1648
williamr@4
  1649
@see RWindowBase::SetBackgroundSurface
williamr@4
  1650
@see RSurfaceManager
williamr@4
  1651
@see RSurfaceUpdateSession
williamr@4
  1652
williamr@4
  1653
Note that the Surface Manager and GCE executables are optional, 
williamr@4
  1654
and will not be present in the ROM or the emulator unless 
williamr@4
  1655
appropriately configured.
williamr@4
  1656
williamr@4
  1657
This #define supports PREQ1007 and PREQ1019
williamr@4
  1658
*/
williamr@4
  1659
#define SYMBIAN_BUILD_GCE
williamr@4
  1660
williamr@4
  1661
williamr@4
  1662
/** 
williamr@4
  1663
@publishedAll 
williamr@4
  1664
@released
williamr@4
  1665
williamr@4
  1666
SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY 
williamr@4
  1667
williamr@4
  1668
If SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY is defined 
williamr@4
  1669
then the comms-infras framework supports the management plane 
williamr@4
  1670
with the RCommsManager API providing support for connection 
williamr@4
  1671
selection, bearer mobility and other functionality.
williamr@4
  1672
williamr@4
  1673
This #define supports PREQ 1060 and PREQ 399. 
williamr@4
  1674
*/
williamr@4
  1675
#define SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
williamr@4
  1676
williamr@4
  1677
/**
williamr@4
  1678
@publishedPartner
williamr@4
  1679
@released
williamr@4
  1680
williamr@4
  1681
SYMBIAN_CAF_STREAMING
williamr@4
  1682
williamr@4
  1683
If SYMBIAN_CAF_STREAMING is defined then CAF provides support for 
williamr@4
  1684
streamed broadcast protection standards, such as DVB-H or OMA DRM BCAST.
williamr@4
  1685
williamr@4
  1686
This #define supports PREQ782
williamr@4
  1687
*/
williamr@4
  1688
#define SYMBIAN_CAF_STREAMING
williamr@4
  1689
williamr@4
  1690
williamr@4
  1691
/** 
williamr@4
  1692
@publishedPartner
williamr@4
  1693
@released
williamr@4
  1694
williamr@4
  1695
SYMBIAN_ENABLE_USB_OTG_HOST
williamr@4
  1696
williamr@4
  1697
If SYMBIAN_ENABLE_USB_OTG_HOST is defined, executables related 
williamr@4
  1698
to USB Host and USB OTG will be built in addition to the 
williamr@4
  1699
existing support for USB Client.
williamr@4
  1700
williamr@4
  1701
These additional components are necessary to enable building a 
williamr@4
  1702
ROM incorporating USB Client, Host and OTG functionality.
williamr@4
  1703
williamr@4
  1704
This #define supports PREQ1782
williamr@4
  1705
*/			
williamr@4
  1706
#define SYMBIAN_ENABLE_USB_OTG_HOST
williamr@4
  1707
williamr@4
  1708
/** 
williamr@4
  1709
@publishedPartner
williamr@4
  1710
@released
williamr@2
  1711
williamr@2
  1712
SYMBIAN_MULTIMEDIA_A3FDEVSOUND 
williamr@2
  1713
williamr@2
  1714
If SYMBIAN_MULTIMEDIA_A3FDEVSOUND is defined, the PREQ1540 DevSound API is 
williamr@2
  1715
present in the Advanced Audio Adaptation Framework
williamr@2
  1716
williamr@2
  1717
This #define supports PREQ1540. 
williamr@2
  1718
*/
williamr@4
  1719
#define SYMBIAN_MULTIMEDIA_A3FDEVSOUND 
williamr@4
  1720
williamr@4
  1721
/**
williamr@4
  1722
@publishedAll
williamr@4
  1723
@released
williamr@4
  1724
williamr@4
  1725
SYMBIAN_OS_EXCLUDE_DMCPDS
williamr@4
  1726
williamr@4
  1727
When this macro is enabled, OMA dataSync, Device Management and Client Provisioning protocol 
williamr@4
  1728
implementations will be excluded.
williamr@4
  1729
williamr@4
  1730
This #define supports PREQ2474.
williamr@4
  1731
*/	
williamr@4
  1732
#define SYMBIAN_OS_EXCLUDE_DMCPDS
williamr@4
  1733
williamr@4
  1734
/**
williamr@4
  1735
@publishedPartner
williamr@4
  1736
@released
williamr@4
  1737
williamr@4
  1738
SYMBIAN_USB_RNDIS
williamr@4
  1739
		
williamr@4
  1740
If SYMBIAN_USB_RNDIS is defined, SYMBIAN OS will provide USB Remote NDIS class (this affects Bluetooth PAN as well).
williamr@4
  1741
williamr@4
  1742
This #define supports PREQ1872.
williamr@4
  1743
*/
williamr@4
  1744
#define SYMBIAN_USB_RNDIS
williamr@4
  1745
williamr@4
  1746
/**
williamr@4
  1747
@internalAll
williamr@4
  1748
@released
williamr@4
  1749
williamr@4
  1750
SYMBIAN_ALARM_REPEAT_EXTENSIONS
williamr@4
  1751
If SYMBIAN_ALARM_REPEAT_EXTENSIONS is defined then the client APIs delivered by PREQ2069 will be avilable.
williamr@4
  1752
These APIs introduce an additional alarm repeat definition and a new alarm expiry behaviour. 
williamr@4
  1753
williamr@4
  1754
#define supports PREQ2069.
williamr@4
  1755
*/
williamr@4
  1756
#define SYMBIAN_ALARM_REPEAT_EXTENSIONS
williamr@4
  1757
williamr@4
  1758
/** 
williamr@4
  1759
@publishedPartner 
williamr@4
  1760
williamr@4
  1761
SYMBIAN_BAFL_MULTIPARTPARSER 
williamr@4
  1762
williamr@4
  1763
If SYMBIAN_BAFL_MULTIPARTPARSER is defined then the BAFL 
williamr@4
  1764
component provides the MultipartParser.dll functionality. 
williamr@4
  1765
williamr@4
  1766
This #define supports PREQ2051. 
williamr@4
  1767
*/
williamr@4
  1768
#define SYMBIAN_BAFL_MULTIPARTPARSER
williamr@4
  1769
williamr@4
  1770
/**
williamr@4
  1771
@internalAll
williamr@4
  1772
@released
williamr@4
  1773
williamr@4
  1774
SYMBIAN_CENTREP_SUPPORT_MULTIROFS
williamr@4
  1775
williamr@4
  1776
If SYMBIAN_CENTREP_SUPPORT_MULTIROFS is defined, centralrepository client
williamr@4
  1777
will be able to define keyspaces that are composed of multiple files in different ROFS layers.
williamr@4
  1778
williamr@4
  1779
This #define supports PREQ2112
williamr@4
  1780
*/
williamr@4
  1781
#define SYMBIAN_CENTREP_SUPPORT_MULTIROFS
williamr@4
  1782
williamr@4
  1783
/**
williamr@4
  1784
@publishedPartner
williamr@4
  1785
@released
williamr@4
  1786
williamr@4
  1787
SYMBIAN_DNS_PROXY
williamr@4
  1788
williamr@4
  1789
If SYMBIAN_DNS_PROXY is defined, SYMBIAN OS will provide DNS Proxy Service.
williamr@4
  1790
williamr@4
  1791
This define supports PREQ1684.
williamr@4
  1792
*/
williamr@4
  1793
#define SYMBIAN_DNS_PROXY
williamr@4
  1794
williamr@4
  1795
/**
williamr@4
  1796
@publishedPartner
williamr@4
  1797
@released
williamr@4
  1798
williamr@4
  1799
SYMBIAN_DNS_PUNYCODE
williamr@4
  1800
williamr@4
  1801
If SYMBIAN_DNS_PUNYCODE is defined, this will enable punycode conversion 
williamr@4
  1802
functionality in the system. If SYMBIAN_DNS_PUNYCODE is enabled, then the DND 
williamr@4
  1803
can resolve the International Domain Names also. As per the requirement, application 
williamr@4
  1804
can use this punycode conversion.
williamr@4
  1805
williamr@4
  1806
This define supports PREQ2296.
williamr@4
  1807
*/
williamr@4
  1808
#define SYMBIAN_DNS_PUNYCODE
williamr@4
  1809
williamr@4
  1810
/**
williamr@4
  1811
@publishedAll
williamr@4
  1812
williamr@4
  1813
SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
williamr@4
  1814
williamr@4
  1815
Enables the File Server Client side API for large file access (file size greater than 2GB - 1).
williamr@4
  1816
Enables the configurable part of File Server side to support large files.
williamr@4
  1817
williamr@4
  1818
This #define supports PREQ1725
williamr@4
  1819
*/
williamr@4
  1820
#define SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
williamr@4
  1821
williamr@4
  1822
/**
williamr@4
  1823
@publishedPartner
williamr@4
  1824
@released
williamr@4
  1825
williamr@4
  1826
SYMBIAN_ENABLE_FAT_DIRECTORY_OPT
williamr@4
  1827
williamr@4
  1828
If SYMBIAN_ENABLE_FAT_DIRECTORY_OPT is defined, a size-configurable
williamr@4
  1829
Leaf Directory Name Caching and optimisations to file creation operations
williamr@4
  1830
is enabled to improve performance of locating leaf directories and
williamr@4
  1831
file creation on FAT volumes.
williamr@4
  1832
williamr@4
  1833
This #define supports PREQ1885.
williamr@4
  1834
*/
williamr@4
  1835
#define SYMBIAN_ENABLE_FAT_DIRECTORY_OPT
williamr@4
  1836
williamr@4
  1837
/** 
williamr@4
  1838
@publishedAll
williamr@4
  1839
@released
williamr@4
  1840
williamr@4
  1841
SYMBIAN_EUSERHL
williamr@4
  1842
williamr@4
  1843
EUserHl generic usability library
williamr@4
  1844
williamr@4
  1845
This #define supports PREQ2177
williamr@4
  1846
*/
williamr@4
  1847
#define SYMBIAN_EUSERHL
williamr@4
  1848
williamr@4
  1849
/**
williamr@4
  1850
@publishedPartner
williamr@4
  1851
SYMBIAN_LOCATION_BTGPSCONFIG
williamr@4
  1852
williamr@4
  1853
Allows applications that use the LBS subsystem to automatically utilize the best Bluetooth GPS positioning source
williamr@4
  1854
available (rather than be manually configured to a particular Bluetooth GPS device)
williamr@4
  1855
williamr@4
  1856
*/
williamr@4
  1857
#define SYMBIAN_LOCATION_BTGPSCONFIG
williamr@4
  1858
williamr@4
  1859
/**
williamr@4
  1860
@publishedAll
williamr@4
  1861
@released
williamr@4
  1862
williamr@4
  1863
SYMBIAN_MESSAGESTORE_ENHANCED_SEARCH
williamr@4
  1864
williamr@4
  1865
If SYMBIAN_MESSAGESTORE_ENHANCED_SEARCH is defined then the client 
williamr@4
  1866
side of  messaging server provides enhanced search capabilities.
williamr@4
  1867
*/
williamr@4
  1868
#define SYMBIAN_MESSAGESTORE_ENHANCED_SEARCH
williamr@4
  1869
williamr@4
  1870
/** 
williamr@4
  1871
@publishedPartner 
williamr@4
  1872
@released 
williamr@4
  1873
williamr@4
  1874
SYMBIAN_NETWORKING_ADDRESS_PROVISION 
williamr@4
  1875
williamr@4
  1876
If SYMBIAN_NETWORKING_ADDRESS_PROVISION is defined, this will enable 
williamr@4
  1877
the DHCP server to provide IP address to the client based on its 
williamr@4
  1878
hardware address, this hardware address is provisioned by the 
williamr@4
  1879
application which is loading the DHCP server. Also NAPT will 
williamr@4
  1880
forward any packets to the uplink only if the source address is 
williamr@4
  1881
provisioned. 
williamr@4
  1882
williamr@4
  1883
This define supports PREQ1872. 
williamr@4
  1884
*/
williamr@4
  1885
#define SYMBIAN_NETWORKING_ADDRESS_PROVISION
williamr@4
  1886
williamr@4
  1887
/**
williamr@4
  1888
williamr@4
  1889
@internalComponent
williamr@4
  1890
williamr@4
  1891
SYMBIAN_OE_LIBRT
williamr@4
  1892
williamr@4
  1893
If SYMBIAN_OE_LIBRT is defined, the open environment component will be extended to include the 
williamr@4
  1894
Symbian OS port of the latest version of librt ("realtime") open source library. 
williamr@4
  1895
williamr@4
  1896
This #define supports PREQ1974
williamr@4
  1897
williamr@4
  1898
*/
williamr@4
  1899
#define SYMBIAN_OE_LIBRT
williamr@4
  1900
williamr@4
  1901
/**
williamr@4
  1902
williamr@4
  1903
@internalComponent
williamr@4
  1904
williamr@4
  1905
SYMBIAN_OE_POSIX_SIGNALS
williamr@4
  1906
williamr@4
  1907
If SYMBIAN_OE_POSIX_SIGNALS is enabled, the libc component will use POSIX signals emulation.
williamr@4
  1908
williamr@4
  1909
This #define supports PREQ1579
williamr@4
  1910
williamr@4
  1911
*/
williamr@4
  1912
#define SYMBIAN_OE_POSIX_SIGNALS
williamr@4
  1913
williamr@4
  1914
/**
williamr@4
  1915
@publishedPartner
williamr@4
  1916
williamr@4
  1917
SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
williamr@4
  1918
williamr@4
  1919
If SYMBIAN_SDP_IPSEC_VOIP_SUPPORT is defined, then PREQ1853 APIs enable use of the cipher based MAC evaluation 
williamr@4
  1920
and psuedo random generation algorithms (AES-XCBC-MAC-96 and AES-XCBC-PRF-128 respectively) through a new MAC
williamr@4
  1921
interface introduced in the CryptoSpi framework.
williamr@4
  1922
williamr@4
  1923
Tbis #define supports PREQ1853
williamr@4
  1924
*/
williamr@4
  1925
#define SYMBIAN_SDP_IPSEC_VOIP_SUPPORT
williamr@4
  1926
williamr@4
  1927
/**
williamr@4
  1928
@internalAll
williamr@4
  1929
@released
williamr@4
  1930
williamr@4
  1931
SYMBIAN_SKIPPED_CALENDAR_ALARMS
williamr@4
  1932
williamr@4
  1933
If SYMBIAN_SKIPPED_CALENDAR_ALARMS is present then the alarm server shall
williamr@4
  1934
persist details of missed calendar alarms and clients shall be able to 
williamr@4
  1935
retrieve the list of missed calendar alarms from the Alarm server client API.
williamr@4
  1936
williamr@4
  1937
This supports PREQ2088.
williamr@4
  1938
*/
williamr@4
  1939
#define SYMBIAN_SKIPPED_CALENDAR_ALARMS
williamr@4
  1940
williamr@4
  1941
/** 
williamr@4
  1942
@internalTechnology
williamr@4
  1943
williamr@4
  1944
SYMBIAN_SSM_FLEXIBLE_MERGE 
williamr@4
  1945
williamr@4
  1946
When SYMBIAN_SSM_FLEXIBLE_MERGE is enabled then flexible merging 
williamr@4
  1947
of startup command lists based on priority is supported.
williamr@4
  1948
williamr@4
  1949
This define supports PREQ1871.
williamr@4
  1950
*/
williamr@4
  1951
#define SYMBIAN_SSM_FLEXIBLE_MERGE
williamr@4
  1952
williamr@4
  1953
/** 
williamr@4
  1954
@internalAll 
williamr@4
  1955
williamr@4
  1956
SYMBIAN_SSM_GRACEFUL_SHUTDOWN 
williamr@4
  1957
williamr@4
  1958
If SYMBIAN_SSM_GRACEFUL_SHUTDOWN is defined, this will enable
williamr@4
  1959
Staged Shutdown of the device,	which allows definition of
williamr@4
  1960
a policy to specify the order for notifying registered
williamr@4
  1961
components of shutdown, allowing them to perform any necessary
williamr@4
  1962
tasks before the device completes its shutdown.
williamr@4
  1963
williamr@4
  1964
This define supports PREQ2326.
williamr@4
  1965
*/
williamr@4
  1966
#define SYMBIAN_SSM_GRACEFUL_SHUTDOWN
williamr@4
  1967
williamr@4
  1968
/**
williamr@4
  1969
@publishedPartner
williamr@4
  1970
@released
williamr@4
  1971
williamr@4
  1972
SYMBIAN_STRICT_EXPLICIT_SOCKET_BINDING
williamr@4
  1973
williamr@4
  1974
If SYMBIAN_STRICT_EXPLICIT_SOCKET_BINDING is defined then
williamr@4
  1975
the TCP/IP stack shall support explictly bound sockets.
williamr@4
  1976
If a socket is explicitly bound and a packet arrives on an interface
williamr@4
  1977
that the socket isn't bound to, then the packet should be dropped.
williamr@4
  1978
williamr@4
  1979
This define supports PREQ2279.
williamr@4
  1980
*/
williamr@4
  1981
#define SYMBIAN_STRICT_EXPLICIT_SOCKET_BINDING
williamr@4
  1982
williamr@4
  1983
/**
williamr@4
  1984
@publishedAll
williamr@4
  1985
williamr@4
  1986
SYMBIAN_SWI_RUN_ON_INSTALL_COMPLETE
williamr@4
  1987
williamr@4
  1988
This new Macro will enable the support for new run option for SIS files . When executables/files inside 
williamr@4
  1989
SIS file marked with this new run option, they will be executed at the end of the successful installation.
williamr@4
  1990
williamr@4
  1991
This #define supports PREQ2264, CR1544
williamr@4
  1992
*/
williamr@4
  1993
#define SYMBIAN_SWI_RUN_ON_INSTALL_COMPLETE
williamr@4
  1994
williamr@4
  1995
/** 
williamr@4
  1996
@publishedPartner
williamr@4
  1997
@released
williamr@4
  1998
williamr@4
  1999
SYMBIAN_SYSTEM_STATE_MANAGEMENT 
williamr@4
  2000
williamr@4
  2001
If SYMBIAN_SYSTEM_STATE_MANAGEMENT is defined, this will enable 
williamr@4
  2002
the System State Management Architecture, which supports the 
williamr@4
  2003
concept of system states (including startup, normal operation, 
williamr@4
  2004
shutdown, and failure) and associated behaviour, and facilitates 
williamr@4
  2005
the transitioning between them according to licensee-defined 
williamr@4
  2006
policies and procedures.
williamr@4
  2007
williamr@4
  2008
This define supports PREQ1871.
williamr@4
  2009
*/
williamr@4
  2010
#define SYMBIAN_SYSTEM_STATE_MANAGEMENT
williamr@4
  2011
williamr@4
  2012
/**
williamr@4
  2013
@internalAll
williamr@4
  2014
williamr@4
  2015
SYMBIAN_WRITABLE_DATA_PAGING
williamr@4
  2016
williamr@4
  2017
This System Wide Define will be used to issue a warning when a rom is built that enables data paging on a 
williamr@4
  2018
version of the OS for which data paging is not warranted.
williamr@4
  2019
williamr@4
  2020
This #define supports PREQ1954
williamr@4
  2021
*/
williamr@4
  2022
#define SYMBIAN_WRITABLE_DATA_PAGING
williamr@4
  2023
williamr@4
  2024
/**
williamr@4
  2025
@publishedPartner
williamr@4
  2026
@released
williamr@4
  2027
williamr@4
  2028
SYMBIAN_ZERO_COPY_NETWORKING
williamr@4
  2029
williamr@4
  2030
If SYMBIAN_ZERO_COPY_NETWORKING is defined the Comms Stack switches from using single memory pool overseen
williamr@4
  2031
by MBufManager to multiple, HW specific pools. With SYMBIAN_ZERO_COPY_NETWORKING defined link-level flows
williamr@4
  2032
can avoid copying data when communicating with the respective HW drivers.
williamr@4
  2033
williamr@4
  2034
This #define supports PREQ2106.
williamr@4
  2035
*/
williamr@4
  2036
#define SYMBIAN_ZERO_COPY_NETWORKING
williamr@4
  2037
williamr@4
  2038
/** 
williamr@4
  2039
@publishedPartner 
williamr@4
  2040
@released
williamr@4
  2041
williamr@4
  2042
SYMBIAN_ENABLE_SPLIT_HEADERS
williamr@4
  2043
williamr@4
  2044
When this is not defined, header files, that have been split, #include the extra header files to disable the source break. When this is defined, the headers have been fully split and the source break is enabled.
williamr@4
  2045
williamr@4
  2046
This #define supports PREQ2740 and other splitting "mixed" header file PREQs. 
williamr@4
  2047
*/
williamr@4
  2048
williamr@4
  2049
#define SYMBIAN_ENABLE_SPLIT_HEADERS
williamr@4
  2050
williamr@4
  2051
/**
williamr@4
  2052
@publishedAll
williamr@4
  2053
@released
williamr@4
  2054
williamr@4
  2055
SYMBIAN_OE_LIBSTDCPP
williamr@4
  2056
williamr@4
  2057
If SYMBIAN_OE_LIBSTDCPP is defined, the open environment component will be extended to include the standard new and delete operators, and STDxxx targets will be linked against stdnew.lib for ARM builds, while other targets will be linked against scppnwdl.lib for Emulator builds.
williamr@4
  2058
williamr@4
  2059
This #define supports PREQ1184
williamr@4
  2060
*/
williamr@4
  2061
#define SYMBIAN_OE_LIBSTDCPP
williamr@4
  2062
williamr@4
  2063
/**
williamr@4
  2064
@publishedPartner
williamr@4
  2065
@released
williamr@4
  2066
williamr@4
  2067
SYMBIAN_E32_ATOMIC_API
williamr@4
  2068
williamr@4
  2069
If SYMBIAN_E32_ATOMIC_API is defined the header file e32atomics.h is available
williamr@4
  2070
and should be used in preference to hand-coding ARM atomic instructions.
williamr@4
  2071
*/
williamr@4
  2072
#define SYMBIAN_E32_ATOMIC_API
williamr@4
  2073
williamr@4
  2074
/**
williamr@4
  2075
SYMBIAN_GRAPHICS_BUILD_OPENWF_WSERV
williamr@4
  2076
williamr@4
  2077
If SYMBIAN_GRAPHICS_BUILD_OPENWF_WSERV, the windowserver component is built to use the OpenWF version of NGA.
williamr@4
  2078
*/
williamr@4
  2079
#define SYMBIAN_GRAPHICS_BUILD_OPENWF_WSERV