• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ArkWeb_WebMessagePortAPI
2
3## Overview
4
5Defines a native API struct of the post message. Before calling the API, you are advised to use **ARKWEB_MEMBER_MISSING** to check whether the function struct has the corresponding pointer to avoid crash caused by mismatch between the SDK and the device ROM.
6
7**Since**: 12
8
9**Related module**: [Web](capi-web.md)
10
11**Header file**: [arkweb_type.h](capi-arkweb-type-h.md)
12
13## Summary
14
15### Member Variables
16
17| Name| Description|
18| -- | -- |
19| size_t size | Size of the struct.|
20
21
22### Member Functions
23
24| Name                                                                                                                                                                                             | Description        |
25|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
26| [ArkWeb_ErrorCode (\*postMessage)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage)](#postmessage)                                      | Sends a message to the HTML page.|
27| [void (\*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag)](#close)                                                                                                     | Closes a message port.   |
28| [void (\*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, ArkWeb_OnMessageEventHandler messageEventHandler, void* userData)](#setmessageeventhandler) | Sets a callback for receiving HTML messages.          |
29
30## Member Function Description
31
32### postMessage()
33
34```
35ArkWeb_ErrorCode (*postMessage)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage)
36```
37
38**Description**
39
40Sends a message to the HTML page.
41
42**Parameters**
43
44| Name| Description|
45| -- | -- |
46| const [ArkWeb_WebMessagePortPtr](capi-web-arkweb-webmessageport8h.md) webMessagePort | Pointer to the message port.|
47|  const char* webTag | Name of the **Web** component.|
48|  const [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | Message to send.|
49
50**Returns**
51
52| Type                                                              | Description                                                                                  |
53|------------------------------------------------------------------|--------------------------------------------------------------------------------------|
54| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | [ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode): The operation is successful.<br>[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode): The parameter is invalid.<br>[ARKWEB_INIT_ERROR](capi-arkweb-error-code-h.md#arkweb_errorcode): The initialization fails because the **Web** component bound to **webTag** is not found.|
55
56### close()
57
58```
59void (*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag)
60```
61
62**Description**
63
64Closes a message port.
65
66**Parameters**
67
68| Name| Description|
69| -- | -- |
70| const [ArkWeb_WebMessagePortPtr](capi-web-arkweb-webmessageport8h.md) webMessagePort | Pointer to the message port.|
71
72### setMessageEventHandler()
73
74```
75void (*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag,
76        ArkWeb_OnMessageEventHandler messageEventHandler, void* userData)
77```
78
79**Description**
80
81Sets a callback for receiving HTML messages.
82
83**Parameters**
84
85| Name                                                                                                   | Description                  |
86|--------------------------------------------------------------------------------------------------------|----------------------|
87| const [ArkWeb_WebMessagePortPtr](capi-web-arkweb-webmessageport8h.md) webMessagePort                       | Pointer to the message port.|
88| const char* webTag                                                                                     |  Name of the **Web** component.                    |
89| [ArkWeb_OnMessageEventHandler](capi-arkweb-type-h.md#arkweb_onmessageeventhandler) messageEventHandler | Callback used to handle messages.                    |
90| void* userData                                                                                         | User-defined data.                    |
91