/*
* Copyright (c) 2008 - 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: Defines S60 platform variant for Browser
* Allows Browser to build on multiple S60 platform releases
*
*/
/*
*
* NOTICE: Not for use outside of the Symbian Foundation packages 'web' and 'webuis'.
* This header may be changed or removed at any time without notice.
*
*/
#ifndef BROWSER_PLATFORM_VARIANT_HRH
#define BROWSER_PLATFORM_VARIANT_HRH
/*
* Establish which platform we are building on.
* If required, un-comment correct platform macro as
* described below
*
*/
/*
* ===================
* S60 3.23 etc..
* ===================
*/
#if defined(__S60_32__)
//
// this is the only supported platform that comes with unambiguous platform version flag
#define __PLATFORM_VERSION_32__
/*
* ===================
* S60 5.0 PF_52_50, etc.
* 5.0/5250 platforms
* ===================
*/
#elif defined(__S60_50__)
// manually edit the following lines to enable definition for
// whichever platform is in use
// un-comment following line for 5.0/5250 platforms running on products similar on S60_50
// #define __PLATFORM_VERSION_S60_50__
// un-comment following line for 5.0/5250
// #define __PLATFORM_VERSION_5250__
/*
* ===================
* S60 5.1 S60_51, etc.
* ===================
*/
// #elif defined(__S60_51__)
// un-comment following line for 5.1/TB9.1 platforms
// #define __PLATFORM_VERSION_51__
/*
* ===================
* S60 5.2 TB_92, etc.
* ===================
*/
// #elif defined(__S60_52__)
// un-comment following line for 5.2/TB9.2 platforms
#define __PLATFORM_VERSION_52_TB92__
//
#endif
/*
*
* Define Browser Version
*
*/
#define BRDO_APP_VERSION_MAJOR 7
#define BRDO_APP_VERSION_MINOR 2
#define BRDO_APP_VERSION BRDO_APP_VERSION_MAJOR##_##BRDO_APP_VERSION_MINOR
/*
*
* Define feature flags
*
* Format of browser domain feature flags:
*
* "BRDO_" | feature/component name | "_FF"
*
* Define default value of the flag in section below, and then modify it
* by platform as it varies from that default.
*
*/
// Defines Language InterWork and SAPI availability
#define BRDO_LIW_FF
// Defines ASX parser availability
#ifdef __WINDOWS_MEDIA
#define BRDO_ASX_FF
#endif
/** #BRDO_WML_DISABLED_FF
Disable WML support using BRDO_WML_DISABLED_FF
Default is WML support enabled
*/
#undef BRDO_WML_DISABLED_FF
// Defines if SecurityManager component is present
#define BRDO_WRT_SECURITY_MGR_FF
// Defines touch screen capability
#define BRDO_TOUCH_ENABLED_FF
// Defines Avkon extended toolbar support
#define BRDO_AVKON_EXT_TB_FF
// Defines Direct File IO support in RFile ( EFileWriteDirectIO )
#define BRDO_RFILE_WRITE_DIRECT_IO_FF
// Defines use of GestureHelper library
#define BRDO_USE_GESTURE_HELPER
// Defines WRT widgets feature to publish on homescreen
#define BRDO_WRT_HS_FF
// Defines flag for OOM Monitor-2
#define BRDO_OOM_MONITOR2_COMPONENT_FF
// Gallery App is not present
#undef BRDO_APP_GALLERY_SUPPORTED_FF
// Defines if MultipartParser should be built
#define BRDO_MULTIPART_PARSER_FF
// Additional export location - to adapt to new header export location
#undef BRDO_ADDED_EXPORT_LOCATION
// Platform contains new Symbian Libxml implementation
#undef BRDO_SYMBIAN_LIBXML_FF
// Enable/Disable compilation of some of Search Integration specific code
#define BRDO_SEARCH_INTEGRATION_FF
// Defines whether SAPI Security Manager Prompt Enhancement is available
#define BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
//Flag need to be removed after this fix is supplied to Symbian 9.4
#define BRDO_HTTP_STACK_93
// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
#define BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
// Flag for Multi touch enable
#define BRDO_MULTITOUCH_ENABLED_FF
// Flag for Sapi prompt notification
#define BRDO_SAPINTFN_ENABLED_FF
//To provide WidgetSIDChecker support
#define APP_SID_CHECK_SUPPORT_FF
//AT&T DownloadMgr path support flag
#define DOWNLOADMGR_PATH_PLUGIN_ENABLED_FF
//Music Store Warning Level Feature Flag
#define DOWNLOADMGR_WARNINGLEVEL_ENABLED_FF
// One Click Connectivity support flag
#define BRDO_OCC_ENABLED_FF
//Single click flag
#define BRDO_SINGLE_CLICK_ENABLED_FF
//Video player 2, surface aware controller,
#define BRDO_VIDEOPLAYER2_ENABLED_FF
//To enable for IAD Update (For add-on Browser)
#define BRDO_IAD_UPDATE_ENABLED_FF
//To enable performance improvements done in TB9.2
#define BRDO_PERF_IMPROVEMENTS_ENABLED_FF
//To enable modified cache-control = max-age feature
#define BRDO_CACHE_MAX_AGE
/*
* ===================
* S60 3.23
* ===================
*/
#if defined(__PLATFORM_VERSION_32__)
//Video player 2, surface aware controller,
#undef BRDO_VIDEOPLAYER2_ENABLED_FF
//OCC support
#undef BRDO_OCC_ENABLED_FF
//AT&T DownloadMgr path support flag
#undef DOWNLOADMGR_PATH_PLUGIN_ENABLED_FF
//Music Store Warning Level Feature Flag
#undef DOWNLOADMGR_WARNINGLEVEL_ENABLED_FF
//Single click support
#undef BRDO_SINGLE_CLICK_ENABLED_FF
//To enable for IAD Update (For add-on Browser)
#undef BRDO_IAD_UPDATE_ENABLED_FF
//To provide WidgetSIDChecker support
#undef APP_SID_CHECK_SUPPORT_FF
// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
// Flag for Multi touch enable
#undef BRDO_MULTITOUCH_ENABLED_FF
// Flag for Sapi prompt notification
#undef BRDO_SAPINTFN_ENABLED_FF
//Flag for performance improvements in TB9.2
#undef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
// Defines touch screen capability
#undef BRDO_TOUCH_ENABLED_FF
// Defines Avkon extended toolbar support
#undef BRDO_AVKON_EXT_TB_FF
// Defines Direct File IO support in RFile ( EFileWriteDirectIO )
#undef BRDO_RFILE_WRITE_DIRECT_IO_FF
// Defines use of GestureHelper library
#undef BRDO_USE_GESTURE_HELPER
// Defines WRT widgets feature to publish on homescreen
#undef BRDO_WRT_HS_FF
// Defines flag for OOM Monitor-2
#undef BRDO_OOM_MONITOR2_COMPONENT_FF
// Gallery App is present
#define BRDO_APP_GALLERY_SUPPORTED_FF
// Disable compilation of some of Search Integration specific code
#undef BRDO_SEARCH_INTEGRATION_FF
// Defines whether SAPI Security Manager Prompt Enhancement is available
#undef BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
// Missing from 3.23 platform_paths.hrh
// Location, where the middleware layer localization .loc file should be exported
#if __GNUC__ >= 3
#define MW_LAYER_LOC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(oem/exported)
#else
#define MW_LAYER_LOC_EXPORT_PATH(exported) MW_LAYER_PUBLIC_EXPORT_PATH(oem/##exported)
#endif
// Location, where the middleware layer localization .loc file should be exported
#if __GNUC__ >= 3
#define APP_LAYER_LOC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(oem/exported)
#else
#define APP_LAYER_LOC_EXPORT_PATH(exported) APP_LAYER_PUBLIC_EXPORT_PATH(oem/##exported)
#endif
#if __GNUC__ >= 3
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../platform/mw/exported)
#else
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../platform/mw/##exported)
#endif
#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
#endif
#ifndef MW_LAYER_CONNECT_SYSTEMINCLUDE
#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(connect)
#endif
//To disable modified cache-control = max-age
#undef BRDO_CACHE_MAX_AGE
/*
* ===================
* S60 5.0 S60_50
* ===================
*/
#elif defined(__PLATFORM_VERSION_S60_50__)
//Video player 2, surface aware controller,
#undef BRDO_VIDEOPLAYER2_ENABLED_FF
//OCC support
#undef BRDO_OCC_ENABLED_FF
//AT&T DownloadMgr path support flag
#undef DOWNLOADMGR_PATH_PLUGIN_ENABLED_FF
//Music Store Warning Level Feature Flag
#undef DOWNLOADMGR_WARNINGLEVEL_ENABLED_FF
//Single click support
#undef BRDO_SINGLE_CLICK_ENABLED_FF
//To enable for IAD Update (For add-on Browser)
#undef BRDO_IAD_UPDATE_ENABLED_FF
// Flag for Multi touch enable
#undef BRDO_MULTITOUCH_ENABLED_FF
// Flag for Sapi prompt notification
#undef BRDO_SAPINTFN_ENABLED_FF
//Flag for performance improvements in TB9.2
#undef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
//To provide WidgetSIDChecker support
#undef APP_SID_CHECK_SUPPORT_FF
// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
// Defines must accumulate versions. ie for 5.01 you must define BRDO_BROWSER_50_FF and BRDO_BROWSER_501_FF(To be reviewed)
// The assumption is that anything that worked in 3.2 will work in 5.0 and 5.01. For anything doesn't work
// in 3.2 but works in 5.0 and above, that code should be behind the BRDO_BROWSER_50_FF flag.
#define BRDO_BROWSER_50_FF
// Defines WRT widgets feature to publish on homescreen
#undef BRDO_WRT_HS_FF
// Defines flag for OOM Monitor-2
#undef BRDO_OOM_MONITOR2_COMPONENT_FF
// Gallery App is present
#define BRDO_APP_GALLERY_SUPPORTED_FF
// Disable compilation of some of Search Integration specific code
#undef BRDO_SEARCH_INTEGRATION_FF
// Defines whether SAPI Security Manager Prompt Enhancement is available
#undef BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
#if __GNUC__ >= 3
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../../platform/mw/exported)
#else
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../../platform/mw/##exported)
#endif
#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
#endif
#ifndef OS_LAYER_LIBC_SYSTEMINCLUDE
#define OS_LAYER_LIBC_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../stdapis) \
OS_LAYER_PUBLIC_EXPORT_PATH(stdapis)
#endif
#ifndef MW_LAYER_CONNECT_SYSTEMINCLUDE
#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/connect
#endif
#ifndef MW_LAYER_ECOM_SYSTEMINCLUDE
#define MW_LAYER_ECOM_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/ecom
#endif
#ifndef MW_LAYER_HTTP_SYSTEMINCLUDE
#define MW_LAYER_HTTP_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/http
#endif
// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
//Flag need to be removed after this fix is supplied to Symbian 9.4
#undef BRDO_HTTP_STACK_93
//To disable modified cache-control = max-age
#undef BRDO_CACHE_MAX_AGE
/*
* ===================
* S60 5.0 PF5250+
* ===================
*/
#elif defined(__PLATFORM_VERSION_5250__)
//Video player 2, surface aware controller,
#undef BRDO_VIDEOPLAYER2_ENABLED_FF
//AT&T DownloadMgr path support flag
#undef DOWNLOADMGR_PATH_PLUGIN_ENABLED_FF
//Music Store Warning Level Feature Flag
#undef DOWNLOADMGR_WARNINGLEVEL_ENABLED_FF
//OCC support
#undef BRDO_OCC_ENABLED_FF
//Single click support
#undef BRDO_SINGLE_CLICK_ENABLED_FF
//To enable for IAD Update (For add-on Browser)
#define BRDO_IAD_UPDATE_ENABLED_FF
// Flag for Multi touch enable
#undef BRDO_MULTITOUCH_ENABLED_FF
// Flag for Sapi prompt notification
#undef BRDO_SAPINTFN_ENABLED_FF
//Flag for performance improvements in TB9.2
#undef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
//To provide WidgetSIDChecker support
#undef APP_SID_CHECK_SUPPORT_FF
// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
// Defines must accumulate versions. ie for 5.01 you must define BRDO_BROWSER_50_FF and BRDO_BROWSER_501_FF(To be reviewed)
// The assumption is that anything that worked in 3.2 will work in 5.0 and 5.01. For anything doesn't work
// in 3.2 but works in 5.0 and above, that code should be behind the BRDO_BROWSER_50_FF flag.
#define BRDO_BROWSER_50_FF
#if __GNUC__ >= 3
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../../platform/mw/exported)
#else
#define BRDO_ADDED_EXPORT_LOCATION(exported) MW_LAYER_DOMAIN_EXPORT_PATH(../../platform/mw/##exported)
#endif
#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(../libc)
#endif
#ifndef MW_LAYER_CONNECT_SYSTEMINCLUDE
#define MW_LAYER_CONNECT_SYSTEMINCLUDE SYSTEMINCLUDE /epoc32/include/connect
#endif
// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
//Flag need to be removed after this fix is supplied to Symbian 9.4
#undef BRDO_HTTP_STACK_93
//To enable modified cache-control = max-age
#define BRDO_CACHE_MAX_AGE
/*
* ===================
* S60 5.1
* ===================
*/
#elif defined(__PLATFORM_VERSION_51__)
//Video player 2, surface aware controller,
#undef BRDO_VIDEOPLAYER2_ENABLED_FF
//AT&T DownloadMgr path support flag
#undef DOWNLOADMGR_PATH_PLUGIN_ENABLED_FF
//Music Store Warning Level Feature Flag
#undef DOWNLOADMGR_WARNINGLEVEL_ENABLED_FF
//OCC support
#undef BRDO_OCC_ENABLED_FF
//Single click support
#undef BRDO_SINGLE_CLICK_ENABLED_FF
//To enable for IAD Update (For add-on Browser)
#undef BRDO_IAD_UPDATE_ENABLED_FF
// Flag for Multi touch enable
#undef BRDO_MULTITOUCH_ENABLED_FF
// Flag for Sapi prompt notification
#undef BRDO_SAPINTFN_ENABLED_FF
//Flag for performance improvements in TB9.2
#undef BRDO_PERF_IMPROVEMENTS_ENABLED_FF
//To provide WidgetSIDChecker support
#undef APP_SID_CHECK_SUPPORT_FF
// Flag for Multiple Font Support(Times New Roman,Arial and Courier).This feature is available only for TB9.2
#undef BRDO_BROWSER_MULTIPLE_FONT_SUPPORT
// Defines whether SAPI Security Manager Prompt Enhancement is available
#undef BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
#define BRDO_BROWSER_50_FF
#define BRDO_BROWSER_51_FF
#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
#endif
// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
//Flag need to be removed after this fix is supplied to Symbian 9.4
#undef BRDO_HTTP_STACK_93
//To disable modified cache-control = max-age
#undef BRDO_CACHE_MAX_AGE
/*
* ===================
* S60 5.2
* ===================
*/
//Flag provieded to not fix the problem for Multiple heap created for in application startup
#undef BRDO_STATIC_DATA_CLEANUP_SUPPORT_FF
#elif defined(__PLATFORM_VERSION_52_TB92__)
//Video player 2, surface aware controller,
#define BRDO_VIDEOPLAYER2_ENABLED_FF
// Defines whether SAPI Security Manager Prompt Enhancement is available
#undef BRDO_SEC_MGR_PROMPT_ENHANCEMENT_FF
//Defines One Click Connectivity support
#define BRDO_OCC_ENABLED_FF
//AT&T DownloadMgr path support flag
#define DOWNLOADMGR_PATH_PLUGIN_ENABLED_FF
//Music Store Warning Level Feature Flag
#define DOWNLOADMGR_WARNINGLEVEL_ENABLED_FF
//Single click support
#define BRDO_SINGLE_CLICK_ENABLED_FF
//To enable for IAD Update (For add-on Browser)
#define BRDO_IAD_UPDATE_ENABLED_FF
#define BRDO_BROWSER_50_FF
#define BRDO_BROWSER_51_FF
#define BRDO_BROWSER_52_FF
// BrDo MultipartParser not used from S60 5.2 onward
// un-comment this line for week21 release
#undef BRDO_MULTIPART_PARSER_FF
// Defines Symbian HTTP stack parameters specific for symbian 9.3 (e.g. EHttpEnableOptimalPipelining, EHttpOptimalPipelining)
//Flag need to be removed after this fix is supplied to Symbian 9.4
#undef BRDO_HTTP_STACK_93
#ifndef OS_LAYER_ESTLIB_SYSTEMINCLUDE
#define OS_LAYER_ESTLIB_SYSTEMINCLUDE SYSTEMINCLUDE OS_LAYER_PUBLIC_EXPORT_PATH(libc)
#endif
// Platform contains new Symbian Libxml implementation
#define BRDO_SYMBIAN_LIBXML_FF
// Static data initializtion on start up in E32Main()
#define BRDO_STATIC_DATA_CLEANUP_SUPPORT_FF
//To provide WidgetSIDChecker support
#define APP_SID_CHECK_SUPPORT_FF
#endif // PLATFORM VERSION ID's
// Generic run-time definitions -- see WmlBrowserBuild.h for similar feature related definitions
// Browser Update - Independent Application Delivery
#if defined( KFeatureIdIAUpdate )
// Defines flag for activating changes to update Browser application - from the Browser application
#define BRDO_BROWSER_UPDATE_UI_FF FeatureManager::FeatureSupported( KFeatureIdIAUpdate )
#else
#define BRDO_BROWSER_UPDATE_UI_FF 0
#endif // KFeatureIdIAUpdate
//To enable modified cache-control = max-age
#define BRDO_CACHE_MAX_AGE
#endif // BROWSER_PLATFORM_VARIANT_HRH