arkweb_sys/arkweb_scheme_handler/arkweb_scheme_handler_ffi.rs
1// automatically generated by rust-bindgen 0.71.1
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6use crate::arkweb_net_error_list::ArkWeb_NetError;
7
8#[cfg(feature = "api-12")]
9#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
10impl ArkWeb_CustomSchemeOption {
11 pub const OH_ARKWEB_SCHEME_OPTION_NONE: ArkWeb_CustomSchemeOption =
12 ArkWeb_CustomSchemeOption(0);
13 /// If ARKWEB_SCHEME_OPTION_STANDARD is set, the scheme will be handled as a standard scheme. The standard
14 /// schemes need to comply with the URL normalization and parsing rules defined in Section 3.1 of RFC 1738,
15 /// which can be found in the http://www.ietf.org/rfc/rfc1738.txt.
16 pub const ARKWEB_SCHEME_OPTION_STANDARD: ArkWeb_CustomSchemeOption =
17 ArkWeb_CustomSchemeOption(1);
18 /// If ARKWEB_SCHEME_OPTION_LOCAL is set, the same security rules as those applied to the "file" URL will be
19 /// used to handle the scheme.
20 pub const ARKWEB_SCHEME_OPTION_LOCAL: ArkWeb_CustomSchemeOption = ArkWeb_CustomSchemeOption(2);
21 /// If ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED is set, then the scheme can only be displayed from other content
22 /// hosted using the same scheme.
23 pub const ARKWEB_SCHEME_OPTION_DISPLAY_ISOLATED: ArkWeb_CustomSchemeOption =
24 ArkWeb_CustomSchemeOption(4);
25 /// If ARKWEB_SCHEME_OPTION_SECURE is set, the same security rules as those applied to the "https" URL will be
26 /// used to handle the scheme.
27 pub const ARKWEB_SCHEME_OPTION_SECURE: ArkWeb_CustomSchemeOption = ArkWeb_CustomSchemeOption(8);
28 /// If ARKWEB_SCHEME_OPTION_CORS_ENABLED is set, then the scheme can be sent CORS requests. In most cases this
29 /// value should be set when ARKWEB_SCHEME_OPTION_STANDARD is set.
30 pub const ARKWEB_SCHEME_OPTION_CORS_ENABLED: ArkWeb_CustomSchemeOption =
31 ArkWeb_CustomSchemeOption(16);
32 /// If ARKWEB_SCHEME_OPTION_CSP_BYPASSING is set, then this scheme can bypass Content Security Policy (CSP)
33 /// checks. In most cases, this value should not be set when ARKWEB_SCHEME_OPTION_STANDARD is set.
34 pub const ARKWEB_SCHEME_OPTION_CSP_BYPASSING: ArkWeb_CustomSchemeOption =
35 ArkWeb_CustomSchemeOption(32);
36 /// If ARKWEB_SCHEME_OPTION_FETCH_ENABLED is set, then this scheme can perform FETCH API requests.
37 pub const ARKWEB_SCHEME_OPTION_FETCH_ENABLED: ArkWeb_CustomSchemeOption =
38 ArkWeb_CustomSchemeOption(64);
39 /// If ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED is set, then the js of this scheme can generate code cache.
40 pub const ARKWEB_SCHEME_OPTION_CODE_CACHE_ENABLED: ArkWeb_CustomSchemeOption =
41 ArkWeb_CustomSchemeOption(128);
42}
43#[repr(transparent)]
44/// Configuration information for custom schemes.
45///
46///
47/// Required System Capabilities: SystemCapability.Web.Webview.Core
48///
49/// Available since API-level: 12
50#[cfg(feature = "api-12")]
51#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
52#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
53pub struct ArkWeb_CustomSchemeOption(pub ::core::ffi::c_uint);
54#[cfg(feature = "api-12")]
55#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
56impl ArkWeb_ResourceType {
57 /// Top level page.
58 pub const MAIN_FRAME: ArkWeb_ResourceType = ArkWeb_ResourceType(0);
59 /// Frame or Iframe.
60 pub const SUB_FRAME: ArkWeb_ResourceType = ArkWeb_ResourceType(1);
61 /// CSS stylesheet.
62 pub const STYLE_SHEET: ArkWeb_ResourceType = ArkWeb_ResourceType(2);
63 /// External script.
64 pub const SCRIPT: ArkWeb_ResourceType = ArkWeb_ResourceType(3);
65 /// Image(jpg/gif/png/etc).
66 pub const IMAGE: ArkWeb_ResourceType = ArkWeb_ResourceType(4);
67 /// Font.
68 pub const FONT_RESOURCE: ArkWeb_ResourceType = ArkWeb_ResourceType(5);
69 /// Some other subresource. This is the default type if the actual type is unknown.
70 pub const SUB_RESOURCE: ArkWeb_ResourceType = ArkWeb_ResourceType(6);
71 /// Object (or embed) tag for a plugin, or a resource that a plugin requested.
72 pub const OBJECT: ArkWeb_ResourceType = ArkWeb_ResourceType(7);
73 /// Media resource.
74 pub const MEDIA: ArkWeb_ResourceType = ArkWeb_ResourceType(8);
75 /// Main resource of a dedicated worker.
76 pub const WORKER: ArkWeb_ResourceType = ArkWeb_ResourceType(9);
77 /// Main resource of a shared worker.
78 pub const SHARED_WORKER: ArkWeb_ResourceType = ArkWeb_ResourceType(10);
79 /// Explicitly requested prefetch.
80 pub const PREFETCH: ArkWeb_ResourceType = ArkWeb_ResourceType(11);
81 /// Favicon.
82 pub const FAVICON: ArkWeb_ResourceType = ArkWeb_ResourceType(12);
83 /// XMLHttpRequest.
84 pub const XHR: ArkWeb_ResourceType = ArkWeb_ResourceType(13);
85 /// Ping request for <a ping>/sendBeacon.
86 pub const PING: ArkWeb_ResourceType = ArkWeb_ResourceType(14);
87 /// The main resource of a service worker.
88 pub const SERVICE_WORKER: ArkWeb_ResourceType = ArkWeb_ResourceType(15);
89 /// Report of Content Security Policy violations.
90 pub const CSP_REPORT: ArkWeb_ResourceType = ArkWeb_ResourceType(16);
91 /// Resource that a plugin requested.
92 pub const PLUGIN_RESOURCE: ArkWeb_ResourceType = ArkWeb_ResourceType(17);
93 /// A main-frame service worker navigation preload request.
94 pub const NAVIGATION_PRELOAD_MAIN_FRAME: ArkWeb_ResourceType = ArkWeb_ResourceType(19);
95 /// A sub-frame service worker navigation preload request.
96 pub const NAVIGATION_PRELOAD_SUB_FRAME: ArkWeb_ResourceType = ArkWeb_ResourceType(20);
97}
98#[repr(transparent)]
99/// Resource type for a request.
100///
101/// These constants match their equivalents in Chromium's ResourceType and should not be renumbered.
102///
103///
104///
105/// Required System Capabilities: SystemCapability.Web.Webview.Core
106///
107/// Available since API-level: 12
108#[cfg(feature = "api-12")]
109#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
110#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
111pub struct ArkWeb_ResourceType(pub ::core::ffi::c_uint);
112#[repr(C)]
113pub struct ArkWeb_SchemeHandler_ {
114 _unused: [u8; 0],
115}
116/// This class is used to intercept requests for a specified scheme.
117///
118///
119/// Required System Capabilities: SystemCapability.Web.Webview.Core
120///
121/// Available since API-level: 12
122#[cfg(feature = "api-12")]
123#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
124pub type ArkWeb_SchemeHandler = ArkWeb_SchemeHandler_;
125#[repr(C)]
126pub struct ArkWeb_ResourceHandler_ {
127 _unused: [u8; 0],
128}
129/// Used to intercept url requests.
130///
131/// Response headers and body can be sent through ArkWeb_ResourceHandler.
132///
133///
134///
135/// Required System Capabilities: SystemCapability.Web.Webview.Core
136///
137/// Available since API-level: 12
138#[cfg(feature = "api-12")]
139#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
140pub type ArkWeb_ResourceHandler = ArkWeb_ResourceHandler_;
141#[repr(C)]
142pub struct ArkWeb_Response_ {
143 _unused: [u8; 0],
144}
145/// The response of the intercepted request.
146///
147///
148/// Required System Capabilities: SystemCapability.Web.Webview.Core
149///
150/// Available since API-level: 12
151#[cfg(feature = "api-12")]
152#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
153pub type ArkWeb_Response = ArkWeb_Response_;
154#[repr(C)]
155pub struct ArkWeb_ResourceRequest_ {
156 _unused: [u8; 0],
157}
158/// The info of the request.
159///
160/// You can obtain the requested URL, method, post data, and other information through OH_ArkWeb_ResourceRequest.
161///
162///
163///
164/// Required System Capabilities: SystemCapability.Web.Webview.Core
165///
166/// Available since API-level: 12
167#[cfg(feature = "api-12")]
168#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
169pub type ArkWeb_ResourceRequest = ArkWeb_ResourceRequest_;
170#[repr(C)]
171pub struct ArkWeb_RequestHeaderList_ {
172 _unused: [u8; 0],
173}
174/// The request headers of the request.
175///
176///
177/// Required System Capabilities: SystemCapability.Web.Webview.Core
178///
179/// Available since API-level: 12
180#[cfg(feature = "api-12")]
181#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
182pub type ArkWeb_RequestHeaderList = ArkWeb_RequestHeaderList_;
183#[repr(C)]
184pub struct ArkWeb_HttpBodyStream_ {
185 _unused: [u8; 0],
186}
187/// The http body of the request.
188///
189/// Use OH_ArkWebHttpBodyStream_* interface to read the body.
190///
191///
192///
193/// Required System Capabilities: SystemCapability.Web.Webview.Core
194///
195/// Available since API-level: 12
196#[cfg(feature = "api-12")]
197#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
198pub type ArkWeb_HttpBodyStream = ArkWeb_HttpBodyStream_;
199/// Callback for handling the request.
200///
201/// This will be called on the IO thread.
202///
203///
204/// # Arguments
205///
206/// * `schemeHandler` - The ArkWeb_SchemeHandler.
207///
208/// * `resourceRequest` - Obtain request's information through this.
209///
210/// * `resourceHandler` - The ArkWeb_ResourceHandler for the request. It should not be used if intercept is set to
211/// false.
212///
213/// * `intercept` - If true will intercept the request, if false otherwise.
214///
215///
216/// Required System Capabilities: SystemCapability.Web.Webview.Core
217///
218/// Available since API-level: 12
219#[cfg(feature = "api-12")]
220#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
221pub type ArkWeb_OnRequestStart = ::core::option::Option<
222 unsafe extern "C" fn(
223 schemeHandler: *const ArkWeb_SchemeHandler,
224 resourceRequest: *mut ArkWeb_ResourceRequest,
225 resourceHandler: *const ArkWeb_ResourceHandler,
226 intercept: *mut bool,
227 ),
228>;
229/// Callback when the request is completed.
230///
231/// This will be called on the IO thread.
232///
233/// Should destory the resourceRequest by ArkWeb_ResourceRequest_Destroy and use ArkWeb_ResourceHandler_Destroy
234///
235/// destroy the ArkWeb_ResourceHandler received in ArkWeb_OnRequestStart.
236///
237///
238/// # Arguments
239///
240/// * `schemeHandler` - The ArkWeb_SchemeHandler.
241///
242/// * `resourceRequest` - The ArkWeb_ResourceRequest.
243///
244///
245/// Required System Capabilities: SystemCapability.Web.Webview.Core
246///
247/// Available since API-level: 12
248#[cfg(feature = "api-12")]
249#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
250pub type ArkWeb_OnRequestStop = ::core::option::Option<
251 unsafe extern "C" fn(
252 schemeHandler: *const ArkWeb_SchemeHandler,
253 resourceRequest: *const ArkWeb_ResourceRequest,
254 ),
255>;
256/// Callback when the read operation done.
257/// # Arguments
258///
259/// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
260///
261/// * `buffer` - The buffer to receive data.
262///
263/// * `bytesRead` - Callback after OH_ArkWebHttpBodyStream_Read. bytesRead greater than 0 means that the buffer is
264/// filled with data of bytesRead size. Caller can read from the buffer, and if
265/// OH_ArkWebHttpBodyStream_IsEOF is false, caller can continue to read the remaining data.
266///
267///
268/// Required System Capabilities: SystemCapability.Web.Webview.Core
269///
270/// Available since API-level: 12
271#[cfg(feature = "api-12")]
272#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
273pub type ArkWeb_HttpBodyStreamReadCallback = ::core::option::Option<
274 unsafe extern "C" fn(
275 httpBodyStream: *const ArkWeb_HttpBodyStream,
276 buffer: *mut u8,
277 bytesRead: ::core::ffi::c_int,
278 ),
279>;
280/// Callback when the read operation done.
281/// # Arguments
282///
283/// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
284///
285/// * `buffer` - The buffer to receive data.
286///
287/// * `bytesRead` - Callback after OH_ArkWebHttpBodyStream_AsyncRead. bytesRead greater than 0 means that
288/// the buffer is filled with data of bytesRead size. Caller can read from the buffer, and if
289/// OH_ArkWebHttpBodyStream_IsEOF is false, caller can continue to read the remaining data.
290///
291///
292/// Available since API-level: 20
293#[cfg(feature = "api-20")]
294#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
295pub type ArkWeb_HttpBodyStreamAsyncReadCallback = ::core::option::Option<
296 unsafe extern "C" fn(
297 httpBodyStream: *const ArkWeb_HttpBodyStream,
298 buffer: *mut u8,
299 bytesRead: ::core::ffi::c_int,
300 ),
301>;
302/// Callback when the init operation done.
303/// # Arguments
304///
305/// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
306///
307/// * `result` - [`ARKWEB_NET_OK`] on success otherwise refer to arkweb_net_error_list.h.
308///
309///
310/// Required System Capabilities: SystemCapability.Web.Webview.Core
311///
312/// Available since API-level: 12
313#[cfg(feature = "api-12")]
314#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
315pub type ArkWeb_HttpBodyStreamInitCallback = ::core::option::Option<
316 unsafe extern "C" fn(httpBodyStream: *const ArkWeb_HttpBodyStream, result: ArkWeb_NetError),
317>;
318extern "C" {
319 /// Destroy the ArkWeb_RequestHeaderList.
320 /// # Arguments
321 ///
322 /// * `requestHeaderList` - The ArkWeb_RequestHeaderList to be destroyed.
323 ///
324 ///
325 /// Required System Capabilities: SystemCapability.Web.Webview.Core
326 ///
327 /// Available since API-level: 12
328 #[cfg(feature = "api-12")]
329 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
330 pub fn OH_ArkWebRequestHeaderList_Destroy(requestHeaderList: *mut ArkWeb_RequestHeaderList);
331 /// Get the request headers size.
332 /// # Arguments
333 ///
334 /// * `requestHeaderList` - The list of request header.
335 ///
336 /// # Returns
337 ///
338 /// * The size of request headers. -1 if requestHeaderList is invalid.
339 ///
340 ///
341 /// Required System Capabilities: SystemCapability.Web.Webview.Core
342 ///
343 /// Available since API-level: 12
344 #[cfg(feature = "api-12")]
345 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
346 pub fn OH_ArkWebRequestHeaderList_GetSize(
347 requestHeaderList: *const ArkWeb_RequestHeaderList,
348 ) -> i32;
349 /// Get the specified request header.
350 /// # Arguments
351 ///
352 /// * `requestHeaderList` - The list of request header.
353 ///
354 /// * `index` - The index of request header.
355 ///
356 /// * `key` - The header key. Caller must release the string by OH_ArkWeb_ReleaseString.
357 ///
358 /// * `value` - The header value. Caller must release the string by OH_ArkWeb_ReleaseString.
359 ///
360 ///
361 /// Required System Capabilities: SystemCapability.Web.Webview.Core
362 ///
363 /// Available since API-level: 12
364 #[cfg(feature = "api-12")]
365 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
366 pub fn OH_ArkWebRequestHeaderList_GetHeader(
367 requestHeaderList: *const ArkWeb_RequestHeaderList,
368 index: i32,
369 key: *mut *mut ::core::ffi::c_char,
370 value: *mut *mut ::core::ffi::c_char,
371 );
372 /// Set a user data to ArkWeb_ResourceRequest.
373 /// # Arguments
374 ///
375 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
376 ///
377 /// * `userData` - The user data to set.
378 ///
379 /// # Returns
380 ///
381 /// * [`ARKWEB_NET_OK`] 0 - Success.
382 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
383 ///
384 ///
385 /// Required System Capabilities: SystemCapability.Web.Webview.Core
386 ///
387 /// Available since API-level: 12
388 #[cfg(feature = "api-12")]
389 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
390 pub fn OH_ArkWebResourceRequest_SetUserData(
391 resourceRequest: *mut ArkWeb_ResourceRequest,
392 userData: *mut ::core::ffi::c_void,
393 ) -> i32;
394 /// Get the user data from ArkWeb_ResourceRequest.
395 /// # Arguments
396 ///
397 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
398 ///
399 /// # Returns
400 ///
401 /// * The set user data.
402 ///
403 ///
404 /// Required System Capabilities: SystemCapability.Web.Webview.Core
405 ///
406 /// Available since API-level: 12
407 #[cfg(feature = "api-12")]
408 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
409 pub fn OH_ArkWebResourceRequest_GetUserData(
410 resourceRequest: *const ArkWeb_ResourceRequest,
411 ) -> *mut ::core::ffi::c_void;
412 /// Get the method of request.
413 /// # Arguments
414 ///
415 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
416 ///
417 /// * `method` - The request's http method. This function will allocate memory for the method string and caller must
418 /// release the string by OH_ArkWeb_ReleaseString.
419 ///
420 ///
421 /// Required System Capabilities: SystemCapability.Web.Webview.Core
422 ///
423 /// Available since API-level: 12
424 #[cfg(feature = "api-12")]
425 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
426 pub fn OH_ArkWebResourceRequest_GetMethod(
427 resourceRequest: *const ArkWeb_ResourceRequest,
428 method: *mut *mut ::core::ffi::c_char,
429 );
430 /// Get the url of request.
431 /// # Arguments
432 ///
433 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
434 ///
435 /// * `url` - The request's url. This function will allocate memory for the url string and caller must release the
436 /// string by OH_ArkWeb_ReleaseString.
437 ///
438 ///
439 /// Required System Capabilities: SystemCapability.Web.Webview.Core
440 ///
441 /// Available since API-level: 12
442 #[cfg(feature = "api-12")]
443 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
444 pub fn OH_ArkWebResourceRequest_GetUrl(
445 resourceRequest: *const ArkWeb_ResourceRequest,
446 url: *mut *mut ::core::ffi::c_char,
447 );
448 /// Create a ArkWeb_HttpBodyStream which used to read the http body.
449 /// # Arguments
450 ///
451 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
452 ///
453 /// * `httpBodyStream` - The request's http body. This function will allocate memory for the http body stream and
454 /// caller must release the httpBodyStream by OH_ArkWebResourceRequest_DestroyHttpBodyStream.
455 ///
456 ///
457 /// Required System Capabilities: SystemCapability.Web.Webview.Core
458 ///
459 /// Available since API-level: 12
460 #[cfg(feature = "api-12")]
461 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
462 pub fn OH_ArkWebResourceRequest_GetHttpBodyStream(
463 resourceRequest: *const ArkWeb_ResourceRequest,
464 httpBodyStream: *mut *mut ArkWeb_HttpBodyStream,
465 );
466 /// Destroy the http body stream.
467 /// # Arguments
468 ///
469 /// * `httpBodyStream` - The httpBodyStream to be destroyed.
470 ///
471 ///
472 /// Required System Capabilities: SystemCapability.Web.Webview.Core
473 ///
474 /// Available since API-level: 12
475 #[cfg(feature = "api-12")]
476 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
477 pub fn OH_ArkWebResourceRequest_DestroyHttpBodyStream(
478 httpBodyStream: *mut ArkWeb_HttpBodyStream,
479 );
480 /// Get the resource type of request.
481 /// # Arguments
482 ///
483 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
484 ///
485 /// # Returns
486 ///
487 /// * The resource type of request. -1 if resourceRequest is invalid.
488 ///
489 ///
490 /// Required System Capabilities: SystemCapability.Web.Webview.Core
491 ///
492 /// Available since API-level: 12
493 #[cfg(feature = "api-12")]
494 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
495 pub fn OH_ArkWebResourceRequest_GetResourceType(
496 resourceRequest: *const ArkWeb_ResourceRequest,
497 ) -> i32;
498 /// Get the url of frame which trigger this request.
499 /// # Arguments
500 ///
501 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
502 ///
503 /// * `frameUrl` - The url of frame which trigger this request. This function will allocate memory for the url string
504 /// and caller must release the string by OH_ArkWeb_ReleaseString.
505 ///
506 ///
507 /// Required System Capabilities: SystemCapability.Web.Webview.Core
508 ///
509 /// Available since API-level: 12
510 #[cfg(feature = "api-12")]
511 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
512 pub fn OH_ArkWebResourceRequest_GetFrameUrl(
513 resourceRequest: *const ArkWeb_ResourceRequest,
514 frameUrl: *mut *mut ::core::ffi::c_char,
515 );
516 /// Set a user data to ArkWeb_HttpBodyStream.
517 /// # Arguments
518 ///
519 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
520 ///
521 /// * `userData` - The user data to set.
522 ///
523 /// # Returns
524 ///
525 /// * [`ARKWEB_NET_OK`] 0 - Success.
526 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
527 ///
528 ///
529 /// Required System Capabilities: SystemCapability.Web.Webview.Core
530 ///
531 /// Available since API-level: 12
532 #[cfg(feature = "api-12")]
533 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
534 pub fn OH_ArkWebHttpBodyStream_SetUserData(
535 httpBodyStream: *mut ArkWeb_HttpBodyStream,
536 userData: *mut ::core::ffi::c_void,
537 ) -> i32;
538 /// Get the user data from ArkWeb_HttpBodyStream.
539 /// # Arguments
540 ///
541 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
542 ///
543 /// # Returns
544 ///
545 /// * The set user data.
546 ///
547 ///
548 /// Required System Capabilities: SystemCapability.Web.Webview.Core
549 ///
550 /// Available since API-level: 12
551 #[cfg(feature = "api-12")]
552 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
553 pub fn OH_ArkWebHttpBodyStream_GetUserData(
554 httpBodyStream: *const ArkWeb_HttpBodyStream,
555 ) -> *mut ::core::ffi::c_void;
556 /// Set the callback for OH_ArkWebHttpBodyStream_Read.
557 ///
558 /// The result of OH_ArkWebHttpBodyStream_Read will be notified to caller through the readCallback.
559 ///
560 /// The callback will run in the same thread as OH_ArkWebHttpBodyStream_Read.
561 ///
562 ///
563 /// # Arguments
564 ///
565 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
566 ///
567 /// * `readCallback` - The callback of read function.
568 ///
569 /// # Returns
570 ///
571 /// * [`ARKWEB_NET_OK`] 0 - Success.
572 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
573 ///
574 ///
575 /// Required System Capabilities: SystemCapability.Web.Webview.Core
576 ///
577 /// Available since API-level: 12
578 #[cfg(feature = "api-12")]
579 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
580 pub fn OH_ArkWebHttpBodyStream_SetReadCallback(
581 httpBodyStream: *mut ArkWeb_HttpBodyStream,
582 readCallback: ArkWeb_HttpBodyStreamReadCallback,
583 ) -> i32;
584 /// Set the callback for OH_ArkWebHttpBodyStream_AsyncRead.
585 ///
586 /// The result of OH_ArkWebHttpBodyStream_AsyncRead will be notified to caller through the
587 ///
588 /// readCallback. The callback will runs in the ArkWeb worker thread.
589 ///
590 ///
591 /// # Arguments
592 ///
593 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
594 ///
595 /// * `readCallback` - The callback of read function.
596 ///
597 /// # Returns
598 ///
599 /// * [`ARKWEB_NET_OK`] 0 - Success.
600 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
601 ///
602 ///
603 /// Available since API-level: 20
604 #[cfg(feature = "api-20")]
605 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
606 pub fn OH_ArkWebHttpBodyStream_SetAsyncReadCallback(
607 httpBodyStream: *mut ArkWeb_HttpBodyStream,
608 readCallback: ArkWeb_HttpBodyStreamAsyncReadCallback,
609 ) -> i32;
610 /// Init the http body stream.
611 ///
612 /// This function must be called before calling any other functions.
613 ///
614 ///
615 /// # Arguments
616 ///
617 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
618 ///
619 /// * `initCallback` - The callback of init.
620 ///
621 /// # Returns
622 ///
623 /// * [`ARKWEB_NET_OK`] 0 - Success.
624 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
625 ///
626 ///
627 /// Required System Capabilities: SystemCapability.Web.Webview.Core
628 ///
629 /// Available since API-level: 12
630 #[cfg(feature = "api-12")]
631 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
632 pub fn OH_ArkWebHttpBodyStream_Init(
633 httpBodyStream: *mut ArkWeb_HttpBodyStream,
634 initCallback: ArkWeb_HttpBodyStreamInitCallback,
635 ) -> i32;
636 /// Read the http body to the buffer.
637 ///
638 /// The buffer must be larger than the bufLen. We will be reading data from a worker thread to the buffer,
639 ///
640 /// so should not use the buffer in other threads before the callback to avoid concurrency issues.
641 ///
642 ///
643 /// # Arguments
644 ///
645 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
646 ///
647 /// * `buffer` - The buffer to receive data.
648 ///
649 /// * `bufLen` - The size of bytes to read.
650 ///
651 ///
652 /// Required System Capabilities: SystemCapability.Web.Webview.Core
653 ///
654 /// Available since API-level: 12
655 #[cfg(feature = "api-12")]
656 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
657 pub fn OH_ArkWebHttpBodyStream_Read(
658 httpBodyStream: *const ArkWeb_HttpBodyStream,
659 buffer: *mut u8,
660 bufLen: ::core::ffi::c_int,
661 );
662 /// Read the http body to the buffer.
663 ///
664 /// The buffer must be larger than the bufLen. We will read data from a worker thread to the buffer,
665 ///
666 /// so should not use the buffer in other threads before the callback to avoid concurrency issues.
667 ///
668 ///
669 /// # Arguments
670 ///
671 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
672 ///
673 /// * `buffer` - The buffer to receive data.
674 ///
675 /// * `bufLen` - The size of bytes to read.
676 ///
677 ///
678 /// Available since API-level: 20
679 #[cfg(feature = "api-20")]
680 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
681 pub fn OH_ArkWebHttpBodyStream_AsyncRead(
682 httpBodyStream: *const ArkWeb_HttpBodyStream,
683 buffer: *mut u8,
684 bufLen: ::core::ffi::c_int,
685 );
686 /// Get the total size of the data stream.
687 ///
688 /// When data is chunked or httpBodyStream is invalid, always return zero.
689 ///
690 ///
691 /// # Arguments
692 ///
693 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
694 ///
695 /// # Returns
696 ///
697 /// * The size of data stream.
698 ///
699 ///
700 /// Required System Capabilities: SystemCapability.Web.Webview.Core
701 ///
702 /// Available since API-level: 12
703 #[cfg(feature = "api-12")]
704 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
705 pub fn OH_ArkWebHttpBodyStream_GetSize(httpBodyStream: *const ArkWeb_HttpBodyStream) -> u64;
706 /// Get the current position of the data stream.
707 /// # Arguments
708 ///
709 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
710 ///
711 /// # Returns
712 ///
713 /// * The current position of data stream. 0 if httpBodyStream is invalid.
714 ///
715 ///
716 /// Required System Capabilities: SystemCapability.Web.Webview.Core
717 ///
718 /// Available since API-level: 12
719 #[cfg(feature = "api-12")]
720 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
721 pub fn OH_ArkWebHttpBodyStream_GetPosition(httpBodyStream: *const ArkWeb_HttpBodyStream)
722 -> u64;
723 /// Get if the data stream is chunked.
724 /// # Arguments
725 ///
726 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
727 ///
728 /// # Returns
729 ///
730 /// * True if is chunked; false otherwise.
731 ///
732 ///
733 /// Required System Capabilities: SystemCapability.Web.Webview.Core
734 ///
735 /// Available since API-level: 12
736 #[cfg(feature = "api-12")]
737 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
738 pub fn OH_ArkWebHttpBodyStream_IsChunked(httpBodyStream: *const ArkWeb_HttpBodyStream) -> bool;
739 /// Returns true if all data has been consumed from this upload data stream.
740 ///
741 /// For chunked uploads, returns false until the first read attempt.
742 ///
743 ///
744 /// # Arguments
745 ///
746 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
747 ///
748 /// # Returns
749 ///
750 /// * True if all data has been consumed; false otherwise.
751 ///
752 ///
753 /// Required System Capabilities: SystemCapability.Web.Webview.Core
754 ///
755 /// Available since API-level: 12
756 #[cfg(feature = "api-12")]
757 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
758 pub fn OH_ArkWebHttpBodyStream_IsEof(httpBodyStream: *const ArkWeb_HttpBodyStream) -> bool;
759 /// Returns true if the upload data in the stream is entirely in memory,
760 /// and all read requests will succeed synchronously.
761 ///
762 /// Expected to return false for chunked requests.
763 ///
764 ///
765 /// # Arguments
766 ///
767 /// * `httpBodyStream` - The ArkWeb_HttpBodyStream.
768 ///
769 /// # Returns
770 ///
771 /// * True if the upload data is in memory; false otherwise.
772 ///
773 ///
774 /// Required System Capabilities: SystemCapability.Web.Webview.Core
775 ///
776 /// Available since API-level: 12
777 #[cfg(feature = "api-12")]
778 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
779 pub fn OH_ArkWebHttpBodyStream_IsInMemory(httpBodyStream: *const ArkWeb_HttpBodyStream)
780 -> bool;
781 /// Destroy the ArkWeb_ResourceRequest.
782 /// # Arguments
783 ///
784 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
785 ///
786 /// # Returns
787 ///
788 /// * [`ARKWEB_NET_OK`] 0 - Success.
789 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
790 ///
791 ///
792 /// Required System Capabilities: SystemCapability.Web.Webview.Core
793 ///
794 /// Available since API-level: 12
795 #[cfg(feature = "api-12")]
796 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
797 pub fn OH_ArkWebResourceRequest_Destroy(resourceRequest: *const ArkWeb_ResourceRequest) -> i32;
798 /// Get the referrer of request.
799 /// # Arguments
800 ///
801 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
802 ///
803 /// * `referrer` - The request's referrer. This function will allocate memory for the post data string and caller
804 /// must release the string by OH_ArkWeb_ReleaseString.
805 ///
806 ///
807 /// Required System Capabilities: SystemCapability.Web.Webview.Core
808 ///
809 /// Available since API-level: 12
810 #[cfg(feature = "api-12")]
811 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
812 pub fn OH_ArkWebResourceRequest_GetReferrer(
813 resourceRequest: *const ArkWeb_ResourceRequest,
814 referrer: *mut *mut ::core::ffi::c_char,
815 );
816 /// Get the OH_ArkWeb_RequestHeaderList of the request.
817 /// # Arguments
818 ///
819 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
820 ///
821 /// * `requestHeaderList` - The RequestHeaderList of request.
822 ///
823 ///
824 /// Required System Capabilities: SystemCapability.Web.Webview.Core
825 ///
826 /// Available since API-level: 12
827 #[cfg(feature = "api-12")]
828 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
829 pub fn OH_ArkWebResourceRequest_GetRequestHeaders(
830 resourceRequest: *const ArkWeb_ResourceRequest,
831 requestHeaderList: *mut *mut ArkWeb_RequestHeaderList,
832 );
833 /// Get if this is a redirect request.
834 /// # Arguments
835 ///
836 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
837 ///
838 /// # Returns
839 ///
840 /// * True if this is a redirect; false otherwise.
841 ///
842 ///
843 /// Required System Capabilities: SystemCapability.Web.Webview.Core
844 ///
845 /// Available since API-level: 12
846 #[cfg(feature = "api-12")]
847 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
848 pub fn OH_ArkWebResourceRequest_IsRedirect(
849 resourceRequest: *const ArkWeb_ResourceRequest,
850 ) -> bool;
851 /// Get if this is a request from main frame.
852 /// # Arguments
853 ///
854 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
855 ///
856 /// # Returns
857 ///
858 /// * True if this is from main frame; false otherwise.
859 ///
860 ///
861 /// Required System Capabilities: SystemCapability.Web.Webview.Core
862 ///
863 /// Available since API-level: 12
864 #[cfg(feature = "api-12")]
865 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
866 pub fn OH_ArkWebResourceRequest_IsMainFrame(
867 resourceRequest: *const ArkWeb_ResourceRequest,
868 ) -> bool;
869 /// Get if this is a request is triggered by user gesutre.
870 /// # Arguments
871 ///
872 /// * `resourceRequest` - The ArkWeb_ResourceRequest.
873 ///
874 /// # Returns
875 ///
876 /// * True if this is triggered by user gesture; false otherwise.
877 ///
878 ///
879 /// Required System Capabilities: SystemCapability.Web.Webview.Core
880 ///
881 /// Available since API-level: 12
882 #[cfg(feature = "api-12")]
883 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
884 pub fn OH_ArkWebResourceRequest_HasGesture(
885 resourceRequest: *const ArkWeb_ResourceRequest,
886 ) -> bool;
887 /// Register custom scheme to the ArkWeb.
888 ///
889 /// Should not be called for built-in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.
890 ///
891 /// This function should be called on main thread.
892 ///
893 ///
894 /// # Arguments
895 ///
896 /// * `scheme` - The scheme to regist.
897 ///
898 /// * `option` - The configuration of the scheme.
899 ///
900 /// # Returns
901 ///
902 /// * [`ARKWEB_NET_OK`] 0 - Success.
903 /// [`ARKWEB_ERROR_UNKNOWN`] 17100100 - Unknown error.
904 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
905 /// [`ARKWEB_SCHEME_REGISTER_FAILED`] 17100102 - Register custom schemes should be called
906 /// before create any ArkWeb.
907 ///
908 ///
909 /// Required System Capabilities: SystemCapability.Web.Webview.Core
910 ///
911 /// Available since API-level: 12
912 #[cfg(feature = "api-12")]
913 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
914 pub fn OH_ArkWeb_RegisterCustomSchemes(scheme: *const ::core::ffi::c_char, option: i32) -> i32;
915 /// Set a ArkWeb_SchemeHandler for a specific scheme to intercept requests of that scheme type.
916 ///
917 /// SchemeHandler should be set after the BrowserContext created.
918 ///
919 /// Use WebviewController.initializeWebEngine to initialize the BrowserContext without create a ArkWeb.
920 ///
921 ///
922 /// # Arguments
923 ///
924 /// * `scheme` - Scheme that need to be intercepted.
925 ///
926 /// * `schemeHandler` - The SchemeHandler for the scheme. Only requests triggered by ServiceWorker will be notified
927 /// through this handler.
928 ///
929 /// # Returns
930 ///
931 /// * Return true if set SchemeHandler for specific scheme successful, return false otherwise.
932 ///
933 ///
934 /// Required System Capabilities: SystemCapability.Web.Webview.Core
935 ///
936 /// Available since API-level: 12
937 #[cfg(feature = "api-12")]
938 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
939 pub fn OH_ArkWebServiceWorker_SetSchemeHandler(
940 scheme: *const ::core::ffi::c_char,
941 schemeHandler: *mut ArkWeb_SchemeHandler,
942 ) -> bool;
943 /// Set a ArkWeb_SchemeHandler for a specific scheme to intercept requests of that scheme type.
944 ///
945 /// SchemeHandler should be set after the BrowserContext created.
946 ///
947 /// Use WebviewController.initializeWebEngine to initialize the BrowserContext without create a ArkWeb.
948 ///
949 ///
950 /// # Arguments
951 ///
952 /// * `scheme` - Scheme that need to be intercepted.
953 ///
954 /// * `webTag` - The name of the web component.
955 ///
956 /// * `schemeHandler` - The SchemeHandler for the scheme. Only requests triggered from the specified web will be
957 /// notified through this handler.
958 ///
959 /// # Returns
960 ///
961 /// * Return true if set SchemeHandler for specific scheme successful, return false otherwise.
962 ///
963 ///
964 /// Required System Capabilities: SystemCapability.Web.Webview.Core
965 ///
966 /// Available since API-level: 12
967 #[cfg(feature = "api-12")]
968 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
969 pub fn OH_ArkWeb_SetSchemeHandler(
970 scheme: *const ::core::ffi::c_char,
971 webTag: *const ::core::ffi::c_char,
972 schemeHandler: *mut ArkWeb_SchemeHandler,
973 ) -> bool;
974 /// Clear the handler registered on the specified web for service worker.
975 ///
976 /// # Returns
977 ///
978 /// * [`ARKWEB_NET_OK`] 0 - Success.
979 ///
980 ///
981 /// Required System Capabilities: SystemCapability.Web.Webview.Core
982 ///
983 /// Available since API-level: 12
984 #[cfg(feature = "api-12")]
985 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
986 pub fn OH_ArkWebServiceWorker_ClearSchemeHandlers() -> i32;
987 /// Clear the handler registered on the specified web.
988 /// # Arguments
989 ///
990 /// * `webTag` - The name of the web component.
991 ///
992 /// # Returns
993 ///
994 /// * [`ARKWEB_NET_OK`] 0 - Success.
995 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
996 ///
997 ///
998 /// Required System Capabilities: SystemCapability.Web.Webview.Core
999 ///
1000 /// Available since API-level: 12
1001 #[cfg(feature = "api-12")]
1002 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1003 pub fn OH_ArkWeb_ClearSchemeHandlers(webTag: *const ::core::ffi::c_char) -> i32;
1004 /// Create a SchemeHandler.
1005 /// # Arguments
1006 ///
1007 /// * `schemeHandler` - Return the created SchemeHandler. Use OH_ArkWeb_DestroySchemeHandler destroy it when donn't
1008 /// need it.
1009 ///
1010 ///
1011 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1012 ///
1013 /// Available since API-level: 12
1014 #[cfg(feature = "api-12")]
1015 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1016 pub fn OH_ArkWeb_CreateSchemeHandler(schemeHandler: *mut *mut ArkWeb_SchemeHandler);
1017 /// Destroy a SchemeHandler.
1018 /// # Arguments
1019 ///
1020 /// * `schemeHandler` - The ArkWeb_SchemeHandler to be destroy.
1021 ///
1022 ///
1023 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1024 ///
1025 /// Available since API-level: 12
1026 #[cfg(feature = "api-12")]
1027 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1028 pub fn OH_ArkWeb_DestroySchemeHandler(schemeHandler: *mut ArkWeb_SchemeHandler);
1029 /// Set a user data to ArkWeb_SchemeHandler.
1030 /// # Arguments
1031 ///
1032 /// * `schemeHandler` - The ArkWeb_SchemeHandler.
1033 ///
1034 /// * `userData` - The user data to set.
1035 ///
1036 /// # Returns
1037 ///
1038 /// * [`ARKWEB_NET_OK`] 0 - Success.
1039 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1040 ///
1041 ///
1042 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1043 ///
1044 /// Available since API-level: 12
1045 #[cfg(feature = "api-12")]
1046 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1047 pub fn OH_ArkWebSchemeHandler_SetUserData(
1048 schemeHandler: *mut ArkWeb_SchemeHandler,
1049 userData: *mut ::core::ffi::c_void,
1050 ) -> i32;
1051 /// Get the user data from ArkWeb_SchemeHandler.
1052 /// # Arguments
1053 ///
1054 /// * `schemeHandler` - The ArkWeb_SchemeHandler.
1055 ///
1056 /// # Returns
1057 ///
1058 /// * The set user data.
1059 ///
1060 ///
1061 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1062 ///
1063 /// Available since API-level: 12
1064 #[cfg(feature = "api-12")]
1065 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1066 pub fn OH_ArkWebSchemeHandler_GetUserData(
1067 schemeHandler: *const ArkWeb_SchemeHandler,
1068 ) -> *mut ::core::ffi::c_void;
1069 /// Set the OnRequestStart callback for SchemeHandler.
1070 /// # Arguments
1071 ///
1072 /// * `schemeHandler` - The SchemeHandler for the scheme.
1073 ///
1074 /// * `onRequestStart` - The OnRequestStart callback.
1075 ///
1076 /// # Returns
1077 ///
1078 /// * [`ARKWEB_NET_OK`] 0 - Success.
1079 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1080 ///
1081 ///
1082 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1083 ///
1084 /// Available since API-level: 12
1085 #[cfg(feature = "api-12")]
1086 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1087 pub fn OH_ArkWebSchemeHandler_SetOnRequestStart(
1088 schemeHandler: *mut ArkWeb_SchemeHandler,
1089 onRequestStart: ArkWeb_OnRequestStart,
1090 ) -> i32;
1091 /// Set the OnRequestStop callback for SchemeHandler.
1092 /// # Arguments
1093 ///
1094 /// * `schemeHandler` - The SchemeHandler for the scheme.
1095 ///
1096 /// * `onRequestStop` - The OnRequestStop callback.
1097 ///
1098 /// # Returns
1099 ///
1100 /// * [`ARKWEB_NET_OK`] 0 - Success.
1101 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1102 ///
1103 ///
1104 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1105 ///
1106 /// Available since API-level: 12
1107 #[cfg(feature = "api-12")]
1108 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1109 pub fn OH_ArkWebSchemeHandler_SetOnRequestStop(
1110 schemeHandler: *mut ArkWeb_SchemeHandler,
1111 onRequestStop: ArkWeb_OnRequestStop,
1112 ) -> i32;
1113 /// Create a Response for a request.
1114 /// # Arguments
1115 ///
1116 /// * `response` - The created Response. Use OH_ArkWeb_DestroyResponse to destroy when donn't need it.
1117 ///
1118 ///
1119 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1120 ///
1121 /// Available since API-level: 12
1122 #[cfg(feature = "api-12")]
1123 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1124 pub fn OH_ArkWeb_CreateResponse(response: *mut *mut ArkWeb_Response);
1125 /// Destroy the Reponse.
1126 /// # Arguments
1127 ///
1128 /// * `response` - The Response needs destroy.
1129 ///
1130 ///
1131 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1132 ///
1133 /// Available since API-level: 12
1134 #[cfg(feature = "api-12")]
1135 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1136 pub fn OH_ArkWeb_DestroyResponse(response: *mut ArkWeb_Response);
1137 /// Set the resolved URL after redirects or changed as a result of HSTS.
1138 /// # Arguments
1139 ///
1140 /// * `response` - The ArkWeb_Response.
1141 ///
1142 /// * `url` - The resolved URL.
1143 ///
1144 /// # Returns
1145 ///
1146 /// * [`ARKWEB_NET_OK`] 0 - Success.
1147 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1148 ///
1149 ///
1150 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1151 ///
1152 /// Available since API-level: 12
1153 #[cfg(feature = "api-12")]
1154 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1155 pub fn OH_ArkWebResponse_SetUrl(
1156 response: *mut ArkWeb_Response,
1157 url: *const ::core::ffi::c_char,
1158 ) -> i32;
1159 /// Get the resolved URL after redirects or changed as a result of HSTS.
1160 /// # Arguments
1161 ///
1162 /// * `response` - The ArkWeb_Response.
1163 ///
1164 /// * `url` - The resolved URL.
1165 ///
1166 ///
1167 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1168 ///
1169 /// Available since API-level: 12
1170 #[cfg(feature = "api-12")]
1171 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1172 pub fn OH_ArkWebResponse_GetUrl(
1173 response: *const ArkWeb_Response,
1174 url: *mut *mut ::core::ffi::c_char,
1175 );
1176 /// Set a error code to ArkWeb_Response.
1177 /// # Arguments
1178 ///
1179 /// * `response` - The ArkWeb_Response.
1180 ///
1181 /// * `errorCode` - The error code for the failed request.
1182 ///
1183 /// # Returns
1184 ///
1185 /// * [`ARKWEB_NET_OK`] 0 - Success.
1186 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1187 ///
1188 ///
1189 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1190 ///
1191 /// Available since API-level: 12
1192 #[cfg(feature = "api-12")]
1193 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1194 pub fn OH_ArkWebResponse_SetError(
1195 response: *mut ArkWeb_Response,
1196 errorCode: ArkWeb_NetError,
1197 ) -> i32;
1198 /// Get the response's error code.
1199 /// # Arguments
1200 ///
1201 /// * `response` - The ArkWeb_Response.
1202 ///
1203 /// # Returns
1204 ///
1205 /// * The response's error code.
1206 ///
1207 ///
1208 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1209 ///
1210 /// Available since API-level: 12
1211 #[cfg(feature = "api-12")]
1212 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1213 pub fn OH_ArkWebResponse_GetError(response: *const ArkWeb_Response) -> ArkWeb_NetError;
1214 /// Set a status code to ArkWebResponse.
1215 /// # Arguments
1216 ///
1217 /// * `response` - The ArkWeb_Response.
1218 ///
1219 /// * `status` - The http status code for the request.
1220 ///
1221 /// # Returns
1222 ///
1223 /// * [`ARKWEB_NET_OK`] 0 - Success.
1224 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1225 ///
1226 ///
1227 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1228 ///
1229 /// Available since API-level: 12
1230 #[cfg(feature = "api-12")]
1231 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1232 pub fn OH_ArkWebResponse_SetStatus(
1233 response: *mut ArkWeb_Response,
1234 status: ::core::ffi::c_int,
1235 ) -> i32;
1236 /// Get the response's status code.
1237 /// # Arguments
1238 ///
1239 /// * `response` - The ArkWeb_Response.
1240 ///
1241 /// # Returns
1242 ///
1243 /// * The response's http status code. -1 if response is invalid.
1244 ///
1245 ///
1246 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1247 ///
1248 /// Available since API-level: 12
1249 #[cfg(feature = "api-12")]
1250 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1251 pub fn OH_ArkWebResponse_GetStatus(response: *const ArkWeb_Response) -> ::core::ffi::c_int;
1252 /// Set a status text to ArkWebResponse.
1253 /// # Arguments
1254 ///
1255 /// * `response` - The ArkWeb_Response.
1256 ///
1257 /// * `statusText` - The status text for the request.
1258 ///
1259 /// # Returns
1260 ///
1261 /// * [`ARKWEB_NET_OK`] 0 - Success.
1262 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1263 ///
1264 ///
1265 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1266 ///
1267 /// Available since API-level: 12
1268 #[cfg(feature = "api-12")]
1269 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1270 pub fn OH_ArkWebResponse_SetStatusText(
1271 response: *mut ArkWeb_Response,
1272 statusText: *const ::core::ffi::c_char,
1273 ) -> i32;
1274 /// Get the response's status text.
1275 /// # Arguments
1276 ///
1277 /// * `response` - The ArkWeb_Response.
1278 ///
1279 /// * `statusText` - Return the response's statusText. This function will allocate memory for the statusText string and
1280 /// caller must release the string by OH_ArkWeb_ReleaseString.
1281 ///
1282 ///
1283 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1284 ///
1285 /// Available since API-level: 12
1286 #[cfg(feature = "api-12")]
1287 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1288 pub fn OH_ArkWebResponse_GetStatusText(
1289 response: *const ArkWeb_Response,
1290 statusText: *mut *mut ::core::ffi::c_char,
1291 );
1292 /// Set mime type to ArkWebResponse.
1293 /// # Arguments
1294 ///
1295 /// * `response` - The ArkWeb_Response.
1296 ///
1297 /// * `mimeType` - The mime type for the request.
1298 ///
1299 /// # Returns
1300 ///
1301 /// * [`ARKWEB_NET_OK`] 0 - Success.
1302 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1303 ///
1304 ///
1305 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1306 ///
1307 /// Available since API-level: 12
1308 #[cfg(feature = "api-12")]
1309 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1310 pub fn OH_ArkWebResponse_SetMimeType(
1311 response: *mut ArkWeb_Response,
1312 mimeType: *const ::core::ffi::c_char,
1313 ) -> i32;
1314 /// Get the response's mime type.
1315 /// # Arguments
1316 ///
1317 /// * `response` - The ArkWeb_Response.
1318 ///
1319 /// * `mimeType` - Return the response's mime type. This function will allocate memory for the mime type string and
1320 /// caller must release the string by OH_ArkWeb_ReleaseString.
1321 ///
1322 ///
1323 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1324 ///
1325 /// Available since API-level: 12
1326 #[cfg(feature = "api-12")]
1327 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1328 pub fn OH_ArkWebResponse_GetMimeType(
1329 response: *const ArkWeb_Response,
1330 mimeType: *mut *mut ::core::ffi::c_char,
1331 );
1332 /// Set charset to ArkWeb_Response.
1333 /// # Arguments
1334 ///
1335 /// * `response` - The ArkWeb_Response.
1336 ///
1337 /// * `charset` - The charset for the request.
1338 ///
1339 /// # Returns
1340 ///
1341 /// * [`ARKWEB_NET_OK`] 0 - Success.
1342 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1343 ///
1344 ///
1345 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1346 ///
1347 /// Available since API-level: 12
1348 #[cfg(feature = "api-12")]
1349 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1350 pub fn OH_ArkWebResponse_SetCharset(
1351 response: *mut ArkWeb_Response,
1352 charset: *const ::core::ffi::c_char,
1353 ) -> i32;
1354 /// Get the response's charset.
1355 /// # Arguments
1356 ///
1357 /// * `response` - The ArkWeb_Response.
1358 ///
1359 /// * `charset` - Return the response's charset. This function will allocate memory for the charset string and caller
1360 /// must release the string by OH_ArkWeb_ReleaseString.
1361 ///
1362 ///
1363 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1364 ///
1365 /// Available since API-level: 12
1366 #[cfg(feature = "api-12")]
1367 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1368 pub fn OH_ArkWebResponse_GetCharset(
1369 response: *const ArkWeb_Response,
1370 charset: *mut *mut ::core::ffi::c_char,
1371 );
1372 /// Set a header to ArkWeb_Response.
1373 /// # Arguments
1374 ///
1375 /// * `response` - The ArkWeb_Response.
1376 ///
1377 /// * `name` - The name of the header.
1378 ///
1379 /// * `value` - The value of the header.
1380 ///
1381 /// * `overwirte` - If true will overwrite the exsits header, if false otherwise.
1382 ///
1383 /// # Returns
1384 ///
1385 /// * [`ARKWEB_NET_OK`] 0 - Success.
1386 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1387 ///
1388 ///
1389 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1390 ///
1391 /// Available since API-level: 12
1392 #[cfg(feature = "api-12")]
1393 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1394 pub fn OH_ArkWebResponse_SetHeaderByName(
1395 response: *mut ArkWeb_Response,
1396 name: *const ::core::ffi::c_char,
1397 value: *const ::core::ffi::c_char,
1398 overwrite: bool,
1399 ) -> i32;
1400 /// Get the header from the response.
1401 /// # Arguments
1402 ///
1403 /// * `response` - The ArkWeb_Response.
1404 ///
1405 /// * `name` - The name of the header.
1406 ///
1407 /// * `value` - Return the header's value. This function will allocate memory for the value string and caller must
1408 /// release the string by OH_ArkWeb_ReleaseString.
1409 ///
1410 ///
1411 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1412 ///
1413 /// Available since API-level: 12
1414 #[cfg(feature = "api-12")]
1415 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1416 pub fn OH_ArkWebResponse_GetHeaderByName(
1417 response: *const ArkWeb_Response,
1418 name: *const ::core::ffi::c_char,
1419 value: *mut *mut ::core::ffi::c_char,
1420 );
1421 /// Destroy the ArkWeb_ResourceHandler.
1422 /// # Arguments
1423 ///
1424 /// * `resourceHandler` - The ArkWeb_ResourceHandler.
1425 ///
1426 /// # Returns
1427 ///
1428 /// * [`ARKWEB_NET_OK`] 0 - Success.
1429 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1430 ///
1431 ///
1432 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1433 ///
1434 /// Available since API-level: 12
1435 #[cfg(feature = "api-12")]
1436 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1437 pub fn OH_ArkWebResourceHandler_Destroy(resourceHandler: *const ArkWeb_ResourceHandler) -> i32;
1438 /// Pass response headers to intercepted requests.
1439 /// # Arguments
1440 ///
1441 /// * `resourceHandler` - The ArkWeb_ResourceHandler for the request.
1442 ///
1443 /// * `response` - The ArkWeb_Response for the intercepting requests.
1444 ///
1445 /// # Returns
1446 ///
1447 /// * [`ARKWEB_NET_OK`] 0 - Success.
1448 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1449 ///
1450 ///
1451 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1452 ///
1453 /// Available since API-level: 12
1454 #[cfg(feature = "api-12")]
1455 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1456 pub fn OH_ArkWebResourceHandler_DidReceiveResponse(
1457 resourceHandler: *const ArkWeb_ResourceHandler,
1458 response: *const ArkWeb_Response,
1459 ) -> i32;
1460 /// Pass response body data to intercepted requests.
1461 /// # Arguments
1462 ///
1463 /// * `resourceHandler` - The ArkWeb_ResourceHandler for the request.
1464 ///
1465 /// * `buffer` - Buffer data to send.
1466 ///
1467 /// * `bufLen` - The size of buffer.
1468 ///
1469 /// # Returns
1470 ///
1471 /// * [`ARKWEB_NET_OK`] 0 - Success.
1472 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1473 ///
1474 ///
1475 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1476 ///
1477 /// Available since API-level: 12
1478 #[cfg(feature = "api-12")]
1479 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1480 pub fn OH_ArkWebResourceHandler_DidReceiveData(
1481 resourceHandler: *const ArkWeb_ResourceHandler,
1482 buffer: *const u8,
1483 bufLen: i64,
1484 ) -> i32;
1485 /// Notify the ArkWeb that this request should be finished and there is no more data available.
1486 /// # Arguments
1487 ///
1488 /// * `resourceHandler` - The ArkWeb_ResourceHandler for the request.
1489 ///
1490 /// # Returns
1491 ///
1492 /// * [`ARKWEB_NET_OK`] 0 - Success.
1493 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1494 ///
1495 ///
1496 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1497 ///
1498 /// Available since API-level: 12
1499 #[cfg(feature = "api-12")]
1500 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1501 pub fn OH_ArkWebResourceHandler_DidFinish(
1502 resourceHandler: *const ArkWeb_ResourceHandler,
1503 ) -> i32;
1504 /// Notify the ArkWeb that this request should be failed.
1505 /// # Arguments
1506 ///
1507 /// * `resourceHandler` - The ArkWeb_ResourceHandler for the request.
1508 ///
1509 /// * `errorCode` - The error code for this request. Refer to arkweb_net_error_list.h.
1510 ///
1511 /// # Returns
1512 ///
1513 /// * [`ARKWEB_NET_OK`] 0 - Success.
1514 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param.
1515 ///
1516 ///
1517 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1518 ///
1519 /// Available since API-level: 12
1520 #[cfg(feature = "api-12")]
1521 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1522 pub fn OH_ArkWebResourceHandler_DidFailWithError(
1523 resourceHandler: *const ArkWeb_ResourceHandler,
1524 errorCode: ArkWeb_NetError,
1525 ) -> i32;
1526 /// Notify the ArkWeb that this request should be failed.
1527 /// # Arguments
1528 ///
1529 /// * `resourceHandler` - The ArkWeb_ResourceHandler for the request.
1530 ///
1531 /// * `errorCode` - The error code for this request. Refer to arkweb_net_error_list.h.
1532 ///
1533 /// * `completeIfNoResponse` - If completeIfNoResponse is true, when DidFailWithErrorV2 is called,
1534 /// if DidReceiveResponse has not been called,
1535 /// a response is automatically constructed and the current request is terminated.
1536 ///
1537 /// # Returns
1538 ///
1539 /// * [`ARKWEB_NET_OK`] 0 - Success.
1540 /// [`ARKWEB_INVALID_PARAM`] 17100101 - Invalid param, the resourceHandler is nullptr.
1541 ///
1542 /// Available since API-level: 20
1543 #[cfg(feature = "api-20")]
1544 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1545 pub fn OH_ArkWebResourceHandler_DidFailWithErrorV2(
1546 resourceHandler: *const ArkWeb_ResourceHandler,
1547 errorCode: ArkWeb_NetError,
1548 completeIfNoResponse: bool,
1549 ) -> i32;
1550 /// Release the string acquired by native function.
1551 /// # Arguments
1552 ///
1553 /// * `string` - The string to be released.
1554 ///
1555 ///
1556 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1557 ///
1558 /// Available since API-level: 12
1559 #[cfg(feature = "api-12")]
1560 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1561 pub fn OH_ArkWeb_ReleaseString(string: *mut ::core::ffi::c_char);
1562 /// Release the byte array acquired by native function.
1563 /// # Arguments
1564 ///
1565 /// * `byteArray` - The byte array to be released.
1566 ///
1567 ///
1568 /// Required System Capabilities: SystemCapability.Web.Webview.Core
1569 ///
1570 /// Available since API-level: 12
1571 #[cfg(feature = "api-12")]
1572 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1573 pub fn OH_ArkWeb_ReleaseByteArray(byteArray: *mut u8);
1574}