/*
* Copyright (c) 2006 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:  Enum Definition of the Browser Control API
*
*/


#ifndef BRCTLDEFS_H
#define BRCTLDEFS_H

//  INCLUDES

// DATA TYPES

// FORWARD DECLARATIONS

// EXPORTED FUNCTION

/**
* The TBrCtlDefs class contains definitions of custom data types for the Browser Control API.
*
* Usage:
*
* @code
*  #include <BrCtlDefs.h>
*
* @see S60 Platform: Browser Control API Developer's Guide Version 2.0
* @lib BrowserEngine.lib
* @since 3.0
* @file BrCtlDefs.h
* @endcode     *
*/
class TBrCtlDefs
    {
    public:
        /**
         * The Browser Control uses 600 command IDs, whose default
         * range is from 15000 - 15600. The host application can specify
         * any desired range through the API.
         */
        enum TBrCtlCommandId
            {
            ECommandIdBrowserBase = 0, ///< The base Browser ID.
            ECommandIdSubscribeToBase = 90, ///< The SubscribeToBase ID.
            ECommandIdPluginBase = 100, ///< The base plug-in ID.
            ECommandIdWMLBase = 300, ///< The base WML ID.
            ECommandIdRange = 600,   ///< The maximum number of command IDs.
            ECommandIdBase = 15000   ///< The base value for the command IDs.

            };
        /**
        * Rules that determine in which mode the cache operates.
        */
        enum TBrCtlCacheMode
            {
            /**
            * Normal caching operation.
            * If the requested entity is in the cache and it has not expired,
            * get it from the cache. If the requested entity is not in the cache,
            * or if it has expired, the browser should request it from the server.
            */
            ECacheModeNormal = 0,
            /**
            * If the requested entity is in the cache, get it from the cache
            * even if it has expired. If the requested entity is not in the cache,
            * the browser should request it from the server.
            */
            ECacheModeHistory,
            /**
            * The browser should request the content from the server even if it is in the cache.
            */
            ECacheModeNoCache,
            /**
            * If the requested entity is in the cache, get it from the cache
            * even if it has expired. If the requested entity is not in the cache,
            * return an error.
            */
            ECacheModeOnlyCache
            };
        /**
        * The host application can send these commands
        * to the Browser Control by calling the HandleCommandL function.
        * @attention The host application should define the base for the command
        * IDs and add that base to the enum value of each command.
        */
        enum TBrCtlCommands
            {
            ECommandDisconnect = 0, ///< Unloads the HTTP Framework
            ECommandCancelFetch, ///< Cancels all outstanding requests
            ECommandOpen, ///< Activates the focused element
            ECommandReload, ///< Reloads the current page
            ECommandBack, ///< Loads the previous page, if available
            /**
            * Loads the next page. This command is used only to return
            * to the next page after going back to a previous page.
            */
            ECommandForward,
            ECommandClearHistory, ///< Clears the history stack
            /**
            * Shows a list of history entries. Do not use this parameter if
            * LoadDataL or InitLoadDataL are used.
            */
            ECommandShowHistory,
            ECommandAccept, ///< Accepts the input data in the editor.
            /**
            * Cancels the input data in the editor. Sets the focus back
            * on the browser after the focus is shifted to a plug-in.
            */
            ECommandCancel,
            ECommandOpenToViewer, ///< Opens object data in an external viewer
            /**
            * Adds the contact information of the link currently selected to
            * the phone book
            */
            ECommandAddToPhoneBook,
            /**
            *Makes a phone call using the phone number in the link currently selected
            */
            ECommandMakeCall,
            ECommandRemoveFileName, ///< Removes the file name from a file selection box
            ECommandShowImages, ///< Shows a list of the images in the current page
            ECommandLoadImages, ///< Loads images when automatic image loading is turned off
            ECommandGainFocus, ///< Called when the Browser Control returns from background
            ECommandLoseFocus, ///< Called when the Browser Control goes to the background
            /**
            * Do not call this parameter. It is a base for the next three commands.
            */
            ECommandFindItem,
            /**
            * Displays the FindItem dialog and highlights all of the
            * phone numbers in the current page. Use this parameter only
            * if you specified the ECapabilityFindItem capability.
            */
            ECommandFindItemPhoneNumber,
            /**
            * Displays the FindItem dialog and highlights all of the e-mail
            * addresses in the current page. Use this parameter only if you
            * specified the ECapabilityFindItem capability.
            */
            ECommandFindItemEMail,
            /**
            * Displays the FindItem dialog and highlights all of the URLs in
            * the current page. Use this parameter only if you specified
            * the ECapabilityFindItem capability.
            */
            ECommandFindItemAddress,
            ECommandFindKeyword, ///< Reserved for future use.
            ECommandClearFind, ///< Reserved for future use.
            ECommandShowThumbnailView, ///< Reserved for future use.
            ECommandShowDownloads, ///< Tells the Download Manager to display the list of downloads.
            /**
            * Saves the following launch parameters when the application
            * unexpectedly shuts down. These parameters all have the prefix ESettingsLaunch:
            * AppUid, ViewId, CustomMessageId
            * When the phone reboots, it uses these parameters to restart
            * the host application and resume the interrupted downloads.
            * NOTE: These parameters must be set before calling this command.
            */
            ECommandSaveLaunchParams,
            ECommandOneStepBack, ///< Reserved for future use.
            ECommandAppForeground, ///<
            ECommandAppBackground, ///<
            ECommandOpenNewWindow, ///<
            ECommandClearAutoFormFillData, ///<
            ECommandClearAutoFormFillPasswordData, ///<
            ECommandFreeMemory, ///<
            ECommandMemoryGood, ///<
            ECommandDumpRenderTree, ///<
            ECommandUnloadWMLEngine, ///<
            ECommandSmartLinkMakeCall, ///<
            ECommandSmartLinkSendMessage, ///<
            ECommandSmartLinkAddToPhoneBook, ///<
            ECommandShowToolBar, ///<Shows the toolbar
            ECommandSmartLinkSendEmail, ///<
            ECommandShowAnchorHref,  ///<Display the URL of a hyperlink - supported only for HTML
            ECommandLoadFocusedImage, ///<Load the focuesd image - supported only for HTML
            ECommandUnLoadPluginWindows, ///<Unload plugin windows
            /**
            * Displays the FindItem dialog and highlights all of the VoIP
            * addresses in the current page. Use this parameter only if you
            * specified the ECapabilityFindItem capability.
            */
            ECommandFindItemVoIPAddress, ///<Find VoIP address item
            ECommandSmartLinkMakeVoipCall,   ///<MakeVoip Callthrough smartlink
            /**
            * Zoom Slider configuration.
            */
            ECommandZoomSliderShow, ///< Zoom slider visible.
            ECommandZoomSliderHide, ///< Zoom slider hidden.
            ECommandHistoryNavigateForward,
            ECommandHistoryNavigateBack,
            /*
             ** Enter/Exit Fullscreen Browsing
             */
             ECommandEnterFullscreenBrowsing,
             ECommandLeaveFullscreenBrowsing,
             ECommandZoomIn,
             ECommandZoomOut
            };
        /**
        * The load event that occurred.
        */
        enum TBrCtlLoadEvent
            {
            EEventNone = 0,                     // Non event, Not used.
            /**
            * A page is beginning to load. This includes images, scripts,
            * style sheets, and anything else embedded in the page as a single load event.
            */
            EEventNewContentStart,
            /** A URL is beginning to load. This notifies the observer of a
            * separate load event for each image or other element embedded in the page.
            */
            EEventUrlLoadingStart,
            /**
            * The first data chunk has arrived. This occurs when the response
            * headers are received.
            */
            EEventNewUrlContentArrived,
            /**
            * Another data chunk has arrived.
            * This occurs for each chunk of data that is loaded, including the first chunk.
            */
            EEventMoreUrlContentArrived,
            /**
            * The first chunk of content is displayed. The previous page is
            * destroyed at this time. This occurs once per page.
            */
            EEventNewContentDisplayed,
            /**
            * Another chunk of content is displayed. This occurs for each
            * chunk of content that is displayed, except for the first chunk.
            */
            EEventMoreContentDisplayed,
            EEventUrlLoadingFinished,           ///< A URL has finished loading.
            /**
            * The page has finished loading. If the host application draws a
            * progress bar, it can be removed when this event is received.
            */
            EEventLoadFinished,
            EEventContentFinished,  ///< The content has finished loading.
            /**
            * A page title was encountered. After receiving this
            * event, the host application can call PageInfoLC to receive the page title.
            */
            EEventTitleAvailable,
            EEventLoadError,      ///< An error occurred while loading the page.
            /**
            * The user is navigating from a non-secure page to a secure page.
            * The host application displays a secure icon, if needed.
            */
            EEventEnteringSecurePage,
            /**
            * The user is navigating from a secure page to a non-secure page.
            * If the host application displays a secure icon, that icon should be removed.
            */
            EEventExitingSecurePage,
            /**
            * The user is entering a secure page that contains non-secure items.
            */
            EEventSomeItemsNotSecure,
            /**
            * The user is submitting information to a non-secure page.
            */
            EEventSubmittingToNonSecurePage,
            /**
            * User confirmation is required to redirect the browser.
            */
            EEventRedirectConfirmation,
            /**
            * User confirmation is required to repost a page that has been viewed previously.
            */
            EEventRepostConfirmation,
            /**
            * The user is entering a non-secure page that contains secure items.
            */
            EEventSecureItemInNonSecurePage,
            /**
            * Authentication failed or was cancelled.
            */
            EEventAuthenticationFailed,
            /**
            * A file is beginning to upload.
            */
            EEventUploadStart,
            /**
            * A file has finished uploading; the last chunk of data has been transmitted.
            */
            EEventUploadFinished,
            /**
            * Length of the data transmitted and the cumulative size of the uploaded file.
            */
            EEventUploadIncrement,
            EEventFaviconAvailable,
            EEventThumbnailAvailable
            };
        /**
        * The setting to manipulate.
        */

        enum TBrCtlSettings
            {
            ESettingsUnknown = -1, ///< Not used
            /**
            * If set to On, large pages are optimized for display on a small screen.
            * If set to Off, all pages display in their original format.
            */
            ESettingsSmallScreen = 0,
            /**
            * If set to On, images automatically load when a page is downloaded.
            * If set to Off, images are not loaded. Default: On
            */
            ESettingsAutoLoadImages,
            /**
            * If set to All.Large, all text is shown 40% larger than its declared size.
            * If set to Larger, all text is shown 20% larger than its declared size.
            * If set to Normal, all text is shown as its declared size.
            * If set to Smaller, all text is shown 20% smaller than its declared size.
            * If set to All.Small, all text is shown 40% smaller than its declared size.
            */
            ESettingsFontSize,
            /**
            * If set to On, the host application is embedded within another application.
            * If set to Off, the host application is not embedded within another application.
            */
            ESettingsEmbedded,
            /**
            * If set to On, paragraphs are automatically wrapped to fit into the display width.
            * If set to Off, paragraphs are not automatically wrapped.
            * @attention This parameter is not shown if ESettingsSmallScreen is set to On.
            */
            ESettingsTextWrapEnabled,
            /**
            * If set to Allow, the user can send and receive cookie information.
            * If set to Reject, the user cannot send or receive cookie information.
            */
            ESettingsCookiesEnabled,
            /**
            * If set to Finest, external style sheets are downloaded when
            * Small Screen Layout is used. If set to Fastest, external style
            * sheets are not downloaded when Small Screen Layout is used.
            * Default value: Fastest
            */
            ESettingsCSSFetchEnabled,
            /**
            * If set to Enable, ECMA Script is enabled.
            * If set to Disable, ECMA Script is disabled.
            * Default value: Enable
            */
            ESettingsECMAScriptEnabled,
            /**
            * Device unique identification number sent to a server for billing
            * purposes in e-commerce. If set to Enable, the Browser Control
            * sends the International Mobile Equipment Identity (IMEI) to the server.
            * If set to Disable, the Browser Control does not send the IMEI to the server.
            * Default value: Disable
            */
            ESettingsIMEINotifyEnabled,
            /**
            * Character coding. If set to Automatic, the character set is
            * automatically selected according to the following criteria, in order or priority:
            * 1. Detected from the Byte Order Mark (BOM)
            * 2. Detected from XML Document Type Definition (DTD)
            * 3. Declared in <meta> element
            * 4. Detected from HTTP headers
            * 5. Variant-specific default character set for automatic detection.
            * Possible character codings are:
            * Latin
            * Simplified Chinese
            * Traditional Chinese
            * Unicode (UTF-8)
            * Unicode (ucs-2)
            * ISO 8859 - 2,4,5,7,or 9
            * Hebrew (ISO-Logical)
            * Hebrew (ISO-Visual)
            * Hebrew (Windows)
            * Arabic (ISO)
            * Arabic (Windows)
            * Windows - 1250, 1251, 1253, 1254, or 1257
            * Thai
            * Thai (Windows 874)
            * Shift_jis
            * Euc-jp
            * ISO-2022-jp
            * The default value is variant-specific.
            */
            ESettingsCharacterset,
            /**
            * URL of the initial page. Tells the
            * Browser Control to send the referrer header in the request.
            */
            ESettingsSendRefererHeader,
            /**
            * One of the following:
            * Certificate not valid yet
            * Server certificate expired
            * Server certificate not received
            * Invalid server certificate
            * Authority certificate not valid yet
            * Authority certificate expired
            * Authority certificate not found
            * Authority certificate corrupted
            */
            ESettingsSecurityWarnings,
            /**
            * Default access point for the Browser Control to use when
            * connecting to the network.
            */
            ESettingsApId,
            ESettingsCurrentZoomLevelIndex, ///< Reserved for future use.
            ESettingsPageOverview,  ///< Reserved for future use.
            ESettingsNumOfDownloads, ///< Number of downloads in progress.
            /**
            * UID of the application to
            * restart after a reboot in order to continue an interrupted download.
            */
            ESettingsLaunchAppUid,
            /**
            * View ID of the application to
            * restart after a reboot in order to continue an interrupted download.
            */
            ESettingsLaunchViewId,
            /**
            * Message that asks the user whether to resume the download.
            */
            ESettingsLaunchCustomMessageId, ///< Reserved for future use.
            ESettingsBackList, ///< Reserved for future use.
            ESettingsAutoRefresh, ///< Reserved for future use.
            /**
            * If set, the browser encodes URLs using UTF-8 instead of
            * the original content encoding.
            * @attention This is recommended only for the APAC region.
            */
            ESettingsBrowserUtf8Encoding,
            ESettingsAutoFormFillEnabled, ///< For enabling the auto fill
            ESettingsSavedPage,           ///< Save the page
            ESettingsSmartLink,
            ESettingsAutoOpenDownloads, // For automatically open the downloaded files
            ESettingsDisableFlash, ///<Enable/Disable the flash
            ESettingsScriptLog,         /// script log
            /**
            * Toolbar buttons configuration settings
            */
            ESettingsToolbarOnOff,
            ESettingsToolbarButton1Cmd,
            ESettingsToolbarButton2Cmd,
            ESettingsToolbarButton3Cmd,
            ESettingsToolbarButton4Cmd,
            ESettingsToolbarButton5Cmd,
            ESettingsToolbarButton6Cmd,
            ESettingsToolbarButton7Cmd,
            /**
            * Browser Zoom level configuration settings
            */
            ESettingsZoomLevelMin,          ///< Minimum Zoom level supported
            ESettingsZoomLevelMax,          ///< Maximum Zoom level supported
            ESettingsZoomLevelDefault,      ///< Default Zoom level for new page
            ESettingsMaxEnum              ///< Must be last one
            };

            /**
            * The size of the font selected.
            */
        enum TBrCtlFontSizeLevel
            {
            /**
            * Text is shown 40% smaller than its declared size.
            */
            EFontSizeLevelAllSmall = 0,
            /**
            * Text is shown 20% smaller than its declared size.
            */
            EFontSizeLevelSmaller,
            /**
            * Text is shown as its declared size.
            */
            EFontSizeLevelNormal,
            /**
            * Text is shown 20% larger than its declared size.
            */
            EFontSizeLevelLarger,
            /**
            * Text is shown 40% larger than its declared size.
            */
            EFontSizeLevelAllLarge
            };
        /**
        * Configuration options for the Browser Control
        */
        enum TBrCtlCapabilities
            {
            /**
            * Displays horizontal and vertical scroll bars.
            */
            ECapabilityDisplayScrollBar         = 0x0001,
            /**
            * Sends request to load embedded content to the host application.
            * The host application indicates whether or not the load request
            * should proceed.
            */
            ECapabilityClientResolveEmbeddedURL = 0x0002,
            /**
            * Sends request to load a URL to the host application.
            * The host application indicates whether or not the load
            * request should proceed.
            */
            ECapabilityClientNotifyURL          = 0x0004,
            /**
            * Disables input boxes and Netscape plug-ins.
            */
            ECapabilityDisableInputAndPlugins   = 0x0008,
            /**
            * Adds Find Item to the Options menu.
            */
            ECapabilityFindItem                 = 0x0010,
            /**
            * Allows network access for HTTP requests.
            * If this option is not set, HTTP requests will fail.
            */
            ECapabilityLoadHttpFw               = 0x0020,
            /**
            * Employs the Download Manager to download content, such as audio or video files.
            */
            ECapabilityUseDlMgr                 = 0x0040,
            /**
            * Launches a viewer application to view the downloaded content.
            */
            ECapabilityLaunchViewer             = 0x0080,
            ECapabilityGraphicalHistory     = 0x0100, ///< Reserved for future use.
            ECapabilitySavedPage        = 0x0200,  ///< Reserved for future use.
            ECapabilityConfirmDownloads = 0x0400, ///< Enables confirmation dialog in the Download Manager.
            ECapabilityAutoFormFill     = 0x0800,
            ECapabilityCursorNavigation = 0x1000,
            ECapabilityGraphicalPage    = 0x2000,
            ECapabilityAccessKeys       = 0x4000,
            ECapabilityFavicon          = 0x8000,
            ECapabilityToolBar          = 0x00010000,
            ECapabilityWebKitLite       = 0x00020000,
            ECapabilityFitToScreen      = 0x00040000
            };

        /**
        * Gets the requested page information.
        */
        enum TBrCtlPageInfo
            {
            EPageInfoTitle = 0, ///< Page title, if a title was specified
            EPageInfoUrl,    ///< URL of the current page
            EPageInfoContent, ///< Page content as a text buffer
            EPageInfoSavedPage, ///< Page content, including all embedded content, as a buffer
            EPageInfoFocusedNodeUrl //< URL of the focused link. The function leaves if the focus is not on an anchor or imagemap
            };
        /**
        * Indicates whether the browser is in Image Map view.
        */
        enum TBrCtlState
            {
            /**
            * Currently, the
            * only state change that can be observed is in and out of Image Map view.
            */
            EStateImageMapView = 0,
            EStateHistoryView, ///< For future use
            EStateThumbnailView, ///< For future use
            EStateWmlView,        ///< For WML view
            EStateSmartTextView,   ///< For Smart text recognition mode
            EStateToolBarMode,      ///< For toolbar
            EStatePluginPlayer,
            EStateScriptLog,
            EStateZoomSliderMode,    ///< For ZoomSlider
            EStateFullscreenBrowsing,    ///< For entering/escaping fullscreen browsing
            EStateHistoryBeginning,
            EStateHistoryEnd,
            EStateSynchRequestMode,  ///< For synchronous (XHR) requests
            EStatePluginFullScreen
            };
        /**
        * Type of the focused element.
        */
        enum TBrCtlElementType
            {
            EElementNone = 0, ///< No element is present.
            EElementImageBox, ///< Box containing an image.
            /**
            * Element used to create either of the following:
            * A link to another document
            * A bookmark within a document
            */
            EElementAnchor,
            EElementTelAnchor, ///< Anchor with a "tel:" scheme
            EElementMailtoAnchor, ///< Anchor with a "mailto:" scheme
            EElementInputBox, ///< Input box that can be selected and activated.
            EElementActivatedInputBox, ///< Input box that contains an entry field into which the user can type.
            /**
            * Box that contains a list of items. The user
            * can select one of the items by clicking it.
            */
            EElementSelectBox,
            /**
            * Push button that can contain text or images. For example, Submit.
            */
            EElementButton,
            EElementTextAreaBox, ///< Input box that contains more than one line.
            EElementRootBox, ///< Root of the document.
            EElementObjectBox, ///< Placeholder for a plug-in that has not yet been downloaded.
            /**
            * Box containing a plug-in that the user can
            * manipulate; for example, by navigating links.
            */
            EElementActivatedObjectBox,
            EElementDownloadedObjectBox, ///< Plug-in that is present but is not being manipulated.
            EElementFileSelectionBoxNoContent, ///< File-browsing box in which no file is selected.
            EElementFileSelectionBoxWithContent, ///< File-browsing box in which a file was selected previously.
            EElementAreaBox, ///< Image map.
            EElementCheckBoxChecked, ///< A check box that was selected.
            EElementCheckBoxUnChecked, ///< A check box that was not selected.
            EElementRadioButtonSelected, ///< A radio button that was selected.
            EElementRadioButtonUnSelected, ///< A radio button that was not selected.

            EElementMouseButtonListener, ///< A Mouse button listener
            EElementScrollBar,    ///< A scroll bar

            EElementSmartLinkTel, ///< A telephone number in the page.
            EElementSmartLinkEmail, ///< an email address in the page.
            EElementBrokenImage, ///< A missing image
            EElementSmartLinkVoip, ///< A voip smartlink
            EElementSelectMultiBox ///< A select box with multiple select
        };

        /**
        * Identifies the navigation direction
        */
        enum TBrCtlNavigationDirection
            {
            ENavigationBack, ///< Navigate to the previous page
            ENavigationForward ///< Navigate to the next page
            };

       /**
        * Returns information about the version of the Browser Control.
        */
        enum TBrCtlVersionInfo
          {
          EVersionInfoName = 0, ///< Name of the Browser Control
          EVersionInfoVersion,  ///< Version of the Browser Control
          EVersionInfoBuild,    ///< Build of the Browser Control
          EBrowserVersion   ///< Browser Version
          };

        /**
        * Returns information about the version of the Browser Control.
        */
        enum TBrCtlParams
            {
            EParamsUnknown = -1, ///< Not used
            /**
            * List of content types that do not use the Download Manager
            */
            EParamsSelfDownoadableTypes = 0,
            /**
            * List of headers that the Browser Control should add to each request
            */
            EParamsRequestHeaders,
            EParamsMax ///< Not used
            };

        /**
        * Reserved for future use
        */
    enum TBrCtlFindResponse
      {
      EFindNoMatches = 0, ///< Reserved for future use
      EFindWrapAround,    ///< Reserved for future use
      EFindAllMatches,    ///< Reserved for future use
      EFindMatch          ///< Reserved for future use
      };

    /**
    * Specifies the type of method to call to fetch a URL.
    * The MbrCtlWindowObserver employs this method.
    */
        enum TBrCtlMethod
            {
            /**
            * Get method should be used to fetch content from a URL
            */
            EMethodGet,
            /**
            * POST method should be used to fetch content from a URL
            */
            EMethodPost
            };
     /**
     * Commands sent by the host application
     * to the Browser Control by calling the HandleDownloadCommandL function.
     */
      enum TBrCtlDownloadCmd
      {
      /**
      * Pauses the download identified
      * by the aTransId parameter of the HandleDownloadCommandL function.
      */
      EDownloadCmdPause,
      /**
      * Resumes the download identified by
      * the aTransId parameter of the HandleDownloadCommandL function.
      */
      EDownloadCmdResume,
      /**
      * Cancels the download identified by the
      * aTransId parameter of the HandleDownloadCommandL function.
      */
      EDownloadCmdCancel,
      /**
      * Notifies the Download Manager that the download is progressive.
      * This means that the file can be played while the download is in progress.
      */
      EDownloadCmdMarkAsProgressive,
      /**
      * Notifies the Download Manager that the download is not progressive.
      * This means that the file cannot be played while the download is in progress.
      */
      EDownloadCmdMarkAsNotProgressive
      };

    enum TBrCtlBitmapInfo
      {
      EBitmapThumbnail = 0,
      EBitmapFavicon
      };

    /**
    * The client commands.
    */
    enum TBrCtlClientCommands
        {
        EClientCommandLaunchFindKeyword = 0,
        EClientCommandSubscribeToFeeds,
        EClientCommandShowContextMenu,
        EClientCommandToolbarSettings,
        EClientCommandGotoWebAddress,
        EClientCommandManageBookmarks,
        EClientCommandSaveAsBookmark,
        EClientCommandZoomIn,
        EClientCommandZoomOut,
        EClientCommandGoToHompage,
        EClientCommandRotateScreen,
        EClientCommandSavePage,
        EClientCommandSwitchWindow,
        EClientCommandShowHelp,
        EClientCommandToolbarConfigure,
        EClientCommandToolbarShowKeymap,
        EClientCommandFullScreen,
        EClientCommandZoomMode
        };

    /**
    * The widget params.
    */
    enum TBrCtlWidgetParams
        {
        EWidgetIdentifier = 0,
        EWidgetBundleId,
        EWidgetBasePath,
        EWidgetPublishState
        };

    /**
    * Orientation for rotating display
    */
    enum TBrCtlOrientation
        {
        EOrientationUndefined = 0,
        EOrientationLandscape,
        EOrientationPortrait
        };

    /**
    * How to notify javascript logs.
    */
    enum TBrCtlScriptLog
            {
            /**
            * script log output disabled
            */
            EScriptLogDisable,
            /**
            * script log output to a log file
            */
            EScriptLogToFile,
            /**
            * script log output to GUI console
            */
            EScriptLogToConsole,
            /**
            * script log output to both GUI console and file
            */
            EScriptLogToConsoleFile
            };

    enum TBrCtlFormData
        {
        EFormDataOff,
        EFormDataOnly,
        EFormDataPlusPassword
        };
    };

#endif      // BRCTLDEFS_H

// End of File
