1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
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
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
15 // Configuration options for Symbian OS
16 // This file is managed by the Master Codeline Forum
17 // SYMBIAN_JAVA_NOT_INCLUDED
18 // For TB9.1 and later versions, J2ME will no longer be included in the
20 // This #define supports PREQ2545
24 #include "platform_paths.hrh"
25 #define SMPSAFE /* SMPSAFE keyword removed */
31 #define SYMBIAN_JAVA_NOT_INCLUDED
38 If __WATCHER_API_V2__ is defined then the
39 watcher framework supports ECOM watcher plugins.
41 #define __WATCHER_API_V2__
46 __HIDE_WATCHER_API_V1__
48 Hides support APIs for loading non-ECOM watcher plugins. Non-ECOM watcher
49 plugins are still loaded. The associated define __REMOVE_WATCHER_API_V1__
50 removes the implementation of the support APIs.
52 Assumes that __WATCHER_API_V2__ has been defined.
54 #define __HIDE_WATCHER_API_V1__
55 #define __REMOVE_WATCHER_API_V1__
58 SYMBIAN_TIMEZONE_SUPPORT_V1
62 When SYMBIAN_TIMEZONE_SUPPORT_V1 is defined the App-services TzClient.dll
63 module (and accompanying import library) is made available for client
66 This #define supports PREQ663
68 #define SYMBIAN_TIMEZONE_SUPPORT_V1
73 SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
75 If SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT is defined then
76 the Multimedia Framework (MMF) can support video playback on
77 a secondary display. The default screen will be the screen
78 number in the cone environment.
80 @see CVideoPlayerUtility
82 #define SYMBIAN_ENABLE_MMF_MULTISCREEN_SUPPORT
87 SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
89 If SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM is defined, the Composite
90 File System allows more than one ROFS partition to be included in
91 the composite Z: drive.
93 This #define supports PREQ1085
95 #define SYMBIAN_EXTENDED_COMPOSITE_FILESYSTEM
102 When __SECURE_BIN__ is defined, executable files stored as
103 "data" in the XIP ROM are assumed to be in their data-caged
104 locations. The presence of this #define does not imply that
105 data-caging is enforced, and does not imply that binaries have
106 been relocated to sys\bin.
108 This #define supports PREQ537 "Platform security - file system layout".
110 #define __SECURE_BIN__
115 SYMBIAN_COREAPPS_API_V2
117 If SYMBIAN_COREAPPS_API_V2 is defined then new functionality is available within
118 the Core Apps sub-system (Contacts Model, Agenda Model and World Server) to
119 support a platform secured OS.
121 #define SYMBIAN_COREAPPS_API_V2
126 SYMBIAN_APPARC_APPINFO_CACHE
128 If SYMBIAN_APPARC_APPINFO_CACHE is defined then apparc creates
129 a file of application information on the first boot, which is
130 used during subsequent boots for application information.
132 #define SYMBIAN_APPARC_APPINFO_CACHE
137 SYMBIAN_NETWORKING_IPSEC_IKE_V2
139 If SYMBIAN_NETWORKING_IPSEC_IKE_V2 is defined, IPSEC will
140 be able to support Internet Key Exchange version 2 in
141 addition to IKE v1. This involves a change in the size of
142 the TPfkeyMsgBase class - see BR1736.1.
144 Actual support for IKE v2 will depend on the provision
145 of a suitable plugin to the Key Management Daemon.
147 This #define supports PREQ1223.
149 #define SYMBIAN_NETWORKING_IPSEC_IKE_V2
154 SYMBIAN_UIKON_UNIFICATION
156 When SYMBIAN_UIKON_UNIFICATION is defined, the existing
157 CEikSrvAppUiBase class is replaced with a customisable class
158 provided by the System GUI.
160 This #define supports PREQ819 and PREQ826
162 #define SYMBIAN_UIKON_UNIFICATION
167 __SECURITY_PLATSEC_ARCH__
169 If this macro is defined, then platform security aware security services
170 APIs will be present. This includes architectural changes to several
173 If this macro is not defined, the original version (since 8.0) of the
174 security services APIs will be present.
176 The following components are affected:
182 #define __SECURITY_PLATSEC_ARCH__
185 SYMBIAN_ECAM_CHUNKAPI
190 Specifies that an extended API will be used in the multimedia
191 camera interface. This has a v2 observer which allows camera data
192 to be returned without buffer copy, and also allows clients to set
193 camera access priority
196 @see MCameraObserver2
198 This #define supports PREQ799.
200 #define SYMBIAN_ECAM_CHUNKAPI
207 When SYMBIAN_SECURE_ECOM is not defined, ECOM plugins are discovered by
208 searching for DLLs in System\libs\plugins, and inferring the name of
209 the resource file from the UID3 of the DLL.
211 When SYMBIAN_SECURE_ECOM is defined, ECOM plugins will also be discovered
212 by searching for resource files in \Resource\Plugins, and inferring the
213 name of the DLL from the name of the resource file. When platform security
214 is fully enforced, only this new style of discovery will work.
216 #define SYMBIAN_SECURE_ECOM
221 SYMBIAN_INETPROTUTILS_RFC3986
224 If SYMBIAN_INETPROTUTILS_RFC3986 is defined, the Internet
225 Protocol Utility Library supports RFC 3986, which increases
226 the set of reserved characters.
228 @see EscapeUtils::IsExcludedChar
230 This #define implements BR2009.
232 #define SYMBIAN_INETPROTUTILS_RFC3986
237 SYMBIAN_FONT_METRICS_V2
239 If this is defined, then classes which derive from COpenFont (usually
240 these are part of a font rasterizer implementation) must set the
241 protected member variables:
242 iFontAscentOfCapitals
243 iFontAscentIncAccents
246 to appropriate values during the creation of a font.
247 If this macro is not defined then these member variables do not exist.
251 #define SYMBIAN_FONT_METRICS_V2
256 __OBEX_USER_DEFINED_HEADERS__
258 If __OBEX_USER_DEFINED_HEADERS__ is defined then the new API support for extended Headers will be available.
259 This new support includes USER DEFINED HEADERS and the COUNT header.
260 If this functionality is compiled out then the old API is available as before.
261 For more information on see documents shown below.
263 @see SGL.GT171.097 - Obex Header Extension how to
264 @see SGL.GT171.095 - Obex Extension Design Document
266 #define __OBEX_USER_DEFINED_HEADERS__
273 If SYMBIAN_CENTREP_NOC is defined, the Central Repository
274 includes Notify-Only Client Optimization. This will cause
275 repositories to be unloaded after a timeout even if the
276 connection is still open.
278 This #define supports PREQ1228.
280 #define SYMBIAN_CENTREP_NOC
286 SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
288 If this is defined, the MHCIEventObserver class must implement
289 the FlushCompleteEvent virtual function, which will be used by
290 the link manager to send Flush Complete events up to the stack.
291 If this macro is not defined, Flush Complete events will be discarded.
293 @see MHCIEventObserver
296 #define SYMBIAN_BLUETOOTH_REQUIRES_HCI_FLUSH_COMPLETE_EVENT
301 SYMBIAN_MULTIMEDIA_CODEC_API
303 If SYMBIAN_MULTIMEDIA_CODEC_API is defined then support is
304 available for PREQ1024 delivered Processing Unit or
305 OpenMAX based codecs and Multimedia hardware devices.
307 #define SYMBIAN_MULTIMEDIA_CODEC_API
314 If __MESSAGING_API_V2__ is defined then new functionality
315 is available within the Messaging sub-system to support a
316 platform secured OS, e.g. the Attachment API.
318 #define __MESSAGING_API_V2__
319 #define __HIDE_MESSAGING_API_V1__
320 #define __REMOVE_MESSAGING_API_V1__
325 SYMBIAN_BOOKMARK_DATABASE
327 The Bookmark Database is an API used to provide system-wide
328 storage and management functionality for URI bookmarks.
329 If defined, this macro indicates that the Bookmark Database
330 API is present in the platform.
332 #define SYMBIAN_BOOKMARK_DATABASE
337 SYMBIAN_NETWORKING_UMTSR5
339 If SYMBIAN_NETWORKING_UMTSR5 is defined support for the QoS
340 and IMS parameters introduced by Release 5 of the 3GPP
341 specification will be enabled. This involves a BC break in
342 TContextConfig - see BR1582.1 for details.
346 This #define supports PREQ192 and PREQ635.
348 #define SYMBIAN_NETWORKING_UMTSR5
353 SYMBIAN_NETWORKING_3GPPDEFAULTQOS
355 If SYMBIAN_NETWORKING_3GPPDEFAULTQOS is defined, support
356 for QoS modification on the default PDP context will be
357 enabled via the RSubconnection API.
359 This #define supports PREQ870.
361 #define SYMBIAN_NETWORKING_3GPPDEFAULTQOS
365 SYMBIAN_STAGED_SYSTEM_STARTUP
369 When SYMBIAN_STAGED_SYSTEM_STARTUP is defined, the staged
370 start-up architecture has been introduced into the OS and
371 'Start-up State Aware' components can make use of the
374 This #define supports PREQ 810.
376 #define SYMBIAN_STAGED_SYSTEM_STARTUP
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.
385 For more information see the document listed below.
387 @see SMG.SM0005.004 - Platform Security Development for Zephyr
393 #define __HIDE_IPC_V1__
398 SYMBIAN_NETWORKING_DHCPSERVER
400 If SYMBIAN_NETWORKING_DHCPSERVER is defined, Symbian OS includes a
401 simplified DHCPv4 server capable of dealing with single client.
403 This #define provides functionality to support PREQ749.
405 #define SYMBIAN_NETWORKING_DHCPSERVER
410 SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
412 This macro removes the trivial encryption APIs that are exported by EUSER.
414 See BR1320 for more details
417 #define SYMBIAN_REMOVE_TRIVIAL_ENCRYPTION
422 SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
425 If SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST is defined, the WAP Push
426 watcher compares the origin of Push messages against URIs in a
427 "White list" and "Black list".
429 This #define supports PREQ1505
431 #define SYMBIAN_WAPPUSH_WHITELIST_BLACKLIST
436 SYMBIAN_FLEXIBLE_ALARM
438 When this macro is defined, Calendar Interim API, Alarm server and UIKON
439 Alert Server will support additional functionality.
440 - Extra data can be attached to calendar alarm and allow UI app
441 to retrieve the associated data.
442 - The Alarm server can send multiple expired alarms to Alert Server without
443 waiting for the previous alarm acknowledged first
444 - A Resource file can be used to configure alarm play intervals and durations,
445 or to disable alarm sound control.
447 This #define supports PREQ1118
449 #define SYMBIAN_FLEXIBLE_ALARM
456 If SYMBIAN_PKCS12 is defined, the PKCS#12 Key Derivation
457 Algorithm is supplied.
459 This #define supports PREQ1054.
461 #define SYMBIAN_PKCS12
466 SYMBIAN_MMF_AUTOPAUSE_RESUME
468 This #define enables extra features in the MMF APIs for auto pause
469 and resume of audio streams.
471 #define SYMBIAN_MMF_AUTOPAUSE_RESUME
478 If __SECURE_BACKUP__ is defined, the Secure Backup server replaces
479 the use of SCRemFs for backup and restore, changing the backup protocol.
480 Applications which have private data need to provide additional backup
481 registration files, and may use Publish & Subscribe to receive
482 notification of backup requests.
484 This #define supports PREQ716 - Provide support for secure backup and
485 restore for licensee PC Connectivity software
487 #define __SECURE_BACKUP__
492 SYMBIAN_NETWORKING_REMOVE_RGENERIC
494 If this macro is defined the deprecated APIs RGenericAgent,
495 RNif, RNifMonitor and Nifman are removed. All of these APIs,
496 exported by NIFMAN, have been deprecated and replaced by
497 the RConnection API exported by ESOCK.
499 @see Break request BR1070
501 #define SYMBIAN_NETWORKING_REMOVE_RGENERIC
507 SYMBIAN_NETWORKING_RSUBCONNECTION
509 If SYMBIAN_NETWORKING_RSUBCONNECTION is defined, the RQosChannel API is
510 removed, and the RSubConnection API exported by ESOCK must be used instead.
512 This #define supports PREQ 26.
514 #define SYMBIAN_NETWORKING_RSUBCONNECTION
519 SYMBIAN_HIDE_COREAPPS_API_V1
521 If SYMBIAN_HIDE_COREAPPS_API_V1 is defined then the insecure CoreApps APIs
522 will be removed from various Symbian OS header files. Components affected are
523 Contacts Model, Agenda Model and World Server.
525 The related define SYMBIAN_REMOVE_COREAPPS_API_V1 removes the underlying implementations,
526 causing a binary compatibility break to match the source compatibility break.
528 #define SYMBIAN_HIDE_COREAPPS_API_V1
529 #define SYMBIAN_REMOVE_COREAPPS_API_V1
536 If __UI_FRAMEWORKS_V2__ is defined then PlatSec aware UI Frameworks API's will be available.
537 The following frameworks will be affected:
543 Control Panel Plugins
545 App-initialization (CEikLibrary)
549 #define __UI_FRAMEWORKS_V2__
550 #define SYMBIAN_HIDE_UI_FRAMEWORKS_V1
551 #define SYMBIAN_REMOVE_UI_FRAMEWORKS_V1
556 __BC_FUTURE_PROOFING__
558 Support for the implementation of PREQ743 "Introduction of interface
559 robustness patterns to support future binary compatibility".
561 #define __BC_FUTURE_PROOFING__
566 SYMBIAN_TELEPHONY_USAT5
568 If SYMBIAN_TELEPHONY_USAT5 is defined then support for 3GPP
569 Release 5 (U)SAT will be enabled.
571 @see RSat::TCallControlV5
573 This #define supports PREQ1234.
575 #define SYMBIAN_TELEPHONY_USAT5
578 SYMBIAN_GENERIC_SYSTEM_STARTUP
582 This #define enables the generic start-up architecture in
583 which the System Starter process is responsible for the
584 controlled startup of the system.
586 The #define supports PREQ808 and PREQ809.
588 #define SYMBIAN_GENERIC_SYSTEM_STARTUP
593 SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
595 If this macro is defined, then the Bluetooth stack reconfigures to take
596 advantage of security mechanisms in Publish and Subscribe. Any other
597 components requiring reconfiguration to make use of Publish and Subscribe
598 can also use this macro.
601 #define SYMBIAN_SECURE_PUBLISH_AND_SUBSCRIBE
606 SYMBIAN_SECURITY_CAF_RFILE_HANDLE
608 If SYMBIAN_SECURITY_CAF_RFILE_HANDLE is defined then it enables the Content Access
609 Framework to read from files passed to it as an open RFile handles instead of CAF
610 opening the file itself. This allows files stored in a data caged directory to be
614 #define SYMBIAN_SECURITY_CAF_RFILE_HANDLE
619 __JAVACUSTOMINSTALL__
621 If __JAVACUSTOMINSTALL__ is defined then an additional UI callback is made after MIDlet
622 installation has succeeded or failed. This callback is intended for information only and the
623 information passed can be licensee customised. The intention would be that the device user
624 can use this information to diagnose install problems in conjunction with network operators.
625 If this #define is not present then the callback is not present and is not called.
626 For more information on see documents shown below.
628 @see SGL.GT0188.253 CDMA Java MIDlet Installer Component Design
630 #define __JAVACUSTOMINSTALL__
637 This macro selects the Symbian OS 9.x phase of development in
638 the Media Device Framework API, including changes to enable
639 MDF Video Decoder Hardware devices to support applications,
642 @see CMMFVideoPlayHwDevice
644 #define SYMBIAN_MDF_API_V2
649 SYMBIAN_SMS_REL6_SUPPORT
651 SMS Release 6 support is defined in the 3GPP specifications
652 (3GPP TS 23.040 V6.5.0 and 3GPP TS 23.038 V6.1.0).
653 If defined, this macro indicates that Symbian OS SMS APIs
654 shall support Release 6 functionality.
656 #define SYMBIAN_SMS_REL6_SUPPORT
661 SYMBIAN_SWI_POST_INSTALL_REVOCATION
663 When SYMBIAN_SWI_POST_INSTALL_REVOCATION is defined,
664 support for the SWI post install revocation service is enabled.
666 This #define supports PREQ919
668 #define SYMBIAN_SWI_POST_INSTALL_REVOCATION
673 SYMBIAN_TELEPHONY_IMS
675 If SYMBIAN_TELEPHONY_IMS is defined then IMS related APIs are included
676 in Telephony components.
678 This #define supports PREQ61.
680 #define SYMBIAN_TELEPHONY_IMS
685 SYMBIAN_IGNORE_BIN_TARGETPATH
687 When SYMBIAN_IGNORE_BIN_TARGETPATH is defined the TARGETPATH keyword in MMP files is ignored for executables.
688 Executables for the emulator instead get built to the default location.
689 e.g. \epoc32\release\winscw\udeb
691 #define SYMBIAN_IGNORE_BIN_TARGETPATH
696 SYMBIAN_COMMS_REPOSITORY
698 Comms data is now stored in the Central Repository rather than the DBMS server.
699 A new module, CommsDat.dll, replaces Commdb.dll as the interface for comms data stored on a device.
700 CommsDat has a different API to Commdb, but provides equivalent functionality.
701 There is no longer an SQL API for access to Comms Data.
702 Commdb tools have been migrated for use with CommsDat
703 Commdb is deprecated and should not be used, though it remains as a temporary BC shim on top of CommsDat.
705 #define SYMBIAN_COMMS_REPOSITORY
710 SYMBIAN_VARIABLE_BITRATE_CODEC
712 If SYMBIAN_VARIABLE_BITRATE_CODEC is defined then
713 CMMFSwCodecWrapper based audio hardware devices in the
714 Multimedia Framework (MMF) can support variable bitrate codecs.
716 @see CMMFSwCodecWrapper
718 #define SYMBIAN_VARIABLE_BITRATE_CODEC
725 If __SECURE_TELEPHONY__ is defined, all Platform Security functionality
726 within the Telephony subsystem will be enabled.
727 If __SECURE_TELEPHONY__ is not defined, no Platform Security functionality
728 within the Telephony subsystem is enabled.
730 #define __SECURE_TELEPHONY__
737 The SYMBIAN_CAF_V2 flag indicates the CAF API v2 is present.
738 CAF v2 supports files containing multiple content objects, which requires
739 a change of API for CAF agents: agents written for CAF v1 will not compile
740 against CAF v2. See BR.1219.2 for migration information.
742 This #define supports PREQ780.
744 #define SYMBIAN_CAF_V2
747 SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
751 This macro enables a consolidation phase in the ROM building
752 process to generate additional metadata for each ROM drive.
753 The metadata describes the content and structure of the ROM
754 conveniently filtered for any component that requires it.
756 Components supply metadata with the "spidata" BUILDROM keyword.
758 This macro supports PREQ806 and other requirements that
759 eliminate run-time scanning of ROM content.
761 #define SYMBIAN_ROM_STATIC_PLUGIN_INFORMATION
766 SYMBIAN_BLUETOOTH_ESCO_ENABLED
768 Enable support for Bluetooth eSCO synchronous links.
769 Defining this macro extends the interface to CHCIBase to support
770 the Synchronous connection commands added in Bluetooth 1.2.
772 #define SYMBIAN_BLUETOOTH_ESCO_ENABLED
777 SYMBIAN_SECURE_MIDLET_INSTALL
779 If SYMBIAN_SECURE_MIDLET_INSTALL is defined then the Java MIDlet
780 Installer supports installation under Platform Security policies,
781 using the interface published by security\JavaMIDletInstaller.
783 If SYMBIAN_SECURE_MIDLET_INSTALL is not defined then Java MIDlet
784 installation is achieved through the security\appinst interfaces.
786 #define SYMBIAN_SECURE_MIDLET_INSTALL
791 SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
793 If SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2 is defined then
794 the following additional features will be available in CONE.
795 1) Functions to set and get the background of a control.
796 2) Functions to add components to a compound control in a simpler way.
797 3) Hooks for the support of layout managers.
798 4) A component that will provide fonts and cache them for easier use
799 of these fonts by controls.
803 #define SYMBIAN_UI_FRAMEWORKS_CONTROL_API_V2
810 If SYMBIAN_CNTMODEL_V2 is defined, clients of the
811 Contacts Model can exploit the efficiency improvements
812 introduced by PREQ811, e.g. efficient use of transactions.
814 This #define supports PREQ811
816 #define SYMBIAN_CNTMODEL_V2
821 SYMBIAN_COREAPPS_PLUGIN_API_V2
823 If SYMBIAN_COREAPPS_PLUGIN_API_V2 is defined then Ecom solely is used as loading
824 mechanism.The legacy plugin loading mechanism is used otherwise.
826 #define SYMBIAN_COREAPPS_PLUGIN_API_V2
831 DO_NOT_USE_THIS_MACRO
833 If DO_NOT_USE_THIS_MACRO is defined, assume the Cedar platform.
834 If DO_NOT_USE_THIS_MACRO is not defined, assume the Beech platform.
836 This macro was originally introduced as a stopgap measure, to
837 identify differences between Symbian OS v7.0s and Symbian OS v8.0b
838 which were not specifically to do with the change from Kernel
839 Architecture 1 to Kernel Architecture 2.
841 This macro will be deprecated when a suitable alternative is provided.
843 #ifndef DO_NOT_USE_THIS_MACRO
844 #define DO_NOT_USE_THIS_MACRO
850 SYMBIAN_C32ROOT_API_V2
852 Strengthens the C32Root API and extends it to include
853 configuration of queue length for bindings.
855 This #define supports PREQ318.
857 #define SYMBIAN_C32ROOT_API_V2
864 Hides unsecure APIs. Many of these have been replaced by Secure variants
865 but some are no longer available in a Secure platform.
869 @see User::RenameThread
870 @see User::CommandLine
873 #define __SECURE_API__
874 #define SYMBIAN_REMOVE_INSECURE_API
881 If __CNF_FORMAT_V2__ is defined, assume that Epoccnf.pl generates
882 files in version 2 of the CNF format, and that both versions 1
883 and 2 of this file format can be read by Conarc.
884 If __CNF_FORMAT_V2__ is not defined, assume that Epoccnf.pl
885 generates files in version 1 of the CNF format, and that only
886 version 1 of this file format can be read by Conarc.
888 #define __CNF_FORMAT_V2__
893 SYMBIAN_SUPPORT_LINKED_FONTS
895 If SYMBIAN_SUPPORT_LINKED_FONTS is defined then APIs are provided
896 to create 'linked' font instances which combine glyph sets from
897 multiple existing font glyph sets.
899 @see CLinkedTypefaceElement
900 @see CLinkedTypefaceSpecification
902 This #define supports PREQ1431.
904 #define SYMBIAN_SUPPORT_LINKED_FONTS
911 When SYMBIAN_SECURE_DBMS is defined, support for secure
912 shared databases is enabled within DBMS.
913 When not defined, all secure-shared-database-specific APIs
914 take the form of dummy implementations which return KErrNone.
916 #define SYMBIAN_SECURE_DBMS
921 SYMBIAN_ASSUME_SECURE_DATA
923 When this macro is defined, all data files are assumed to be in their secure
924 locations, and all code which provided backward compatibility for the
925 insecure locations is removed. For example, ICL extended resource files
926 will not be loaded from System\Libs\Plugins, only from \Resource\ICL.
928 This macro only makes sense if __SECURE_DATA__ is defined.
930 #define SYMBIAN_ASSUME_SECURE_DATA
940 #define __KEYSTORE_API_V2__
947 When __SECURE_DATA__ is defined, public read-only files are
948 assumed to be in their data-caged locations. The presence of
949 this #define does not imply that data-caging is enforced, and
950 does not imply that binaries have been relocated to sys\bin.
952 This #define supports PREQ537 "Platform security - file system layout".
954 #define __SECURE_DATA__
959 SYMBIAN_NETWORKING_PLATSEC
961 If SYMBIAN_NETWORKING_PLATSEC is defined, additional platform security
962 related functionality in enabled in the Comms-Infras and Networking
963 subsystems (e.g. API policing).
965 #define SYMBIAN_NETWORKING_PLATSEC
970 __CONDITIONS_SCHEDULES_VALID__
972 If __CONDITIONS_SCHEDULES_VALID__ is defined then the Task Scheduler component
973 supports creating persistent schedules based on a set of conditions and a
974 timeout. The schedule is run when either all the conditions are met or the
977 This functionality is part of PREQ694 - PREQ 694 - Automatic sending of SMS on
978 network reconnection.
980 #define __CONDITIONS_SCHEDULES_VALID__
985 __LEAVE_EQUALS_THROW__
987 If __LEAVE_EQUALS_THROW__ is defined, User::Leave() and TRAP() are
988 implemented in terms of C++ exceptions where the compiler supports this.
989 If __LEAVE_EQUALS_THROW__ is not defined, the legacy Symbian exception
990 mechanism is used instead.
992 Support for C++ exceptions by the compiler is indicated by the
993 internal macro __SUPPORT_CPP_EXCEPTIONS__ supplied by the tools.
994 Where this macro is not present, __LEAVE_EQUALS_THROW__ is automatically
997 This macro supports PREQ519 "Implement User::Leave() in terms of throw()".
999 #define __LEAVE_EQUALS_THROW__
1004 __BLUETOOTH_API_V2__
1006 If __BLUETOOTH_API_V2__ is defined assume that version 2 of the bluetooth
1007 subsystem will be built. This is binary compatible with version 1 for all
1008 published-all APIs but is not source compatible. Users of classes defined
1009 in BTDevice.h and BTManClient.h may need to make source changes.
1011 The BTRegistry.dll is removed, users should link instead against BTManClient.lib.
1012 The APIs provided by that DLL were classified as published-partner.
1015 @see SGL.GT172.103 - Bluetooth Compatibility Specification
1017 If __BLUETOOTH_API_V2__ is not defined then version 1 of the bluetooth subsystem
1021 #define __BLUETOOTH_API_V2__
1026 __BLUETOOTH_HCI_ALLOWS_AFH__
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.
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.
1030 The APIs provided by the HCI DLL were classified as published-partner.
1033 @see MHCIEventObserver
1036 #define __BLUETOOTH_HCI_ALLOWS_AFH__
1043 If EKA2 is defined, assume Kernel Architecture 2.
1044 If EKA2 is not defined, assume Kernel Architecture 1
1046 Kernel Architecture 2 is a defining property of the Cedar platform.
1047 Kernel Architecture 1 is a defining property of the Beech platform.
1056 SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
1058 When SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1 is defined a new EColor16MA
1059 display mode is available, having an alpha channel. The alpha support
1060 is tailored to the needs of wserv server-side, although some alpha
1061 support will also be available to client applications.
1063 This #define supports PREQ915.
1065 #define SYMBIAN_GRAPHICS_ALPHA_SUPPORT_V1
1070 __SECURE_SOFTWARE_INSTALL__
1072 When __SECURE_SOFTWARE_INSTALL__ is defined, the Software
1073 Install APIs are replaced with versions appropriate to
1074 the Secure Platform.
1076 This #define supports PREQ56 "Software install enhancements"
1078 #define __SECURE_SOFTWARE_INSTALL__
1085 If SYMBIAN_ESOCK_V3 is defined, the socket server allows protocol
1086 families to run in individual threads to protect one protocol family
1087 from the behaviour of another. The allocation of protocol families to
1088 threads is determined by a naming convention on the ESK files.
1090 This #define supports PREQ318.
1092 #define SYMBIAN_ESOCK_V3
1097 SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
1099 If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is defined, threads at
1100 priority SystemServer/More (i.e. process priorities EPriorityFileServer,
1101 EPriorityWindowServer or EPrioritySupervisor with relative thread priority
1102 EPriorityMore) are mapped to absolute priority 23, equal to the highest
1103 priority available to normal applications. This lowers the Window Server
1104 and File Server priorities so application threads can timeslice with them,
1105 benefitting audio and other pseudo real-time applications.
1107 If SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES is not defined, these system server
1108 priorities remain at 24, preempting all normal user application threads.
1110 This #define supports PREQ955, and BR1821.
1112 #define SYMBIAN_CURB_SYSTEMSERVER_PRIORITIES
1122 #define SYMBIAN_CRYPTO
1128 SYMBIAN_GRAPHICS_BUILD_WSERV2
1130 If SYMBIAN_GRAPHICS_BUILD_WSERV2 is defined WServ2 binaries are built and can be used instead of WSERV1 versions
1132 #define SYMBIAN_GRAPHICS_BUILD_WSERV2
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.
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.
1142 The version 1 HCI supports most but NOT all commands and events listed in Bluetooth v2.0 specification.
1144 See BR1613 for more information.
1146 #define SYMBIAN_HCI_API_V2
1152 SYMBIAN_BAFL_SYSUTIL
1154 If SYMBIAN_BAFL_SYSUTIL is defined, the bafl sysutil.dll is present,
1155 providing APIs for obtaining system version information and
1156 APIs for monitoring free disk space.
1158 @see SysUtil::GetSWVersion
1159 @see SysUtil::DiskSpaceBelowCriticalLevelL
1161 This #define supports PREQ1802.
1163 #define SYMBIAN_BAFL_SYSUTIL
1169 SYMBIAN_BAFL_ACTIVITYMGR
1171 If SYMBIAN_BAFL_ACTIVITYMGR is defined, the bafl activitymgr.dll is
1172 presentand provides an API that allows the client to take action at the
1173 start and/or end of a period of user inactivity.
1175 @see CUserActivityManager::Start
1177 This #define supports PREQ1802.
1179 #define SYMBIAN_BAFL_ACTIVITYMGR
1184 SYMBIAN_CENREPNOTIFIERHANDLER
1186 If SYMBIAN_CENREPNOTIFIERHANDLER is defined, the Central
1187 Repository notifier handler is present.
1189 @see CCenRepNotifyHandler
1190 @see MCenRepNotifyHandlerCallback
1192 This #define supports PREQ1802.
1194 #define SYMBIAN_CENREPNOTIFIERHANDLER
1198 SYMBIAN_C32_SERCOMMS_V2
1201 If SYMBIAN_C32_SERCOMMS_V2 is defined, the Comms Server allows grouped CSYs
1202 to get loaded into individual threads in order to avoid CSY blocking.
1203 The allocation of CSYs to threads is determined by naming convention from
1204 the configurator/INI file.
1205 This #define supports PREQ890
1208 #define SYMBIAN_C32_SERCOMMS_V2
1213 SYMBIAN_J2ME_USE_CALENDAR
1215 Internal macro - do not use outside Symbian code.
1217 #define SYMBIAN_J2ME_USE_CALENDAR
1222 SYMBIAN_LOCATION_PRIVACY_V2
1224 If SYMBIAN_LOCATION_PRIVACY_V2 is defined, the Symbian LBS sub-system
1225 includes support for the advanced privacy dialogs and standalone
1228 This #define supports PREQ1660.
1230 #define SYMBIAN_LOCATION_PRIVACY_V2
1235 SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
1237 If SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER is defined, the Media Device
1238 Framework (MDF) will use the RSoundSc sound driver interface.
1239 If this macro is not defined, MDF will use the older RMdaDevSound interface.
1241 BR2079 gives further details of the migration needed by customers who
1242 are using the Symbian reference DevSound with their own implementation
1248 #define SYMBIAN_MDF_SHAREDCHUNK_SOUNDDRIVER
1251 @publishedPartnerProto
1253 SYMBIAN_MULTIMEDIA_A3FDEVSOUND
1255 If SYMBIAN_MULTIMEDIA_A3FDEVSOUND is defined, the PREQ1540 DevSound API is
1256 present in the Advanced Audio Adaptation Framework
1258 This #define supports PREQ1540.
1260 #define SYMBIAN_MULTIMEDIA_A3FDEVSOUND