Skip to main content

cbf_chrome_sys/
ffi_bridge_generated.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3#![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}