web_pub/browser_control_api/inc/BrCtlDefs.h
changeset 0 dd21522fd290
child 16 a359256acfc6
equal deleted inserted replaced
-1:000000000000 0:dd21522fd290
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the License "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Enum Definition of the Browser Control API
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef BRCTLDEFS_H
       
    20 #define BRCTLDEFS_H
       
    21 
       
    22 //  INCLUDES
       
    23 
       
    24 // DATA TYPES
       
    25 
       
    26 // FORWARD DECLARATIONS
       
    27 
       
    28 // EXPORTED FUNCTION
       
    29 
       
    30 /**
       
    31 * The TBrCtlDefs class contains definitions of custom data types for the Browser Control API.
       
    32 *
       
    33 * Usage:
       
    34 *
       
    35 * @code
       
    36 *  #include <BrCtlDefs.h>
       
    37 *
       
    38 * @see S60 Platform: Browser Control API Developer's Guide Version 2.0
       
    39 * @lib BrowserEngine.lib
       
    40 * @since 3.0
       
    41 * @file BrCtlDefs.h
       
    42 * @endcode     *
       
    43 */
       
    44 class TBrCtlDefs
       
    45     {
       
    46     public:
       
    47         /**
       
    48          * The Browser Control uses 600 command IDs, whose default
       
    49          * range is from 15000 - 15600. The host application can specify
       
    50          * any desired range through the API.
       
    51          */
       
    52         enum TBrCtlCommandId
       
    53             {
       
    54             ECommandIdBrowserBase = 0, ///< The base Browser ID.
       
    55             ECommandIdSubscribeToBase = 90, ///< The SubscribeToBase ID.
       
    56             ECommandIdPluginBase = 100, ///< The base plug-in ID.
       
    57             ECommandIdWMLBase = 300, ///< The base WML ID.
       
    58             ECommandIdRange = 600,   ///< The maximum number of command IDs.
       
    59             ECommandIdBase = 15000   ///< The base value for the command IDs.
       
    60 
       
    61             };
       
    62         /**
       
    63         * Rules that determine in which mode the cache operates.
       
    64         */
       
    65         enum TBrCtlCacheMode
       
    66             {
       
    67             /**
       
    68             * Normal caching operation.
       
    69             * If the requested entity is in the cache and it has not expired,
       
    70             * get it from the cache. If the requested entity is not in the cache,
       
    71             * or if it has expired, the browser should request it from the server.
       
    72             */
       
    73             ECacheModeNormal = 0,
       
    74             /**
       
    75             * If the requested entity is in the cache, get it from the cache
       
    76             * even if it has expired. If the requested entity is not in the cache,
       
    77             * the browser should request it from the server.
       
    78             */
       
    79             ECacheModeHistory,
       
    80             /**
       
    81             * The browser should request the content from the server even if it is in the cache.
       
    82             */
       
    83             ECacheModeNoCache,
       
    84             /**
       
    85             * If the requested entity is in the cache, get it from the cache
       
    86             * even if it has expired. If the requested entity is not in the cache,
       
    87             * return an error.
       
    88             */
       
    89             ECacheModeOnlyCache
       
    90             };
       
    91         /**
       
    92         * The host application can send these commands
       
    93         * to the Browser Control by calling the HandleCommandL function.
       
    94         * @attention The host application should define the base for the command
       
    95         * IDs and add that base to the enum value of each command.
       
    96         */
       
    97         enum TBrCtlCommands
       
    98             {
       
    99             ECommandDisconnect = 0, ///< Unloads the HTTP Framework
       
   100             ECommandCancelFetch, ///< Cancels all outstanding requests
       
   101             ECommandOpen, ///< Activates the focused element
       
   102             ECommandReload, ///< Reloads the current page
       
   103             ECommandBack, ///< Loads the previous page, if available
       
   104             /**
       
   105             * Loads the next page. This command is used only to return
       
   106             * to the next page after going back to a previous page.
       
   107             */
       
   108             ECommandForward,
       
   109             ECommandClearHistory, ///< Clears the history stack
       
   110             /**
       
   111             * Shows a list of history entries. Do not use this parameter if
       
   112             * LoadDataL or InitLoadDataL are used.
       
   113             */
       
   114             ECommandShowHistory,
       
   115             ECommandAccept, ///< Accepts the input data in the editor.
       
   116             /**
       
   117             * Cancels the input data in the editor. Sets the focus back
       
   118             * on the browser after the focus is shifted to a plug-in.
       
   119             */
       
   120             ECommandCancel,
       
   121             ECommandOpenToViewer, ///< Opens object data in an external viewer
       
   122             /**
       
   123             * Adds the contact information of the link currently selected to
       
   124             * the phone book
       
   125             */
       
   126             ECommandAddToPhoneBook,
       
   127             /**
       
   128             *Makes a phone call using the phone number in the link currently selected
       
   129             */
       
   130             ECommandMakeCall,
       
   131             ECommandRemoveFileName, ///< Removes the file name from a file selection box
       
   132             ECommandShowImages, ///< Shows a list of the images in the current page
       
   133             ECommandLoadImages, ///< Loads images when automatic image loading is turned off
       
   134             ECommandGainFocus, ///< Called when the Browser Control returns from background
       
   135             ECommandLoseFocus, ///< Called when the Browser Control goes to the background
       
   136             /**
       
   137             * Do not call this parameter. It is a base for the next three commands.
       
   138             */
       
   139             ECommandFindItem,
       
   140             /**
       
   141             * Displays the FindItem dialog and highlights all of the
       
   142             * phone numbers in the current page. Use this parameter only
       
   143             * if you specified the ECapabilityFindItem capability.
       
   144             */
       
   145             ECommandFindItemPhoneNumber,
       
   146             /**
       
   147             * Displays the FindItem dialog and highlights all of the e-mail
       
   148             * addresses in the current page. Use this parameter only if you
       
   149             * specified the ECapabilityFindItem capability.
       
   150             */
       
   151             ECommandFindItemEMail,
       
   152             /**
       
   153             * Displays the FindItem dialog and highlights all of the URLs in
       
   154             * the current page. Use this parameter only if you specified
       
   155             * the ECapabilityFindItem capability.
       
   156             */
       
   157             ECommandFindItemAddress,
       
   158             ECommandFindKeyword, ///< Reserved for future use.
       
   159             ECommandClearFind, ///< Reserved for future use.
       
   160             ECommandShowThumbnailView, ///< Reserved for future use.
       
   161             ECommandShowDownloads, ///< Tells the Download Manager to display the list of downloads.
       
   162             /**
       
   163             * Saves the following launch parameters when the application
       
   164             * unexpectedly shuts down. These parameters all have the prefix ESettingsLaunch:
       
   165             * AppUid, ViewId, CustomMessageId
       
   166             * When the phone reboots, it uses these parameters to restart
       
   167             * the host application and resume the interrupted downloads.
       
   168             * NOTE: These parameters must be set before calling this command.
       
   169             */
       
   170             ECommandSaveLaunchParams,
       
   171             ECommandOneStepBack, ///< Reserved for future use.
       
   172             ECommandAppForeground, ///<
       
   173             ECommandAppBackground, ///<
       
   174             ECommandOpenNewWindow, ///<
       
   175             ECommandClearAutoFormFillData, ///<
       
   176             ECommandClearAutoFormFillPasswordData, ///<
       
   177             ECommandFreeMemory, ///<
       
   178             ECommandMemoryGood, ///<
       
   179             ECommandDumpRenderTree, ///<
       
   180             ECommandUnloadWMLEngine, ///<
       
   181             ECommandSmartLinkMakeCall, ///<
       
   182             ECommandSmartLinkSendMessage, ///<
       
   183             ECommandSmartLinkAddToPhoneBook, ///<
       
   184             ECommandShowToolBar, ///<Shows the toolbar
       
   185             ECommandSmartLinkSendEmail, ///<
       
   186             ECommandShowAnchorHref,  ///<Display the URL of a hyperlink - supported only for HTML
       
   187             ECommandLoadFocusedImage, ///<Load the focuesd image - supported only for HTML
       
   188             ECommandUnLoadPluginWindows, ///<Unload plugin windows
       
   189             /**
       
   190             * Displays the FindItem dialog and highlights all of the VoIP
       
   191             * addresses in the current page. Use this parameter only if you
       
   192             * specified the ECapabilityFindItem capability.
       
   193             */
       
   194             ECommandFindItemVoIPAddress, ///<Find VoIP address item
       
   195             ECommandSmartLinkMakeVoipCall,   ///<MakeVoip Callthrough smartlink
       
   196             /**
       
   197             * Zoom Slider configuration.
       
   198             */
       
   199             ECommandZoomSliderShow, ///< Zoom slider visible.
       
   200             ECommandZoomSliderHide, ///< Zoom slider hidden.
       
   201             ECommandHistoryNavigateForward,
       
   202             ECommandHistoryNavigateBack,
       
   203             /*
       
   204              ** Enter/Exit Fullscreen Browsing
       
   205              */
       
   206              ECommandEnterFullscreenBrowsing,
       
   207              ECommandLeaveFullscreenBrowsing,
       
   208              ECommandZoomIn,
       
   209              ECommandZoomOut
       
   210             };
       
   211         /**
       
   212         * The load event that occurred.
       
   213         */
       
   214         enum TBrCtlLoadEvent
       
   215             {
       
   216             EEventNone = 0,                     // Non event, Not used.
       
   217             /**
       
   218             * A page is beginning to load. This includes images, scripts,
       
   219             * style sheets, and anything else embedded in the page as a single load event.
       
   220             */
       
   221             EEventNewContentStart,
       
   222             /** A URL is beginning to load. This notifies the observer of a
       
   223             * separate load event for each image or other element embedded in the page.
       
   224             */
       
   225             EEventUrlLoadingStart,
       
   226             /**
       
   227             * The first data chunk has arrived. This occurs when the response
       
   228             * headers are received.
       
   229             */
       
   230             EEventNewUrlContentArrived,
       
   231             /**
       
   232             * Another data chunk has arrived.
       
   233             * This occurs for each chunk of data that is loaded, including the first chunk.
       
   234             */
       
   235             EEventMoreUrlContentArrived,
       
   236             /**
       
   237             * The first chunk of content is displayed. The previous page is
       
   238             * destroyed at this time. This occurs once per page.
       
   239             */
       
   240             EEventNewContentDisplayed,
       
   241             /**
       
   242             * Another chunk of content is displayed. This occurs for each
       
   243             * chunk of content that is displayed, except for the first chunk.
       
   244             */
       
   245             EEventMoreContentDisplayed,
       
   246             EEventUrlLoadingFinished,           ///< A URL has finished loading.
       
   247             /**
       
   248             * The page has finished loading. If the host application draws a
       
   249             * progress bar, it can be removed when this event is received.
       
   250             */
       
   251             EEventLoadFinished,
       
   252             EEventContentFinished,  ///< The content has finished loading.
       
   253             /**
       
   254             * A page title was encountered. After receiving this
       
   255             * event, the host application can call PageInfoLC to receive the page title.
       
   256             */
       
   257             EEventTitleAvailable,
       
   258             EEventLoadError,      ///< An error occurred while loading the page.
       
   259             /**
       
   260             * The user is navigating from a non-secure page to a secure page.
       
   261             * The host application displays a secure icon, if needed.
       
   262             */
       
   263             EEventEnteringSecurePage,
       
   264             /**
       
   265             * The user is navigating from a secure page to a non-secure page.
       
   266             * If the host application displays a secure icon, that icon should be removed.
       
   267             */
       
   268             EEventExitingSecurePage,
       
   269             /**
       
   270             * The user is entering a secure page that contains non-secure items.
       
   271             */
       
   272             EEventSomeItemsNotSecure,
       
   273             /**
       
   274             * The user is submitting information to a non-secure page.
       
   275             */
       
   276             EEventSubmittingToNonSecurePage,
       
   277             /**
       
   278             * User confirmation is required to redirect the browser.
       
   279             */
       
   280             EEventRedirectConfirmation,
       
   281             /**
       
   282             * User confirmation is required to repost a page that has been viewed previously.
       
   283             */
       
   284             EEventRepostConfirmation,
       
   285             /**
       
   286             * The user is entering a non-secure page that contains secure items.
       
   287             */
       
   288             EEventSecureItemInNonSecurePage,
       
   289             /**
       
   290             * Authentication failed or was cancelled.
       
   291             */
       
   292             EEventAuthenticationFailed,
       
   293             /**
       
   294             * A file is beginning to upload.
       
   295             */
       
   296             EEventUploadStart,
       
   297             /**
       
   298             * A file has finished uploading; the last chunk of data has been transmitted.
       
   299             */
       
   300             EEventUploadFinished,
       
   301             /**
       
   302             * Length of the data transmitted and the cumulative size of the uploaded file.
       
   303             */
       
   304             EEventUploadIncrement,
       
   305             EEventFaviconAvailable,
       
   306             EEventThumbnailAvailable
       
   307             };
       
   308         /**
       
   309         * The setting to manipulate.
       
   310         */
       
   311 
       
   312         enum TBrCtlSettings
       
   313             {
       
   314             ESettingsUnknown = -1, ///< Not used
       
   315             /**
       
   316             * If set to On, large pages are optimized for display on a small screen.
       
   317             * If set to Off, all pages display in their original format.
       
   318             */
       
   319             ESettingsSmallScreen = 0,
       
   320             /**
       
   321             * If set to On, images automatically load when a page is downloaded.
       
   322             * If set to Off, images are not loaded. Default: On
       
   323             */
       
   324             ESettingsAutoLoadImages,
       
   325             /**
       
   326             * If set to All.Large, all text is shown 40% larger than its declared size.
       
   327             * If set to Larger, all text is shown 20% larger than its declared size.
       
   328             * If set to Normal, all text is shown as its declared size.
       
   329             * If set to Smaller, all text is shown 20% smaller than its declared size.
       
   330             * If set to All.Small, all text is shown 40% smaller than its declared size.
       
   331             */
       
   332             ESettingsFontSize,
       
   333             /**
       
   334             * If set to On, the host application is embedded within another application.
       
   335             * If set to Off, the host application is not embedded within another application.
       
   336             */
       
   337             ESettingsEmbedded,
       
   338             /**
       
   339             * If set to On, paragraphs are automatically wrapped to fit into the display width.
       
   340             * If set to Off, paragraphs are not automatically wrapped.
       
   341             * @attention This parameter is not shown if ESettingsSmallScreen is set to On.
       
   342             */
       
   343             ESettingsTextWrapEnabled,
       
   344             /**
       
   345             * If set to Allow, the user can send and receive cookie information.
       
   346             * If set to Reject, the user cannot send or receive cookie information.
       
   347             */
       
   348             ESettingsCookiesEnabled,
       
   349             /**
       
   350             * If set to Finest, external style sheets are downloaded when
       
   351             * Small Screen Layout is used. If set to Fastest, external style
       
   352             * sheets are not downloaded when Small Screen Layout is used.
       
   353             * Default value: Fastest
       
   354             */
       
   355             ESettingsCSSFetchEnabled,
       
   356             /**
       
   357             * If set to Enable, ECMA Script is enabled.
       
   358             * If set to Disable, ECMA Script is disabled.
       
   359             * Default value: Enable
       
   360             */
       
   361             ESettingsECMAScriptEnabled,
       
   362             /**
       
   363             * Device unique identification number sent to a server for billing
       
   364             * purposes in e-commerce. If set to Enable, the Browser Control
       
   365             * sends the International Mobile Equipment Identity (IMEI) to the server.
       
   366             * If set to Disable, the Browser Control does not send the IMEI to the server.
       
   367             * Default value: Disable
       
   368             */
       
   369             ESettingsIMEINotifyEnabled,
       
   370             /**
       
   371             * Character coding. If set to Automatic, the character set is
       
   372             * automatically selected according to the following criteria, in order or priority:
       
   373             * 1. Detected from the Byte Order Mark (BOM)
       
   374             * 2. Detected from XML Document Type Definition (DTD)
       
   375             * 3. Declared in <meta> element
       
   376             * 4. Detected from HTTP headers
       
   377             * 5. Variant-specific default character set for automatic detection.
       
   378             * Possible character codings are:
       
   379             * Latin
       
   380             * Simplified Chinese
       
   381             * Traditional Chinese
       
   382             * Unicode (UTF-8)
       
   383             * Unicode (ucs-2)
       
   384             * ISO 8859 - 2,4,5,7,or 9
       
   385             * Hebrew (ISO-Logical)
       
   386             * Hebrew (ISO-Visual)
       
   387             * Hebrew (Windows)
       
   388             * Arabic (ISO)
       
   389             * Arabic (Windows)
       
   390             * Windows - 1250, 1251, 1253, 1254, or 1257
       
   391             * Thai
       
   392             * Thai (Windows 874)
       
   393             * Shift_jis
       
   394             * Euc-jp
       
   395             * ISO-2022-jp
       
   396             * The default value is variant-specific.
       
   397             */
       
   398             ESettingsCharacterset,
       
   399             /**
       
   400             * URL of the initial page. Tells the
       
   401             * Browser Control to send the referrer header in the request.
       
   402             */
       
   403             ESettingsSendRefererHeader,
       
   404             /**
       
   405             * One of the following:
       
   406             * Certificate not valid yet
       
   407             * Server certificate expired
       
   408             * Server certificate not received
       
   409             * Invalid server certificate
       
   410             * Authority certificate not valid yet
       
   411             * Authority certificate expired
       
   412             * Authority certificate not found
       
   413             * Authority certificate corrupted
       
   414             */
       
   415             ESettingsSecurityWarnings,
       
   416             /**
       
   417             * Default access point for the Browser Control to use when
       
   418             * connecting to the network.
       
   419             */
       
   420             ESettingsApId,
       
   421             ESettingsCurrentZoomLevelIndex, ///< Reserved for future use.
       
   422             ESettingsPageOverview,  ///< Reserved for future use.
       
   423             ESettingsNumOfDownloads, ///< Number of downloads in progress.
       
   424             /**
       
   425             * UID of the application to
       
   426             * restart after a reboot in order to continue an interrupted download.
       
   427             */
       
   428             ESettingsLaunchAppUid,
       
   429             /**
       
   430             * View ID of the application to
       
   431             * restart after a reboot in order to continue an interrupted download.
       
   432             */
       
   433             ESettingsLaunchViewId,
       
   434             /**
       
   435             * Message that asks the user whether to resume the download.
       
   436             */
       
   437             ESettingsLaunchCustomMessageId, ///< Reserved for future use.
       
   438             ESettingsBackList, ///< Reserved for future use.
       
   439             ESettingsAutoRefresh, ///< Reserved for future use.
       
   440             /**
       
   441             * If set, the browser encodes URLs using UTF-8 instead of
       
   442             * the original content encoding.
       
   443             * @attention This is recommended only for the APAC region.
       
   444             */
       
   445             ESettingsBrowserUtf8Encoding,
       
   446             ESettingsAutoFormFillEnabled, ///< For enabling the auto fill
       
   447             ESettingsSavedPage,           ///< Save the page
       
   448             ESettingsSmartLink,
       
   449             ESettingsAutoOpenDownloads, // For automatically open the downloaded files
       
   450             ESettingsDisableFlash, ///<Enable/Disable the flash
       
   451             ESettingsScriptLog,         /// script log
       
   452             /**
       
   453             * Toolbar buttons configuration settings
       
   454             */
       
   455             ESettingsToolbarOnOff,
       
   456             ESettingsToolbarButton1Cmd,
       
   457             ESettingsToolbarButton2Cmd,
       
   458             ESettingsToolbarButton3Cmd,
       
   459             ESettingsToolbarButton4Cmd,
       
   460             ESettingsToolbarButton5Cmd,
       
   461             ESettingsToolbarButton6Cmd,
       
   462             ESettingsToolbarButton7Cmd,
       
   463             /**
       
   464             * Browser Zoom level configuration settings
       
   465             */
       
   466             ESettingsZoomLevelMin,          ///< Minimum Zoom level supported
       
   467             ESettingsZoomLevelMax,          ///< Maximum Zoom level supported
       
   468             ESettingsZoomLevelDefault,      ///< Default Zoom level for new page
       
   469             ESettingsMaxEnum              ///< Must be last one
       
   470             };
       
   471 
       
   472             /**
       
   473             * The size of the font selected.
       
   474             */
       
   475         enum TBrCtlFontSizeLevel
       
   476             {
       
   477             /**
       
   478             * Text is shown 40% smaller than its declared size.
       
   479             */
       
   480             EFontSizeLevelAllSmall = 0,
       
   481             /**
       
   482             * Text is shown 20% smaller than its declared size.
       
   483             */
       
   484             EFontSizeLevelSmaller,
       
   485             /**
       
   486             * Text is shown as its declared size.
       
   487             */
       
   488             EFontSizeLevelNormal,
       
   489             /**
       
   490             * Text is shown 20% larger than its declared size.
       
   491             */
       
   492             EFontSizeLevelLarger,
       
   493             /**
       
   494             * Text is shown 40% larger than its declared size.
       
   495             */
       
   496             EFontSizeLevelAllLarge
       
   497             };
       
   498         /**
       
   499         * Configuration options for the Browser Control
       
   500         */
       
   501         enum TBrCtlCapabilities
       
   502             {
       
   503             /**
       
   504             * Displays horizontal and vertical scroll bars.
       
   505             */
       
   506             ECapabilityDisplayScrollBar         = 0x0001,
       
   507             /**
       
   508             * Sends request to load embedded content to the host application.
       
   509             * The host application indicates whether or not the load request
       
   510             * should proceed.
       
   511             */
       
   512             ECapabilityClientResolveEmbeddedURL = 0x0002,
       
   513             /**
       
   514             * Sends request to load a URL to the host application.
       
   515             * The host application indicates whether or not the load
       
   516             * request should proceed.
       
   517             */
       
   518             ECapabilityClientNotifyURL          = 0x0004,
       
   519             /**
       
   520             * Disables input boxes and Netscape plug-ins.
       
   521             */
       
   522             ECapabilityDisableInputAndPlugins   = 0x0008,
       
   523             /**
       
   524             * Adds Find Item to the Options menu.
       
   525             */
       
   526             ECapabilityFindItem                 = 0x0010,
       
   527             /**
       
   528             * Allows network access for HTTP requests.
       
   529             * If this option is not set, HTTP requests will fail.
       
   530             */
       
   531             ECapabilityLoadHttpFw               = 0x0020,
       
   532             /**
       
   533             * Employs the Download Manager to download content, such as audio or video files.
       
   534             */
       
   535             ECapabilityUseDlMgr                 = 0x0040,
       
   536             /**
       
   537             * Launches a viewer application to view the downloaded content.
       
   538             */
       
   539             ECapabilityLaunchViewer             = 0x0080,
       
   540             ECapabilityGraphicalHistory     = 0x0100, ///< Reserved for future use.
       
   541             ECapabilitySavedPage        = 0x0200,  ///< Reserved for future use.
       
   542             ECapabilityConfirmDownloads = 0x0400, ///< Enables confirmation dialog in the Download Manager.
       
   543             ECapabilityAutoFormFill     = 0x0800,
       
   544             ECapabilityCursorNavigation = 0x1000,
       
   545             ECapabilityGraphicalPage    = 0x2000,
       
   546             ECapabilityAccessKeys       = 0x4000,
       
   547             ECapabilityFavicon          = 0x8000,
       
   548             ECapabilityToolBar          = 0x00010000,
       
   549             ECapabilityWebKitLite       = 0x00020000,
       
   550             ECapabilityFitToScreen      = 0x00040000
       
   551             };
       
   552 
       
   553         /**
       
   554         * Gets the requested page information.
       
   555         */
       
   556         enum TBrCtlPageInfo
       
   557             {
       
   558             EPageInfoTitle = 0, ///< Page title, if a title was specified
       
   559             EPageInfoUrl,    ///< URL of the current page
       
   560             EPageInfoContent, ///< Page content as a text buffer
       
   561             EPageInfoSavedPage, ///< Page content, including all embedded content, as a buffer
       
   562             EPageInfoFocusedNodeUrl //< URL of the focused link. The function leaves if the focus is not on an anchor or imagemap
       
   563             };
       
   564         /**
       
   565         * Indicates whether the browser is in Image Map view.
       
   566         */
       
   567         enum TBrCtlState
       
   568             {
       
   569             /**
       
   570             * Currently, the
       
   571             * only state change that can be observed is in and out of Image Map view.
       
   572             */
       
   573             EStateImageMapView = 0,
       
   574             EStateHistoryView, ///< For future use
       
   575             EStateThumbnailView, ///< For future use
       
   576             EStateWmlView,        ///< For WML view
       
   577             EStateSmartTextView,   ///< For Smart text recognition mode
       
   578             EStateToolBarMode,      ///< For toolbar
       
   579             EStatePluginPlayer,
       
   580             EStateScriptLog,
       
   581             EStateZoomSliderMode,    ///< For ZoomSlider
       
   582             EStateFullscreenBrowsing,    ///< For entering/escaping fullscreen browsing
       
   583             EStateHistoryBeginning,
       
   584             EStateHistoryEnd,
       
   585             EStateSynchRequestMode,  ///< For synchronous (XHR) requests
       
   586             EStatePluginFullScreen
       
   587             };
       
   588         /**
       
   589         * Type of the focused element.
       
   590         */
       
   591         enum TBrCtlElementType
       
   592             {
       
   593             EElementNone = 0, ///< No element is present.
       
   594             EElementImageBox, ///< Box containing an image.
       
   595             /**
       
   596             * Element used to create either of the following:
       
   597             * A link to another document
       
   598             * A bookmark within a document
       
   599             */
       
   600             EElementAnchor,
       
   601             EElementTelAnchor, ///< Anchor with a "tel:" scheme
       
   602             EElementMailtoAnchor, ///< Anchor with a "mailto:" scheme
       
   603             EElementInputBox, ///< Input box that can be selected and activated.
       
   604             EElementActivatedInputBox, ///< Input box that contains an entry field into which the user can type.
       
   605             /**
       
   606             * Box that contains a list of items. The user
       
   607             * can select one of the items by clicking it.
       
   608             */
       
   609             EElementSelectBox,
       
   610             /**
       
   611             * Push button that can contain text or images. For example, Submit.
       
   612             */
       
   613             EElementButton,
       
   614             EElementTextAreaBox, ///< Input box that contains more than one line.
       
   615             EElementRootBox, ///< Root of the document.
       
   616             EElementObjectBox, ///< Placeholder for a plug-in that has not yet been downloaded.
       
   617             /**
       
   618             * Box containing a plug-in that the user can
       
   619             * manipulate; for example, by navigating links.
       
   620             */
       
   621             EElementActivatedObjectBox,
       
   622             EElementDownloadedObjectBox, ///< Plug-in that is present but is not being manipulated.
       
   623             EElementFileSelectionBoxNoContent, ///< File-browsing box in which no file is selected.
       
   624             EElementFileSelectionBoxWithContent, ///< File-browsing box in which a file was selected previously.
       
   625             EElementAreaBox, ///< Image map.
       
   626             EElementCheckBoxChecked, ///< A check box that was selected.
       
   627             EElementCheckBoxUnChecked, ///< A check box that was not selected.
       
   628             EElementRadioButtonSelected, ///< A radio button that was selected.
       
   629             EElementRadioButtonUnSelected, ///< A radio button that was not selected.
       
   630 
       
   631             EElementMouseButtonListener, ///< A Mouse button listener
       
   632             EElementScrollBar,    ///< A scroll bar
       
   633 
       
   634             EElementSmartLinkTel, ///< A telephone number in the page.
       
   635             EElementSmartLinkEmail, ///< an email address in the page.
       
   636             EElementBrokenImage, ///< A missing image
       
   637             EElementSmartLinkVoip, ///< A voip smartlink
       
   638             EElementSelectMultiBox ///< A select box with multiple select
       
   639         };
       
   640 
       
   641         /**
       
   642         * Identifies the navigation direction
       
   643         */
       
   644         enum TBrCtlNavigationDirection
       
   645             {
       
   646             ENavigationBack, ///< Navigate to the previous page
       
   647             ENavigationForward ///< Navigate to the next page
       
   648             };
       
   649 
       
   650        /**
       
   651         * Returns information about the version of the Browser Control.
       
   652         */
       
   653         enum TBrCtlVersionInfo
       
   654           {
       
   655           EVersionInfoName = 0, ///< Name of the Browser Control
       
   656           EVersionInfoVersion,  ///< Version of the Browser Control
       
   657           EVersionInfoBuild,    ///< Build of the Browser Control
       
   658           EBrowserVersion   ///< Browser Version
       
   659           };
       
   660 
       
   661         /**
       
   662         * Returns information about the version of the Browser Control.
       
   663         */
       
   664         enum TBrCtlParams
       
   665             {
       
   666             EParamsUnknown = -1, ///< Not used
       
   667             /**
       
   668             * List of content types that do not use the Download Manager
       
   669             */
       
   670             EParamsSelfDownoadableTypes = 0,
       
   671             /**
       
   672             * List of headers that the Browser Control should add to each request
       
   673             */
       
   674             EParamsRequestHeaders,
       
   675             EParamsMax ///< Not used
       
   676             };
       
   677 
       
   678         /**
       
   679         * Reserved for future use
       
   680         */
       
   681     enum TBrCtlFindResponse
       
   682       {
       
   683       EFindNoMatches = 0, ///< Reserved for future use
       
   684       EFindWrapAround,    ///< Reserved for future use
       
   685       EFindAllMatches,    ///< Reserved for future use
       
   686       EFindMatch          ///< Reserved for future use
       
   687       };
       
   688 
       
   689     /**
       
   690     * Specifies the type of method to call to fetch a URL.
       
   691     * The MbrCtlWindowObserver employs this method.
       
   692     */
       
   693         enum TBrCtlMethod
       
   694             {
       
   695             /**
       
   696             * Get method should be used to fetch content from a URL
       
   697             */
       
   698             EMethodGet,
       
   699             /**
       
   700             * POST method should be used to fetch content from a URL
       
   701             */
       
   702             EMethodPost
       
   703             };
       
   704      /**
       
   705      * Commands sent by the host application
       
   706      * to the Browser Control by calling the HandleDownloadCommandL function.
       
   707      */
       
   708       enum TBrCtlDownloadCmd
       
   709       {
       
   710       /**
       
   711       * Pauses the download identified
       
   712       * by the aTransId parameter of the HandleDownloadCommandL function.
       
   713       */
       
   714       EDownloadCmdPause,
       
   715       /**
       
   716       * Resumes the download identified by
       
   717       * the aTransId parameter of the HandleDownloadCommandL function.
       
   718       */
       
   719       EDownloadCmdResume,
       
   720       /**
       
   721       * Cancels the download identified by the
       
   722       * aTransId parameter of the HandleDownloadCommandL function.
       
   723       */
       
   724       EDownloadCmdCancel,
       
   725       /**
       
   726       * Notifies the Download Manager that the download is progressive.
       
   727       * This means that the file can be played while the download is in progress.
       
   728       */
       
   729       EDownloadCmdMarkAsProgressive,
       
   730       /**
       
   731       * Notifies the Download Manager that the download is not progressive.
       
   732       * This means that the file cannot be played while the download is in progress.
       
   733       */
       
   734       EDownloadCmdMarkAsNotProgressive
       
   735       };
       
   736 
       
   737     enum TBrCtlBitmapInfo
       
   738       {
       
   739       EBitmapThumbnail = 0,
       
   740       EBitmapFavicon
       
   741       };
       
   742 
       
   743     /**
       
   744     * The client commands.
       
   745     */
       
   746     enum TBrCtlClientCommands
       
   747         {
       
   748         EClientCommandLaunchFindKeyword = 0,
       
   749         EClientCommandSubscribeToFeeds,
       
   750         EClientCommandShowContextMenu,
       
   751         EClientCommandToolbarSettings,
       
   752         EClientCommandGotoWebAddress,
       
   753         EClientCommandManageBookmarks,
       
   754         EClientCommandSaveAsBookmark,
       
   755         EClientCommandZoomIn,
       
   756         EClientCommandZoomOut,
       
   757         EClientCommandGoToHompage,
       
   758         EClientCommandRotateScreen,
       
   759         EClientCommandSavePage,
       
   760         EClientCommandSwitchWindow,
       
   761         EClientCommandShowHelp,
       
   762         EClientCommandToolbarConfigure,
       
   763         EClientCommandToolbarShowKeymap,
       
   764         EClientCommandFullScreen,
       
   765         EClientCommandZoomMode
       
   766         };
       
   767 
       
   768     /**
       
   769     * The widget params.
       
   770     */
       
   771     enum TBrCtlWidgetParams
       
   772         {
       
   773         EWidgetIdentifier = 0,
       
   774         EWidgetBundleId,
       
   775         EWidgetBasePath,
       
   776         EWidgetPublishState
       
   777         };
       
   778 
       
   779     /**
       
   780     * Orientation for rotating display
       
   781     */
       
   782     enum TBrCtlOrientation
       
   783         {
       
   784         EOrientationUndefined = 0,
       
   785         EOrientationLandscape,
       
   786         EOrientationPortrait
       
   787         };
       
   788 
       
   789     /**
       
   790     * How to notify javascript logs.
       
   791     */
       
   792     enum TBrCtlScriptLog
       
   793             {
       
   794             /**
       
   795             * script log output disabled
       
   796             */
       
   797             EScriptLogDisable,
       
   798             /**
       
   799             * script log output to a log file
       
   800             */
       
   801             EScriptLogToFile,
       
   802             /**
       
   803             * script log output to GUI console
       
   804             */
       
   805             EScriptLogToConsole,
       
   806             /**
       
   807             * script log output to both GUI console and file
       
   808             */
       
   809             EScriptLogToConsoleFile
       
   810             };
       
   811 
       
   812     enum TBrCtlFormData
       
   813         {
       
   814         EFormDataOff,
       
   815         EFormDataOnly,
       
   816         EFormDataPlusPassword
       
   817         };
       
   818     };
       
   819 
       
   820 #endif      // BRCTLDEFS_H
       
   821 
       
   822 // End of File