|
1 /* |
|
2 * Copyright (c) 1999 - 2001 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: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 /*************************************************************************** |
|
20 ** File: wml_scrproxy.h |
|
21 ** Subsystem Name: WAE User Agent |
|
22 ** Purpose: This module is responsible for coordinating the WML Script Engine |
|
23 ** with the WML Interpreter and the User Interface. |
|
24 **************************************************************************/ |
|
25 #ifndef WML_SCRPROXY_H |
|
26 #define WML_SCRPROXY_H |
|
27 |
|
28 /* |
|
29 ** Includes |
|
30 */ |
|
31 #include "nw_scrproxy.h" |
|
32 #include "nwx_generic_dlg.h" |
|
33 #include "nw_wtai_api.h" |
|
34 #include "BrsrStatusCodes.h" |
|
35 |
|
36 #ifdef __cplusplus |
|
37 extern "C" { |
|
38 #endif /* __cplusplus */ |
|
39 |
|
40 /* |
|
41 ** Type Declarations |
|
42 */ |
|
43 /* interface to the script interpreter */ |
|
44 typedef struct { |
|
45 /* request to run a script. transfer ownership of the url, referer, and content |
|
46 to the script server */ |
|
47 TBrowserStatusCode (*run) (NW_Ucs2 *url, NW_Ucs2 *postfields, |
|
48 NW_Ucs2 *referer, NW_Byte *content, |
|
49 const NW_Uint32 len, const NW_Http_CharSet_t charset); |
|
50 |
|
51 /* request to abort the running script */ |
|
52 TBrowserStatusCode (*abort) (void); |
|
53 } NW_ScriptSrvApi_t; |
|
54 |
|
55 |
|
56 /* |
|
57 ** Global Function Declarations |
|
58 */ |
|
59 /*************** interface from the WAE Browser ***************/ |
|
60 |
|
61 /* dispose the script proxy */ |
|
62 /* this function is not being used any where. |
|
63 TBrowserStatusCode NW_ScrProxy_Dispose(NW_ScrProxy_t *scrProxy); |
|
64 */ |
|
65 |
|
66 /* script interpreter is not responding */ |
|
67 TBrowserStatusCode NW_ScrProxy_ScrNotRespondingError(NW_ScrProxy_t *scrProxy); |
|
68 |
|
69 /* check if any script is still running */ |
|
70 TBrowserStatusCode NW_ScrProxy_IsScriptRunning(NW_ScrProxy_t *scrProxy, |
|
71 NW_Bool *result); |
|
72 |
|
73 /* acknowledgement for a script start */ |
|
74 TBrowserStatusCode NW_ScrProxy_RunScriptAck(NW_ScrProxy_t *scrProxy, |
|
75 const TBrowserStatusCode status); |
|
76 |
|
77 /* script has completed */ |
|
78 TBrowserStatusCode NW_ScrProxy_Finish(NW_ScrProxy_t *scrProxy, |
|
79 const TBrowserStatusCode status, |
|
80 const NW_Ucs2 *message); |
|
81 |
|
82 /* acknowledgement for a script abort */ |
|
83 TBrowserStatusCode NW_ScrProxy_AbortAck(NW_ScrProxy_t *scrProxy, |
|
84 const TBrowserStatusCode status); |
|
85 |
|
86 /* alert the user with a dialog */ |
|
87 TBrowserStatusCode NW_ScrProxy_DlgAlert(NW_ScrProxy_t *scrProxy, |
|
88 const NW_Ucs2 *message, |
|
89 void *callbackCtx, |
|
90 NW_ScrProxy_DlgAlertCB_t *callback); |
|
91 |
|
92 TBrowserStatusCode NW_ScrProxy_NotifyError(NW_ScrProxy_t *scrProxy, |
|
93 const TBrowserStatusCode status); |
|
94 |
|
95 /* confirm with the user with a dialog */ |
|
96 TBrowserStatusCode NW_ScrProxy_DlgConfirm(NW_ScrProxy_t *scrProxy, |
|
97 const NW_Ucs2 *message, |
|
98 const NW_Ucs2 *yesMessage, |
|
99 const NW_Ucs2 *noMessage, |
|
100 void *callbackCtx, |
|
101 NW_Dlg_ConfirmCB_t *callback); |
|
102 |
|
103 /* prompt the user with a dialog */ |
|
104 TBrowserStatusCode NW_ScrProxy_DlgPrompt(NW_ScrProxy_t *scrProxy, |
|
105 const NW_Ucs2 *message, |
|
106 const NW_Ucs2 *defaultInput, |
|
107 void *callbackCtx, |
|
108 NW_ScrProxy_DlgPromptCB_t *callback); |
|
109 |
|
110 /* prompt the user with a generic dialog */ |
|
111 TBrowserStatusCode NW_ScrProxy_GenericDlgListSelect(NW_ScrProxy_t *scrProxy, NW_Dlg_ListSelect_t *data, |
|
112 void* callbackCtx, NW_Dlg_ListSelectCB_t* callback); |
|
113 |
|
114 |
|
115 /* prompt the user with a generic dialog */ |
|
116 TBrowserStatusCode NW_ScrProxy_GenericDlgPrompt(NW_ScrProxy_t *scrProxy, NW_Dlg_Prompt_t *data, |
|
117 void* callbackCtx, NW_Dlg_PromptCB_t* callback); |
|
118 |
|
119 /* prompt the user with a generic dialog */ |
|
120 TBrowserStatusCode NW_ScrProxy_GenericDlgInputPrompt(NW_ScrProxy_t *scrProxy, NW_Dlg_InputPrompt_t *data, |
|
121 void* callbackCtx, NW_Dlg_InputPromptCB_t* callback); |
|
122 |
|
123 |
|
124 /* acknowledgement for a script exit */ |
|
125 TBrowserStatusCode NW_ScrProxy_GetVar(NW_ScrProxy_t *scrProxy, |
|
126 const NW_Ucs2 *var, |
|
127 NW_Ucs2 **ret_string); |
|
128 |
|
129 /* set a variable */ |
|
130 TBrowserStatusCode NW_ScrProxy_SetVar(NW_ScrProxy_t *scrProxy, |
|
131 const NW_Ucs2 *var, |
|
132 const NW_Ucs2 *value); |
|
133 |
|
134 /* execute a wml prev task on the wml interpreter */ |
|
135 TBrowserStatusCode NW_ScrProxy_LoadPrev(NW_ScrProxy_t *scrProxy); |
|
136 |
|
137 /* execute a newcontext on the wml interpreter */ |
|
138 TBrowserStatusCode NW_ScrProxy_NewContext(NW_ScrProxy_t *scrProxy); |
|
139 |
|
140 /* refresh the wml interpreter */ |
|
141 TBrowserStatusCode NW_ScrProxy_Refresh(NW_ScrProxy_t *scrProxy); |
|
142 |
|
143 /* execute a load url on the wml interpreter */ |
|
144 TBrowserStatusCode NW_ScrProxy_LoadUrl(NW_ScrProxy_t *scrProxy, |
|
145 const NW_Ucs2 *url, |
|
146 const NW_Ucs2 *param); |
|
147 |
|
148 /* Query Browser app for Suspend/Resume of Script */ |
|
149 TBrowserStatusCode NW_ScrProxy_BrowerApp_QueryForSuspRes(NW_ScrProxy_t *scrProxy); |
|
150 /* WTAI functions */ |
|
151 |
|
152 /* public library */ |
|
153 TBrowserStatusCode NW_ScrProxy_wp_makeCall(NW_ScrProxy_t *scrProxy, |
|
154 NW_Ucs2 *number); |
|
155 TBrowserStatusCode NW_ScrProxy_wp_sendDTMF(NW_ScrProxy_t *scrProxy, |
|
156 NW_Ucs2 *dtmf); |
|
157 TBrowserStatusCode NW_ScrProxy_wp_addPBEntry(NW_ScrProxy_t *scrProxy, |
|
158 NW_Ucs2 *number, |
|
159 NW_Ucs2 *name); |
|
160 |
|
161 /* not yet supported */ |
|
162 |
|
163 #if 0 |
|
164 |
|
165 /* voice call library */ |
|
166 TBrowserStatusCode NW_ScrProxy_wvc_setup (NW_ScrProxy_t *scrProxy, |
|
167 NW_Ucs2 *number, NW_Bool mode, |
|
168 NW_Opaque_t *result); |
|
169 |
|
170 TBrowserStatusCode NW_ScrProxy_wvc_accept (NW_ScrProxy_t *scrProxy, |
|
171 NW_Opaque_t *handle, NW_Bool *mode, |
|
172 NW_Opaque_t *result); |
|
173 |
|
174 TBrowserStatusCode NW_ScrProxy_wvc_release (NW_ScrProxy_t *scrProxy, |
|
175 NW_Opaque_t *handle, |
|
176 NW_Opaque_t *result); |
|
177 |
|
178 TBrowserStatusCode NW_ScrProxy_wvc_sendDTMF (NW_ScrProxy_t *scrProxy, |
|
179 NW_Opaque_t *handle, NW_Ucs2 *dtmf, |
|
180 NW_Opaque_t *result); |
|
181 |
|
182 TBrowserStatusCode NW_ScrProxy_wvc_callStatus(NW_ScrProxy_t *scrProxy, |
|
183 NW_Opaque_t *handle, NW_Ucs2 *field, |
|
184 NW_Opaque_t *result); |
|
185 |
|
186 TBrowserStatusCode NW_ScrProxy_wvc_list (NW_ScrProxy_t *scrProxy, |
|
187 NW_Bool returnFirst, |
|
188 NW_Opaque_t *result); |
|
189 |
|
190 |
|
191 /* network text library */ |
|
192 TBrowserStatusCode NW_ScrProxy_wnt_send (NW_ScrProxy_t *scrProxy, |
|
193 NW_Ucs2 *address, NW_Ucs2 *text, |
|
194 NW_Opaque_t *result); |
|
195 |
|
196 TBrowserStatusCode NW_ScrProxy_wnt_list (NW_ScrProxy_t *scrProxy, |
|
197 NW_Bool returnFirst, NW_Int32 type, |
|
198 NW_Opaque_t *result); |
|
199 |
|
200 TBrowserStatusCode NW_ScrProxy_wnt_remove (NW_ScrProxy_t *scrProxy, |
|
201 NW_Opaque_t *handle, |
|
202 NW_Opaque_t *result); |
|
203 |
|
204 TBrowserStatusCode NW_ScrProxy_wnt_getFieldValue (void *ctx, |
|
205 NW_Opaque_t *msgHandle, NW_Ucs2 *field, |
|
206 NW_Opaque_t *result); |
|
207 |
|
208 TBrowserStatusCode NW_ScrProxy_wnt_markAsRead(NW_ScrProxy_t *scrProxy, |
|
209 NW_Opaque_t *handle, |
|
210 NW_Opaque_t *result); |
|
211 |
|
212 |
|
213 /* phone book library */ |
|
214 TBrowserStatusCode NW_ScrProxy_wpb_write (NW_ScrProxy_t *scrProxy, |
|
215 NW_Int32 index, NW_Ucs2 *number, NW_Ucs2 *name, |
|
216 NW_Opaque_t *result); |
|
217 |
|
218 TBrowserStatusCode NW_ScrProxy_wpb_search (NW_ScrProxy_t *scrProxy, |
|
219 NW_Ucs2 *field, NW_Ucs2 *value, |
|
220 NW_Opaque_t *result); |
|
221 |
|
222 TBrowserStatusCode NW_ScrProxy_wpb_remove (NW_ScrProxy_t *scrProxy, |
|
223 NW_Int32 index, |
|
224 NW_Opaque_t *result); |
|
225 |
|
226 TBrowserStatusCode NW_ScrProxy_wpb_getFieldValue (void *ctx, |
|
227 NW_Int32 index, NW_Ucs2 *field, |
|
228 NW_Opaque_t *result); |
|
229 |
|
230 TBrowserStatusCode NW_ScrProxy_wpb_change (NW_ScrProxy_t *scrProxy, |
|
231 NW_Int32 index, NW_Ucs2 *field, NW_Ucs2 *value, |
|
232 NW_Opaque_t *result); |
|
233 |
|
234 |
|
235 /* call log library */ |
|
236 TBrowserStatusCode NW_ScrProxy_wcl_dialled (NW_ScrProxy_t *scrProxy, |
|
237 NW_Bool returnFirst, |
|
238 NW_Opaque_t *result); |
|
239 |
|
240 TBrowserStatusCode NW_ScrProxy_wcl_missed (NW_ScrProxy_t *scrProxy, |
|
241 NW_Bool returnFirst, |
|
242 NW_Opaque_t *result); |
|
243 |
|
244 TBrowserStatusCode NW_ScrProxy_wcl_received (NW_ScrProxy_t *scrProxy, |
|
245 NW_Bool returnFirst, |
|
246 NW_Opaque_t *result); |
|
247 |
|
248 TBrowserStatusCode NW_ScrProxy_wcl_getFieldValue(NW_ScrProxy_t *scrProxy, |
|
249 NW_Opaque_t *logHandle, NW_Ucs2 *field, |
|
250 NW_Opaque_t *result); |
|
251 |
|
252 |
|
253 /* miscellaneous library */ |
|
254 TBrowserStatusCode NW_ScrProxy_wm_setIndicator (NW_ScrProxy_t *scrProxy, |
|
255 NW_Int32 type, NW_Int32 newState, |
|
256 NW_Opaque_t *result); |
|
257 |
|
258 TBrowserStatusCode NW_ScrProxy_wm_endcontext (NW_ScrProxy_t *scrProxy, |
|
259 NW_Opaque_t *result); |
|
260 |
|
261 TBrowserStatusCode NW_ScrProxy_wm_getProtection (NW_ScrProxy_t *scrProxy, |
|
262 NW_Opaque_t *result); |
|
263 |
|
264 TBrowserStatusCode NW_ScrProxy_wm_setProtection (NW_ScrProxy_t *scrProxy, |
|
265 NW_Bool mode, |
|
266 NW_Opaque_t *result); |
|
267 |
|
268 |
|
269 /* is136 specific library */ |
|
270 TBrowserStatusCode NW_ScrProxy_is136_sendFlash (NW_ScrProxy_t *scrProxy, |
|
271 NW_Opaque_t *handle, NW_Ucs2 *flash, |
|
272 NW_Opaque_t *result); |
|
273 |
|
274 TBrowserStatusCode NW_ScrProxy_is136_sendAlert (NW_ScrProxy_t *scrProxy, |
|
275 NW_Opaque_t *handle, NW_Ucs2 *alert, |
|
276 NW_Opaque_t *result); |
|
277 |
|
278 |
|
279 /* gsm specific library */ |
|
280 TBrowserStatusCode NW_ScrProxy_gsm_hold (NW_ScrProxy_t *scrProxy, |
|
281 NW_Opaque_t *handle, |
|
282 NW_Opaque_t *result); |
|
283 |
|
284 TBrowserStatusCode NW_ScrProxy_gsm_retrieve (NW_ScrProxy_t *scrProxy, |
|
285 NW_Opaque_t *handle, |
|
286 NW_Opaque_t *result); |
|
287 |
|
288 TBrowserStatusCode NW_ScrProxy_gsm_transfer (NW_ScrProxy_t *scrProxy, |
|
289 NW_Opaque_t *Bhandle, NW_Opaque_t *Chandle, |
|
290 NW_Opaque_t *result); |
|
291 |
|
292 TBrowserStatusCode NW_ScrProxy_gsm_deflect (NW_ScrProxy_t *scrProxy, |
|
293 NW_Opaque_t *handle, NW_Ucs2 *number, |
|
294 NW_Opaque_t *result); |
|
295 |
|
296 TBrowserStatusCode NW_ScrProxy_gsm_multiparty(NW_ScrProxy_t *scrProxy, |
|
297 NW_Opaque_t *result); |
|
298 |
|
299 TBrowserStatusCode NW_ScrProxy_gsm_separate (NW_ScrProxy_t *scrProxy, |
|
300 NW_Opaque_t *handle, |
|
301 NW_Opaque_t *result); |
|
302 |
|
303 TBrowserStatusCode NW_ScrProxy_gsm_sendUSSD (NW_ScrProxy_t *scrProxy, |
|
304 NW_Ucs2 *message, NW_Int32 codingScheme, |
|
305 NW_Int32 type, NW_Int32 transactionID, |
|
306 NW_Opaque_t *result); |
|
307 |
|
308 TBrowserStatusCode NW_ScrProxy_gsm_netinfo (NW_ScrProxy_t *scrProxy, |
|
309 NW_Int32 type, |
|
310 NW_Opaque_t *result); |
|
311 |
|
312 |
|
313 /* pdc specific library */ |
|
314 TBrowserStatusCode NW_ScrProxy_pdc_hold (NW_ScrProxy_t *scrProxy, |
|
315 NW_Opaque_t *handle, |
|
316 NW_Opaque_t *result); |
|
317 |
|
318 TBrowserStatusCode NW_ScrProxy_pdc_retrieve (NW_ScrProxy_t *scrProxy, |
|
319 NW_Opaque_t *handle, |
|
320 NW_Opaque_t *result); |
|
321 |
|
322 TBrowserStatusCode NW_ScrProxy_pdc_transfer (NW_ScrProxy_t *scrProxy, |
|
323 NW_Opaque_t *handle, NW_Ucs2 *number, |
|
324 NW_Opaque_t *result); |
|
325 |
|
326 TBrowserStatusCode NW_ScrProxy_pdc_deflect (NW_ScrProxy_t *scrProxy, |
|
327 NW_Opaque_t *handle, NW_Ucs2 *dest, |
|
328 NW_Opaque_t *result); |
|
329 |
|
330 TBrowserStatusCode NW_ScrProxy_pdc_multiparty(NW_ScrProxy_t *scrProxy, |
|
331 NW_Opaque_t *result); |
|
332 |
|
333 TBrowserStatusCode NW_ScrProxy_pdc_separate (NW_ScrProxy_t *scrProxy, |
|
334 NW_Opaque_t *handle, |
|
335 NW_Opaque_t *result); |
|
336 |
|
337 |
|
338 #endif /* if 0 */ |
|
339 |
|
340 /* Nokia proprietary */ |
|
341 TBrowserStatusCode NW_ScrProxy_nokia_locationInfo(NW_ScrProxy_t *scrProxy, |
|
342 NW_Ucs2 *url, |
|
343 NW_Ucs2 *ll_format, |
|
344 NW_Ucs2 *pn_format); |
|
345 |
|
346 #ifdef __cplusplus |
|
347 } // extern "C" { |
|
348 #endif /* __cplusplus */ |
|
349 |
|
350 |
|
351 #endif /* WML_SCRPROXY_H */ |