#[repr(C)]pub struct ArkWeb_ControllerAPI {
pub size: usize,
pub runJavaScript: Option<unsafe extern "C" fn(webTag: *const c_char, javascriptObject: *const ArkWeb_JavaScriptObject)>,
pub registerJavaScriptProxy: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObject)>,
pub deleteJavaScriptRegister: Option<unsafe extern "C" fn(webTag: *const c_char, objName: *const c_char)>,
pub refresh: Option<unsafe extern "C" fn(webTag: *const c_char)>,
pub registerAsyncJavaScriptProxy: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObject)>,
pub createWebMessagePorts: Option<unsafe extern "C" fn(webTag: *const c_char, size: *mut usize) -> *mut ArkWeb_WebMessagePortPtr>,
pub destroyWebMessagePorts: Option<unsafe extern "C" fn(ports: *mut *mut ArkWeb_WebMessagePortPtr, size: usize)>,
pub postWebMessage: Option<unsafe extern "C" fn(webTag: *const c_char, name: *const c_char, webMessagePorts: *mut ArkWeb_WebMessagePortPtr, size: usize, url: *const c_char) -> ArkWeb_ErrorCode>,
}Expand description
@brief Defines the controller API for native ArkWeb. Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check whether the function structure has a corresponding function pointer to avoid crash caused by mismatch between the SDK and the device ROM. Use OH_ArkWeb_GetNativeAPI in the UI thread to obtain the Controller-related interface cluster.
@since 12
Fields§
§size: usizeThe ArkWeb_ControllerAPI struct size.
runJavaScript: Option<unsafe extern "C" fn(webTag: *const c_char, javascriptObject: *const ArkWeb_JavaScriptObject)>Load a piece of code and execute JS code in the context of the currently displayed page.
registerJavaScriptProxy: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObject)>Register the JavaScript object and method list.
deleteJavaScriptRegister: Option<unsafe extern "C" fn(webTag: *const c_char, objName: *const c_char)>Deletes the registered object which th given name.
refresh: Option<unsafe extern "C" fn(webTag: *const c_char)>Refresh the current web page.
registerAsyncJavaScriptProxy: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObject)>Register the JavaScript object and async method list.
createWebMessagePorts: Option<unsafe extern "C" fn(webTag: *const c_char, size: *mut usize) -> *mut ArkWeb_WebMessagePortPtr>@brief Creates a message channel to communicate with HTML and returns the message ports representing the message channel endpoints.
@param webTag The name of the web component. @param size The quantity of message ports.
destroyWebMessagePorts: Option<unsafe extern "C" fn(ports: *mut *mut ArkWeb_WebMessagePortPtr, size: usize)>@brief Destroy message ports.
@param ports Address of the message ports array pointer. @param size The quantity of message ports.
postWebMessage: Option<unsafe extern "C" fn(webTag: *const c_char, name: *const c_char, webMessagePorts: *mut ArkWeb_WebMessagePortPtr, size: usize, url: *const c_char) -> ArkWeb_ErrorCode>@brief Post message ports to main frame.
@param webTag The name of the web component. @param name Name of the message to be sent. @param size The quantity of message ports. @param url Indicates the URI for receiving the message. @return Post web message result code. {@link ARKWEB_SUCCESS} post web message success. {@link ARKWEB_INVALID_PARAM} the parameter verification fails. {@link ARKWEB_INIT_ERROR} no web associated with this webTag.
Trait Implementations§
Source§impl Clone for ArkWeb_ControllerAPI
impl Clone for ArkWeb_ControllerAPI
Source§fn clone(&self) -> ArkWeb_ControllerAPI
fn clone(&self) -> ArkWeb_ControllerAPI
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more