webengine/wmlengine/src/wml/include/wml_scrproxy.h
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/wml/include/wml_scrproxy.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,351 @@
+/*
+* Copyright (c) 1999 - 2001 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: 
+*
+*/
+
+
+/***************************************************************************
+**   File: wml_scrproxy.h
+**   Subsystem Name: WAE User Agent
+**   Purpose:  This module is responsible for coordinating the WML Script Engine
+**   with the WML Interpreter and the User Interface.
+**************************************************************************/
+#ifndef WML_SCRPROXY_H
+#define WML_SCRPROXY_H
+
+/*
+** Includes
+*/
+#include "nw_scrproxy.h"
+#include "nwx_generic_dlg.h"
+#include "nw_wtai_api.h"
+#include "BrsrStatusCodes.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+  
+/*
+** Type Declarations
+*/
+/* interface to the script interpreter */
+typedef struct {
+  /* request to run a script. transfer ownership of the url, referer, and content
+  to the script server */
+  TBrowserStatusCode (*run) (NW_Ucs2 *url, NW_Ucs2 *postfields,
+                     NW_Ucs2 *referer, NW_Byte *content,
+                     const NW_Uint32 len, const NW_Http_CharSet_t charset);
+
+  /* request to abort the running script */
+  TBrowserStatusCode (*abort) (void);
+} NW_ScriptSrvApi_t;
+
+
+/*
+** Global Function Declarations
+*/
+/*************** interface from the WAE Browser ***************/
+
+/* dispose the script proxy */
+/* this function is not being used any where.
+TBrowserStatusCode NW_ScrProxy_Dispose(NW_ScrProxy_t *scrProxy);
+*/
+
+/* script interpreter is not responding */
+TBrowserStatusCode NW_ScrProxy_ScrNotRespondingError(NW_ScrProxy_t *scrProxy);
+
+/* check if any script is still running */
+TBrowserStatusCode NW_ScrProxy_IsScriptRunning(NW_ScrProxy_t *scrProxy,
+                                        NW_Bool *result);
+
+/* acknowledgement for a script start */
+TBrowserStatusCode NW_ScrProxy_RunScriptAck(NW_ScrProxy_t *scrProxy,
+                                     const TBrowserStatusCode status);
+
+/* script has completed */
+TBrowserStatusCode NW_ScrProxy_Finish(NW_ScrProxy_t *scrProxy,
+                               const TBrowserStatusCode status,
+                               const NW_Ucs2 *message);
+
+/* acknowledgement for a script abort */
+TBrowserStatusCode NW_ScrProxy_AbortAck(NW_ScrProxy_t *scrProxy,
+                                 const TBrowserStatusCode status);
+
+/* alert the user with a dialog */
+TBrowserStatusCode NW_ScrProxy_DlgAlert(NW_ScrProxy_t *scrProxy, 
+                                 const NW_Ucs2 *message,
+                                 void  *callbackCtx,
+                                 NW_ScrProxy_DlgAlertCB_t *callback);
+
+TBrowserStatusCode NW_ScrProxy_NotifyError(NW_ScrProxy_t *scrProxy, 
+                                 const TBrowserStatusCode status);
+
+/* confirm with the user with a dialog */
+TBrowserStatusCode NW_ScrProxy_DlgConfirm(NW_ScrProxy_t *scrProxy,
+                                  const NW_Ucs2 *message, 
+                                  const NW_Ucs2 *yesMessage,
+                                  const NW_Ucs2 *noMessage,
+                                  void  *callbackCtx,
+                                  NW_Dlg_ConfirmCB_t *callback);
+
+/* prompt the user with a dialog */
+TBrowserStatusCode NW_ScrProxy_DlgPrompt(NW_ScrProxy_t *scrProxy,
+                                  const NW_Ucs2 *message,
+                                  const NW_Ucs2 *defaultInput,
+                                  void  *callbackCtx,
+                                  NW_ScrProxy_DlgPromptCB_t *callback);
+
+/* prompt the user with a generic dialog */
+TBrowserStatusCode NW_ScrProxy_GenericDlgListSelect(NW_ScrProxy_t *scrProxy, NW_Dlg_ListSelect_t *data,
+                                             void* callbackCtx, NW_Dlg_ListSelectCB_t* callback);
+
+
+/* prompt the user with a generic dialog */
+TBrowserStatusCode NW_ScrProxy_GenericDlgPrompt(NW_ScrProxy_t *scrProxy, NW_Dlg_Prompt_t *data,
+                                         void* callbackCtx, NW_Dlg_PromptCB_t* callback);
+
+/* prompt the user with a generic dialog */
+TBrowserStatusCode NW_ScrProxy_GenericDlgInputPrompt(NW_ScrProxy_t *scrProxy, NW_Dlg_InputPrompt_t *data,
+                                              void* callbackCtx, NW_Dlg_InputPromptCB_t* callback);
+
+
+/* acknowledgement for a script exit */
+TBrowserStatusCode NW_ScrProxy_GetVar(NW_ScrProxy_t *scrProxy,
+                              const NW_Ucs2 *var, 
+                              NW_Ucs2 **ret_string);
+
+/* set a variable */
+TBrowserStatusCode NW_ScrProxy_SetVar(NW_ScrProxy_t *scrProxy, 
+                              const NW_Ucs2 *var, 
+                              const NW_Ucs2 *value);
+
+/* execute a wml prev task on the wml interpreter */
+TBrowserStatusCode NW_ScrProxy_LoadPrev(NW_ScrProxy_t *scrProxy);
+
+/* execute a newcontext on the wml interpreter */
+TBrowserStatusCode NW_ScrProxy_NewContext(NW_ScrProxy_t *scrProxy);
+
+/* refresh the wml interpreter */
+TBrowserStatusCode NW_ScrProxy_Refresh(NW_ScrProxy_t *scrProxy);
+
+/* execute a load url on the wml interpreter */
+TBrowserStatusCode NW_ScrProxy_LoadUrl(NW_ScrProxy_t *scrProxy,
+                                const NW_Ucs2 *url,
+                                const NW_Ucs2 *param);
+
+/* Query Browser app for Suspend/Resume of Script */
+TBrowserStatusCode NW_ScrProxy_BrowerApp_QueryForSuspRes(NW_ScrProxy_t *scrProxy);
+/* WTAI functions */
+
+/* public library */
+TBrowserStatusCode NW_ScrProxy_wp_makeCall(NW_ScrProxy_t *scrProxy, 
+                                    NW_Ucs2 *number);
+TBrowserStatusCode NW_ScrProxy_wp_sendDTMF(NW_ScrProxy_t *scrProxy, 
+                                    NW_Ucs2 *dtmf);
+TBrowserStatusCode NW_ScrProxy_wp_addPBEntry(NW_ScrProxy_t *scrProxy, 
+                                    NW_Ucs2 *number,
+                                      NW_Ucs2 *name);
+
+/* not yet supported */
+
+#if 0
+
+/* voice call library */
+TBrowserStatusCode NW_ScrProxy_wvc_setup     (NW_ScrProxy_t *scrProxy, 
+                                      NW_Ucs2 *number, NW_Bool mode, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wvc_accept    (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, NW_Bool *mode, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wvc_release   (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wvc_sendDTMF  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, NW_Ucs2 *dtmf, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wvc_callStatus(NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, NW_Ucs2 *field, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wvc_list      (NW_ScrProxy_t *scrProxy, 
+                                      NW_Bool returnFirst, 
+                                      NW_Opaque_t *result);
+
+
+/* network text library */
+TBrowserStatusCode NW_ScrProxy_wnt_send      (NW_ScrProxy_t *scrProxy, 
+                                      NW_Ucs2 *address, NW_Ucs2 *text, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wnt_list      (NW_ScrProxy_t *scrProxy, 
+                                      NW_Bool returnFirst, NW_Int32 type, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wnt_remove    (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wnt_getFieldValue (void *ctx, 
+                                      NW_Opaque_t *msgHandle, NW_Ucs2 *field, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wnt_markAsRead(NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+
+/* phone book library */
+TBrowserStatusCode NW_ScrProxy_wpb_write     (NW_ScrProxy_t *scrProxy, 
+                                      NW_Int32 index, NW_Ucs2 *number, NW_Ucs2 *name, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wpb_search    (NW_ScrProxy_t *scrProxy, 
+                                      NW_Ucs2 *field, NW_Ucs2 *value, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wpb_remove    (NW_ScrProxy_t *scrProxy, 
+                                      NW_Int32 index, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wpb_getFieldValue (void *ctx, 
+                                      NW_Int32 index, NW_Ucs2 *field, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wpb_change    (NW_ScrProxy_t *scrProxy, 
+                                      NW_Int32 index, NW_Ucs2 *field, NW_Ucs2 *value, 
+                                      NW_Opaque_t *result);
+
+
+/* call log library */
+TBrowserStatusCode NW_ScrProxy_wcl_dialled   (NW_ScrProxy_t *scrProxy, 
+                                      NW_Bool returnFirst, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wcl_missed    (NW_ScrProxy_t *scrProxy, 
+                                      NW_Bool returnFirst, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wcl_received  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Bool returnFirst, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wcl_getFieldValue(NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *logHandle, NW_Ucs2 *field, 
+                                      NW_Opaque_t *result);
+
+
+/* miscellaneous library */
+TBrowserStatusCode NW_ScrProxy_wm_setIndicator  (NW_ScrProxy_t *scrProxy, 
+                                          NW_Int32 type, NW_Int32 newState, 
+                                          NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wm_endcontext (NW_ScrProxy_t *scrProxy,
+                                       NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wm_getProtection (NW_ScrProxy_t *scrProxy,  
+                                          NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_wm_setProtection (NW_ScrProxy_t *scrProxy,  
+                                          NW_Bool mode, 
+                                          NW_Opaque_t *result);
+
+
+/* is136 specific library */ 
+TBrowserStatusCode NW_ScrProxy_is136_sendFlash  (NW_ScrProxy_t *scrProxy,  
+                                          NW_Opaque_t *handle, NW_Ucs2 *flash, 
+                                          NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_is136_sendAlert  (NW_ScrProxy_t *scrProxy,  
+                                          NW_Opaque_t *handle, NW_Ucs2 *alert, 
+                                          NW_Opaque_t *result);
+
+
+/* gsm specific library */
+TBrowserStatusCode NW_ScrProxy_gsm_hold      (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_retrieve  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_transfer  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *Bhandle, NW_Opaque_t *Chandle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_deflect   (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, NW_Ucs2 *number, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_multiparty(NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_separate  (NW_ScrProxy_t *scrProxy,
+                                      NW_Opaque_t *handle,
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_sendUSSD  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Ucs2 *message, NW_Int32 codingScheme, 
+                                      NW_Int32 type, NW_Int32 transactionID, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_gsm_netinfo   (NW_ScrProxy_t *scrProxy, 
+                                      NW_Int32 type, 
+                                      NW_Opaque_t *result);
+
+
+/* pdc specific library */
+TBrowserStatusCode NW_ScrProxy_pdc_hold      (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_pdc_retrieve  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_pdc_transfer  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, NW_Ucs2 *number, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_pdc_deflect   (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, NW_Ucs2 *dest, 
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_pdc_multiparty(NW_ScrProxy_t *scrProxy,
+                                      NW_Opaque_t *result);
+
+TBrowserStatusCode NW_ScrProxy_pdc_separate  (NW_ScrProxy_t *scrProxy, 
+                                      NW_Opaque_t *handle, 
+                                      NW_Opaque_t *result);
+
+
+#endif /* if 0 */
+
+/* Nokia proprietary */
+TBrowserStatusCode NW_ScrProxy_nokia_locationInfo(NW_ScrProxy_t *scrProxy, 
+                                           NW_Ucs2 *url,
+                                           NW_Ucs2 *ll_format,
+                                           NW_Ucs2 *pn_format);
+
+#ifdef __cplusplus
+} // extern "C" {
+#endif /* __cplusplus */
+
+
+#endif  /* WML_SCRPROXY_H */