#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#[cfg(feature = "api-20")]
use crate::arkweb_error_code::ArkWeb_BlanklessErrorCode;
#[cfg(feature = "api-15")]
use crate::arkweb_error_code::ArkWeb_ErrorCode;
#[cfg(feature = "api-20")]
use crate::arkweb_type::ArkWeb_ProxyObjectWithResult;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub type NativeArkWeb_OnJavaScriptCallback =
::core::option::Option<unsafe extern "C" fn(arg1: *const ::core::ffi::c_char)>;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub type NativeArkWeb_OnJavaScriptProxyCallback = ::core::option::Option<
unsafe extern "C" fn(
argv: *mut *const ::core::ffi::c_char,
argc: i32,
) -> *mut ::core::ffi::c_char,
>;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub type NativeArkWeb_OnValidCallback =
::core::option::Option<unsafe extern "C" fn(arg1: *const ::core::ffi::c_char)>;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub type NativeArkWeb_OnDestroyCallback =
::core::option::Option<unsafe extern "C" fn(arg1: *const ::core::ffi::c_char)>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type OH_ArkWeb_OnCookieSaveCallback =
::core::option::Option<unsafe extern "C" fn(errorCode: ArkWeb_ErrorCode)>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[repr(C)]
pub struct ArkWeb_BlanklessInfo {
pub errCode: ArkWeb_BlanklessErrorCode,
pub similarity: f64,
pub loadingTime: i32,
}
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl ArkWebEngineVersion {
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const SYSTEM_DEFAULT: ArkWebEngineVersion = ArkWebEngineVersion(0);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const ARKWEB_M114: ArkWebEngineVersion = ArkWebEngineVersion(1);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub const ARKWEB_M132: ArkWebEngineVersion = ArkWebEngineVersion(2);
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct ArkWebEngineVersion(pub ::core::ffi::c_uint);
extern "C" {
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_RunJavaScript(
webTag: *const ::core::ffi::c_char,
jsCode: *const ::core::ffi::c_char,
callback: NativeArkWeb_OnJavaScriptCallback,
);
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_RegisterJavaScriptProxy(
webTag: *const ::core::ffi::c_char,
objName: *const ::core::ffi::c_char,
methodList: *mut *const ::core::ffi::c_char,
callback: *mut NativeArkWeb_OnJavaScriptProxyCallback,
size: i32,
needRefresh: bool,
);
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_UnregisterJavaScriptProxy(
webTag: *const ::core::ffi::c_char,
objName: *const ::core::ffi::c_char,
);
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_SetJavaScriptProxyValidCallback(
webTag: *const ::core::ffi::c_char,
callback: NativeArkWeb_OnValidCallback,
);
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_GetJavaScriptProxyValidCallback(
webTag: *const ::core::ffi::c_char,
) -> NativeArkWeb_OnValidCallback;
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_SetDestroyCallback(
webTag: *const ::core::ffi::c_char,
callback: NativeArkWeb_OnDestroyCallback,
);
#[cfg(feature = "api-11")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
pub fn OH_NativeArkWeb_GetDestroyCallback(
webTag: *const ::core::ffi::c_char,
) -> NativeArkWeb_OnDestroyCallback;
#[cfg(feature = "api-15")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
pub fn OH_NativeArkWeb_LoadData(
webTag: *const ::core::ffi::c_char,
data: *const ::core::ffi::c_char,
mimeType: *const ::core::ffi::c_char,
encoding: *const ::core::ffi::c_char,
baseUrl: *const ::core::ffi::c_char,
historyUrl: *const ::core::ffi::c_char,
) -> ArkWeb_ErrorCode;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_RegisterAsyncThreadJavaScriptProxy(
webTag: *const ::core::ffi::c_char,
proxyObject: *const ArkWeb_ProxyObjectWithResult,
permission: *const ::core::ffi::c_char,
);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_SetBlanklessLoadingWithKey(
webTag: *const ::core::ffi::c_char,
key: *const ::core::ffi::c_char,
isStarted: bool,
) -> ArkWeb_BlanklessErrorCode;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_ClearBlanklessLoadingCache(
key: *mut *const ::core::ffi::c_char,
size: u32,
);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_GetBlanklessInfoWithKey(
webTag: *const ::core::ffi::c_char,
key: *const ::core::ffi::c_char,
) -> ArkWeb_BlanklessInfo;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_SetBlanklessLoadingCacheCapacity(capacity: u32) -> u32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_ArkWebCookieManager_SaveCookieSync() -> ArkWeb_ErrorCode;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_ArkWebCookieManager_SaveCookieAsync(callback: OH_ArkWeb_OnCookieSaveCallback);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_SetActiveWebEngineVersion(webEngineVersion: ArkWebEngineVersion);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_NativeArkWeb_GetActiveWebEngineVersion() -> ArkWebEngineVersion;
}