1#![allow(
4 non_camel_case_types,
5 unsafe_op_in_unsafe_fn,
6 clippy::missing_safety_doc,
7 clippy::too_many_arguments
8)]
9
10use super::*;
11
12pub struct cbf_bridge {
13 __library: ::libloading::Library,
14 pub cbf_bridge_convert_nsevent: unsafe extern "C" fn(
15 nsevent: *mut ::std::os::raw::c_void,
16 tab_id: u64,
17 out_event: *mut CbfKeyEvent,
18 ),
19 pub cbf_bridge_free_converted_key_event: unsafe extern "C" fn(event: *mut CbfKeyEvent),
20 pub cbf_bridge_convert_nsevent_to_mouse_event: unsafe extern "C" fn(
21 nsevent: *mut ::std::os::raw::c_void,
22 nsview: *mut ::std::os::raw::c_void,
23 tab_id: u64,
24 pointer_type: u8,
25 unaccelerated_movement: bool,
26 out_event: *mut CbfMouseEvent,
27 ),
28 pub cbf_bridge_convert_nsevent_to_mouse_wheel_event: unsafe extern "C" fn(
29 nsevent: *mut ::std::os::raw::c_void,
30 nsview: *mut ::std::os::raw::c_void,
31 tab_id: u64,
32 out_event: *mut CbfMouseWheelEvent,
33 ),
34 pub cbf_bridge_convert_nspasteboard_to_drag_data:
35 unsafe extern "C" fn(nspasteboard: *mut ::std::os::raw::c_void, out_data: *mut CbfDragData),
36 pub cbf_bridge_free_converted_drag_data: unsafe extern "C" fn(data: *mut CbfDragData),
37 pub cbf_bridge_client_wait_for_event: unsafe extern "C" fn(
38 client: *mut CbfBridgeClientHandle,
39 timeout_ms: i64,
40 ) -> CbfBridgeEventWaitStatus,
41 pub cbf_bridge_client_send_external_drag_enter: unsafe extern "C" fn(
42 client: *mut CbfBridgeClientHandle,
43 event: *const CbfExternalDragEnter,
44 ) -> bool,
45 pub cbf_bridge_client_send_external_drag_update: unsafe extern "C" fn(
46 client: *mut CbfBridgeClientHandle,
47 event: *const CbfExternalDragUpdate,
48 ) -> bool,
49 pub cbf_bridge_client_send_external_drag_leave:
50 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
51 pub cbf_bridge_client_send_external_drag_drop: unsafe extern "C" fn(
52 client: *mut CbfBridgeClientHandle,
53 event: *const CbfExternalDragDrop,
54 ) -> bool,
55 pub cbf_bridge_client_execute_edit_action:
56 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64, action: u8) -> bool,
57 pub cbf_bridge_client_find_in_page: unsafe extern "C" fn(
58 client: *mut CbfBridgeClientHandle,
59 tab_id: u64,
60 request_id: u64,
61 query: *const ::std::os::raw::c_char,
62 forward: bool,
63 match_case: bool,
64 new_session: bool,
65 find_match: bool,
66 ) -> bool,
67 pub cbf_bridge_client_stop_finding:
68 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64, action: u8) -> bool,
69 pub cbf_bridge_client_execute_extension_popup_edit_action:
70 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, popup_id: u64, action: u8) -> bool,
71 pub cbf_bridge_client_execute_context_menu_command: unsafe extern "C" fn(
72 client: *mut CbfBridgeClientHandle,
73 menu_id: u64,
74 command_id: i32,
75 event_flags: i32,
76 ) -> bool,
77 pub cbf_bridge_client_dismiss_context_menu:
78 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, menu_id: u64) -> bool,
79 pub cbf_bridge_client_accept_choice_menu_selection: unsafe extern "C" fn(
80 client: *mut CbfBridgeClientHandle,
81 request_id: u64,
82 indices: *const CbfChoiceMenuSelectedIndices,
83 ) -> bool,
84 pub cbf_bridge_client_dismiss_choice_menu:
85 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, request_id: u64) -> bool,
86 pub cbf_bridge_client_confirm_beforeunload: unsafe extern "C" fn(
87 client: *mut CbfBridgeClientHandle,
88 tab_id: u64,
89 request_id: u64,
90 proceed: bool,
91 ) -> bool,
92 pub cbf_bridge_client_respond_javascript_dialog: unsafe extern "C" fn(
93 client: *mut CbfBridgeClientHandle,
94 tab_id: u64,
95 request_id: u64,
96 accept: bool,
97 prompt_text: *const ::std::os::raw::c_char,
98 ) -> bool,
99 pub cbf_bridge_client_respond_extension_popup_javascript_dialog: unsafe extern "C" fn(
100 client: *mut CbfBridgeClientHandle,
101 popup_id: u64,
102 request_id: u64,
103 accept: bool,
104 prompt_text: *const ::std::os::raw::c_char,
105 )
106 -> bool,
107 pub cbf_bridge_client_navigate: unsafe extern "C" fn(
108 client: *mut CbfBridgeClientHandle,
109 tab_id: u64,
110 url: *const ::std::os::raw::c_char,
111 ) -> bool,
112 pub cbf_bridge_client_go_back:
113 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
114 pub cbf_bridge_client_go_forward:
115 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
116 pub cbf_bridge_client_reload: unsafe extern "C" fn(
117 client: *mut CbfBridgeClientHandle,
118 tab_id: u64,
119 ignore_cache: bool,
120 ) -> bool,
121 pub cbf_bridge_client_print_preview:
122 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
123 pub cbf_bridge_client_activate_extension_action: unsafe extern "C" fn(
124 client: *mut CbfBridgeClientHandle,
125 tab_id: u64,
126 extension_id: *const ::std::os::raw::c_char,
127 ) -> bool,
128 pub cbf_bridge_client_open_dev_tools:
129 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
130 pub cbf_bridge_client_inspect_element: unsafe extern "C" fn(
131 client: *mut CbfBridgeClientHandle,
132 tab_id: u64,
133 x: i32,
134 y: i32,
135 ) -> bool,
136 pub cbf_bridge_client_set_tab_focus: unsafe extern "C" fn(
137 client: *mut CbfBridgeClientHandle,
138 tab_id: u64,
139 focused: bool,
140 ) -> bool,
141 pub cbf_bridge_client_set_tab_visibility: unsafe extern "C" fn(
142 client: *mut CbfBridgeClientHandle,
143 tab_id: u64,
144 visibility: u8,
145 ) -> bool,
146 pub cbf_bridge_client_set_tab_execution_state:
147 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64, state: u8) -> bool,
148 pub cbf_bridge_client_enable_tab_ipc: unsafe extern "C" fn(
149 client: *mut CbfBridgeClientHandle,
150 tab_id: u64,
151 allowed_origins: *const CbfCommandList,
152 ) -> bool,
153 pub cbf_bridge_client_disable_tab_ipc:
154 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
155 pub cbf_bridge_client_post_tab_ipc_message: unsafe extern "C" fn(
156 client: *mut CbfBridgeClientHandle,
157 tab_id: u64,
158 channel: *const ::std::os::raw::c_char,
159 message_type: u8,
160 request_id: u64,
161 payload_kind: u8,
162 payload_text: *const ::std::os::raw::c_char,
163 payload_binary: *const u8,
164 payload_binary_len: u32,
165 content_type: *const ::std::os::raw::c_char,
166 error_code: u8,
167 ) -> bool,
168 pub cbf_bridge_client_set_tab_background_policy: unsafe extern "C" fn(
169 client: *mut CbfBridgeClientHandle,
170 tab_id: u64,
171 transparent: bool,
172 ) -> bool,
173 pub cbf_bridge_client_set_extension_popup_background_policy: unsafe extern "C" fn(
174 client: *mut CbfBridgeClientHandle,
175 popup_id: u64,
176 transparent: bool,
177 ) -> bool,
178 pub cbf_bridge_client_get_tab_dom_html: unsafe extern "C" fn(
179 client: *mut CbfBridgeClientHandle,
180 tab_id: u64,
181 request_id: u64,
182 ) -> bool,
183 pub cbf_bridge_client_get_navigation_history: unsafe extern "C" fn(
184 client: *mut CbfBridgeClientHandle,
185 tab_id: u64,
186 request_id: u64,
187 ) -> bool,
188 pub cbf_bridge_client_traverse_history_to_entry: unsafe extern "C" fn(
189 client: *mut CbfBridgeClientHandle,
190 tab_id: u64,
191 entry_id: u64,
192 ) -> bool,
193 pub cbf_bridge_client_traverse_history_by_offset:
194 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64, delta: i32) -> bool,
195 pub cbf_bridge_client_list_extensions: unsafe extern "C" fn(
196 client: *mut CbfBridgeClientHandle,
197 profile_id: *const ::std::os::raw::c_char,
198 out_list: *mut CbfExtensionInfoList,
199 ) -> bool,
200 pub cbf_bridge_extension_list_free: unsafe extern "C" fn(list: *mut CbfExtensionInfoList),
201 pub cbf_bridge_client_open_default_prompt_ui: unsafe extern "C" fn(
202 client: *mut CbfBridgeClientHandle,
203 profile_id: *const ::std::os::raw::c_char,
204 request_id: u64,
205 ) -> bool,
206 pub cbf_bridge_client_register_custom_scheme_handler: unsafe extern "C" fn(
207 client: *mut CbfBridgeClientHandle,
208 scheme: *const ::std::os::raw::c_char,
209 host: *const ::std::os::raw::c_char,
210 ) -> bool,
211 pub cbf_bridge_client_respond_custom_scheme_request: unsafe extern "C" fn(
212 client: *mut CbfBridgeClientHandle,
213 request_id: u64,
214 result: u8,
215 mime_type: *const ::std::os::raw::c_char,
216 content_security_policy: *const ::std::os::raw::c_char,
217 access_control_allow_origin: *const ::std::os::raw::c_char,
218 body: *const u8,
219 body_len: u32,
220 ) -> bool,
221 pub cbf_bridge_client_respond_prompt_ui: unsafe extern "C" fn(
222 client: *mut CbfBridgeClientHandle,
223 profile_id: *const ::std::os::raw::c_char,
224 request_id: u64,
225 prompt_ui_kind: u8,
226 proceed: bool,
227 report_abuse: bool,
228 destination_path: *const ::std::os::raw::c_char,
229 ) -> bool,
230 pub cbf_bridge_client_respond_prompt_ui_for_tab: unsafe extern "C" fn(
231 client: *mut CbfBridgeClientHandle,
232 tab_id: u64,
233 request_id: u64,
234 prompt_ui_kind: u8,
235 proceed: bool,
236 report_abuse: bool,
237 destination_path: *const ::std::os::raw::c_char,
238 ) -> bool,
239 pub cbf_bridge_client_pause_download:
240 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, download_id: u64) -> bool,
241 pub cbf_bridge_client_resume_download:
242 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, download_id: u64) -> bool,
243 pub cbf_bridge_client_cancel_download:
244 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, download_id: u64) -> bool,
245 pub cbf_bridge_client_close_prompt_ui: unsafe extern "C" fn(
246 client: *mut CbfBridgeClientHandle,
247 profile_id: *const ::std::os::raw::c_char,
248 prompt_ui_id: u64,
249 ) -> bool,
250 pub cbf_bridge_client_respond_tab_open: unsafe extern "C" fn(
251 client: *mut CbfBridgeClientHandle,
252 request_id: u64,
253 response_kind: u8,
254 target_tab_id: u64,
255 activate: bool,
256 ) -> bool,
257 pub cbf_bridge_set_base_bundle_id:
258 unsafe extern "C" fn(bundle_id: *const ::std::os::raw::c_char),
259 pub cbf_bridge_client_create: unsafe extern "C" fn() -> *mut CbfBridgeClientHandle,
260 pub cbf_bridge_client_destroy: unsafe extern "C" fn(client: *mut CbfBridgeClientHandle),
261 pub cbf_bridge_init: unsafe extern "C" fn(),
262 pub cbf_bridge_prepare_channel: unsafe extern "C" fn(
263 out_switch_arg: *mut ::std::os::raw::c_char,
264 out_arg_len: ::std::os::raw::c_int,
265 ) -> ::std::os::raw::c_int,
266 pub cbf_bridge_prepare_channel_and_lock: unsafe extern "C" fn(
267 out_switch_arg: *mut ::std::os::raw::c_char,
268 out_arg_len: ::std::os::raw::c_int,
269 ) -> ::std::os::raw::c_int,
270 pub cbf_bridge_pass_child_pid: unsafe extern "C" fn(child_pid: i64),
271 pub cbf_bridge_pass_child_pid_and_unlock: unsafe extern "C" fn(child_pid: i64),
272 pub cbf_bridge_abort_channel_launch: unsafe extern "C" fn(),
273 pub cbf_bridge_client_connect_inherited:
274 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle) -> bool,
275 pub cbf_bridge_client_authenticate: unsafe extern "C" fn(
276 client: *mut CbfBridgeClientHandle,
277 token: *const ::std::os::raw::c_char,
278 ) -> bool,
279 pub cbf_bridge_client_poll_event: unsafe extern "C" fn(
280 client: *mut CbfBridgeClientHandle,
281 out_event: *mut CbfBridgeEvent,
282 ) -> bool,
283 pub cbf_bridge_event_free: unsafe extern "C" fn(event: *mut CbfBridgeEvent),
284 pub cbf_bridge_client_get_profiles: unsafe extern "C" fn(
285 client: *mut CbfBridgeClientHandle,
286 out_list: *mut CbfProfileList,
287 ) -> bool,
288 pub cbf_bridge_profile_list_free: unsafe extern "C" fn(list: *mut CbfProfileList),
289 pub cbf_bridge_client_create_tab: unsafe extern "C" fn(
290 client: *mut CbfBridgeClientHandle,
291 request_id: u64,
292 initial_url: *const ::std::os::raw::c_char,
293 profile_id: *const ::std::os::raw::c_char,
294 has_policy: bool,
295 ipc_policy_kind: u8,
296 allowed_origins: *const CbfCommandList,
297 extensions_policy: u8,
298 ) -> bool,
299 pub cbf_bridge_client_request_close_tab:
300 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64) -> bool,
301 pub cbf_bridge_client_begin_close_tabs_transaction: unsafe extern "C" fn(
302 client: *mut CbfBridgeClientHandle,
303 request_id: u64,
304 tab_ids: *const CbfUint64List,
305 ) -> bool,
306 pub cbf_bridge_client_commit_close_tabs_transaction:
307 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, request_id: u64) -> bool,
308 pub cbf_bridge_client_cancel_close_tabs_transaction:
309 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, request_id: u64) -> bool,
310 pub cbf_bridge_client_set_tab_size: unsafe extern "C" fn(
311 client: *mut CbfBridgeClientHandle,
312 tab_id: u64,
313 width: u32,
314 height: u32,
315 ) -> bool,
316 pub cbf_bridge_client_send_key_event: unsafe extern "C" fn(
317 client: *mut CbfBridgeClientHandle,
318 event: *const CbfKeyEvent,
319 commands: *const CbfCommandList,
320 ) -> bool,
321 pub cbf_bridge_client_send_mouse_event: unsafe extern "C" fn(
322 client: *mut CbfBridgeClientHandle,
323 event: *const CbfMouseEvent,
324 ) -> bool,
325 pub cbf_bridge_client_send_mouse_wheel_event: unsafe extern "C" fn(
326 client: *mut CbfBridgeClientHandle,
327 event: *const CbfMouseWheelEvent,
328 ) -> bool,
329 pub cbf_bridge_client_send_drag_update: unsafe extern "C" fn(
330 client: *mut CbfBridgeClientHandle,
331 update: *const CbfDragUpdate,
332 ) -> bool,
333 pub cbf_bridge_client_send_drag_drop:
334 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, drop: *const CbfDragDrop) -> bool,
335 pub cbf_bridge_client_send_drag_cancel: unsafe extern "C" fn(
336 client: *mut CbfBridgeClientHandle,
337 session_id: u64,
338 tab_id: u64,
339 ) -> bool,
340 pub cbf_bridge_client_set_composition: unsafe extern "C" fn(
341 client: *mut CbfBridgeClientHandle,
342 composition: *const CbfImeComposition,
343 ) -> bool,
344 pub cbf_bridge_client_commit_text: unsafe extern "C" fn(
345 client: *mut CbfBridgeClientHandle,
346 commit: *const CbfImeCommitText,
347 ) -> bool,
348 pub cbf_bridge_client_finish_composing_text:
349 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, tab_id: u64, behavior: u8) -> bool,
350 pub cbf_bridge_client_set_extension_popup_size: unsafe extern "C" fn(
351 client: *mut CbfBridgeClientHandle,
352 popup_id: u64,
353 width: u32,
354 height: u32,
355 ) -> bool,
356 pub cbf_bridge_client_set_extension_popup_focus: unsafe extern "C" fn(
357 client: *mut CbfBridgeClientHandle,
358 popup_id: u64,
359 focused: bool,
360 ) -> bool,
361 pub cbf_bridge_client_send_extension_popup_key_event: unsafe extern "C" fn(
362 client: *mut CbfBridgeClientHandle,
363 popup_id: u64,
364 event: *const CbfKeyEvent,
365 commands: *const CbfCommandList,
366 ) -> bool,
367 pub cbf_bridge_client_send_extension_popup_mouse_event: unsafe extern "C" fn(
368 client: *mut CbfBridgeClientHandle,
369 popup_id: u64,
370 event: *const CbfMouseEvent,
371 ) -> bool,
372 pub cbf_bridge_client_send_extension_popup_mouse_wheel_event: unsafe extern "C" fn(
373 client: *mut CbfBridgeClientHandle,
374 popup_id: u64,
375 event: *const CbfMouseWheelEvent,
376 ) -> bool,
377 pub cbf_bridge_client_set_extension_popup_composition: unsafe extern "C" fn(
378 client: *mut CbfBridgeClientHandle,
379 popup_id: u64,
380 composition: *const CbfImeComposition,
381 ) -> bool,
382 pub cbf_bridge_client_commit_extension_popup_text: unsafe extern "C" fn(
383 client: *mut CbfBridgeClientHandle,
384 popup_id: u64,
385 commit: *const CbfImeCommitText,
386 ) -> bool,
387 pub cbf_bridge_client_finish_extension_popup_composing_text: unsafe extern "C" fn(
388 client: *mut CbfBridgeClientHandle,
389 popup_id: u64,
390 behavior: u8,
391 ) -> bool,
392 pub cbf_bridge_client_close_extension_popup:
393 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, popup_id: u64) -> bool,
394 pub cbf_bridge_client_shutdown: unsafe extern "C" fn(client: *mut CbfBridgeClientHandle),
395 pub cbf_bridge_client_request_shutdown:
396 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle, request_id: u64) -> bool,
397 pub cbf_bridge_client_confirm_shutdown: unsafe extern "C" fn(
398 client: *mut CbfBridgeClientHandle,
399 request_id: u64,
400 proceed: bool,
401 ) -> bool,
402 pub cbf_bridge_client_force_shutdown:
403 unsafe extern "C" fn(client: *mut CbfBridgeClientHandle) -> bool,
404}
405impl cbf_bridge {
406 pub unsafe fn new<P>(path: P) -> Result<Self, ::libloading::Error>
407 where
408 P: AsRef<::std::ffi::OsStr>,
409 {
410 let library = ::libloading::Library::new(path)?;
411 Self::from_library(library)
412 }
413 pub unsafe fn from_library<L>(library: L) -> Result<Self, ::libloading::Error>
414 where
415 L: Into<::libloading::Library>,
416 {
417 let __library = library.into();
418 let cbf_bridge_convert_nsevent = __library
419 .get(b"cbf_bridge_convert_nsevent\0")
420 .map(|sym| *sym)?;
421 let cbf_bridge_free_converted_key_event = __library
422 .get(b"cbf_bridge_free_converted_key_event\0")
423 .map(|sym| *sym)?;
424 let cbf_bridge_convert_nsevent_to_mouse_event = __library
425 .get(b"cbf_bridge_convert_nsevent_to_mouse_event\0")
426 .map(|sym| *sym)?;
427 let cbf_bridge_convert_nsevent_to_mouse_wheel_event = __library
428 .get(b"cbf_bridge_convert_nsevent_to_mouse_wheel_event\0")
429 .map(|sym| *sym)?;
430 let cbf_bridge_convert_nspasteboard_to_drag_data = __library
431 .get(b"cbf_bridge_convert_nspasteboard_to_drag_data\0")
432 .map(|sym| *sym)?;
433 let cbf_bridge_free_converted_drag_data = __library
434 .get(b"cbf_bridge_free_converted_drag_data\0")
435 .map(|sym| *sym)?;
436 let cbf_bridge_client_wait_for_event = __library
437 .get(b"cbf_bridge_client_wait_for_event\0")
438 .map(|sym| *sym)?;
439 let cbf_bridge_client_send_external_drag_enter = __library
440 .get(b"cbf_bridge_client_send_external_drag_enter\0")
441 .map(|sym| *sym)?;
442 let cbf_bridge_client_send_external_drag_update = __library
443 .get(b"cbf_bridge_client_send_external_drag_update\0")
444 .map(|sym| *sym)?;
445 let cbf_bridge_client_send_external_drag_leave = __library
446 .get(b"cbf_bridge_client_send_external_drag_leave\0")
447 .map(|sym| *sym)?;
448 let cbf_bridge_client_send_external_drag_drop = __library
449 .get(b"cbf_bridge_client_send_external_drag_drop\0")
450 .map(|sym| *sym)?;
451 let cbf_bridge_client_execute_edit_action = __library
452 .get(b"cbf_bridge_client_execute_edit_action\0")
453 .map(|sym| *sym)?;
454 let cbf_bridge_client_find_in_page = __library
455 .get(b"cbf_bridge_client_find_in_page\0")
456 .map(|sym| *sym)?;
457 let cbf_bridge_client_stop_finding = __library
458 .get(b"cbf_bridge_client_stop_finding\0")
459 .map(|sym| *sym)?;
460 let cbf_bridge_client_execute_extension_popup_edit_action = __library
461 .get(b"cbf_bridge_client_execute_extension_popup_edit_action\0")
462 .map(|sym| *sym)?;
463 let cbf_bridge_client_execute_context_menu_command = __library
464 .get(b"cbf_bridge_client_execute_context_menu_command\0")
465 .map(|sym| *sym)?;
466 let cbf_bridge_client_dismiss_context_menu = __library
467 .get(b"cbf_bridge_client_dismiss_context_menu\0")
468 .map(|sym| *sym)?;
469 let cbf_bridge_client_accept_choice_menu_selection = __library
470 .get(b"cbf_bridge_client_accept_choice_menu_selection\0")
471 .map(|sym| *sym)?;
472 let cbf_bridge_client_dismiss_choice_menu = __library
473 .get(b"cbf_bridge_client_dismiss_choice_menu\0")
474 .map(|sym| *sym)?;
475 let cbf_bridge_client_confirm_beforeunload = __library
476 .get(b"cbf_bridge_client_confirm_beforeunload\0")
477 .map(|sym| *sym)?;
478 let cbf_bridge_client_respond_javascript_dialog = __library
479 .get(b"cbf_bridge_client_respond_javascript_dialog\0")
480 .map(|sym| *sym)?;
481 let cbf_bridge_client_respond_extension_popup_javascript_dialog = __library
482 .get(b"cbf_bridge_client_respond_extension_popup_javascript_dialog\0")
483 .map(|sym| *sym)?;
484 let cbf_bridge_client_navigate = __library
485 .get(b"cbf_bridge_client_navigate\0")
486 .map(|sym| *sym)?;
487 let cbf_bridge_client_go_back = __library
488 .get(b"cbf_bridge_client_go_back\0")
489 .map(|sym| *sym)?;
490 let cbf_bridge_client_go_forward = __library
491 .get(b"cbf_bridge_client_go_forward\0")
492 .map(|sym| *sym)?;
493 let cbf_bridge_client_reload = __library
494 .get(b"cbf_bridge_client_reload\0")
495 .map(|sym| *sym)?;
496 let cbf_bridge_client_print_preview = __library
497 .get(b"cbf_bridge_client_print_preview\0")
498 .map(|sym| *sym)?;
499 let cbf_bridge_client_activate_extension_action = __library
500 .get(b"cbf_bridge_client_activate_extension_action\0")
501 .map(|sym| *sym)?;
502 let cbf_bridge_client_open_dev_tools = __library
503 .get(b"cbf_bridge_client_open_dev_tools\0")
504 .map(|sym| *sym)?;
505 let cbf_bridge_client_inspect_element = __library
506 .get(b"cbf_bridge_client_inspect_element\0")
507 .map(|sym| *sym)?;
508 let cbf_bridge_client_set_tab_focus = __library
509 .get(b"cbf_bridge_client_set_tab_focus\0")
510 .map(|sym| *sym)?;
511 let cbf_bridge_client_set_tab_visibility = __library
512 .get(b"cbf_bridge_client_set_tab_visibility\0")
513 .map(|sym| *sym)?;
514 let cbf_bridge_client_set_tab_execution_state = __library
515 .get(b"cbf_bridge_client_set_tab_execution_state\0")
516 .map(|sym| *sym)?;
517 let cbf_bridge_client_enable_tab_ipc = __library
518 .get(b"cbf_bridge_client_enable_tab_ipc\0")
519 .map(|sym| *sym)?;
520 let cbf_bridge_client_disable_tab_ipc = __library
521 .get(b"cbf_bridge_client_disable_tab_ipc\0")
522 .map(|sym| *sym)?;
523 let cbf_bridge_client_post_tab_ipc_message = __library
524 .get(b"cbf_bridge_client_post_tab_ipc_message\0")
525 .map(|sym| *sym)?;
526 let cbf_bridge_client_set_tab_background_policy = __library
527 .get(b"cbf_bridge_client_set_tab_background_policy\0")
528 .map(|sym| *sym)?;
529 let cbf_bridge_client_set_extension_popup_background_policy = __library
530 .get(b"cbf_bridge_client_set_extension_popup_background_policy\0")
531 .map(|sym| *sym)?;
532 let cbf_bridge_client_get_tab_dom_html = __library
533 .get(b"cbf_bridge_client_get_tab_dom_html\0")
534 .map(|sym| *sym)?;
535 let cbf_bridge_client_get_navigation_history = __library
536 .get(b"cbf_bridge_client_get_navigation_history\0")
537 .map(|sym| *sym)?;
538 let cbf_bridge_client_traverse_history_to_entry = __library
539 .get(b"cbf_bridge_client_traverse_history_to_entry\0")
540 .map(|sym| *sym)?;
541 let cbf_bridge_client_traverse_history_by_offset = __library
542 .get(b"cbf_bridge_client_traverse_history_by_offset\0")
543 .map(|sym| *sym)?;
544 let cbf_bridge_client_list_extensions = __library
545 .get(b"cbf_bridge_client_list_extensions\0")
546 .map(|sym| *sym)?;
547 let cbf_bridge_extension_list_free = __library
548 .get(b"cbf_bridge_extension_list_free\0")
549 .map(|sym| *sym)?;
550 let cbf_bridge_client_open_default_prompt_ui = __library
551 .get(b"cbf_bridge_client_open_default_prompt_ui\0")
552 .map(|sym| *sym)?;
553 let cbf_bridge_client_register_custom_scheme_handler = __library
554 .get(b"cbf_bridge_client_register_custom_scheme_handler\0")
555 .map(|sym| *sym)?;
556 let cbf_bridge_client_respond_custom_scheme_request = __library
557 .get(b"cbf_bridge_client_respond_custom_scheme_request\0")
558 .map(|sym| *sym)?;
559 let cbf_bridge_client_respond_prompt_ui = __library
560 .get(b"cbf_bridge_client_respond_prompt_ui\0")
561 .map(|sym| *sym)?;
562 let cbf_bridge_client_respond_prompt_ui_for_tab = __library
563 .get(b"cbf_bridge_client_respond_prompt_ui_for_tab\0")
564 .map(|sym| *sym)?;
565 let cbf_bridge_client_pause_download = __library
566 .get(b"cbf_bridge_client_pause_download\0")
567 .map(|sym| *sym)?;
568 let cbf_bridge_client_resume_download = __library
569 .get(b"cbf_bridge_client_resume_download\0")
570 .map(|sym| *sym)?;
571 let cbf_bridge_client_cancel_download = __library
572 .get(b"cbf_bridge_client_cancel_download\0")
573 .map(|sym| *sym)?;
574 let cbf_bridge_client_close_prompt_ui = __library
575 .get(b"cbf_bridge_client_close_prompt_ui\0")
576 .map(|sym| *sym)?;
577 let cbf_bridge_client_respond_tab_open = __library
578 .get(b"cbf_bridge_client_respond_tab_open\0")
579 .map(|sym| *sym)?;
580 let cbf_bridge_set_base_bundle_id = __library
581 .get(b"cbf_bridge_set_base_bundle_id\0")
582 .map(|sym| *sym)?;
583 let cbf_bridge_client_create = __library
584 .get(b"cbf_bridge_client_create\0")
585 .map(|sym| *sym)?;
586 let cbf_bridge_client_destroy = __library
587 .get(b"cbf_bridge_client_destroy\0")
588 .map(|sym| *sym)?;
589 let cbf_bridge_init = __library.get(b"cbf_bridge_init\0").map(|sym| *sym)?;
590 let cbf_bridge_prepare_channel = __library
591 .get(b"cbf_bridge_prepare_channel\0")
592 .map(|sym| *sym)?;
593 let cbf_bridge_prepare_channel_and_lock = __library
594 .get(b"cbf_bridge_prepare_channel_and_lock\0")
595 .map(|sym| *sym)?;
596 let cbf_bridge_pass_child_pid = __library
597 .get(b"cbf_bridge_pass_child_pid\0")
598 .map(|sym| *sym)?;
599 let cbf_bridge_pass_child_pid_and_unlock = __library
600 .get(b"cbf_bridge_pass_child_pid_and_unlock\0")
601 .map(|sym| *sym)?;
602 let cbf_bridge_abort_channel_launch = __library
603 .get(b"cbf_bridge_abort_channel_launch\0")
604 .map(|sym| *sym)?;
605 let cbf_bridge_client_connect_inherited = __library
606 .get(b"cbf_bridge_client_connect_inherited\0")
607 .map(|sym| *sym)?;
608 let cbf_bridge_client_authenticate = __library
609 .get(b"cbf_bridge_client_authenticate\0")
610 .map(|sym| *sym)?;
611 let cbf_bridge_client_poll_event = __library
612 .get(b"cbf_bridge_client_poll_event\0")
613 .map(|sym| *sym)?;
614 let cbf_bridge_event_free = __library.get(b"cbf_bridge_event_free\0").map(|sym| *sym)?;
615 let cbf_bridge_client_get_profiles = __library
616 .get(b"cbf_bridge_client_get_profiles\0")
617 .map(|sym| *sym)?;
618 let cbf_bridge_profile_list_free = __library
619 .get(b"cbf_bridge_profile_list_free\0")
620 .map(|sym| *sym)?;
621 let cbf_bridge_client_create_tab = __library
622 .get(b"cbf_bridge_client_create_tab\0")
623 .map(|sym| *sym)?;
624 let cbf_bridge_client_request_close_tab = __library
625 .get(b"cbf_bridge_client_request_close_tab\0")
626 .map(|sym| *sym)?;
627 let cbf_bridge_client_begin_close_tabs_transaction = __library
628 .get(b"cbf_bridge_client_begin_close_tabs_transaction\0")
629 .map(|sym| *sym)?;
630 let cbf_bridge_client_commit_close_tabs_transaction = __library
631 .get(b"cbf_bridge_client_commit_close_tabs_transaction\0")
632 .map(|sym| *sym)?;
633 let cbf_bridge_client_cancel_close_tabs_transaction = __library
634 .get(b"cbf_bridge_client_cancel_close_tabs_transaction\0")
635 .map(|sym| *sym)?;
636 let cbf_bridge_client_set_tab_size = __library
637 .get(b"cbf_bridge_client_set_tab_size\0")
638 .map(|sym| *sym)?;
639 let cbf_bridge_client_send_key_event = __library
640 .get(b"cbf_bridge_client_send_key_event\0")
641 .map(|sym| *sym)?;
642 let cbf_bridge_client_send_mouse_event = __library
643 .get(b"cbf_bridge_client_send_mouse_event\0")
644 .map(|sym| *sym)?;
645 let cbf_bridge_client_send_mouse_wheel_event = __library
646 .get(b"cbf_bridge_client_send_mouse_wheel_event\0")
647 .map(|sym| *sym)?;
648 let cbf_bridge_client_send_drag_update = __library
649 .get(b"cbf_bridge_client_send_drag_update\0")
650 .map(|sym| *sym)?;
651 let cbf_bridge_client_send_drag_drop = __library
652 .get(b"cbf_bridge_client_send_drag_drop\0")
653 .map(|sym| *sym)?;
654 let cbf_bridge_client_send_drag_cancel = __library
655 .get(b"cbf_bridge_client_send_drag_cancel\0")
656 .map(|sym| *sym)?;
657 let cbf_bridge_client_set_composition = __library
658 .get(b"cbf_bridge_client_set_composition\0")
659 .map(|sym| *sym)?;
660 let cbf_bridge_client_commit_text = __library
661 .get(b"cbf_bridge_client_commit_text\0")
662 .map(|sym| *sym)?;
663 let cbf_bridge_client_finish_composing_text = __library
664 .get(b"cbf_bridge_client_finish_composing_text\0")
665 .map(|sym| *sym)?;
666 let cbf_bridge_client_set_extension_popup_size = __library
667 .get(b"cbf_bridge_client_set_extension_popup_size\0")
668 .map(|sym| *sym)?;
669 let cbf_bridge_client_set_extension_popup_focus = __library
670 .get(b"cbf_bridge_client_set_extension_popup_focus\0")
671 .map(|sym| *sym)?;
672 let cbf_bridge_client_send_extension_popup_key_event = __library
673 .get(b"cbf_bridge_client_send_extension_popup_key_event\0")
674 .map(|sym| *sym)?;
675 let cbf_bridge_client_send_extension_popup_mouse_event = __library
676 .get(b"cbf_bridge_client_send_extension_popup_mouse_event\0")
677 .map(|sym| *sym)?;
678 let cbf_bridge_client_send_extension_popup_mouse_wheel_event = __library
679 .get(b"cbf_bridge_client_send_extension_popup_mouse_wheel_event\0")
680 .map(|sym| *sym)?;
681 let cbf_bridge_client_set_extension_popup_composition = __library
682 .get(b"cbf_bridge_client_set_extension_popup_composition\0")
683 .map(|sym| *sym)?;
684 let cbf_bridge_client_commit_extension_popup_text = __library
685 .get(b"cbf_bridge_client_commit_extension_popup_text\0")
686 .map(|sym| *sym)?;
687 let cbf_bridge_client_finish_extension_popup_composing_text = __library
688 .get(b"cbf_bridge_client_finish_extension_popup_composing_text\0")
689 .map(|sym| *sym)?;
690 let cbf_bridge_client_close_extension_popup = __library
691 .get(b"cbf_bridge_client_close_extension_popup\0")
692 .map(|sym| *sym)?;
693 let cbf_bridge_client_shutdown = __library
694 .get(b"cbf_bridge_client_shutdown\0")
695 .map(|sym| *sym)?;
696 let cbf_bridge_client_request_shutdown = __library
697 .get(b"cbf_bridge_client_request_shutdown\0")
698 .map(|sym| *sym)?;
699 let cbf_bridge_client_confirm_shutdown = __library
700 .get(b"cbf_bridge_client_confirm_shutdown\0")
701 .map(|sym| *sym)?;
702 let cbf_bridge_client_force_shutdown = __library
703 .get(b"cbf_bridge_client_force_shutdown\0")
704 .map(|sym| *sym)?;
705 Ok(cbf_bridge {
706 __library,
707 cbf_bridge_convert_nsevent,
708 cbf_bridge_free_converted_key_event,
709 cbf_bridge_convert_nsevent_to_mouse_event,
710 cbf_bridge_convert_nsevent_to_mouse_wheel_event,
711 cbf_bridge_convert_nspasteboard_to_drag_data,
712 cbf_bridge_free_converted_drag_data,
713 cbf_bridge_client_wait_for_event,
714 cbf_bridge_client_send_external_drag_enter,
715 cbf_bridge_client_send_external_drag_update,
716 cbf_bridge_client_send_external_drag_leave,
717 cbf_bridge_client_send_external_drag_drop,
718 cbf_bridge_client_execute_edit_action,
719 cbf_bridge_client_find_in_page,
720 cbf_bridge_client_stop_finding,
721 cbf_bridge_client_execute_extension_popup_edit_action,
722 cbf_bridge_client_execute_context_menu_command,
723 cbf_bridge_client_dismiss_context_menu,
724 cbf_bridge_client_accept_choice_menu_selection,
725 cbf_bridge_client_dismiss_choice_menu,
726 cbf_bridge_client_confirm_beforeunload,
727 cbf_bridge_client_respond_javascript_dialog,
728 cbf_bridge_client_respond_extension_popup_javascript_dialog,
729 cbf_bridge_client_navigate,
730 cbf_bridge_client_go_back,
731 cbf_bridge_client_go_forward,
732 cbf_bridge_client_reload,
733 cbf_bridge_client_print_preview,
734 cbf_bridge_client_activate_extension_action,
735 cbf_bridge_client_open_dev_tools,
736 cbf_bridge_client_inspect_element,
737 cbf_bridge_client_set_tab_focus,
738 cbf_bridge_client_set_tab_visibility,
739 cbf_bridge_client_set_tab_execution_state,
740 cbf_bridge_client_enable_tab_ipc,
741 cbf_bridge_client_disable_tab_ipc,
742 cbf_bridge_client_post_tab_ipc_message,
743 cbf_bridge_client_set_tab_background_policy,
744 cbf_bridge_client_set_extension_popup_background_policy,
745 cbf_bridge_client_get_tab_dom_html,
746 cbf_bridge_client_get_navigation_history,
747 cbf_bridge_client_traverse_history_to_entry,
748 cbf_bridge_client_traverse_history_by_offset,
749 cbf_bridge_client_list_extensions,
750 cbf_bridge_extension_list_free,
751 cbf_bridge_client_open_default_prompt_ui,
752 cbf_bridge_client_register_custom_scheme_handler,
753 cbf_bridge_client_respond_custom_scheme_request,
754 cbf_bridge_client_respond_prompt_ui,
755 cbf_bridge_client_respond_prompt_ui_for_tab,
756 cbf_bridge_client_pause_download,
757 cbf_bridge_client_resume_download,
758 cbf_bridge_client_cancel_download,
759 cbf_bridge_client_close_prompt_ui,
760 cbf_bridge_client_respond_tab_open,
761 cbf_bridge_set_base_bundle_id,
762 cbf_bridge_client_create,
763 cbf_bridge_client_destroy,
764 cbf_bridge_init,
765 cbf_bridge_prepare_channel,
766 cbf_bridge_prepare_channel_and_lock,
767 cbf_bridge_pass_child_pid,
768 cbf_bridge_pass_child_pid_and_unlock,
769 cbf_bridge_abort_channel_launch,
770 cbf_bridge_client_connect_inherited,
771 cbf_bridge_client_authenticate,
772 cbf_bridge_client_poll_event,
773 cbf_bridge_event_free,
774 cbf_bridge_client_get_profiles,
775 cbf_bridge_profile_list_free,
776 cbf_bridge_client_create_tab,
777 cbf_bridge_client_request_close_tab,
778 cbf_bridge_client_begin_close_tabs_transaction,
779 cbf_bridge_client_commit_close_tabs_transaction,
780 cbf_bridge_client_cancel_close_tabs_transaction,
781 cbf_bridge_client_set_tab_size,
782 cbf_bridge_client_send_key_event,
783 cbf_bridge_client_send_mouse_event,
784 cbf_bridge_client_send_mouse_wheel_event,
785 cbf_bridge_client_send_drag_update,
786 cbf_bridge_client_send_drag_drop,
787 cbf_bridge_client_send_drag_cancel,
788 cbf_bridge_client_set_composition,
789 cbf_bridge_client_commit_text,
790 cbf_bridge_client_finish_composing_text,
791 cbf_bridge_client_set_extension_popup_size,
792 cbf_bridge_client_set_extension_popup_focus,
793 cbf_bridge_client_send_extension_popup_key_event,
794 cbf_bridge_client_send_extension_popup_mouse_event,
795 cbf_bridge_client_send_extension_popup_mouse_wheel_event,
796 cbf_bridge_client_set_extension_popup_composition,
797 cbf_bridge_client_commit_extension_popup_text,
798 cbf_bridge_client_finish_extension_popup_composing_text,
799 cbf_bridge_client_close_extension_popup,
800 cbf_bridge_client_shutdown,
801 cbf_bridge_client_request_shutdown,
802 cbf_bridge_client_confirm_shutdown,
803 cbf_bridge_client_force_shutdown,
804 })
805 }
806 pub unsafe fn cbf_bridge_convert_nsevent(
807 &self,
808 nsevent: *mut ::std::os::raw::c_void,
809 tab_id: u64,
810 out_event: *mut CbfKeyEvent,
811 ) {
812 (self.cbf_bridge_convert_nsevent)(nsevent, tab_id, out_event)
813 }
814 pub unsafe fn cbf_bridge_free_converted_key_event(&self, event: *mut CbfKeyEvent) {
815 (self.cbf_bridge_free_converted_key_event)(event)
816 }
817 pub unsafe fn cbf_bridge_convert_nsevent_to_mouse_event(
818 &self,
819 nsevent: *mut ::std::os::raw::c_void,
820 nsview: *mut ::std::os::raw::c_void,
821 tab_id: u64,
822 pointer_type: u8,
823 unaccelerated_movement: bool,
824 out_event: *mut CbfMouseEvent,
825 ) {
826 (self.cbf_bridge_convert_nsevent_to_mouse_event)(
827 nsevent,
828 nsview,
829 tab_id,
830 pointer_type,
831 unaccelerated_movement,
832 out_event,
833 )
834 }
835 pub unsafe fn cbf_bridge_convert_nsevent_to_mouse_wheel_event(
836 &self,
837 nsevent: *mut ::std::os::raw::c_void,
838 nsview: *mut ::std::os::raw::c_void,
839 tab_id: u64,
840 out_event: *mut CbfMouseWheelEvent,
841 ) {
842 (self.cbf_bridge_convert_nsevent_to_mouse_wheel_event)(nsevent, nsview, tab_id, out_event)
843 }
844 pub unsafe fn cbf_bridge_convert_nspasteboard_to_drag_data(
845 &self,
846 nspasteboard: *mut ::std::os::raw::c_void,
847 out_data: *mut CbfDragData,
848 ) {
849 (self.cbf_bridge_convert_nspasteboard_to_drag_data)(nspasteboard, out_data)
850 }
851 pub unsafe fn cbf_bridge_free_converted_drag_data(&self, data: *mut CbfDragData) {
852 (self.cbf_bridge_free_converted_drag_data)(data)
853 }
854 pub unsafe fn cbf_bridge_client_wait_for_event(
855 &self,
856 client: *mut CbfBridgeClientHandle,
857 timeout_ms: i64,
858 ) -> CbfBridgeEventWaitStatus {
859 (self.cbf_bridge_client_wait_for_event)(client, timeout_ms)
860 }
861 pub unsafe fn cbf_bridge_client_send_external_drag_enter(
862 &self,
863 client: *mut CbfBridgeClientHandle,
864 event: *const CbfExternalDragEnter,
865 ) -> bool {
866 (self.cbf_bridge_client_send_external_drag_enter)(client, event)
867 }
868 pub unsafe fn cbf_bridge_client_send_external_drag_update(
869 &self,
870 client: *mut CbfBridgeClientHandle,
871 event: *const CbfExternalDragUpdate,
872 ) -> bool {
873 (self.cbf_bridge_client_send_external_drag_update)(client, event)
874 }
875 pub unsafe fn cbf_bridge_client_send_external_drag_leave(
876 &self,
877 client: *mut CbfBridgeClientHandle,
878 tab_id: u64,
879 ) -> bool {
880 (self.cbf_bridge_client_send_external_drag_leave)(client, tab_id)
881 }
882 pub unsafe fn cbf_bridge_client_send_external_drag_drop(
883 &self,
884 client: *mut CbfBridgeClientHandle,
885 event: *const CbfExternalDragDrop,
886 ) -> bool {
887 (self.cbf_bridge_client_send_external_drag_drop)(client, event)
888 }
889 pub unsafe fn cbf_bridge_client_execute_edit_action(
890 &self,
891 client: *mut CbfBridgeClientHandle,
892 tab_id: u64,
893 action: u8,
894 ) -> bool {
895 (self.cbf_bridge_client_execute_edit_action)(client, tab_id, action)
896 }
897 pub unsafe fn cbf_bridge_client_find_in_page(
898 &self,
899 client: *mut CbfBridgeClientHandle,
900 tab_id: u64,
901 request_id: u64,
902 query: *const ::std::os::raw::c_char,
903 forward: bool,
904 match_case: bool,
905 new_session: bool,
906 find_match: bool,
907 ) -> bool {
908 (self.cbf_bridge_client_find_in_page)(
909 client,
910 tab_id,
911 request_id,
912 query,
913 forward,
914 match_case,
915 new_session,
916 find_match,
917 )
918 }
919 pub unsafe fn cbf_bridge_client_stop_finding(
920 &self,
921 client: *mut CbfBridgeClientHandle,
922 tab_id: u64,
923 action: u8,
924 ) -> bool {
925 (self.cbf_bridge_client_stop_finding)(client, tab_id, action)
926 }
927 pub unsafe fn cbf_bridge_client_execute_extension_popup_edit_action(
928 &self,
929 client: *mut CbfBridgeClientHandle,
930 popup_id: u64,
931 action: u8,
932 ) -> bool {
933 (self.cbf_bridge_client_execute_extension_popup_edit_action)(client, popup_id, action)
934 }
935 pub unsafe fn cbf_bridge_client_execute_context_menu_command(
936 &self,
937 client: *mut CbfBridgeClientHandle,
938 menu_id: u64,
939 command_id: i32,
940 event_flags: i32,
941 ) -> bool {
942 (self.cbf_bridge_client_execute_context_menu_command)(
943 client,
944 menu_id,
945 command_id,
946 event_flags,
947 )
948 }
949 pub unsafe fn cbf_bridge_client_dismiss_context_menu(
950 &self,
951 client: *mut CbfBridgeClientHandle,
952 menu_id: u64,
953 ) -> bool {
954 (self.cbf_bridge_client_dismiss_context_menu)(client, menu_id)
955 }
956 pub unsafe fn cbf_bridge_client_accept_choice_menu_selection(
957 &self,
958 client: *mut CbfBridgeClientHandle,
959 request_id: u64,
960 indices: *const CbfChoiceMenuSelectedIndices,
961 ) -> bool {
962 (self.cbf_bridge_client_accept_choice_menu_selection)(client, request_id, indices)
963 }
964 pub unsafe fn cbf_bridge_client_dismiss_choice_menu(
965 &self,
966 client: *mut CbfBridgeClientHandle,
967 request_id: u64,
968 ) -> bool {
969 (self.cbf_bridge_client_dismiss_choice_menu)(client, request_id)
970 }
971 pub unsafe fn cbf_bridge_client_confirm_beforeunload(
972 &self,
973 client: *mut CbfBridgeClientHandle,
974 tab_id: u64,
975 request_id: u64,
976 proceed: bool,
977 ) -> bool {
978 (self.cbf_bridge_client_confirm_beforeunload)(client, tab_id, request_id, proceed)
979 }
980 pub unsafe fn cbf_bridge_client_respond_javascript_dialog(
981 &self,
982 client: *mut CbfBridgeClientHandle,
983 tab_id: u64,
984 request_id: u64,
985 accept: bool,
986 prompt_text: *const ::std::os::raw::c_char,
987 ) -> bool {
988 (self.cbf_bridge_client_respond_javascript_dialog)(
989 client,
990 tab_id,
991 request_id,
992 accept,
993 prompt_text,
994 )
995 }
996 pub unsafe fn cbf_bridge_client_respond_extension_popup_javascript_dialog(
997 &self,
998 client: *mut CbfBridgeClientHandle,
999 popup_id: u64,
1000 request_id: u64,
1001 accept: bool,
1002 prompt_text: *const ::std::os::raw::c_char,
1003 ) -> bool {
1004 (self.cbf_bridge_client_respond_extension_popup_javascript_dialog)(
1005 client,
1006 popup_id,
1007 request_id,
1008 accept,
1009 prompt_text,
1010 )
1011 }
1012 pub unsafe fn cbf_bridge_client_navigate(
1013 &self,
1014 client: *mut CbfBridgeClientHandle,
1015 tab_id: u64,
1016 url: *const ::std::os::raw::c_char,
1017 ) -> bool {
1018 (self.cbf_bridge_client_navigate)(client, tab_id, url)
1019 }
1020 pub unsafe fn cbf_bridge_client_go_back(
1021 &self,
1022 client: *mut CbfBridgeClientHandle,
1023 tab_id: u64,
1024 ) -> bool {
1025 (self.cbf_bridge_client_go_back)(client, tab_id)
1026 }
1027 pub unsafe fn cbf_bridge_client_go_forward(
1028 &self,
1029 client: *mut CbfBridgeClientHandle,
1030 tab_id: u64,
1031 ) -> bool {
1032 (self.cbf_bridge_client_go_forward)(client, tab_id)
1033 }
1034 pub unsafe fn cbf_bridge_client_reload(
1035 &self,
1036 client: *mut CbfBridgeClientHandle,
1037 tab_id: u64,
1038 ignore_cache: bool,
1039 ) -> bool {
1040 (self.cbf_bridge_client_reload)(client, tab_id, ignore_cache)
1041 }
1042 pub unsafe fn cbf_bridge_client_print_preview(
1043 &self,
1044 client: *mut CbfBridgeClientHandle,
1045 tab_id: u64,
1046 ) -> bool {
1047 (self.cbf_bridge_client_print_preview)(client, tab_id)
1048 }
1049 pub unsafe fn cbf_bridge_client_activate_extension_action(
1050 &self,
1051 client: *mut CbfBridgeClientHandle,
1052 tab_id: u64,
1053 extension_id: *const ::std::os::raw::c_char,
1054 ) -> bool {
1055 (self.cbf_bridge_client_activate_extension_action)(client, tab_id, extension_id)
1056 }
1057 pub unsafe fn cbf_bridge_client_open_dev_tools(
1058 &self,
1059 client: *mut CbfBridgeClientHandle,
1060 tab_id: u64,
1061 ) -> bool {
1062 (self.cbf_bridge_client_open_dev_tools)(client, tab_id)
1063 }
1064 pub unsafe fn cbf_bridge_client_inspect_element(
1065 &self,
1066 client: *mut CbfBridgeClientHandle,
1067 tab_id: u64,
1068 x: i32,
1069 y: i32,
1070 ) -> bool {
1071 (self.cbf_bridge_client_inspect_element)(client, tab_id, x, y)
1072 }
1073 pub unsafe fn cbf_bridge_client_set_tab_focus(
1074 &self,
1075 client: *mut CbfBridgeClientHandle,
1076 tab_id: u64,
1077 focused: bool,
1078 ) -> bool {
1079 (self.cbf_bridge_client_set_tab_focus)(client, tab_id, focused)
1080 }
1081 pub unsafe fn cbf_bridge_client_set_tab_visibility(
1082 &self,
1083 client: *mut CbfBridgeClientHandle,
1084 tab_id: u64,
1085 visibility: u8,
1086 ) -> bool {
1087 (self.cbf_bridge_client_set_tab_visibility)(client, tab_id, visibility)
1088 }
1089 pub unsafe fn cbf_bridge_client_set_tab_execution_state(
1090 &self,
1091 client: *mut CbfBridgeClientHandle,
1092 tab_id: u64,
1093 state: u8,
1094 ) -> bool {
1095 (self.cbf_bridge_client_set_tab_execution_state)(client, tab_id, state)
1096 }
1097 pub unsafe fn cbf_bridge_client_enable_tab_ipc(
1098 &self,
1099 client: *mut CbfBridgeClientHandle,
1100 tab_id: u64,
1101 allowed_origins: *const CbfCommandList,
1102 ) -> bool {
1103 (self.cbf_bridge_client_enable_tab_ipc)(client, tab_id, allowed_origins)
1104 }
1105 pub unsafe fn cbf_bridge_client_disable_tab_ipc(
1106 &self,
1107 client: *mut CbfBridgeClientHandle,
1108 tab_id: u64,
1109 ) -> bool {
1110 (self.cbf_bridge_client_disable_tab_ipc)(client, tab_id)
1111 }
1112 pub unsafe fn cbf_bridge_client_post_tab_ipc_message(
1113 &self,
1114 client: *mut CbfBridgeClientHandle,
1115 tab_id: u64,
1116 channel: *const ::std::os::raw::c_char,
1117 message_type: u8,
1118 request_id: u64,
1119 payload_kind: u8,
1120 payload_text: *const ::std::os::raw::c_char,
1121 payload_binary: *const u8,
1122 payload_binary_len: u32,
1123 content_type: *const ::std::os::raw::c_char,
1124 error_code: u8,
1125 ) -> bool {
1126 (self.cbf_bridge_client_post_tab_ipc_message)(
1127 client,
1128 tab_id,
1129 channel,
1130 message_type,
1131 request_id,
1132 payload_kind,
1133 payload_text,
1134 payload_binary,
1135 payload_binary_len,
1136 content_type,
1137 error_code,
1138 )
1139 }
1140 pub unsafe fn cbf_bridge_client_set_tab_background_policy(
1141 &self,
1142 client: *mut CbfBridgeClientHandle,
1143 tab_id: u64,
1144 transparent: bool,
1145 ) -> bool {
1146 (self.cbf_bridge_client_set_tab_background_policy)(client, tab_id, transparent)
1147 }
1148 pub unsafe fn cbf_bridge_client_set_extension_popup_background_policy(
1149 &self,
1150 client: *mut CbfBridgeClientHandle,
1151 popup_id: u64,
1152 transparent: bool,
1153 ) -> bool {
1154 (self.cbf_bridge_client_set_extension_popup_background_policy)(
1155 client,
1156 popup_id,
1157 transparent,
1158 )
1159 }
1160 pub unsafe fn cbf_bridge_client_get_tab_dom_html(
1161 &self,
1162 client: *mut CbfBridgeClientHandle,
1163 tab_id: u64,
1164 request_id: u64,
1165 ) -> bool {
1166 (self.cbf_bridge_client_get_tab_dom_html)(client, tab_id, request_id)
1167 }
1168 pub unsafe fn cbf_bridge_client_get_navigation_history(
1169 &self,
1170 client: *mut CbfBridgeClientHandle,
1171 tab_id: u64,
1172 request_id: u64,
1173 ) -> bool {
1174 (self.cbf_bridge_client_get_navigation_history)(client, tab_id, request_id)
1175 }
1176 pub unsafe fn cbf_bridge_client_traverse_history_to_entry(
1177 &self,
1178 client: *mut CbfBridgeClientHandle,
1179 tab_id: u64,
1180 entry_id: u64,
1181 ) -> bool {
1182 (self.cbf_bridge_client_traverse_history_to_entry)(client, tab_id, entry_id)
1183 }
1184 pub unsafe fn cbf_bridge_client_traverse_history_by_offset(
1185 &self,
1186 client: *mut CbfBridgeClientHandle,
1187 tab_id: u64,
1188 delta: i32,
1189 ) -> bool {
1190 (self.cbf_bridge_client_traverse_history_by_offset)(client, tab_id, delta)
1191 }
1192 pub unsafe fn cbf_bridge_client_list_extensions(
1193 &self,
1194 client: *mut CbfBridgeClientHandle,
1195 profile_id: *const ::std::os::raw::c_char,
1196 out_list: *mut CbfExtensionInfoList,
1197 ) -> bool {
1198 (self.cbf_bridge_client_list_extensions)(client, profile_id, out_list)
1199 }
1200 pub unsafe fn cbf_bridge_extension_list_free(&self, list: *mut CbfExtensionInfoList) {
1201 (self.cbf_bridge_extension_list_free)(list)
1202 }
1203 pub unsafe fn cbf_bridge_client_open_default_prompt_ui(
1204 &self,
1205 client: *mut CbfBridgeClientHandle,
1206 profile_id: *const ::std::os::raw::c_char,
1207 request_id: u64,
1208 ) -> bool {
1209 (self.cbf_bridge_client_open_default_prompt_ui)(client, profile_id, request_id)
1210 }
1211 pub unsafe fn cbf_bridge_client_register_custom_scheme_handler(
1212 &self,
1213 client: *mut CbfBridgeClientHandle,
1214 scheme: *const ::std::os::raw::c_char,
1215 host: *const ::std::os::raw::c_char,
1216 ) -> bool {
1217 (self.cbf_bridge_client_register_custom_scheme_handler)(client, scheme, host)
1218 }
1219 pub unsafe fn cbf_bridge_client_respond_custom_scheme_request(
1220 &self,
1221 client: *mut CbfBridgeClientHandle,
1222 request_id: u64,
1223 result: u8,
1224 mime_type: *const ::std::os::raw::c_char,
1225 content_security_policy: *const ::std::os::raw::c_char,
1226 access_control_allow_origin: *const ::std::os::raw::c_char,
1227 body: *const u8,
1228 body_len: u32,
1229 ) -> bool {
1230 (self.cbf_bridge_client_respond_custom_scheme_request)(
1231 client,
1232 request_id,
1233 result,
1234 mime_type,
1235 content_security_policy,
1236 access_control_allow_origin,
1237 body,
1238 body_len,
1239 )
1240 }
1241 pub unsafe fn cbf_bridge_client_respond_prompt_ui(
1242 &self,
1243 client: *mut CbfBridgeClientHandle,
1244 profile_id: *const ::std::os::raw::c_char,
1245 request_id: u64,
1246 prompt_ui_kind: u8,
1247 proceed: bool,
1248 report_abuse: bool,
1249 destination_path: *const ::std::os::raw::c_char,
1250 ) -> bool {
1251 (self.cbf_bridge_client_respond_prompt_ui)(
1252 client,
1253 profile_id,
1254 request_id,
1255 prompt_ui_kind,
1256 proceed,
1257 report_abuse,
1258 destination_path,
1259 )
1260 }
1261 pub unsafe fn cbf_bridge_client_respond_prompt_ui_for_tab(
1262 &self,
1263 client: *mut CbfBridgeClientHandle,
1264 tab_id: u64,
1265 request_id: u64,
1266 prompt_ui_kind: u8,
1267 proceed: bool,
1268 report_abuse: bool,
1269 destination_path: *const ::std::os::raw::c_char,
1270 ) -> bool {
1271 (self.cbf_bridge_client_respond_prompt_ui_for_tab)(
1272 client,
1273 tab_id,
1274 request_id,
1275 prompt_ui_kind,
1276 proceed,
1277 report_abuse,
1278 destination_path,
1279 )
1280 }
1281 pub unsafe fn cbf_bridge_client_pause_download(
1282 &self,
1283 client: *mut CbfBridgeClientHandle,
1284 download_id: u64,
1285 ) -> bool {
1286 (self.cbf_bridge_client_pause_download)(client, download_id)
1287 }
1288 pub unsafe fn cbf_bridge_client_resume_download(
1289 &self,
1290 client: *mut CbfBridgeClientHandle,
1291 download_id: u64,
1292 ) -> bool {
1293 (self.cbf_bridge_client_resume_download)(client, download_id)
1294 }
1295 pub unsafe fn cbf_bridge_client_cancel_download(
1296 &self,
1297 client: *mut CbfBridgeClientHandle,
1298 download_id: u64,
1299 ) -> bool {
1300 (self.cbf_bridge_client_cancel_download)(client, download_id)
1301 }
1302 pub unsafe fn cbf_bridge_client_close_prompt_ui(
1303 &self,
1304 client: *mut CbfBridgeClientHandle,
1305 profile_id: *const ::std::os::raw::c_char,
1306 prompt_ui_id: u64,
1307 ) -> bool {
1308 (self.cbf_bridge_client_close_prompt_ui)(client, profile_id, prompt_ui_id)
1309 }
1310 pub unsafe fn cbf_bridge_client_respond_tab_open(
1311 &self,
1312 client: *mut CbfBridgeClientHandle,
1313 request_id: u64,
1314 response_kind: u8,
1315 target_tab_id: u64,
1316 activate: bool,
1317 ) -> bool {
1318 (self.cbf_bridge_client_respond_tab_open)(
1319 client,
1320 request_id,
1321 response_kind,
1322 target_tab_id,
1323 activate,
1324 )
1325 }
1326 pub unsafe fn cbf_bridge_set_base_bundle_id(&self, bundle_id: *const ::std::os::raw::c_char) {
1327 (self.cbf_bridge_set_base_bundle_id)(bundle_id)
1328 }
1329 pub unsafe fn cbf_bridge_client_create(&self) -> *mut CbfBridgeClientHandle {
1330 (self.cbf_bridge_client_create)()
1331 }
1332 pub unsafe fn cbf_bridge_client_destroy(&self, client: *mut CbfBridgeClientHandle) {
1333 (self.cbf_bridge_client_destroy)(client)
1334 }
1335 pub unsafe fn cbf_bridge_init(&self) {
1336 (self.cbf_bridge_init)()
1337 }
1338 pub unsafe fn cbf_bridge_prepare_channel(
1339 &self,
1340 out_switch_arg: *mut ::std::os::raw::c_char,
1341 out_arg_len: ::std::os::raw::c_int,
1342 ) -> ::std::os::raw::c_int {
1343 (self.cbf_bridge_prepare_channel)(out_switch_arg, out_arg_len)
1344 }
1345 pub unsafe fn cbf_bridge_prepare_channel_and_lock(
1346 &self,
1347 out_switch_arg: *mut ::std::os::raw::c_char,
1348 out_arg_len: ::std::os::raw::c_int,
1349 ) -> ::std::os::raw::c_int {
1350 (self.cbf_bridge_prepare_channel_and_lock)(out_switch_arg, out_arg_len)
1351 }
1352 pub unsafe fn cbf_bridge_pass_child_pid(&self, child_pid: i64) {
1353 (self.cbf_bridge_pass_child_pid)(child_pid)
1354 }
1355 pub unsafe fn cbf_bridge_pass_child_pid_and_unlock(&self, child_pid: i64) {
1356 (self.cbf_bridge_pass_child_pid_and_unlock)(child_pid)
1357 }
1358 pub unsafe fn cbf_bridge_abort_channel_launch(&self) {
1359 (self.cbf_bridge_abort_channel_launch)()
1360 }
1361 pub unsafe fn cbf_bridge_client_connect_inherited(
1362 &self,
1363 client: *mut CbfBridgeClientHandle,
1364 ) -> bool {
1365 (self.cbf_bridge_client_connect_inherited)(client)
1366 }
1367 pub unsafe fn cbf_bridge_client_authenticate(
1368 &self,
1369 client: *mut CbfBridgeClientHandle,
1370 token: *const ::std::os::raw::c_char,
1371 ) -> bool {
1372 (self.cbf_bridge_client_authenticate)(client, token)
1373 }
1374 pub unsafe fn cbf_bridge_client_poll_event(
1375 &self,
1376 client: *mut CbfBridgeClientHandle,
1377 out_event: *mut CbfBridgeEvent,
1378 ) -> bool {
1379 (self.cbf_bridge_client_poll_event)(client, out_event)
1380 }
1381 pub unsafe fn cbf_bridge_event_free(&self, event: *mut CbfBridgeEvent) {
1382 (self.cbf_bridge_event_free)(event)
1383 }
1384 pub unsafe fn cbf_bridge_client_get_profiles(
1385 &self,
1386 client: *mut CbfBridgeClientHandle,
1387 out_list: *mut CbfProfileList,
1388 ) -> bool {
1389 (self.cbf_bridge_client_get_profiles)(client, out_list)
1390 }
1391 pub unsafe fn cbf_bridge_profile_list_free(&self, list: *mut CbfProfileList) {
1392 (self.cbf_bridge_profile_list_free)(list)
1393 }
1394 pub unsafe fn cbf_bridge_client_create_tab(
1395 &self,
1396 client: *mut CbfBridgeClientHandle,
1397 request_id: u64,
1398 initial_url: *const ::std::os::raw::c_char,
1399 profile_id: *const ::std::os::raw::c_char,
1400 has_policy: bool,
1401 ipc_policy_kind: u8,
1402 allowed_origins: *const CbfCommandList,
1403 extensions_policy: u8,
1404 ) -> bool {
1405 (self.cbf_bridge_client_create_tab)(
1406 client,
1407 request_id,
1408 initial_url,
1409 profile_id,
1410 has_policy,
1411 ipc_policy_kind,
1412 allowed_origins,
1413 extensions_policy,
1414 )
1415 }
1416 pub unsafe fn cbf_bridge_client_request_close_tab(
1417 &self,
1418 client: *mut CbfBridgeClientHandle,
1419 tab_id: u64,
1420 ) -> bool {
1421 (self.cbf_bridge_client_request_close_tab)(client, tab_id)
1422 }
1423 pub unsafe fn cbf_bridge_client_begin_close_tabs_transaction(
1424 &self,
1425 client: *mut CbfBridgeClientHandle,
1426 request_id: u64,
1427 tab_ids: *const CbfUint64List,
1428 ) -> bool {
1429 (self.cbf_bridge_client_begin_close_tabs_transaction)(client, request_id, tab_ids)
1430 }
1431 pub unsafe fn cbf_bridge_client_commit_close_tabs_transaction(
1432 &self,
1433 client: *mut CbfBridgeClientHandle,
1434 request_id: u64,
1435 ) -> bool {
1436 (self.cbf_bridge_client_commit_close_tabs_transaction)(client, request_id)
1437 }
1438 pub unsafe fn cbf_bridge_client_cancel_close_tabs_transaction(
1439 &self,
1440 client: *mut CbfBridgeClientHandle,
1441 request_id: u64,
1442 ) -> bool {
1443 (self.cbf_bridge_client_cancel_close_tabs_transaction)(client, request_id)
1444 }
1445 pub unsafe fn cbf_bridge_client_set_tab_size(
1446 &self,
1447 client: *mut CbfBridgeClientHandle,
1448 tab_id: u64,
1449 width: u32,
1450 height: u32,
1451 ) -> bool {
1452 (self.cbf_bridge_client_set_tab_size)(client, tab_id, width, height)
1453 }
1454 pub unsafe fn cbf_bridge_client_send_key_event(
1455 &self,
1456 client: *mut CbfBridgeClientHandle,
1457 event: *const CbfKeyEvent,
1458 commands: *const CbfCommandList,
1459 ) -> bool {
1460 (self.cbf_bridge_client_send_key_event)(client, event, commands)
1461 }
1462 pub unsafe fn cbf_bridge_client_send_mouse_event(
1463 &self,
1464 client: *mut CbfBridgeClientHandle,
1465 event: *const CbfMouseEvent,
1466 ) -> bool {
1467 (self.cbf_bridge_client_send_mouse_event)(client, event)
1468 }
1469 pub unsafe fn cbf_bridge_client_send_mouse_wheel_event(
1470 &self,
1471 client: *mut CbfBridgeClientHandle,
1472 event: *const CbfMouseWheelEvent,
1473 ) -> bool {
1474 (self.cbf_bridge_client_send_mouse_wheel_event)(client, event)
1475 }
1476 pub unsafe fn cbf_bridge_client_send_drag_update(
1477 &self,
1478 client: *mut CbfBridgeClientHandle,
1479 update: *const CbfDragUpdate,
1480 ) -> bool {
1481 (self.cbf_bridge_client_send_drag_update)(client, update)
1482 }
1483 pub unsafe fn cbf_bridge_client_send_drag_drop(
1484 &self,
1485 client: *mut CbfBridgeClientHandle,
1486 drop: *const CbfDragDrop,
1487 ) -> bool {
1488 (self.cbf_bridge_client_send_drag_drop)(client, drop)
1489 }
1490 pub unsafe fn cbf_bridge_client_send_drag_cancel(
1491 &self,
1492 client: *mut CbfBridgeClientHandle,
1493 session_id: u64,
1494 tab_id: u64,
1495 ) -> bool {
1496 (self.cbf_bridge_client_send_drag_cancel)(client, session_id, tab_id)
1497 }
1498 pub unsafe fn cbf_bridge_client_set_composition(
1499 &self,
1500 client: *mut CbfBridgeClientHandle,
1501 composition: *const CbfImeComposition,
1502 ) -> bool {
1503 (self.cbf_bridge_client_set_composition)(client, composition)
1504 }
1505 pub unsafe fn cbf_bridge_client_commit_text(
1506 &self,
1507 client: *mut CbfBridgeClientHandle,
1508 commit: *const CbfImeCommitText,
1509 ) -> bool {
1510 (self.cbf_bridge_client_commit_text)(client, commit)
1511 }
1512 pub unsafe fn cbf_bridge_client_finish_composing_text(
1513 &self,
1514 client: *mut CbfBridgeClientHandle,
1515 tab_id: u64,
1516 behavior: u8,
1517 ) -> bool {
1518 (self.cbf_bridge_client_finish_composing_text)(client, tab_id, behavior)
1519 }
1520 pub unsafe fn cbf_bridge_client_set_extension_popup_size(
1521 &self,
1522 client: *mut CbfBridgeClientHandle,
1523 popup_id: u64,
1524 width: u32,
1525 height: u32,
1526 ) -> bool {
1527 (self.cbf_bridge_client_set_extension_popup_size)(client, popup_id, width, height)
1528 }
1529 pub unsafe fn cbf_bridge_client_set_extension_popup_focus(
1530 &self,
1531 client: *mut CbfBridgeClientHandle,
1532 popup_id: u64,
1533 focused: bool,
1534 ) -> bool {
1535 (self.cbf_bridge_client_set_extension_popup_focus)(client, popup_id, focused)
1536 }
1537 pub unsafe fn cbf_bridge_client_send_extension_popup_key_event(
1538 &self,
1539 client: *mut CbfBridgeClientHandle,
1540 popup_id: u64,
1541 event: *const CbfKeyEvent,
1542 commands: *const CbfCommandList,
1543 ) -> bool {
1544 (self.cbf_bridge_client_send_extension_popup_key_event)(client, popup_id, event, commands)
1545 }
1546 pub unsafe fn cbf_bridge_client_send_extension_popup_mouse_event(
1547 &self,
1548 client: *mut CbfBridgeClientHandle,
1549 popup_id: u64,
1550 event: *const CbfMouseEvent,
1551 ) -> bool {
1552 (self.cbf_bridge_client_send_extension_popup_mouse_event)(client, popup_id, event)
1553 }
1554 pub unsafe fn cbf_bridge_client_send_extension_popup_mouse_wheel_event(
1555 &self,
1556 client: *mut CbfBridgeClientHandle,
1557 popup_id: u64,
1558 event: *const CbfMouseWheelEvent,
1559 ) -> bool {
1560 (self.cbf_bridge_client_send_extension_popup_mouse_wheel_event)(client, popup_id, event)
1561 }
1562 pub unsafe fn cbf_bridge_client_set_extension_popup_composition(
1563 &self,
1564 client: *mut CbfBridgeClientHandle,
1565 popup_id: u64,
1566 composition: *const CbfImeComposition,
1567 ) -> bool {
1568 (self.cbf_bridge_client_set_extension_popup_composition)(client, popup_id, composition)
1569 }
1570 pub unsafe fn cbf_bridge_client_commit_extension_popup_text(
1571 &self,
1572 client: *mut CbfBridgeClientHandle,
1573 popup_id: u64,
1574 commit: *const CbfImeCommitText,
1575 ) -> bool {
1576 (self.cbf_bridge_client_commit_extension_popup_text)(client, popup_id, commit)
1577 }
1578 pub unsafe fn cbf_bridge_client_finish_extension_popup_composing_text(
1579 &self,
1580 client: *mut CbfBridgeClientHandle,
1581 popup_id: u64,
1582 behavior: u8,
1583 ) -> bool {
1584 (self.cbf_bridge_client_finish_extension_popup_composing_text)(client, popup_id, behavior)
1585 }
1586 pub unsafe fn cbf_bridge_client_close_extension_popup(
1587 &self,
1588 client: *mut CbfBridgeClientHandle,
1589 popup_id: u64,
1590 ) -> bool {
1591 (self.cbf_bridge_client_close_extension_popup)(client, popup_id)
1592 }
1593 pub unsafe fn cbf_bridge_client_shutdown(&self, client: *mut CbfBridgeClientHandle) {
1594 (self.cbf_bridge_client_shutdown)(client)
1595 }
1596 pub unsafe fn cbf_bridge_client_request_shutdown(
1597 &self,
1598 client: *mut CbfBridgeClientHandle,
1599 request_id: u64,
1600 ) -> bool {
1601 (self.cbf_bridge_client_request_shutdown)(client, request_id)
1602 }
1603 pub unsafe fn cbf_bridge_client_confirm_shutdown(
1604 &self,
1605 client: *mut CbfBridgeClientHandle,
1606 request_id: u64,
1607 proceed: bool,
1608 ) -> bool {
1609 (self.cbf_bridge_client_confirm_shutdown)(client, request_id, proceed)
1610 }
1611 pub unsafe fn cbf_bridge_client_force_shutdown(
1612 &self,
1613 client: *mut CbfBridgeClientHandle,
1614 ) -> bool {
1615 (self.cbf_bridge_client_force_shutdown)(client)
1616 }
1617}