Skip to main content

ArkWeb_ControllerAPI

Struct ArkWeb_ControllerAPI 

Source
#[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>, pub getLastJavascriptProxyCallingFrameUrl: Option<unsafe extern "C" fn() -> *const c_char>, pub registerJavaScriptProxyEx: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObjectWithResult, permission: *const c_char)>, pub registerAsyncJavaScriptProxyEx: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObject, permission: *const c_char)>, }
Available on crate features api-11 and api-12 only.
Expand description

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.

Available since API-level: 12

Fields§

§size: usize

The 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>

Creates a message channel to communicate with HTML and returns the message ports representing the message channel endpoints.

§Arguments

  • webTag - The name of the web component.

  • size - The quantity of message ports.

§destroyWebMessagePorts: Option<unsafe extern "C" fn(ports: *mut *mut ArkWeb_WebMessagePortPtr, size: usize)>

Destroy message ports.

§Arguments

  • ports - Address of the message ports array pointer.

  • 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>

Post message ports to main frame.

§Arguments

  • webTag - The name of the web component.

  • name - Name of the message to be sent.

  • size - The quantity of message ports.

  • url - Indicates the URI for receiving the message.

§Returns

  • Post web message result code. [ARKWEB_SUCCESS] post web message success. [ARKWEB_INVALID_PARAM] the parameter verification fails. [ARKWEB_INIT_ERROR] no web associated with this webTag.
§getLastJavascriptProxyCallingFrameUrl: Option<unsafe extern "C" fn() -> *const c_char>

Get the url of the last frame that calls the JavaScriptProxy. This should be call on the thread which JavaScriptProxy called.

§Returns

  • The url of the last frame that calls the JavaScriptProxy.

Available since API-level: 14

§registerJavaScriptProxyEx: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObjectWithResult, permission: *const c_char)>

Register the JavaScript object and method list, the method is callback function that has a return value.

§Arguments

  • webTag - The name of the web component.

  • proxyObject - The JavaScript object to register, the object has callback functions with return value.

  • permission - The JSON string, which defaults to null, is used to configure the permission control for JSBridge, allowing for the definition of URL whitelists at the object and method levels.

Available since API-level: 18

§registerAsyncJavaScriptProxyEx: Option<unsafe extern "C" fn(webTag: *const c_char, proxyObject: *const ArkWeb_ProxyObject, permission: *const c_char)>

Register the JavaScript object and async method list.

§Arguments

  • webTag - The name of the web component.

  • proxyObject - The JavaScript object to register.

  • permission - The JSON string, which defaults to null, is used to configure the permission control for JSBridge, allowing for the definition of URL whitelists at the object and method levels.

Available since API-level: 18

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.