summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linuxbsd')
-rw-r--r--platform/linuxbsd/README.md14
-rw-r--r--platform/linuxbsd/SCsub4
-rw-r--r--platform/linuxbsd/dbus-so_wrap.c2641
-rw-r--r--platform/linuxbsd/dbus-so_wrap.h970
-rw-r--r--platform/linuxbsd/detect.py51
-rw-r--r--platform/linuxbsd/detect_prime_x11.cpp5
-rw-r--r--platform/linuxbsd/display_server_x11.cpp305
-rw-r--r--platform/linuxbsd/display_server_x11.h19
-rw-r--r--platform/linuxbsd/export/export.cpp2
-rw-r--r--platform/linuxbsd/export/export_plugin.cpp22
-rw-r--r--platform/linuxbsd/export/export_plugin.h2
-rw-r--r--platform/linuxbsd/fontconfig-so_wrap.c191
-rw-r--r--platform/linuxbsd/fontconfig-so_wrap.h72
-rw-r--r--platform/linuxbsd/freedesktop_portal_desktop.cpp135
-rw-r--r--platform/linuxbsd/freedesktop_portal_desktop.h59
-rw-r--r--platform/linuxbsd/freedesktop_screensaver.cpp11
-rw-r--r--platform/linuxbsd/freedesktop_screensaver.h3
-rw-r--r--platform/linuxbsd/gl_manager_x11.cpp28
-rw-r--r--platform/linuxbsd/gl_manager_x11.h3
-rw-r--r--platform/linuxbsd/os_linuxbsd.cpp22
-rw-r--r--platform/linuxbsd/os_linuxbsd.h2
21 files changed, 4104 insertions, 457 deletions
diff --git a/platform/linuxbsd/README.md b/platform/linuxbsd/README.md
index 0d3fb37be5..efa8682062 100644
--- a/platform/linuxbsd/README.md
+++ b/platform/linuxbsd/README.md
@@ -2,10 +2,20 @@
This folder contains the C++ code for the Linux/*BSD platform port.
+See also [`misc/dist/linux`](/misc/dist/linux) folder for additional files
+used by this platform.
+
+## Documentation
+
+- [Compiling for Linux/*BSD](https://docs.godotengine.org/en/latest/development/compiling/compiling_for_linuxbsd.html)
+ - Instructions on building this platform port from source.
+- [Exporting for Linux/*BSD](https://docs.godotengine.org/en/latest/tutorials/export/exporting_for_linux.html)
+ - Instructions on using the compiled export templates to export a project.
+
## Artwork license
[`logo.png`](logo.png) is derived from the [Linux logo](https://isc.tamu.edu/~lewing/linux/):
> Permission to use and/or modify this image is granted provided you acknowledge me
- <lewing@isc.tamu.edu> and [The GIMP](https://isc.tamu.edu/~lewing/gimp/)
- if someone asks.
+> <lewing@isc.tamu.edu> and [The GIMP](https://isc.tamu.edu/~lewing/gimp/)
+> if someone asks.
diff --git a/platform/linuxbsd/SCsub b/platform/linuxbsd/SCsub
index 6fbaa1c383..91d45627b9 100644
--- a/platform/linuxbsd/SCsub
+++ b/platform/linuxbsd/SCsub
@@ -9,6 +9,7 @@ common_linuxbsd = [
"crash_handler_linuxbsd.cpp",
"os_linuxbsd.cpp",
"joypad_linux.cpp",
+ "freedesktop_portal_desktop.cpp",
"freedesktop_screensaver.cpp",
]
@@ -32,6 +33,9 @@ if env["fontconfig"]:
if env["udev"]:
common_linuxbsd.append("libudev-so_wrap.c")
+if env["dbus"]:
+ common_linuxbsd.append("dbus-so_wrap.c")
+
prog = env.add_program("#bin/godot", ["godot_linuxbsd.cpp"] + common_linuxbsd)
if env["debug_symbols"] and env["separate_debug_symbols"]:
diff --git a/platform/linuxbsd/dbus-so_wrap.c b/platform/linuxbsd/dbus-so_wrap.c
new file mode 100644
index 0000000000..0876bc88b0
--- /dev/null
+++ b/platform/linuxbsd/dbus-so_wrap.c
@@ -0,0 +1,2641 @@
+// This file is generated. Do not edit!
+// see https://github.com/hpvb/dynload-wrapper for details
+// generated by ./generate-wrapper.py 0.3 on 2022-07-29 07:23:21
+// flags: ./generate-wrapper.py --include /usr/include/dbus-1.0/dbus/dbus.h --sys-include <dbus/dbus.h> --soname libdbus-1.so --init-name dbus --output-header dbus-so_wrap.h --output-implementation dbus-so_wrap.c
+//
+#include <stdint.h>
+
+#define dbus_error_init dbus_error_init_dylibloader_orig_dbus
+#define dbus_error_free dbus_error_free_dylibloader_orig_dbus
+#define dbus_set_error dbus_set_error_dylibloader_orig_dbus
+#define dbus_set_error_const dbus_set_error_const_dylibloader_orig_dbus
+#define dbus_move_error dbus_move_error_dylibloader_orig_dbus
+#define dbus_error_has_name dbus_error_has_name_dylibloader_orig_dbus
+#define dbus_error_is_set dbus_error_is_set_dylibloader_orig_dbus
+#define dbus_parse_address dbus_parse_address_dylibloader_orig_dbus
+#define dbus_address_entry_get_value dbus_address_entry_get_value_dylibloader_orig_dbus
+#define dbus_address_entry_get_method dbus_address_entry_get_method_dylibloader_orig_dbus
+#define dbus_address_entries_free dbus_address_entries_free_dylibloader_orig_dbus
+#define dbus_address_escape_value dbus_address_escape_value_dylibloader_orig_dbus
+#define dbus_address_unescape_value dbus_address_unescape_value_dylibloader_orig_dbus
+#define dbus_malloc dbus_malloc_dylibloader_orig_dbus
+#define dbus_malloc0 dbus_malloc0_dylibloader_orig_dbus
+#define dbus_realloc dbus_realloc_dylibloader_orig_dbus
+#define dbus_free dbus_free_dylibloader_orig_dbus
+#define dbus_free_string_array dbus_free_string_array_dylibloader_orig_dbus
+#define dbus_shutdown dbus_shutdown_dylibloader_orig_dbus
+#define dbus_message_new dbus_message_new_dylibloader_orig_dbus
+#define dbus_message_new_method_call dbus_message_new_method_call_dylibloader_orig_dbus
+#define dbus_message_new_method_return dbus_message_new_method_return_dylibloader_orig_dbus
+#define dbus_message_new_signal dbus_message_new_signal_dylibloader_orig_dbus
+#define dbus_message_new_error dbus_message_new_error_dylibloader_orig_dbus
+#define dbus_message_new_error_printf dbus_message_new_error_printf_dylibloader_orig_dbus
+#define dbus_message_copy dbus_message_copy_dylibloader_orig_dbus
+#define dbus_message_ref dbus_message_ref_dylibloader_orig_dbus
+#define dbus_message_unref dbus_message_unref_dylibloader_orig_dbus
+#define dbus_message_get_type dbus_message_get_type_dylibloader_orig_dbus
+#define dbus_message_set_path dbus_message_set_path_dylibloader_orig_dbus
+#define dbus_message_get_path dbus_message_get_path_dylibloader_orig_dbus
+#define dbus_message_has_path dbus_message_has_path_dylibloader_orig_dbus
+#define dbus_message_set_interface dbus_message_set_interface_dylibloader_orig_dbus
+#define dbus_message_get_interface dbus_message_get_interface_dylibloader_orig_dbus
+#define dbus_message_has_interface dbus_message_has_interface_dylibloader_orig_dbus
+#define dbus_message_set_member dbus_message_set_member_dylibloader_orig_dbus
+#define dbus_message_get_member dbus_message_get_member_dylibloader_orig_dbus
+#define dbus_message_has_member dbus_message_has_member_dylibloader_orig_dbus
+#define dbus_message_set_error_name dbus_message_set_error_name_dylibloader_orig_dbus
+#define dbus_message_get_error_name dbus_message_get_error_name_dylibloader_orig_dbus
+#define dbus_message_set_destination dbus_message_set_destination_dylibloader_orig_dbus
+#define dbus_message_get_destination dbus_message_get_destination_dylibloader_orig_dbus
+#define dbus_message_set_sender dbus_message_set_sender_dylibloader_orig_dbus
+#define dbus_message_get_sender dbus_message_get_sender_dylibloader_orig_dbus
+#define dbus_message_get_signature dbus_message_get_signature_dylibloader_orig_dbus
+#define dbus_message_set_no_reply dbus_message_set_no_reply_dylibloader_orig_dbus
+#define dbus_message_get_no_reply dbus_message_get_no_reply_dylibloader_orig_dbus
+#define dbus_message_is_method_call dbus_message_is_method_call_dylibloader_orig_dbus
+#define dbus_message_is_signal dbus_message_is_signal_dylibloader_orig_dbus
+#define dbus_message_is_error dbus_message_is_error_dylibloader_orig_dbus
+#define dbus_message_has_destination dbus_message_has_destination_dylibloader_orig_dbus
+#define dbus_message_has_sender dbus_message_has_sender_dylibloader_orig_dbus
+#define dbus_message_has_signature dbus_message_has_signature_dylibloader_orig_dbus
+#define dbus_message_get_serial dbus_message_get_serial_dylibloader_orig_dbus
+#define dbus_message_set_serial dbus_message_set_serial_dylibloader_orig_dbus
+#define dbus_message_set_reply_serial dbus_message_set_reply_serial_dylibloader_orig_dbus
+#define dbus_message_get_reply_serial dbus_message_get_reply_serial_dylibloader_orig_dbus
+#define dbus_message_set_auto_start dbus_message_set_auto_start_dylibloader_orig_dbus
+#define dbus_message_get_auto_start dbus_message_get_auto_start_dylibloader_orig_dbus
+#define dbus_message_get_path_decomposed dbus_message_get_path_decomposed_dylibloader_orig_dbus
+#define dbus_message_append_args dbus_message_append_args_dylibloader_orig_dbus
+#define dbus_message_append_args_valist dbus_message_append_args_valist_dylibloader_orig_dbus
+#define dbus_message_get_args dbus_message_get_args_dylibloader_orig_dbus
+#define dbus_message_get_args_valist dbus_message_get_args_valist_dylibloader_orig_dbus
+#define dbus_message_contains_unix_fds dbus_message_contains_unix_fds_dylibloader_orig_dbus
+#define dbus_message_iter_init_closed dbus_message_iter_init_closed_dylibloader_orig_dbus
+#define dbus_message_iter_init dbus_message_iter_init_dylibloader_orig_dbus
+#define dbus_message_iter_has_next dbus_message_iter_has_next_dylibloader_orig_dbus
+#define dbus_message_iter_next dbus_message_iter_next_dylibloader_orig_dbus
+#define dbus_message_iter_get_signature dbus_message_iter_get_signature_dylibloader_orig_dbus
+#define dbus_message_iter_get_arg_type dbus_message_iter_get_arg_type_dylibloader_orig_dbus
+#define dbus_message_iter_get_element_type dbus_message_iter_get_element_type_dylibloader_orig_dbus
+#define dbus_message_iter_recurse dbus_message_iter_recurse_dylibloader_orig_dbus
+#define dbus_message_iter_get_basic dbus_message_iter_get_basic_dylibloader_orig_dbus
+#define dbus_message_iter_get_element_count dbus_message_iter_get_element_count_dylibloader_orig_dbus
+#define dbus_message_iter_get_array_len dbus_message_iter_get_array_len_dylibloader_orig_dbus
+#define dbus_message_iter_get_fixed_array dbus_message_iter_get_fixed_array_dylibloader_orig_dbus
+#define dbus_message_iter_init_append dbus_message_iter_init_append_dylibloader_orig_dbus
+#define dbus_message_iter_append_basic dbus_message_iter_append_basic_dylibloader_orig_dbus
+#define dbus_message_iter_append_fixed_array dbus_message_iter_append_fixed_array_dylibloader_orig_dbus
+#define dbus_message_iter_open_container dbus_message_iter_open_container_dylibloader_orig_dbus
+#define dbus_message_iter_close_container dbus_message_iter_close_container_dylibloader_orig_dbus
+#define dbus_message_iter_abandon_container dbus_message_iter_abandon_container_dylibloader_orig_dbus
+#define dbus_message_iter_abandon_container_if_open dbus_message_iter_abandon_container_if_open_dylibloader_orig_dbus
+#define dbus_message_lock dbus_message_lock_dylibloader_orig_dbus
+#define dbus_set_error_from_message dbus_set_error_from_message_dylibloader_orig_dbus
+#define dbus_message_allocate_data_slot dbus_message_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_message_free_data_slot dbus_message_free_data_slot_dylibloader_orig_dbus
+#define dbus_message_set_data dbus_message_set_data_dylibloader_orig_dbus
+#define dbus_message_get_data dbus_message_get_data_dylibloader_orig_dbus
+#define dbus_message_type_from_string dbus_message_type_from_string_dylibloader_orig_dbus
+#define dbus_message_type_to_string dbus_message_type_to_string_dylibloader_orig_dbus
+#define dbus_message_marshal dbus_message_marshal_dylibloader_orig_dbus
+#define dbus_message_demarshal dbus_message_demarshal_dylibloader_orig_dbus
+#define dbus_message_demarshal_bytes_needed dbus_message_demarshal_bytes_needed_dylibloader_orig_dbus
+#define dbus_message_set_allow_interactive_authorization dbus_message_set_allow_interactive_authorization_dylibloader_orig_dbus
+#define dbus_message_get_allow_interactive_authorization dbus_message_get_allow_interactive_authorization_dylibloader_orig_dbus
+#define dbus_connection_open dbus_connection_open_dylibloader_orig_dbus
+#define dbus_connection_open_private dbus_connection_open_private_dylibloader_orig_dbus
+#define dbus_connection_ref dbus_connection_ref_dylibloader_orig_dbus
+#define dbus_connection_unref dbus_connection_unref_dylibloader_orig_dbus
+#define dbus_connection_close dbus_connection_close_dylibloader_orig_dbus
+#define dbus_connection_get_is_connected dbus_connection_get_is_connected_dylibloader_orig_dbus
+#define dbus_connection_get_is_authenticated dbus_connection_get_is_authenticated_dylibloader_orig_dbus
+#define dbus_connection_get_is_anonymous dbus_connection_get_is_anonymous_dylibloader_orig_dbus
+#define dbus_connection_get_server_id dbus_connection_get_server_id_dylibloader_orig_dbus
+#define dbus_connection_can_send_type dbus_connection_can_send_type_dylibloader_orig_dbus
+#define dbus_connection_set_exit_on_disconnect dbus_connection_set_exit_on_disconnect_dylibloader_orig_dbus
+#define dbus_connection_flush dbus_connection_flush_dylibloader_orig_dbus
+#define dbus_connection_read_write_dispatch dbus_connection_read_write_dispatch_dylibloader_orig_dbus
+#define dbus_connection_read_write dbus_connection_read_write_dylibloader_orig_dbus
+#define dbus_connection_borrow_message dbus_connection_borrow_message_dylibloader_orig_dbus
+#define dbus_connection_return_message dbus_connection_return_message_dylibloader_orig_dbus
+#define dbus_connection_steal_borrowed_message dbus_connection_steal_borrowed_message_dylibloader_orig_dbus
+#define dbus_connection_pop_message dbus_connection_pop_message_dylibloader_orig_dbus
+#define dbus_connection_get_dispatch_status dbus_connection_get_dispatch_status_dylibloader_orig_dbus
+#define dbus_connection_dispatch dbus_connection_dispatch_dylibloader_orig_dbus
+#define dbus_connection_has_messages_to_send dbus_connection_has_messages_to_send_dylibloader_orig_dbus
+#define dbus_connection_send dbus_connection_send_dylibloader_orig_dbus
+#define dbus_connection_send_with_reply dbus_connection_send_with_reply_dylibloader_orig_dbus
+#define dbus_connection_send_with_reply_and_block dbus_connection_send_with_reply_and_block_dylibloader_orig_dbus
+#define dbus_connection_set_watch_functions dbus_connection_set_watch_functions_dylibloader_orig_dbus
+#define dbus_connection_set_timeout_functions dbus_connection_set_timeout_functions_dylibloader_orig_dbus
+#define dbus_connection_set_wakeup_main_function dbus_connection_set_wakeup_main_function_dylibloader_orig_dbus
+#define dbus_connection_set_dispatch_status_function dbus_connection_set_dispatch_status_function_dylibloader_orig_dbus
+#define dbus_connection_get_unix_user dbus_connection_get_unix_user_dylibloader_orig_dbus
+#define dbus_connection_get_unix_process_id dbus_connection_get_unix_process_id_dylibloader_orig_dbus
+#define dbus_connection_get_adt_audit_session_data dbus_connection_get_adt_audit_session_data_dylibloader_orig_dbus
+#define dbus_connection_set_unix_user_function dbus_connection_set_unix_user_function_dylibloader_orig_dbus
+#define dbus_connection_get_windows_user dbus_connection_get_windows_user_dylibloader_orig_dbus
+#define dbus_connection_set_windows_user_function dbus_connection_set_windows_user_function_dylibloader_orig_dbus
+#define dbus_connection_set_allow_anonymous dbus_connection_set_allow_anonymous_dylibloader_orig_dbus
+#define dbus_connection_set_route_peer_messages dbus_connection_set_route_peer_messages_dylibloader_orig_dbus
+#define dbus_connection_add_filter dbus_connection_add_filter_dylibloader_orig_dbus
+#define dbus_connection_remove_filter dbus_connection_remove_filter_dylibloader_orig_dbus
+#define dbus_connection_allocate_data_slot dbus_connection_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_connection_free_data_slot dbus_connection_free_data_slot_dylibloader_orig_dbus
+#define dbus_connection_set_data dbus_connection_set_data_dylibloader_orig_dbus
+#define dbus_connection_get_data dbus_connection_get_data_dylibloader_orig_dbus
+#define dbus_connection_set_change_sigpipe dbus_connection_set_change_sigpipe_dylibloader_orig_dbus
+#define dbus_connection_set_max_message_size dbus_connection_set_max_message_size_dylibloader_orig_dbus
+#define dbus_connection_get_max_message_size dbus_connection_get_max_message_size_dylibloader_orig_dbus
+#define dbus_connection_set_max_received_size dbus_connection_set_max_received_size_dylibloader_orig_dbus
+#define dbus_connection_get_max_received_size dbus_connection_get_max_received_size_dylibloader_orig_dbus
+#define dbus_connection_set_max_message_unix_fds dbus_connection_set_max_message_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_get_max_message_unix_fds dbus_connection_get_max_message_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_set_max_received_unix_fds dbus_connection_set_max_received_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_get_max_received_unix_fds dbus_connection_get_max_received_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_get_outgoing_size dbus_connection_get_outgoing_size_dylibloader_orig_dbus
+#define dbus_connection_get_outgoing_unix_fds dbus_connection_get_outgoing_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_preallocate_send dbus_connection_preallocate_send_dylibloader_orig_dbus
+#define dbus_connection_free_preallocated_send dbus_connection_free_preallocated_send_dylibloader_orig_dbus
+#define dbus_connection_send_preallocated dbus_connection_send_preallocated_dylibloader_orig_dbus
+#define dbus_connection_try_register_object_path dbus_connection_try_register_object_path_dylibloader_orig_dbus
+#define dbus_connection_register_object_path dbus_connection_register_object_path_dylibloader_orig_dbus
+#define dbus_connection_try_register_fallback dbus_connection_try_register_fallback_dylibloader_orig_dbus
+#define dbus_connection_register_fallback dbus_connection_register_fallback_dylibloader_orig_dbus
+#define dbus_connection_unregister_object_path dbus_connection_unregister_object_path_dylibloader_orig_dbus
+#define dbus_connection_get_object_path_data dbus_connection_get_object_path_data_dylibloader_orig_dbus
+#define dbus_connection_list_registered dbus_connection_list_registered_dylibloader_orig_dbus
+#define dbus_connection_get_unix_fd dbus_connection_get_unix_fd_dylibloader_orig_dbus
+#define dbus_connection_get_socket dbus_connection_get_socket_dylibloader_orig_dbus
+#define dbus_watch_get_fd dbus_watch_get_fd_dylibloader_orig_dbus
+#define dbus_watch_get_unix_fd dbus_watch_get_unix_fd_dylibloader_orig_dbus
+#define dbus_watch_get_socket dbus_watch_get_socket_dylibloader_orig_dbus
+#define dbus_watch_get_flags dbus_watch_get_flags_dylibloader_orig_dbus
+#define dbus_watch_get_data dbus_watch_get_data_dylibloader_orig_dbus
+#define dbus_watch_set_data dbus_watch_set_data_dylibloader_orig_dbus
+#define dbus_watch_handle dbus_watch_handle_dylibloader_orig_dbus
+#define dbus_watch_get_enabled dbus_watch_get_enabled_dylibloader_orig_dbus
+#define dbus_timeout_get_interval dbus_timeout_get_interval_dylibloader_orig_dbus
+#define dbus_timeout_get_data dbus_timeout_get_data_dylibloader_orig_dbus
+#define dbus_timeout_set_data dbus_timeout_set_data_dylibloader_orig_dbus
+#define dbus_timeout_handle dbus_timeout_handle_dylibloader_orig_dbus
+#define dbus_timeout_get_enabled dbus_timeout_get_enabled_dylibloader_orig_dbus
+#define dbus_bus_get dbus_bus_get_dylibloader_orig_dbus
+#define dbus_bus_get_private dbus_bus_get_private_dylibloader_orig_dbus
+#define dbus_bus_register dbus_bus_register_dylibloader_orig_dbus
+#define dbus_bus_set_unique_name dbus_bus_set_unique_name_dylibloader_orig_dbus
+#define dbus_bus_get_unique_name dbus_bus_get_unique_name_dylibloader_orig_dbus
+#define dbus_bus_get_unix_user dbus_bus_get_unix_user_dylibloader_orig_dbus
+#define dbus_bus_get_id dbus_bus_get_id_dylibloader_orig_dbus
+#define dbus_bus_request_name dbus_bus_request_name_dylibloader_orig_dbus
+#define dbus_bus_release_name dbus_bus_release_name_dylibloader_orig_dbus
+#define dbus_bus_name_has_owner dbus_bus_name_has_owner_dylibloader_orig_dbus
+#define dbus_bus_start_service_by_name dbus_bus_start_service_by_name_dylibloader_orig_dbus
+#define dbus_bus_add_match dbus_bus_add_match_dylibloader_orig_dbus
+#define dbus_bus_remove_match dbus_bus_remove_match_dylibloader_orig_dbus
+#define dbus_get_local_machine_id dbus_get_local_machine_id_dylibloader_orig_dbus
+#define dbus_get_version dbus_get_version_dylibloader_orig_dbus
+#define dbus_setenv dbus_setenv_dylibloader_orig_dbus
+#define dbus_try_get_local_machine_id dbus_try_get_local_machine_id_dylibloader_orig_dbus
+#define dbus_pending_call_ref dbus_pending_call_ref_dylibloader_orig_dbus
+#define dbus_pending_call_unref dbus_pending_call_unref_dylibloader_orig_dbus
+#define dbus_pending_call_set_notify dbus_pending_call_set_notify_dylibloader_orig_dbus
+#define dbus_pending_call_cancel dbus_pending_call_cancel_dylibloader_orig_dbus
+#define dbus_pending_call_get_completed dbus_pending_call_get_completed_dylibloader_orig_dbus
+#define dbus_pending_call_steal_reply dbus_pending_call_steal_reply_dylibloader_orig_dbus
+#define dbus_pending_call_block dbus_pending_call_block_dylibloader_orig_dbus
+#define dbus_pending_call_allocate_data_slot dbus_pending_call_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_pending_call_free_data_slot dbus_pending_call_free_data_slot_dylibloader_orig_dbus
+#define dbus_pending_call_set_data dbus_pending_call_set_data_dylibloader_orig_dbus
+#define dbus_pending_call_get_data dbus_pending_call_get_data_dylibloader_orig_dbus
+#define dbus_server_listen dbus_server_listen_dylibloader_orig_dbus
+#define dbus_server_ref dbus_server_ref_dylibloader_orig_dbus
+#define dbus_server_unref dbus_server_unref_dylibloader_orig_dbus
+#define dbus_server_disconnect dbus_server_disconnect_dylibloader_orig_dbus
+#define dbus_server_get_is_connected dbus_server_get_is_connected_dylibloader_orig_dbus
+#define dbus_server_get_address dbus_server_get_address_dylibloader_orig_dbus
+#define dbus_server_get_id dbus_server_get_id_dylibloader_orig_dbus
+#define dbus_server_set_new_connection_function dbus_server_set_new_connection_function_dylibloader_orig_dbus
+#define dbus_server_set_watch_functions dbus_server_set_watch_functions_dylibloader_orig_dbus
+#define dbus_server_set_timeout_functions dbus_server_set_timeout_functions_dylibloader_orig_dbus
+#define dbus_server_set_auth_mechanisms dbus_server_set_auth_mechanisms_dylibloader_orig_dbus
+#define dbus_server_allocate_data_slot dbus_server_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_server_free_data_slot dbus_server_free_data_slot_dylibloader_orig_dbus
+#define dbus_server_set_data dbus_server_set_data_dylibloader_orig_dbus
+#define dbus_server_get_data dbus_server_get_data_dylibloader_orig_dbus
+#define dbus_signature_iter_init dbus_signature_iter_init_dylibloader_orig_dbus
+#define dbus_signature_iter_get_current_type dbus_signature_iter_get_current_type_dylibloader_orig_dbus
+#define dbus_signature_iter_get_signature dbus_signature_iter_get_signature_dylibloader_orig_dbus
+#define dbus_signature_iter_get_element_type dbus_signature_iter_get_element_type_dylibloader_orig_dbus
+#define dbus_signature_iter_next dbus_signature_iter_next_dylibloader_orig_dbus
+#define dbus_signature_iter_recurse dbus_signature_iter_recurse_dylibloader_orig_dbus
+#define dbus_signature_validate dbus_signature_validate_dylibloader_orig_dbus
+#define dbus_signature_validate_single dbus_signature_validate_single_dylibloader_orig_dbus
+#define dbus_type_is_valid dbus_type_is_valid_dylibloader_orig_dbus
+#define dbus_type_is_basic dbus_type_is_basic_dylibloader_orig_dbus
+#define dbus_type_is_container dbus_type_is_container_dylibloader_orig_dbus
+#define dbus_type_is_fixed dbus_type_is_fixed_dylibloader_orig_dbus
+#define dbus_validate_path dbus_validate_path_dylibloader_orig_dbus
+#define dbus_validate_interface dbus_validate_interface_dylibloader_orig_dbus
+#define dbus_validate_member dbus_validate_member_dylibloader_orig_dbus
+#define dbus_validate_error_name dbus_validate_error_name_dylibloader_orig_dbus
+#define dbus_validate_bus_name dbus_validate_bus_name_dylibloader_orig_dbus
+#define dbus_validate_utf8 dbus_validate_utf8_dylibloader_orig_dbus
+#define dbus_threads_init dbus_threads_init_dylibloader_orig_dbus
+#define dbus_threads_init_default dbus_threads_init_default_dylibloader_orig_dbus
+#include <dbus/dbus.h>
+#undef dbus_error_init
+#undef dbus_error_free
+#undef dbus_set_error
+#undef dbus_set_error_const
+#undef dbus_move_error
+#undef dbus_error_has_name
+#undef dbus_error_is_set
+#undef dbus_parse_address
+#undef dbus_address_entry_get_value
+#undef dbus_address_entry_get_method
+#undef dbus_address_entries_free
+#undef dbus_address_escape_value
+#undef dbus_address_unescape_value
+#undef dbus_malloc
+#undef dbus_malloc0
+#undef dbus_realloc
+#undef dbus_free
+#undef dbus_free_string_array
+#undef dbus_shutdown
+#undef dbus_message_new
+#undef dbus_message_new_method_call
+#undef dbus_message_new_method_return
+#undef dbus_message_new_signal
+#undef dbus_message_new_error
+#undef dbus_message_new_error_printf
+#undef dbus_message_copy
+#undef dbus_message_ref
+#undef dbus_message_unref
+#undef dbus_message_get_type
+#undef dbus_message_set_path
+#undef dbus_message_get_path
+#undef dbus_message_has_path
+#undef dbus_message_set_interface
+#undef dbus_message_get_interface
+#undef dbus_message_has_interface
+#undef dbus_message_set_member
+#undef dbus_message_get_member
+#undef dbus_message_has_member
+#undef dbus_message_set_error_name
+#undef dbus_message_get_error_name
+#undef dbus_message_set_destination
+#undef dbus_message_get_destination
+#undef dbus_message_set_sender
+#undef dbus_message_get_sender
+#undef dbus_message_get_signature
+#undef dbus_message_set_no_reply
+#undef dbus_message_get_no_reply
+#undef dbus_message_is_method_call
+#undef dbus_message_is_signal
+#undef dbus_message_is_error
+#undef dbus_message_has_destination
+#undef dbus_message_has_sender
+#undef dbus_message_has_signature
+#undef dbus_message_get_serial
+#undef dbus_message_set_serial
+#undef dbus_message_set_reply_serial
+#undef dbus_message_get_reply_serial
+#undef dbus_message_set_auto_start
+#undef dbus_message_get_auto_start
+#undef dbus_message_get_path_decomposed
+#undef dbus_message_append_args
+#undef dbus_message_append_args_valist
+#undef dbus_message_get_args
+#undef dbus_message_get_args_valist
+#undef dbus_message_contains_unix_fds
+#undef dbus_message_iter_init_closed
+#undef dbus_message_iter_init
+#undef dbus_message_iter_has_next
+#undef dbus_message_iter_next
+#undef dbus_message_iter_get_signature
+#undef dbus_message_iter_get_arg_type
+#undef dbus_message_iter_get_element_type
+#undef dbus_message_iter_recurse
+#undef dbus_message_iter_get_basic
+#undef dbus_message_iter_get_element_count
+#undef dbus_message_iter_get_array_len
+#undef dbus_message_iter_get_fixed_array
+#undef dbus_message_iter_init_append
+#undef dbus_message_iter_append_basic
+#undef dbus_message_iter_append_fixed_array
+#undef dbus_message_iter_open_container
+#undef dbus_message_iter_close_container
+#undef dbus_message_iter_abandon_container
+#undef dbus_message_iter_abandon_container_if_open
+#undef dbus_message_lock
+#undef dbus_set_error_from_message
+#undef dbus_message_allocate_data_slot
+#undef dbus_message_free_data_slot
+#undef dbus_message_set_data
+#undef dbus_message_get_data
+#undef dbus_message_type_from_string
+#undef dbus_message_type_to_string
+#undef dbus_message_marshal
+#undef dbus_message_demarshal
+#undef dbus_message_demarshal_bytes_needed
+#undef dbus_message_set_allow_interactive_authorization
+#undef dbus_message_get_allow_interactive_authorization
+#undef dbus_connection_open
+#undef dbus_connection_open_private
+#undef dbus_connection_ref
+#undef dbus_connection_unref
+#undef dbus_connection_close
+#undef dbus_connection_get_is_connected
+#undef dbus_connection_get_is_authenticated
+#undef dbus_connection_get_is_anonymous
+#undef dbus_connection_get_server_id
+#undef dbus_connection_can_send_type
+#undef dbus_connection_set_exit_on_disconnect
+#undef dbus_connection_flush
+#undef dbus_connection_read_write_dispatch
+#undef dbus_connection_read_write
+#undef dbus_connection_borrow_message
+#undef dbus_connection_return_message
+#undef dbus_connection_steal_borrowed_message
+#undef dbus_connection_pop_message
+#undef dbus_connection_get_dispatch_status
+#undef dbus_connection_dispatch
+#undef dbus_connection_has_messages_to_send
+#undef dbus_connection_send
+#undef dbus_connection_send_with_reply
+#undef dbus_connection_send_with_reply_and_block
+#undef dbus_connection_set_watch_functions
+#undef dbus_connection_set_timeout_functions
+#undef dbus_connection_set_wakeup_main_function
+#undef dbus_connection_set_dispatch_status_function
+#undef dbus_connection_get_unix_user
+#undef dbus_connection_get_unix_process_id
+#undef dbus_connection_get_adt_audit_session_data
+#undef dbus_connection_set_unix_user_function
+#undef dbus_connection_get_windows_user
+#undef dbus_connection_set_windows_user_function
+#undef dbus_connection_set_allow_anonymous
+#undef dbus_connection_set_route_peer_messages
+#undef dbus_connection_add_filter
+#undef dbus_connection_remove_filter
+#undef dbus_connection_allocate_data_slot
+#undef dbus_connection_free_data_slot
+#undef dbus_connection_set_data
+#undef dbus_connection_get_data
+#undef dbus_connection_set_change_sigpipe
+#undef dbus_connection_set_max_message_size
+#undef dbus_connection_get_max_message_size
+#undef dbus_connection_set_max_received_size
+#undef dbus_connection_get_max_received_size
+#undef dbus_connection_set_max_message_unix_fds
+#undef dbus_connection_get_max_message_unix_fds
+#undef dbus_connection_set_max_received_unix_fds
+#undef dbus_connection_get_max_received_unix_fds
+#undef dbus_connection_get_outgoing_size
+#undef dbus_connection_get_outgoing_unix_fds
+#undef dbus_connection_preallocate_send
+#undef dbus_connection_free_preallocated_send
+#undef dbus_connection_send_preallocated
+#undef dbus_connection_try_register_object_path
+#undef dbus_connection_register_object_path
+#undef dbus_connection_try_register_fallback
+#undef dbus_connection_register_fallback
+#undef dbus_connection_unregister_object_path
+#undef dbus_connection_get_object_path_data
+#undef dbus_connection_list_registered
+#undef dbus_connection_get_unix_fd
+#undef dbus_connection_get_socket
+#undef dbus_watch_get_fd
+#undef dbus_watch_get_unix_fd
+#undef dbus_watch_get_socket
+#undef dbus_watch_get_flags
+#undef dbus_watch_get_data
+#undef dbus_watch_set_data
+#undef dbus_watch_handle
+#undef dbus_watch_get_enabled
+#undef dbus_timeout_get_interval
+#undef dbus_timeout_get_data
+#undef dbus_timeout_set_data
+#undef dbus_timeout_handle
+#undef dbus_timeout_get_enabled
+#undef dbus_bus_get
+#undef dbus_bus_get_private
+#undef dbus_bus_register
+#undef dbus_bus_set_unique_name
+#undef dbus_bus_get_unique_name
+#undef dbus_bus_get_unix_user
+#undef dbus_bus_get_id
+#undef dbus_bus_request_name
+#undef dbus_bus_release_name
+#undef dbus_bus_name_has_owner
+#undef dbus_bus_start_service_by_name
+#undef dbus_bus_add_match
+#undef dbus_bus_remove_match
+#undef dbus_get_local_machine_id
+#undef dbus_get_version
+#undef dbus_setenv
+#undef dbus_try_get_local_machine_id
+#undef dbus_pending_call_ref
+#undef dbus_pending_call_unref
+#undef dbus_pending_call_set_notify
+#undef dbus_pending_call_cancel
+#undef dbus_pending_call_get_completed
+#undef dbus_pending_call_steal_reply
+#undef dbus_pending_call_block
+#undef dbus_pending_call_allocate_data_slot
+#undef dbus_pending_call_free_data_slot
+#undef dbus_pending_call_set_data
+#undef dbus_pending_call_get_data
+#undef dbus_server_listen
+#undef dbus_server_ref
+#undef dbus_server_unref
+#undef dbus_server_disconnect
+#undef dbus_server_get_is_connected
+#undef dbus_server_get_address
+#undef dbus_server_get_id
+#undef dbus_server_set_new_connection_function
+#undef dbus_server_set_watch_functions
+#undef dbus_server_set_timeout_functions
+#undef dbus_server_set_auth_mechanisms
+#undef dbus_server_allocate_data_slot
+#undef dbus_server_free_data_slot
+#undef dbus_server_set_data
+#undef dbus_server_get_data
+#undef dbus_signature_iter_init
+#undef dbus_signature_iter_get_current_type
+#undef dbus_signature_iter_get_signature
+#undef dbus_signature_iter_get_element_type
+#undef dbus_signature_iter_next
+#undef dbus_signature_iter_recurse
+#undef dbus_signature_validate
+#undef dbus_signature_validate_single
+#undef dbus_type_is_valid
+#undef dbus_type_is_basic
+#undef dbus_type_is_container
+#undef dbus_type_is_fixed
+#undef dbus_validate_path
+#undef dbus_validate_interface
+#undef dbus_validate_member
+#undef dbus_validate_error_name
+#undef dbus_validate_bus_name
+#undef dbus_validate_utf8
+#undef dbus_threads_init
+#undef dbus_threads_init_default
+#include <dlfcn.h>
+#include <stdio.h>
+void (*dbus_error_init_dylibloader_wrapper_dbus)( DBusError*);
+void (*dbus_error_free_dylibloader_wrapper_dbus)( DBusError*);
+void (*dbus_set_error_dylibloader_wrapper_dbus)( DBusError*,const char*,const char*,...);
+void (*dbus_set_error_const_dylibloader_wrapper_dbus)( DBusError*,const char*,const char*);
+void (*dbus_move_error_dylibloader_wrapper_dbus)( DBusError*, DBusError*);
+dbus_bool_t (*dbus_error_has_name_dylibloader_wrapper_dbus)(const DBusError*,const char*);
+dbus_bool_t (*dbus_error_is_set_dylibloader_wrapper_dbus)(const DBusError*);
+dbus_bool_t (*dbus_parse_address_dylibloader_wrapper_dbus)(const char*, DBusAddressEntry***, int*, DBusError*);
+const char* (*dbus_address_entry_get_value_dylibloader_wrapper_dbus)( DBusAddressEntry*,const char*);
+const char* (*dbus_address_entry_get_method_dylibloader_wrapper_dbus)( DBusAddressEntry*);
+void (*dbus_address_entries_free_dylibloader_wrapper_dbus)( DBusAddressEntry**);
+char* (*dbus_address_escape_value_dylibloader_wrapper_dbus)(const char*);
+char* (*dbus_address_unescape_value_dylibloader_wrapper_dbus)(const char*, DBusError*);
+void* (*dbus_malloc_dylibloader_wrapper_dbus)( size_t);
+void* (*dbus_malloc0_dylibloader_wrapper_dbus)( size_t);
+void* (*dbus_realloc_dylibloader_wrapper_dbus)( void*, size_t);
+void (*dbus_free_dylibloader_wrapper_dbus)( void*);
+void (*dbus_free_string_array_dylibloader_wrapper_dbus)( char**);
+void (*dbus_shutdown_dylibloader_wrapper_dbus)( void);
+DBusMessage* (*dbus_message_new_dylibloader_wrapper_dbus)( int);
+DBusMessage* (*dbus_message_new_method_call_dylibloader_wrapper_dbus)(const char*,const char*,const char*,const char*);
+DBusMessage* (*dbus_message_new_method_return_dylibloader_wrapper_dbus)( DBusMessage*);
+DBusMessage* (*dbus_message_new_signal_dylibloader_wrapper_dbus)(const char*,const char*,const char*);
+DBusMessage* (*dbus_message_new_error_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*);
+DBusMessage* (*dbus_message_new_error_printf_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*,...);
+DBusMessage* (*dbus_message_copy_dylibloader_wrapper_dbus)(const DBusMessage*);
+DBusMessage* (*dbus_message_ref_dylibloader_wrapper_dbus)( DBusMessage*);
+void (*dbus_message_unref_dylibloader_wrapper_dbus)( DBusMessage*);
+int (*dbus_message_get_type_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_set_path_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+const char* (*dbus_message_get_path_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_has_path_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_bool_t (*dbus_message_set_interface_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+const char* (*dbus_message_get_interface_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_has_interface_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_bool_t (*dbus_message_set_member_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+const char* (*dbus_message_get_member_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_has_member_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_bool_t (*dbus_message_set_error_name_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+const char* (*dbus_message_get_error_name_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_set_destination_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+const char* (*dbus_message_get_destination_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_set_sender_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+const char* (*dbus_message_get_sender_dylibloader_wrapper_dbus)( DBusMessage*);
+const char* (*dbus_message_get_signature_dylibloader_wrapper_dbus)( DBusMessage*);
+void (*dbus_message_set_no_reply_dylibloader_wrapper_dbus)( DBusMessage*, dbus_bool_t);
+dbus_bool_t (*dbus_message_get_no_reply_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_is_method_call_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*);
+dbus_bool_t (*dbus_message_is_signal_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*);
+dbus_bool_t (*dbus_message_is_error_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_bool_t (*dbus_message_has_destination_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_bool_t (*dbus_message_has_sender_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_bool_t (*dbus_message_has_signature_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+dbus_uint32_t (*dbus_message_get_serial_dylibloader_wrapper_dbus)( DBusMessage*);
+void (*dbus_message_set_serial_dylibloader_wrapper_dbus)( DBusMessage*, dbus_uint32_t);
+dbus_bool_t (*dbus_message_set_reply_serial_dylibloader_wrapper_dbus)( DBusMessage*, dbus_uint32_t);
+dbus_uint32_t (*dbus_message_get_reply_serial_dylibloader_wrapper_dbus)( DBusMessage*);
+void (*dbus_message_set_auto_start_dylibloader_wrapper_dbus)( DBusMessage*, dbus_bool_t);
+dbus_bool_t (*dbus_message_get_auto_start_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_message_get_path_decomposed_dylibloader_wrapper_dbus)( DBusMessage*, char***);
+dbus_bool_t (*dbus_message_append_args_dylibloader_wrapper_dbus)( DBusMessage*, int,...);
+dbus_bool_t (*dbus_message_append_args_valist_dylibloader_wrapper_dbus)( DBusMessage*, int, va_list);
+dbus_bool_t (*dbus_message_get_args_dylibloader_wrapper_dbus)( DBusMessage*, DBusError*, int,...);
+dbus_bool_t (*dbus_message_get_args_valist_dylibloader_wrapper_dbus)( DBusMessage*, DBusError*, int, va_list);
+dbus_bool_t (*dbus_message_contains_unix_fds_dylibloader_wrapper_dbus)( DBusMessage*);
+void (*dbus_message_iter_init_closed_dylibloader_wrapper_dbus)( DBusMessageIter*);
+dbus_bool_t (*dbus_message_iter_init_dylibloader_wrapper_dbus)( DBusMessage*, DBusMessageIter*);
+dbus_bool_t (*dbus_message_iter_has_next_dylibloader_wrapper_dbus)( DBusMessageIter*);
+dbus_bool_t (*dbus_message_iter_next_dylibloader_wrapper_dbus)( DBusMessageIter*);
+char* (*dbus_message_iter_get_signature_dylibloader_wrapper_dbus)( DBusMessageIter*);
+int (*dbus_message_iter_get_arg_type_dylibloader_wrapper_dbus)( DBusMessageIter*);
+int (*dbus_message_iter_get_element_type_dylibloader_wrapper_dbus)( DBusMessageIter*);
+void (*dbus_message_iter_recurse_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+void (*dbus_message_iter_get_basic_dylibloader_wrapper_dbus)( DBusMessageIter*, void*);
+int (*dbus_message_iter_get_element_count_dylibloader_wrapper_dbus)( DBusMessageIter*);
+int (*dbus_message_iter_get_array_len_dylibloader_wrapper_dbus)( DBusMessageIter*);
+void (*dbus_message_iter_get_fixed_array_dylibloader_wrapper_dbus)( DBusMessageIter*, void*, int*);
+void (*dbus_message_iter_init_append_dylibloader_wrapper_dbus)( DBusMessage*, DBusMessageIter*);
+dbus_bool_t (*dbus_message_iter_append_basic_dylibloader_wrapper_dbus)( DBusMessageIter*, int,const void*);
+dbus_bool_t (*dbus_message_iter_append_fixed_array_dylibloader_wrapper_dbus)( DBusMessageIter*, int,const void*, int);
+dbus_bool_t (*dbus_message_iter_open_container_dylibloader_wrapper_dbus)( DBusMessageIter*, int,const char*, DBusMessageIter*);
+dbus_bool_t (*dbus_message_iter_close_container_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+void (*dbus_message_iter_abandon_container_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+void (*dbus_message_iter_abandon_container_if_open_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+void (*dbus_message_lock_dylibloader_wrapper_dbus)( DBusMessage*);
+dbus_bool_t (*dbus_set_error_from_message_dylibloader_wrapper_dbus)( DBusError*, DBusMessage*);
+dbus_bool_t (*dbus_message_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+void (*dbus_message_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+dbus_bool_t (*dbus_message_set_data_dylibloader_wrapper_dbus)( DBusMessage*, dbus_int32_t, void*, DBusFreeFunction);
+void* (*dbus_message_get_data_dylibloader_wrapper_dbus)( DBusMessage*, dbus_int32_t);
+int (*dbus_message_type_from_string_dylibloader_wrapper_dbus)(const char*);
+const char* (*dbus_message_type_to_string_dylibloader_wrapper_dbus)( int);
+dbus_bool_t (*dbus_message_marshal_dylibloader_wrapper_dbus)( DBusMessage*, char**, int*);
+DBusMessage* (*dbus_message_demarshal_dylibloader_wrapper_dbus)(const char*, int, DBusError*);
+int (*dbus_message_demarshal_bytes_needed_dylibloader_wrapper_dbus)(const char*, int);
+void (*dbus_message_set_allow_interactive_authorization_dylibloader_wrapper_dbus)( DBusMessage*, dbus_bool_t);
+dbus_bool_t (*dbus_message_get_allow_interactive_authorization_dylibloader_wrapper_dbus)( DBusMessage*);
+DBusConnection* (*dbus_connection_open_dylibloader_wrapper_dbus)(const char*, DBusError*);
+DBusConnection* (*dbus_connection_open_private_dylibloader_wrapper_dbus)(const char*, DBusError*);
+DBusConnection* (*dbus_connection_ref_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_unref_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_close_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_get_is_connected_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_get_is_authenticated_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_get_is_anonymous_dylibloader_wrapper_dbus)( DBusConnection*);
+char* (*dbus_connection_get_server_id_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_can_send_type_dylibloader_wrapper_dbus)( DBusConnection*, int);
+void (*dbus_connection_set_exit_on_disconnect_dylibloader_wrapper_dbus)( DBusConnection*, dbus_bool_t);
+void (*dbus_connection_flush_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_read_write_dispatch_dylibloader_wrapper_dbus)( DBusConnection*, int);
+dbus_bool_t (*dbus_connection_read_write_dylibloader_wrapper_dbus)( DBusConnection*, int);
+DBusMessage* (*dbus_connection_borrow_message_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_return_message_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*);
+void (*dbus_connection_steal_borrowed_message_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*);
+DBusMessage* (*dbus_connection_pop_message_dylibloader_wrapper_dbus)( DBusConnection*);
+DBusDispatchStatus (*dbus_connection_get_dispatch_status_dylibloader_wrapper_dbus)( DBusConnection*);
+DBusDispatchStatus (*dbus_connection_dispatch_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_has_messages_to_send_dylibloader_wrapper_dbus)( DBusConnection*);
+dbus_bool_t (*dbus_connection_send_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*, dbus_uint32_t*);
+dbus_bool_t (*dbus_connection_send_with_reply_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*, DBusPendingCall**, int);
+DBusMessage* (*dbus_connection_send_with_reply_and_block_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*, int, DBusError*);
+dbus_bool_t (*dbus_connection_set_watch_functions_dylibloader_wrapper_dbus)( DBusConnection*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_connection_set_timeout_functions_dylibloader_wrapper_dbus)( DBusConnection*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction);
+void (*dbus_connection_set_wakeup_main_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusWakeupMainFunction, void*, DBusFreeFunction);
+void (*dbus_connection_set_dispatch_status_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusDispatchStatusFunction, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_connection_get_unix_user_dylibloader_wrapper_dbus)( DBusConnection*, unsigned long*);
+dbus_bool_t (*dbus_connection_get_unix_process_id_dylibloader_wrapper_dbus)( DBusConnection*, unsigned long*);
+dbus_bool_t (*dbus_connection_get_adt_audit_session_data_dylibloader_wrapper_dbus)( DBusConnection*, void**, dbus_int32_t*);
+void (*dbus_connection_set_unix_user_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusAllowUnixUserFunction, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_connection_get_windows_user_dylibloader_wrapper_dbus)( DBusConnection*, char**);
+void (*dbus_connection_set_windows_user_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusAllowWindowsUserFunction, void*, DBusFreeFunction);
+void (*dbus_connection_set_allow_anonymous_dylibloader_wrapper_dbus)( DBusConnection*, dbus_bool_t);
+void (*dbus_connection_set_route_peer_messages_dylibloader_wrapper_dbus)( DBusConnection*, dbus_bool_t);
+dbus_bool_t (*dbus_connection_add_filter_dylibloader_wrapper_dbus)( DBusConnection*, DBusHandleMessageFunction, void*, DBusFreeFunction);
+void (*dbus_connection_remove_filter_dylibloader_wrapper_dbus)( DBusConnection*, DBusHandleMessageFunction, void*);
+dbus_bool_t (*dbus_connection_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+void (*dbus_connection_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+dbus_bool_t (*dbus_connection_set_data_dylibloader_wrapper_dbus)( DBusConnection*, dbus_int32_t, void*, DBusFreeFunction);
+void* (*dbus_connection_get_data_dylibloader_wrapper_dbus)( DBusConnection*, dbus_int32_t);
+void (*dbus_connection_set_change_sigpipe_dylibloader_wrapper_dbus)( dbus_bool_t);
+void (*dbus_connection_set_max_message_size_dylibloader_wrapper_dbus)( DBusConnection*, long);
+long (*dbus_connection_get_max_message_size_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_set_max_received_size_dylibloader_wrapper_dbus)( DBusConnection*, long);
+long (*dbus_connection_get_max_received_size_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_set_max_message_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*, long);
+long (*dbus_connection_get_max_message_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_set_max_received_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*, long);
+long (*dbus_connection_get_max_received_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*);
+long (*dbus_connection_get_outgoing_size_dylibloader_wrapper_dbus)( DBusConnection*);
+long (*dbus_connection_get_outgoing_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*);
+DBusPreallocatedSend* (*dbus_connection_preallocate_send_dylibloader_wrapper_dbus)( DBusConnection*);
+void (*dbus_connection_free_preallocated_send_dylibloader_wrapper_dbus)( DBusConnection*, DBusPreallocatedSend*);
+void (*dbus_connection_send_preallocated_dylibloader_wrapper_dbus)( DBusConnection*, DBusPreallocatedSend*, DBusMessage*, dbus_uint32_t*);
+dbus_bool_t (*dbus_connection_try_register_object_path_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*, DBusError*);
+dbus_bool_t (*dbus_connection_register_object_path_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*);
+dbus_bool_t (*dbus_connection_try_register_fallback_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*, DBusError*);
+dbus_bool_t (*dbus_connection_register_fallback_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*);
+dbus_bool_t (*dbus_connection_unregister_object_path_dylibloader_wrapper_dbus)( DBusConnection*,const char*);
+dbus_bool_t (*dbus_connection_get_object_path_data_dylibloader_wrapper_dbus)( DBusConnection*,const char*, void**);
+dbus_bool_t (*dbus_connection_list_registered_dylibloader_wrapper_dbus)( DBusConnection*,const char*, char***);
+dbus_bool_t (*dbus_connection_get_unix_fd_dylibloader_wrapper_dbus)( DBusConnection*, int*);
+dbus_bool_t (*dbus_connection_get_socket_dylibloader_wrapper_dbus)( DBusConnection*, int*);
+int (*dbus_watch_get_fd_dylibloader_wrapper_dbus)( DBusWatch*);
+int (*dbus_watch_get_unix_fd_dylibloader_wrapper_dbus)( DBusWatch*);
+int (*dbus_watch_get_socket_dylibloader_wrapper_dbus)( DBusWatch*);
+unsigned int (*dbus_watch_get_flags_dylibloader_wrapper_dbus)( DBusWatch*);
+void* (*dbus_watch_get_data_dylibloader_wrapper_dbus)( DBusWatch*);
+void (*dbus_watch_set_data_dylibloader_wrapper_dbus)( DBusWatch*, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_watch_handle_dylibloader_wrapper_dbus)( DBusWatch*, unsigned int);
+dbus_bool_t (*dbus_watch_get_enabled_dylibloader_wrapper_dbus)( DBusWatch*);
+int (*dbus_timeout_get_interval_dylibloader_wrapper_dbus)( DBusTimeout*);
+void* (*dbus_timeout_get_data_dylibloader_wrapper_dbus)( DBusTimeout*);
+void (*dbus_timeout_set_data_dylibloader_wrapper_dbus)( DBusTimeout*, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_timeout_handle_dylibloader_wrapper_dbus)( DBusTimeout*);
+dbus_bool_t (*dbus_timeout_get_enabled_dylibloader_wrapper_dbus)( DBusTimeout*);
+DBusConnection* (*dbus_bus_get_dylibloader_wrapper_dbus)( DBusBusType, DBusError*);
+DBusConnection* (*dbus_bus_get_private_dylibloader_wrapper_dbus)( DBusBusType, DBusError*);
+dbus_bool_t (*dbus_bus_register_dylibloader_wrapper_dbus)( DBusConnection*, DBusError*);
+dbus_bool_t (*dbus_bus_set_unique_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*);
+const char* (*dbus_bus_get_unique_name_dylibloader_wrapper_dbus)( DBusConnection*);
+unsigned long (*dbus_bus_get_unix_user_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+char* (*dbus_bus_get_id_dylibloader_wrapper_dbus)( DBusConnection*, DBusError*);
+int (*dbus_bus_request_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*, unsigned int, DBusError*);
+int (*dbus_bus_release_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+dbus_bool_t (*dbus_bus_name_has_owner_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+dbus_bool_t (*dbus_bus_start_service_by_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*, dbus_uint32_t, dbus_uint32_t*, DBusError*);
+void (*dbus_bus_add_match_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+void (*dbus_bus_remove_match_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+char* (*dbus_get_local_machine_id_dylibloader_wrapper_dbus)( void);
+void (*dbus_get_version_dylibloader_wrapper_dbus)( int*, int*, int*);
+dbus_bool_t (*dbus_setenv_dylibloader_wrapper_dbus)(const char*,const char*);
+char* (*dbus_try_get_local_machine_id_dylibloader_wrapper_dbus)( DBusError*);
+DBusPendingCall* (*dbus_pending_call_ref_dylibloader_wrapper_dbus)( DBusPendingCall*);
+void (*dbus_pending_call_unref_dylibloader_wrapper_dbus)( DBusPendingCall*);
+dbus_bool_t (*dbus_pending_call_set_notify_dylibloader_wrapper_dbus)( DBusPendingCall*, DBusPendingCallNotifyFunction, void*, DBusFreeFunction);
+void (*dbus_pending_call_cancel_dylibloader_wrapper_dbus)( DBusPendingCall*);
+dbus_bool_t (*dbus_pending_call_get_completed_dylibloader_wrapper_dbus)( DBusPendingCall*);
+DBusMessage* (*dbus_pending_call_steal_reply_dylibloader_wrapper_dbus)( DBusPendingCall*);
+void (*dbus_pending_call_block_dylibloader_wrapper_dbus)( DBusPendingCall*);
+dbus_bool_t (*dbus_pending_call_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+void (*dbus_pending_call_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+dbus_bool_t (*dbus_pending_call_set_data_dylibloader_wrapper_dbus)( DBusPendingCall*, dbus_int32_t, void*, DBusFreeFunction);
+void* (*dbus_pending_call_get_data_dylibloader_wrapper_dbus)( DBusPendingCall*, dbus_int32_t);
+DBusServer* (*dbus_server_listen_dylibloader_wrapper_dbus)(const char*, DBusError*);
+DBusServer* (*dbus_server_ref_dylibloader_wrapper_dbus)( DBusServer*);
+void (*dbus_server_unref_dylibloader_wrapper_dbus)( DBusServer*);
+void (*dbus_server_disconnect_dylibloader_wrapper_dbus)( DBusServer*);
+dbus_bool_t (*dbus_server_get_is_connected_dylibloader_wrapper_dbus)( DBusServer*);
+char* (*dbus_server_get_address_dylibloader_wrapper_dbus)( DBusServer*);
+char* (*dbus_server_get_id_dylibloader_wrapper_dbus)( DBusServer*);
+void (*dbus_server_set_new_connection_function_dylibloader_wrapper_dbus)( DBusServer*, DBusNewConnectionFunction, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_server_set_watch_functions_dylibloader_wrapper_dbus)( DBusServer*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_server_set_timeout_functions_dylibloader_wrapper_dbus)( DBusServer*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction);
+dbus_bool_t (*dbus_server_set_auth_mechanisms_dylibloader_wrapper_dbus)( DBusServer*,const char**);
+dbus_bool_t (*dbus_server_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+void (*dbus_server_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+dbus_bool_t (*dbus_server_set_data_dylibloader_wrapper_dbus)( DBusServer*, int, void*, DBusFreeFunction);
+void* (*dbus_server_get_data_dylibloader_wrapper_dbus)( DBusServer*, int);
+void (*dbus_signature_iter_init_dylibloader_wrapper_dbus)( DBusSignatureIter*,const char*);
+int (*dbus_signature_iter_get_current_type_dylibloader_wrapper_dbus)(const DBusSignatureIter*);
+char* (*dbus_signature_iter_get_signature_dylibloader_wrapper_dbus)(const DBusSignatureIter*);
+int (*dbus_signature_iter_get_element_type_dylibloader_wrapper_dbus)(const DBusSignatureIter*);
+dbus_bool_t (*dbus_signature_iter_next_dylibloader_wrapper_dbus)( DBusSignatureIter*);
+void (*dbus_signature_iter_recurse_dylibloader_wrapper_dbus)(const DBusSignatureIter*, DBusSignatureIter*);
+dbus_bool_t (*dbus_signature_validate_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_signature_validate_single_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_type_is_valid_dylibloader_wrapper_dbus)( int);
+dbus_bool_t (*dbus_type_is_basic_dylibloader_wrapper_dbus)( int);
+dbus_bool_t (*dbus_type_is_container_dylibloader_wrapper_dbus)( int);
+dbus_bool_t (*dbus_type_is_fixed_dylibloader_wrapper_dbus)( int);
+dbus_bool_t (*dbus_validate_path_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_validate_interface_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_validate_member_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_validate_error_name_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_validate_bus_name_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_validate_utf8_dylibloader_wrapper_dbus)(const char*, DBusError*);
+dbus_bool_t (*dbus_threads_init_dylibloader_wrapper_dbus)(const DBusThreadFunctions*);
+dbus_bool_t (*dbus_threads_init_default_dylibloader_wrapper_dbus)( void);
+int initialize_dbus(int verbose) {
+ void *handle;
+ char *error;
+ handle = dlopen("libdbus-1.so", RTLD_LAZY);
+ if (!handle) {
+ if (verbose) {
+ fprintf(stderr, "%s\n", dlerror());
+ }
+ return(1);
+ }
+ dlerror();
+// dbus_error_init
+ *(void **) (&dbus_error_init_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_error_init");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_error_free
+ *(void **) (&dbus_error_free_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_error_free");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_set_error
+ *(void **) (&dbus_set_error_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_set_error");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_set_error_const
+ *(void **) (&dbus_set_error_const_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_set_error_const");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_move_error
+ *(void **) (&dbus_move_error_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_move_error");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_error_has_name
+ *(void **) (&dbus_error_has_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_error_has_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_error_is_set
+ *(void **) (&dbus_error_is_set_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_error_is_set");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_parse_address
+ *(void **) (&dbus_parse_address_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_parse_address");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_address_entry_get_value
+ *(void **) (&dbus_address_entry_get_value_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_address_entry_get_value");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_address_entry_get_method
+ *(void **) (&dbus_address_entry_get_method_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_address_entry_get_method");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_address_entries_free
+ *(void **) (&dbus_address_entries_free_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_address_entries_free");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_address_escape_value
+ *(void **) (&dbus_address_escape_value_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_address_escape_value");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_address_unescape_value
+ *(void **) (&dbus_address_unescape_value_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_address_unescape_value");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_malloc
+ *(void **) (&dbus_malloc_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_malloc");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_malloc0
+ *(void **) (&dbus_malloc0_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_malloc0");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_realloc
+ *(void **) (&dbus_realloc_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_realloc");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_free
+ *(void **) (&dbus_free_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_free");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_free_string_array
+ *(void **) (&dbus_free_string_array_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_free_string_array");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_shutdown
+ *(void **) (&dbus_shutdown_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_shutdown");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_new
+ *(void **) (&dbus_message_new_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_new");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_new_method_call
+ *(void **) (&dbus_message_new_method_call_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_new_method_call");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_new_method_return
+ *(void **) (&dbus_message_new_method_return_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_new_method_return");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_new_signal
+ *(void **) (&dbus_message_new_signal_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_new_signal");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_new_error
+ *(void **) (&dbus_message_new_error_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_new_error");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_new_error_printf
+ *(void **) (&dbus_message_new_error_printf_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_new_error_printf");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_copy
+ *(void **) (&dbus_message_copy_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_copy");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_ref
+ *(void **) (&dbus_message_ref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_ref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_unref
+ *(void **) (&dbus_message_unref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_unref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_type
+ *(void **) (&dbus_message_get_type_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_type");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_path
+ *(void **) (&dbus_message_set_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_path
+ *(void **) (&dbus_message_get_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_has_path
+ *(void **) (&dbus_message_has_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_has_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_interface
+ *(void **) (&dbus_message_set_interface_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_interface");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_interface
+ *(void **) (&dbus_message_get_interface_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_interface");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_has_interface
+ *(void **) (&dbus_message_has_interface_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_has_interface");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_member
+ *(void **) (&dbus_message_set_member_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_member");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_member
+ *(void **) (&dbus_message_get_member_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_member");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_has_member
+ *(void **) (&dbus_message_has_member_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_has_member");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_error_name
+ *(void **) (&dbus_message_set_error_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_error_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_error_name
+ *(void **) (&dbus_message_get_error_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_error_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_destination
+ *(void **) (&dbus_message_set_destination_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_destination");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_destination
+ *(void **) (&dbus_message_get_destination_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_destination");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_sender
+ *(void **) (&dbus_message_set_sender_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_sender");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_sender
+ *(void **) (&dbus_message_get_sender_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_sender");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_signature
+ *(void **) (&dbus_message_get_signature_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_signature");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_no_reply
+ *(void **) (&dbus_message_set_no_reply_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_no_reply");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_no_reply
+ *(void **) (&dbus_message_get_no_reply_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_no_reply");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_is_method_call
+ *(void **) (&dbus_message_is_method_call_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_is_method_call");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_is_signal
+ *(void **) (&dbus_message_is_signal_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_is_signal");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_is_error
+ *(void **) (&dbus_message_is_error_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_is_error");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_has_destination
+ *(void **) (&dbus_message_has_destination_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_has_destination");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_has_sender
+ *(void **) (&dbus_message_has_sender_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_has_sender");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_has_signature
+ *(void **) (&dbus_message_has_signature_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_has_signature");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_serial
+ *(void **) (&dbus_message_get_serial_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_serial");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_serial
+ *(void **) (&dbus_message_set_serial_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_serial");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_reply_serial
+ *(void **) (&dbus_message_set_reply_serial_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_reply_serial");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_reply_serial
+ *(void **) (&dbus_message_get_reply_serial_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_reply_serial");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_auto_start
+ *(void **) (&dbus_message_set_auto_start_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_auto_start");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_auto_start
+ *(void **) (&dbus_message_get_auto_start_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_auto_start");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_path_decomposed
+ *(void **) (&dbus_message_get_path_decomposed_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_path_decomposed");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_append_args
+ *(void **) (&dbus_message_append_args_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_append_args");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_append_args_valist
+ *(void **) (&dbus_message_append_args_valist_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_append_args_valist");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_args
+ *(void **) (&dbus_message_get_args_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_args");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_args_valist
+ *(void **) (&dbus_message_get_args_valist_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_args_valist");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_contains_unix_fds
+ *(void **) (&dbus_message_contains_unix_fds_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_contains_unix_fds");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_init_closed
+ *(void **) (&dbus_message_iter_init_closed_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_init_closed");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_init
+ *(void **) (&dbus_message_iter_init_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_init");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_has_next
+ *(void **) (&dbus_message_iter_has_next_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_has_next");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_next
+ *(void **) (&dbus_message_iter_next_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_next");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_signature
+ *(void **) (&dbus_message_iter_get_signature_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_signature");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_arg_type
+ *(void **) (&dbus_message_iter_get_arg_type_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_arg_type");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_element_type
+ *(void **) (&dbus_message_iter_get_element_type_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_element_type");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_recurse
+ *(void **) (&dbus_message_iter_recurse_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_recurse");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_basic
+ *(void **) (&dbus_message_iter_get_basic_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_basic");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_element_count
+ *(void **) (&dbus_message_iter_get_element_count_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_element_count");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_array_len
+ *(void **) (&dbus_message_iter_get_array_len_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_array_len");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_get_fixed_array
+ *(void **) (&dbus_message_iter_get_fixed_array_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_get_fixed_array");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_init_append
+ *(void **) (&dbus_message_iter_init_append_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_init_append");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_append_basic
+ *(void **) (&dbus_message_iter_append_basic_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_append_basic");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_append_fixed_array
+ *(void **) (&dbus_message_iter_append_fixed_array_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_append_fixed_array");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_open_container
+ *(void **) (&dbus_message_iter_open_container_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_open_container");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_close_container
+ *(void **) (&dbus_message_iter_close_container_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_close_container");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_abandon_container
+ *(void **) (&dbus_message_iter_abandon_container_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_abandon_container");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_iter_abandon_container_if_open
+ *(void **) (&dbus_message_iter_abandon_container_if_open_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_iter_abandon_container_if_open");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_lock
+ *(void **) (&dbus_message_lock_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_lock");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_set_error_from_message
+ *(void **) (&dbus_set_error_from_message_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_set_error_from_message");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_allocate_data_slot
+ *(void **) (&dbus_message_allocate_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_allocate_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_free_data_slot
+ *(void **) (&dbus_message_free_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_free_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_data
+ *(void **) (&dbus_message_set_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_data
+ *(void **) (&dbus_message_get_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_type_from_string
+ *(void **) (&dbus_message_type_from_string_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_type_from_string");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_type_to_string
+ *(void **) (&dbus_message_type_to_string_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_type_to_string");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_marshal
+ *(void **) (&dbus_message_marshal_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_marshal");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_demarshal
+ *(void **) (&dbus_message_demarshal_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_demarshal");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_demarshal_bytes_needed
+ *(void **) (&dbus_message_demarshal_bytes_needed_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_demarshal_bytes_needed");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_set_allow_interactive_authorization
+ *(void **) (&dbus_message_set_allow_interactive_authorization_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_set_allow_interactive_authorization");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_message_get_allow_interactive_authorization
+ *(void **) (&dbus_message_get_allow_interactive_authorization_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_message_get_allow_interactive_authorization");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_open
+ *(void **) (&dbus_connection_open_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_open");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_open_private
+ *(void **) (&dbus_connection_open_private_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_open_private");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_ref
+ *(void **) (&dbus_connection_ref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_ref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_unref
+ *(void **) (&dbus_connection_unref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_unref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_close
+ *(void **) (&dbus_connection_close_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_close");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_is_connected
+ *(void **) (&dbus_connection_get_is_connected_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_is_connected");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_is_authenticated
+ *(void **) (&dbus_connection_get_is_authenticated_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_is_authenticated");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_is_anonymous
+ *(void **) (&dbus_connection_get_is_anonymous_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_is_anonymous");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_server_id
+ *(void **) (&dbus_connection_get_server_id_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_server_id");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_can_send_type
+ *(void **) (&dbus_connection_can_send_type_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_can_send_type");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_exit_on_disconnect
+ *(void **) (&dbus_connection_set_exit_on_disconnect_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_exit_on_disconnect");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_flush
+ *(void **) (&dbus_connection_flush_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_flush");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_read_write_dispatch
+ *(void **) (&dbus_connection_read_write_dispatch_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_read_write_dispatch");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_read_write
+ *(void **) (&dbus_connection_read_write_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_read_write");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_borrow_message
+ *(void **) (&dbus_connection_borrow_message_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_borrow_message");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_return_message
+ *(void **) (&dbus_connection_return_message_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_return_message");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_steal_borrowed_message
+ *(void **) (&dbus_connection_steal_borrowed_message_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_steal_borrowed_message");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_pop_message
+ *(void **) (&dbus_connection_pop_message_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_pop_message");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_dispatch_status
+ *(void **) (&dbus_connection_get_dispatch_status_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_dispatch_status");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_dispatch
+ *(void **) (&dbus_connection_dispatch_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_dispatch");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_has_messages_to_send
+ *(void **) (&dbus_connection_has_messages_to_send_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_has_messages_to_send");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_send
+ *(void **) (&dbus_connection_send_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_send");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_send_with_reply
+ *(void **) (&dbus_connection_send_with_reply_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_send_with_reply");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_send_with_reply_and_block
+ *(void **) (&dbus_connection_send_with_reply_and_block_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_send_with_reply_and_block");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_watch_functions
+ *(void **) (&dbus_connection_set_watch_functions_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_watch_functions");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_timeout_functions
+ *(void **) (&dbus_connection_set_timeout_functions_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_timeout_functions");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_wakeup_main_function
+ *(void **) (&dbus_connection_set_wakeup_main_function_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_wakeup_main_function");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_dispatch_status_function
+ *(void **) (&dbus_connection_set_dispatch_status_function_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_dispatch_status_function");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_unix_user
+ *(void **) (&dbus_connection_get_unix_user_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_unix_user");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_unix_process_id
+ *(void **) (&dbus_connection_get_unix_process_id_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_unix_process_id");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_adt_audit_session_data
+ *(void **) (&dbus_connection_get_adt_audit_session_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_adt_audit_session_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_unix_user_function
+ *(void **) (&dbus_connection_set_unix_user_function_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_unix_user_function");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_windows_user
+ *(void **) (&dbus_connection_get_windows_user_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_windows_user");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_windows_user_function
+ *(void **) (&dbus_connection_set_windows_user_function_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_windows_user_function");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_allow_anonymous
+ *(void **) (&dbus_connection_set_allow_anonymous_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_allow_anonymous");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_route_peer_messages
+ *(void **) (&dbus_connection_set_route_peer_messages_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_route_peer_messages");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_add_filter
+ *(void **) (&dbus_connection_add_filter_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_add_filter");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_remove_filter
+ *(void **) (&dbus_connection_remove_filter_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_remove_filter");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_allocate_data_slot
+ *(void **) (&dbus_connection_allocate_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_allocate_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_free_data_slot
+ *(void **) (&dbus_connection_free_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_free_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_data
+ *(void **) (&dbus_connection_set_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_data
+ *(void **) (&dbus_connection_get_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_change_sigpipe
+ *(void **) (&dbus_connection_set_change_sigpipe_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_change_sigpipe");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_max_message_size
+ *(void **) (&dbus_connection_set_max_message_size_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_max_message_size");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_max_message_size
+ *(void **) (&dbus_connection_get_max_message_size_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_max_message_size");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_max_received_size
+ *(void **) (&dbus_connection_set_max_received_size_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_max_received_size");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_max_received_size
+ *(void **) (&dbus_connection_get_max_received_size_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_max_received_size");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_max_message_unix_fds
+ *(void **) (&dbus_connection_set_max_message_unix_fds_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_max_message_unix_fds");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_max_message_unix_fds
+ *(void **) (&dbus_connection_get_max_message_unix_fds_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_max_message_unix_fds");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_set_max_received_unix_fds
+ *(void **) (&dbus_connection_set_max_received_unix_fds_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_set_max_received_unix_fds");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_max_received_unix_fds
+ *(void **) (&dbus_connection_get_max_received_unix_fds_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_max_received_unix_fds");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_outgoing_size
+ *(void **) (&dbus_connection_get_outgoing_size_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_outgoing_size");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_outgoing_unix_fds
+ *(void **) (&dbus_connection_get_outgoing_unix_fds_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_outgoing_unix_fds");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_preallocate_send
+ *(void **) (&dbus_connection_preallocate_send_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_preallocate_send");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_free_preallocated_send
+ *(void **) (&dbus_connection_free_preallocated_send_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_free_preallocated_send");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_send_preallocated
+ *(void **) (&dbus_connection_send_preallocated_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_send_preallocated");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_try_register_object_path
+ *(void **) (&dbus_connection_try_register_object_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_try_register_object_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_register_object_path
+ *(void **) (&dbus_connection_register_object_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_register_object_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_try_register_fallback
+ *(void **) (&dbus_connection_try_register_fallback_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_try_register_fallback");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_register_fallback
+ *(void **) (&dbus_connection_register_fallback_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_register_fallback");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_unregister_object_path
+ *(void **) (&dbus_connection_unregister_object_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_unregister_object_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_object_path_data
+ *(void **) (&dbus_connection_get_object_path_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_object_path_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_list_registered
+ *(void **) (&dbus_connection_list_registered_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_list_registered");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_unix_fd
+ *(void **) (&dbus_connection_get_unix_fd_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_unix_fd");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_connection_get_socket
+ *(void **) (&dbus_connection_get_socket_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_connection_get_socket");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_get_fd
+ *(void **) (&dbus_watch_get_fd_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_get_fd");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_get_unix_fd
+ *(void **) (&dbus_watch_get_unix_fd_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_get_unix_fd");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_get_socket
+ *(void **) (&dbus_watch_get_socket_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_get_socket");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_get_flags
+ *(void **) (&dbus_watch_get_flags_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_get_flags");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_get_data
+ *(void **) (&dbus_watch_get_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_get_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_set_data
+ *(void **) (&dbus_watch_set_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_set_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_handle
+ *(void **) (&dbus_watch_handle_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_handle");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_watch_get_enabled
+ *(void **) (&dbus_watch_get_enabled_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_watch_get_enabled");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_timeout_get_interval
+ *(void **) (&dbus_timeout_get_interval_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_timeout_get_interval");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_timeout_get_data
+ *(void **) (&dbus_timeout_get_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_timeout_get_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_timeout_set_data
+ *(void **) (&dbus_timeout_set_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_timeout_set_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_timeout_handle
+ *(void **) (&dbus_timeout_handle_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_timeout_handle");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_timeout_get_enabled
+ *(void **) (&dbus_timeout_get_enabled_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_timeout_get_enabled");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_get
+ *(void **) (&dbus_bus_get_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_get");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_get_private
+ *(void **) (&dbus_bus_get_private_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_get_private");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_register
+ *(void **) (&dbus_bus_register_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_register");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_set_unique_name
+ *(void **) (&dbus_bus_set_unique_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_set_unique_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_get_unique_name
+ *(void **) (&dbus_bus_get_unique_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_get_unique_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_get_unix_user
+ *(void **) (&dbus_bus_get_unix_user_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_get_unix_user");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_get_id
+ *(void **) (&dbus_bus_get_id_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_get_id");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_request_name
+ *(void **) (&dbus_bus_request_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_request_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_release_name
+ *(void **) (&dbus_bus_release_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_release_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_name_has_owner
+ *(void **) (&dbus_bus_name_has_owner_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_name_has_owner");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_start_service_by_name
+ *(void **) (&dbus_bus_start_service_by_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_start_service_by_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_add_match
+ *(void **) (&dbus_bus_add_match_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_add_match");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_bus_remove_match
+ *(void **) (&dbus_bus_remove_match_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_bus_remove_match");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_get_local_machine_id
+ *(void **) (&dbus_get_local_machine_id_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_get_local_machine_id");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_get_version
+ *(void **) (&dbus_get_version_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_get_version");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_setenv
+ *(void **) (&dbus_setenv_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_setenv");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_try_get_local_machine_id
+ *(void **) (&dbus_try_get_local_machine_id_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_try_get_local_machine_id");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_ref
+ *(void **) (&dbus_pending_call_ref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_ref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_unref
+ *(void **) (&dbus_pending_call_unref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_unref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_set_notify
+ *(void **) (&dbus_pending_call_set_notify_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_set_notify");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_cancel
+ *(void **) (&dbus_pending_call_cancel_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_cancel");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_get_completed
+ *(void **) (&dbus_pending_call_get_completed_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_get_completed");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_steal_reply
+ *(void **) (&dbus_pending_call_steal_reply_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_steal_reply");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_block
+ *(void **) (&dbus_pending_call_block_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_block");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_allocate_data_slot
+ *(void **) (&dbus_pending_call_allocate_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_allocate_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_free_data_slot
+ *(void **) (&dbus_pending_call_free_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_free_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_set_data
+ *(void **) (&dbus_pending_call_set_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_set_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_pending_call_get_data
+ *(void **) (&dbus_pending_call_get_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_pending_call_get_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_listen
+ *(void **) (&dbus_server_listen_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_listen");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_ref
+ *(void **) (&dbus_server_ref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_ref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_unref
+ *(void **) (&dbus_server_unref_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_unref");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_disconnect
+ *(void **) (&dbus_server_disconnect_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_disconnect");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_get_is_connected
+ *(void **) (&dbus_server_get_is_connected_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_get_is_connected");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_get_address
+ *(void **) (&dbus_server_get_address_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_get_address");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_get_id
+ *(void **) (&dbus_server_get_id_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_get_id");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_set_new_connection_function
+ *(void **) (&dbus_server_set_new_connection_function_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_set_new_connection_function");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_set_watch_functions
+ *(void **) (&dbus_server_set_watch_functions_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_set_watch_functions");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_set_timeout_functions
+ *(void **) (&dbus_server_set_timeout_functions_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_set_timeout_functions");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_set_auth_mechanisms
+ *(void **) (&dbus_server_set_auth_mechanisms_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_set_auth_mechanisms");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_allocate_data_slot
+ *(void **) (&dbus_server_allocate_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_allocate_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_free_data_slot
+ *(void **) (&dbus_server_free_data_slot_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_free_data_slot");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_set_data
+ *(void **) (&dbus_server_set_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_set_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_server_get_data
+ *(void **) (&dbus_server_get_data_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_server_get_data");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_iter_init
+ *(void **) (&dbus_signature_iter_init_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_iter_init");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_iter_get_current_type
+ *(void **) (&dbus_signature_iter_get_current_type_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_iter_get_current_type");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_iter_get_signature
+ *(void **) (&dbus_signature_iter_get_signature_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_iter_get_signature");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_iter_get_element_type
+ *(void **) (&dbus_signature_iter_get_element_type_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_iter_get_element_type");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_iter_next
+ *(void **) (&dbus_signature_iter_next_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_iter_next");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_iter_recurse
+ *(void **) (&dbus_signature_iter_recurse_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_iter_recurse");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_validate
+ *(void **) (&dbus_signature_validate_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_validate");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_signature_validate_single
+ *(void **) (&dbus_signature_validate_single_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_signature_validate_single");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_type_is_valid
+ *(void **) (&dbus_type_is_valid_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_type_is_valid");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_type_is_basic
+ *(void **) (&dbus_type_is_basic_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_type_is_basic");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_type_is_container
+ *(void **) (&dbus_type_is_container_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_type_is_container");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_type_is_fixed
+ *(void **) (&dbus_type_is_fixed_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_type_is_fixed");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_validate_path
+ *(void **) (&dbus_validate_path_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_validate_path");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_validate_interface
+ *(void **) (&dbus_validate_interface_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_validate_interface");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_validate_member
+ *(void **) (&dbus_validate_member_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_validate_member");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_validate_error_name
+ *(void **) (&dbus_validate_error_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_validate_error_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_validate_bus_name
+ *(void **) (&dbus_validate_bus_name_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_validate_bus_name");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_validate_utf8
+ *(void **) (&dbus_validate_utf8_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_validate_utf8");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_threads_init
+ *(void **) (&dbus_threads_init_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_threads_init");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+// dbus_threads_init_default
+ *(void **) (&dbus_threads_init_default_dylibloader_wrapper_dbus) = dlsym(handle, "dbus_threads_init_default");
+ if (verbose) {
+ error = dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "%s\n", error);
+ }
+ }
+return 0;
+}
diff --git a/platform/linuxbsd/dbus-so_wrap.h b/platform/linuxbsd/dbus-so_wrap.h
new file mode 100644
index 0000000000..52e1dd300c
--- /dev/null
+++ b/platform/linuxbsd/dbus-so_wrap.h
@@ -0,0 +1,970 @@
+#ifndef DYLIBLOAD_WRAPPER_DBUS
+#define DYLIBLOAD_WRAPPER_DBUS
+// This file is generated. Do not edit!
+// see https://github.com/hpvb/dynload-wrapper for details
+// generated by ./generate-wrapper.py 0.3 on 2022-07-29 07:23:21
+// flags: ./generate-wrapper.py --include /usr/include/dbus-1.0/dbus/dbus.h --sys-include <dbus/dbus.h> --soname libdbus-1.so --init-name dbus --output-header dbus-so_wrap.h --output-implementation dbus-so_wrap.c
+//
+#include <stdint.h>
+
+#define dbus_error_init dbus_error_init_dylibloader_orig_dbus
+#define dbus_error_free dbus_error_free_dylibloader_orig_dbus
+#define dbus_set_error dbus_set_error_dylibloader_orig_dbus
+#define dbus_set_error_const dbus_set_error_const_dylibloader_orig_dbus
+#define dbus_move_error dbus_move_error_dylibloader_orig_dbus
+#define dbus_error_has_name dbus_error_has_name_dylibloader_orig_dbus
+#define dbus_error_is_set dbus_error_is_set_dylibloader_orig_dbus
+#define dbus_parse_address dbus_parse_address_dylibloader_orig_dbus
+#define dbus_address_entry_get_value dbus_address_entry_get_value_dylibloader_orig_dbus
+#define dbus_address_entry_get_method dbus_address_entry_get_method_dylibloader_orig_dbus
+#define dbus_address_entries_free dbus_address_entries_free_dylibloader_orig_dbus
+#define dbus_address_escape_value dbus_address_escape_value_dylibloader_orig_dbus
+#define dbus_address_unescape_value dbus_address_unescape_value_dylibloader_orig_dbus
+#define dbus_malloc dbus_malloc_dylibloader_orig_dbus
+#define dbus_malloc0 dbus_malloc0_dylibloader_orig_dbus
+#define dbus_realloc dbus_realloc_dylibloader_orig_dbus
+#define dbus_free dbus_free_dylibloader_orig_dbus
+#define dbus_free_string_array dbus_free_string_array_dylibloader_orig_dbus
+#define dbus_shutdown dbus_shutdown_dylibloader_orig_dbus
+#define dbus_message_new dbus_message_new_dylibloader_orig_dbus
+#define dbus_message_new_method_call dbus_message_new_method_call_dylibloader_orig_dbus
+#define dbus_message_new_method_return dbus_message_new_method_return_dylibloader_orig_dbus
+#define dbus_message_new_signal dbus_message_new_signal_dylibloader_orig_dbus
+#define dbus_message_new_error dbus_message_new_error_dylibloader_orig_dbus
+#define dbus_message_new_error_printf dbus_message_new_error_printf_dylibloader_orig_dbus
+#define dbus_message_copy dbus_message_copy_dylibloader_orig_dbus
+#define dbus_message_ref dbus_message_ref_dylibloader_orig_dbus
+#define dbus_message_unref dbus_message_unref_dylibloader_orig_dbus
+#define dbus_message_get_type dbus_message_get_type_dylibloader_orig_dbus
+#define dbus_message_set_path dbus_message_set_path_dylibloader_orig_dbus
+#define dbus_message_get_path dbus_message_get_path_dylibloader_orig_dbus
+#define dbus_message_has_path dbus_message_has_path_dylibloader_orig_dbus
+#define dbus_message_set_interface dbus_message_set_interface_dylibloader_orig_dbus
+#define dbus_message_get_interface dbus_message_get_interface_dylibloader_orig_dbus
+#define dbus_message_has_interface dbus_message_has_interface_dylibloader_orig_dbus
+#define dbus_message_set_member dbus_message_set_member_dylibloader_orig_dbus
+#define dbus_message_get_member dbus_message_get_member_dylibloader_orig_dbus
+#define dbus_message_has_member dbus_message_has_member_dylibloader_orig_dbus
+#define dbus_message_set_error_name dbus_message_set_error_name_dylibloader_orig_dbus
+#define dbus_message_get_error_name dbus_message_get_error_name_dylibloader_orig_dbus
+#define dbus_message_set_destination dbus_message_set_destination_dylibloader_orig_dbus
+#define dbus_message_get_destination dbus_message_get_destination_dylibloader_orig_dbus
+#define dbus_message_set_sender dbus_message_set_sender_dylibloader_orig_dbus
+#define dbus_message_get_sender dbus_message_get_sender_dylibloader_orig_dbus
+#define dbus_message_get_signature dbus_message_get_signature_dylibloader_orig_dbus
+#define dbus_message_set_no_reply dbus_message_set_no_reply_dylibloader_orig_dbus
+#define dbus_message_get_no_reply dbus_message_get_no_reply_dylibloader_orig_dbus
+#define dbus_message_is_method_call dbus_message_is_method_call_dylibloader_orig_dbus
+#define dbus_message_is_signal dbus_message_is_signal_dylibloader_orig_dbus
+#define dbus_message_is_error dbus_message_is_error_dylibloader_orig_dbus
+#define dbus_message_has_destination dbus_message_has_destination_dylibloader_orig_dbus
+#define dbus_message_has_sender dbus_message_has_sender_dylibloader_orig_dbus
+#define dbus_message_has_signature dbus_message_has_signature_dylibloader_orig_dbus
+#define dbus_message_get_serial dbus_message_get_serial_dylibloader_orig_dbus
+#define dbus_message_set_serial dbus_message_set_serial_dylibloader_orig_dbus
+#define dbus_message_set_reply_serial dbus_message_set_reply_serial_dylibloader_orig_dbus
+#define dbus_message_get_reply_serial dbus_message_get_reply_serial_dylibloader_orig_dbus
+#define dbus_message_set_auto_start dbus_message_set_auto_start_dylibloader_orig_dbus
+#define dbus_message_get_auto_start dbus_message_get_auto_start_dylibloader_orig_dbus
+#define dbus_message_get_path_decomposed dbus_message_get_path_decomposed_dylibloader_orig_dbus
+#define dbus_message_append_args dbus_message_append_args_dylibloader_orig_dbus
+#define dbus_message_append_args_valist dbus_message_append_args_valist_dylibloader_orig_dbus
+#define dbus_message_get_args dbus_message_get_args_dylibloader_orig_dbus
+#define dbus_message_get_args_valist dbus_message_get_args_valist_dylibloader_orig_dbus
+#define dbus_message_contains_unix_fds dbus_message_contains_unix_fds_dylibloader_orig_dbus
+#define dbus_message_iter_init_closed dbus_message_iter_init_closed_dylibloader_orig_dbus
+#define dbus_message_iter_init dbus_message_iter_init_dylibloader_orig_dbus
+#define dbus_message_iter_has_next dbus_message_iter_has_next_dylibloader_orig_dbus
+#define dbus_message_iter_next dbus_message_iter_next_dylibloader_orig_dbus
+#define dbus_message_iter_get_signature dbus_message_iter_get_signature_dylibloader_orig_dbus
+#define dbus_message_iter_get_arg_type dbus_message_iter_get_arg_type_dylibloader_orig_dbus
+#define dbus_message_iter_get_element_type dbus_message_iter_get_element_type_dylibloader_orig_dbus
+#define dbus_message_iter_recurse dbus_message_iter_recurse_dylibloader_orig_dbus
+#define dbus_message_iter_get_basic dbus_message_iter_get_basic_dylibloader_orig_dbus
+#define dbus_message_iter_get_element_count dbus_message_iter_get_element_count_dylibloader_orig_dbus
+#define dbus_message_iter_get_array_len dbus_message_iter_get_array_len_dylibloader_orig_dbus
+#define dbus_message_iter_get_fixed_array dbus_message_iter_get_fixed_array_dylibloader_orig_dbus
+#define dbus_message_iter_init_append dbus_message_iter_init_append_dylibloader_orig_dbus
+#define dbus_message_iter_append_basic dbus_message_iter_append_basic_dylibloader_orig_dbus
+#define dbus_message_iter_append_fixed_array dbus_message_iter_append_fixed_array_dylibloader_orig_dbus
+#define dbus_message_iter_open_container dbus_message_iter_open_container_dylibloader_orig_dbus
+#define dbus_message_iter_close_container dbus_message_iter_close_container_dylibloader_orig_dbus
+#define dbus_message_iter_abandon_container dbus_message_iter_abandon_container_dylibloader_orig_dbus
+#define dbus_message_iter_abandon_container_if_open dbus_message_iter_abandon_container_if_open_dylibloader_orig_dbus
+#define dbus_message_lock dbus_message_lock_dylibloader_orig_dbus
+#define dbus_set_error_from_message dbus_set_error_from_message_dylibloader_orig_dbus
+#define dbus_message_allocate_data_slot dbus_message_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_message_free_data_slot dbus_message_free_data_slot_dylibloader_orig_dbus
+#define dbus_message_set_data dbus_message_set_data_dylibloader_orig_dbus
+#define dbus_message_get_data dbus_message_get_data_dylibloader_orig_dbus
+#define dbus_message_type_from_string dbus_message_type_from_string_dylibloader_orig_dbus
+#define dbus_message_type_to_string dbus_message_type_to_string_dylibloader_orig_dbus
+#define dbus_message_marshal dbus_message_marshal_dylibloader_orig_dbus
+#define dbus_message_demarshal dbus_message_demarshal_dylibloader_orig_dbus
+#define dbus_message_demarshal_bytes_needed dbus_message_demarshal_bytes_needed_dylibloader_orig_dbus
+#define dbus_message_set_allow_interactive_authorization dbus_message_set_allow_interactive_authorization_dylibloader_orig_dbus
+#define dbus_message_get_allow_interactive_authorization dbus_message_get_allow_interactive_authorization_dylibloader_orig_dbus
+#define dbus_connection_open dbus_connection_open_dylibloader_orig_dbus
+#define dbus_connection_open_private dbus_connection_open_private_dylibloader_orig_dbus
+#define dbus_connection_ref dbus_connection_ref_dylibloader_orig_dbus
+#define dbus_connection_unref dbus_connection_unref_dylibloader_orig_dbus
+#define dbus_connection_close dbus_connection_close_dylibloader_orig_dbus
+#define dbus_connection_get_is_connected dbus_connection_get_is_connected_dylibloader_orig_dbus
+#define dbus_connection_get_is_authenticated dbus_connection_get_is_authenticated_dylibloader_orig_dbus
+#define dbus_connection_get_is_anonymous dbus_connection_get_is_anonymous_dylibloader_orig_dbus
+#define dbus_connection_get_server_id dbus_connection_get_server_id_dylibloader_orig_dbus
+#define dbus_connection_can_send_type dbus_connection_can_send_type_dylibloader_orig_dbus
+#define dbus_connection_set_exit_on_disconnect dbus_connection_set_exit_on_disconnect_dylibloader_orig_dbus
+#define dbus_connection_flush dbus_connection_flush_dylibloader_orig_dbus
+#define dbus_connection_read_write_dispatch dbus_connection_read_write_dispatch_dylibloader_orig_dbus
+#define dbus_connection_read_write dbus_connection_read_write_dylibloader_orig_dbus
+#define dbus_connection_borrow_message dbus_connection_borrow_message_dylibloader_orig_dbus
+#define dbus_connection_return_message dbus_connection_return_message_dylibloader_orig_dbus
+#define dbus_connection_steal_borrowed_message dbus_connection_steal_borrowed_message_dylibloader_orig_dbus
+#define dbus_connection_pop_message dbus_connection_pop_message_dylibloader_orig_dbus
+#define dbus_connection_get_dispatch_status dbus_connection_get_dispatch_status_dylibloader_orig_dbus
+#define dbus_connection_dispatch dbus_connection_dispatch_dylibloader_orig_dbus
+#define dbus_connection_has_messages_to_send dbus_connection_has_messages_to_send_dylibloader_orig_dbus
+#define dbus_connection_send dbus_connection_send_dylibloader_orig_dbus
+#define dbus_connection_send_with_reply dbus_connection_send_with_reply_dylibloader_orig_dbus
+#define dbus_connection_send_with_reply_and_block dbus_connection_send_with_reply_and_block_dylibloader_orig_dbus
+#define dbus_connection_set_watch_functions dbus_connection_set_watch_functions_dylibloader_orig_dbus
+#define dbus_connection_set_timeout_functions dbus_connection_set_timeout_functions_dylibloader_orig_dbus
+#define dbus_connection_set_wakeup_main_function dbus_connection_set_wakeup_main_function_dylibloader_orig_dbus
+#define dbus_connection_set_dispatch_status_function dbus_connection_set_dispatch_status_function_dylibloader_orig_dbus
+#define dbus_connection_get_unix_user dbus_connection_get_unix_user_dylibloader_orig_dbus
+#define dbus_connection_get_unix_process_id dbus_connection_get_unix_process_id_dylibloader_orig_dbus
+#define dbus_connection_get_adt_audit_session_data dbus_connection_get_adt_audit_session_data_dylibloader_orig_dbus
+#define dbus_connection_set_unix_user_function dbus_connection_set_unix_user_function_dylibloader_orig_dbus
+#define dbus_connection_get_windows_user dbus_connection_get_windows_user_dylibloader_orig_dbus
+#define dbus_connection_set_windows_user_function dbus_connection_set_windows_user_function_dylibloader_orig_dbus
+#define dbus_connection_set_allow_anonymous dbus_connection_set_allow_anonymous_dylibloader_orig_dbus
+#define dbus_connection_set_route_peer_messages dbus_connection_set_route_peer_messages_dylibloader_orig_dbus
+#define dbus_connection_add_filter dbus_connection_add_filter_dylibloader_orig_dbus
+#define dbus_connection_remove_filter dbus_connection_remove_filter_dylibloader_orig_dbus
+#define dbus_connection_allocate_data_slot dbus_connection_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_connection_free_data_slot dbus_connection_free_data_slot_dylibloader_orig_dbus
+#define dbus_connection_set_data dbus_connection_set_data_dylibloader_orig_dbus
+#define dbus_connection_get_data dbus_connection_get_data_dylibloader_orig_dbus
+#define dbus_connection_set_change_sigpipe dbus_connection_set_change_sigpipe_dylibloader_orig_dbus
+#define dbus_connection_set_max_message_size dbus_connection_set_max_message_size_dylibloader_orig_dbus
+#define dbus_connection_get_max_message_size dbus_connection_get_max_message_size_dylibloader_orig_dbus
+#define dbus_connection_set_max_received_size dbus_connection_set_max_received_size_dylibloader_orig_dbus
+#define dbus_connection_get_max_received_size dbus_connection_get_max_received_size_dylibloader_orig_dbus
+#define dbus_connection_set_max_message_unix_fds dbus_connection_set_max_message_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_get_max_message_unix_fds dbus_connection_get_max_message_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_set_max_received_unix_fds dbus_connection_set_max_received_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_get_max_received_unix_fds dbus_connection_get_max_received_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_get_outgoing_size dbus_connection_get_outgoing_size_dylibloader_orig_dbus
+#define dbus_connection_get_outgoing_unix_fds dbus_connection_get_outgoing_unix_fds_dylibloader_orig_dbus
+#define dbus_connection_preallocate_send dbus_connection_preallocate_send_dylibloader_orig_dbus
+#define dbus_connection_free_preallocated_send dbus_connection_free_preallocated_send_dylibloader_orig_dbus
+#define dbus_connection_send_preallocated dbus_connection_send_preallocated_dylibloader_orig_dbus
+#define dbus_connection_try_register_object_path dbus_connection_try_register_object_path_dylibloader_orig_dbus
+#define dbus_connection_register_object_path dbus_connection_register_object_path_dylibloader_orig_dbus
+#define dbus_connection_try_register_fallback dbus_connection_try_register_fallback_dylibloader_orig_dbus
+#define dbus_connection_register_fallback dbus_connection_register_fallback_dylibloader_orig_dbus
+#define dbus_connection_unregister_object_path dbus_connection_unregister_object_path_dylibloader_orig_dbus
+#define dbus_connection_get_object_path_data dbus_connection_get_object_path_data_dylibloader_orig_dbus
+#define dbus_connection_list_registered dbus_connection_list_registered_dylibloader_orig_dbus
+#define dbus_connection_get_unix_fd dbus_connection_get_unix_fd_dylibloader_orig_dbus
+#define dbus_connection_get_socket dbus_connection_get_socket_dylibloader_orig_dbus
+#define dbus_watch_get_fd dbus_watch_get_fd_dylibloader_orig_dbus
+#define dbus_watch_get_unix_fd dbus_watch_get_unix_fd_dylibloader_orig_dbus
+#define dbus_watch_get_socket dbus_watch_get_socket_dylibloader_orig_dbus
+#define dbus_watch_get_flags dbus_watch_get_flags_dylibloader_orig_dbus
+#define dbus_watch_get_data dbus_watch_get_data_dylibloader_orig_dbus
+#define dbus_watch_set_data dbus_watch_set_data_dylibloader_orig_dbus
+#define dbus_watch_handle dbus_watch_handle_dylibloader_orig_dbus
+#define dbus_watch_get_enabled dbus_watch_get_enabled_dylibloader_orig_dbus
+#define dbus_timeout_get_interval dbus_timeout_get_interval_dylibloader_orig_dbus
+#define dbus_timeout_get_data dbus_timeout_get_data_dylibloader_orig_dbus
+#define dbus_timeout_set_data dbus_timeout_set_data_dylibloader_orig_dbus
+#define dbus_timeout_handle dbus_timeout_handle_dylibloader_orig_dbus
+#define dbus_timeout_get_enabled dbus_timeout_get_enabled_dylibloader_orig_dbus
+#define dbus_bus_get dbus_bus_get_dylibloader_orig_dbus
+#define dbus_bus_get_private dbus_bus_get_private_dylibloader_orig_dbus
+#define dbus_bus_register dbus_bus_register_dylibloader_orig_dbus
+#define dbus_bus_set_unique_name dbus_bus_set_unique_name_dylibloader_orig_dbus
+#define dbus_bus_get_unique_name dbus_bus_get_unique_name_dylibloader_orig_dbus
+#define dbus_bus_get_unix_user dbus_bus_get_unix_user_dylibloader_orig_dbus
+#define dbus_bus_get_id dbus_bus_get_id_dylibloader_orig_dbus
+#define dbus_bus_request_name dbus_bus_request_name_dylibloader_orig_dbus
+#define dbus_bus_release_name dbus_bus_release_name_dylibloader_orig_dbus
+#define dbus_bus_name_has_owner dbus_bus_name_has_owner_dylibloader_orig_dbus
+#define dbus_bus_start_service_by_name dbus_bus_start_service_by_name_dylibloader_orig_dbus
+#define dbus_bus_add_match dbus_bus_add_match_dylibloader_orig_dbus
+#define dbus_bus_remove_match dbus_bus_remove_match_dylibloader_orig_dbus
+#define dbus_get_local_machine_id dbus_get_local_machine_id_dylibloader_orig_dbus
+#define dbus_get_version dbus_get_version_dylibloader_orig_dbus
+#define dbus_setenv dbus_setenv_dylibloader_orig_dbus
+#define dbus_try_get_local_machine_id dbus_try_get_local_machine_id_dylibloader_orig_dbus
+#define dbus_pending_call_ref dbus_pending_call_ref_dylibloader_orig_dbus
+#define dbus_pending_call_unref dbus_pending_call_unref_dylibloader_orig_dbus
+#define dbus_pending_call_set_notify dbus_pending_call_set_notify_dylibloader_orig_dbus
+#define dbus_pending_call_cancel dbus_pending_call_cancel_dylibloader_orig_dbus
+#define dbus_pending_call_get_completed dbus_pending_call_get_completed_dylibloader_orig_dbus
+#define dbus_pending_call_steal_reply dbus_pending_call_steal_reply_dylibloader_orig_dbus
+#define dbus_pending_call_block dbus_pending_call_block_dylibloader_orig_dbus
+#define dbus_pending_call_allocate_data_slot dbus_pending_call_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_pending_call_free_data_slot dbus_pending_call_free_data_slot_dylibloader_orig_dbus
+#define dbus_pending_call_set_data dbus_pending_call_set_data_dylibloader_orig_dbus
+#define dbus_pending_call_get_data dbus_pending_call_get_data_dylibloader_orig_dbus
+#define dbus_server_listen dbus_server_listen_dylibloader_orig_dbus
+#define dbus_server_ref dbus_server_ref_dylibloader_orig_dbus
+#define dbus_server_unref dbus_server_unref_dylibloader_orig_dbus
+#define dbus_server_disconnect dbus_server_disconnect_dylibloader_orig_dbus
+#define dbus_server_get_is_connected dbus_server_get_is_connected_dylibloader_orig_dbus
+#define dbus_server_get_address dbus_server_get_address_dylibloader_orig_dbus
+#define dbus_server_get_id dbus_server_get_id_dylibloader_orig_dbus
+#define dbus_server_set_new_connection_function dbus_server_set_new_connection_function_dylibloader_orig_dbus
+#define dbus_server_set_watch_functions dbus_server_set_watch_functions_dylibloader_orig_dbus
+#define dbus_server_set_timeout_functions dbus_server_set_timeout_functions_dylibloader_orig_dbus
+#define dbus_server_set_auth_mechanisms dbus_server_set_auth_mechanisms_dylibloader_orig_dbus
+#define dbus_server_allocate_data_slot dbus_server_allocate_data_slot_dylibloader_orig_dbus
+#define dbus_server_free_data_slot dbus_server_free_data_slot_dylibloader_orig_dbus
+#define dbus_server_set_data dbus_server_set_data_dylibloader_orig_dbus
+#define dbus_server_get_data dbus_server_get_data_dylibloader_orig_dbus
+#define dbus_signature_iter_init dbus_signature_iter_init_dylibloader_orig_dbus
+#define dbus_signature_iter_get_current_type dbus_signature_iter_get_current_type_dylibloader_orig_dbus
+#define dbus_signature_iter_get_signature dbus_signature_iter_get_signature_dylibloader_orig_dbus
+#define dbus_signature_iter_get_element_type dbus_signature_iter_get_element_type_dylibloader_orig_dbus
+#define dbus_signature_iter_next dbus_signature_iter_next_dylibloader_orig_dbus
+#define dbus_signature_iter_recurse dbus_signature_iter_recurse_dylibloader_orig_dbus
+#define dbus_signature_validate dbus_signature_validate_dylibloader_orig_dbus
+#define dbus_signature_validate_single dbus_signature_validate_single_dylibloader_orig_dbus
+#define dbus_type_is_valid dbus_type_is_valid_dylibloader_orig_dbus
+#define dbus_type_is_basic dbus_type_is_basic_dylibloader_orig_dbus
+#define dbus_type_is_container dbus_type_is_container_dylibloader_orig_dbus
+#define dbus_type_is_fixed dbus_type_is_fixed_dylibloader_orig_dbus
+#define dbus_validate_path dbus_validate_path_dylibloader_orig_dbus
+#define dbus_validate_interface dbus_validate_interface_dylibloader_orig_dbus
+#define dbus_validate_member dbus_validate_member_dylibloader_orig_dbus
+#define dbus_validate_error_name dbus_validate_error_name_dylibloader_orig_dbus
+#define dbus_validate_bus_name dbus_validate_bus_name_dylibloader_orig_dbus
+#define dbus_validate_utf8 dbus_validate_utf8_dylibloader_orig_dbus
+#define dbus_threads_init dbus_threads_init_dylibloader_orig_dbus
+#define dbus_threads_init_default dbus_threads_init_default_dylibloader_orig_dbus
+#include <dbus/dbus.h>
+#undef dbus_error_init
+#undef dbus_error_free
+#undef dbus_set_error
+#undef dbus_set_error_const
+#undef dbus_move_error
+#undef dbus_error_has_name
+#undef dbus_error_is_set
+#undef dbus_parse_address
+#undef dbus_address_entry_get_value
+#undef dbus_address_entry_get_method
+#undef dbus_address_entries_free
+#undef dbus_address_escape_value
+#undef dbus_address_unescape_value
+#undef dbus_malloc
+#undef dbus_malloc0
+#undef dbus_realloc
+#undef dbus_free
+#undef dbus_free_string_array
+#undef dbus_shutdown
+#undef dbus_message_new
+#undef dbus_message_new_method_call
+#undef dbus_message_new_method_return
+#undef dbus_message_new_signal
+#undef dbus_message_new_error
+#undef dbus_message_new_error_printf
+#undef dbus_message_copy
+#undef dbus_message_ref
+#undef dbus_message_unref
+#undef dbus_message_get_type
+#undef dbus_message_set_path
+#undef dbus_message_get_path
+#undef dbus_message_has_path
+#undef dbus_message_set_interface
+#undef dbus_message_get_interface
+#undef dbus_message_has_interface
+#undef dbus_message_set_member
+#undef dbus_message_get_member
+#undef dbus_message_has_member
+#undef dbus_message_set_error_name
+#undef dbus_message_get_error_name
+#undef dbus_message_set_destination
+#undef dbus_message_get_destination
+#undef dbus_message_set_sender
+#undef dbus_message_get_sender
+#undef dbus_message_get_signature
+#undef dbus_message_set_no_reply
+#undef dbus_message_get_no_reply
+#undef dbus_message_is_method_call
+#undef dbus_message_is_signal
+#undef dbus_message_is_error
+#undef dbus_message_has_destination
+#undef dbus_message_has_sender
+#undef dbus_message_has_signature
+#undef dbus_message_get_serial
+#undef dbus_message_set_serial
+#undef dbus_message_set_reply_serial
+#undef dbus_message_get_reply_serial
+#undef dbus_message_set_auto_start
+#undef dbus_message_get_auto_start
+#undef dbus_message_get_path_decomposed
+#undef dbus_message_append_args
+#undef dbus_message_append_args_valist
+#undef dbus_message_get_args
+#undef dbus_message_get_args_valist
+#undef dbus_message_contains_unix_fds
+#undef dbus_message_iter_init_closed
+#undef dbus_message_iter_init
+#undef dbus_message_iter_has_next
+#undef dbus_message_iter_next
+#undef dbus_message_iter_get_signature
+#undef dbus_message_iter_get_arg_type
+#undef dbus_message_iter_get_element_type
+#undef dbus_message_iter_recurse
+#undef dbus_message_iter_get_basic
+#undef dbus_message_iter_get_element_count
+#undef dbus_message_iter_get_array_len
+#undef dbus_message_iter_get_fixed_array
+#undef dbus_message_iter_init_append
+#undef dbus_message_iter_append_basic
+#undef dbus_message_iter_append_fixed_array
+#undef dbus_message_iter_open_container
+#undef dbus_message_iter_close_container
+#undef dbus_message_iter_abandon_container
+#undef dbus_message_iter_abandon_container_if_open
+#undef dbus_message_lock
+#undef dbus_set_error_from_message
+#undef dbus_message_allocate_data_slot
+#undef dbus_message_free_data_slot
+#undef dbus_message_set_data
+#undef dbus_message_get_data
+#undef dbus_message_type_from_string
+#undef dbus_message_type_to_string
+#undef dbus_message_marshal
+#undef dbus_message_demarshal
+#undef dbus_message_demarshal_bytes_needed
+#undef dbus_message_set_allow_interactive_authorization
+#undef dbus_message_get_allow_interactive_authorization
+#undef dbus_connection_open
+#undef dbus_connection_open_private
+#undef dbus_connection_ref
+#undef dbus_connection_unref
+#undef dbus_connection_close
+#undef dbus_connection_get_is_connected
+#undef dbus_connection_get_is_authenticated
+#undef dbus_connection_get_is_anonymous
+#undef dbus_connection_get_server_id
+#undef dbus_connection_can_send_type
+#undef dbus_connection_set_exit_on_disconnect
+#undef dbus_connection_flush
+#undef dbus_connection_read_write_dispatch
+#undef dbus_connection_read_write
+#undef dbus_connection_borrow_message
+#undef dbus_connection_return_message
+#undef dbus_connection_steal_borrowed_message
+#undef dbus_connection_pop_message
+#undef dbus_connection_get_dispatch_status
+#undef dbus_connection_dispatch
+#undef dbus_connection_has_messages_to_send
+#undef dbus_connection_send
+#undef dbus_connection_send_with_reply
+#undef dbus_connection_send_with_reply_and_block
+#undef dbus_connection_set_watch_functions
+#undef dbus_connection_set_timeout_functions
+#undef dbus_connection_set_wakeup_main_function
+#undef dbus_connection_set_dispatch_status_function
+#undef dbus_connection_get_unix_user
+#undef dbus_connection_get_unix_process_id
+#undef dbus_connection_get_adt_audit_session_data
+#undef dbus_connection_set_unix_user_function
+#undef dbus_connection_get_windows_user
+#undef dbus_connection_set_windows_user_function
+#undef dbus_connection_set_allow_anonymous
+#undef dbus_connection_set_route_peer_messages
+#undef dbus_connection_add_filter
+#undef dbus_connection_remove_filter
+#undef dbus_connection_allocate_data_slot
+#undef dbus_connection_free_data_slot
+#undef dbus_connection_set_data
+#undef dbus_connection_get_data
+#undef dbus_connection_set_change_sigpipe
+#undef dbus_connection_set_max_message_size
+#undef dbus_connection_get_max_message_size
+#undef dbus_connection_set_max_received_size
+#undef dbus_connection_get_max_received_size
+#undef dbus_connection_set_max_message_unix_fds
+#undef dbus_connection_get_max_message_unix_fds
+#undef dbus_connection_set_max_received_unix_fds
+#undef dbus_connection_get_max_received_unix_fds
+#undef dbus_connection_get_outgoing_size
+#undef dbus_connection_get_outgoing_unix_fds
+#undef dbus_connection_preallocate_send
+#undef dbus_connection_free_preallocated_send
+#undef dbus_connection_send_preallocated
+#undef dbus_connection_try_register_object_path
+#undef dbus_connection_register_object_path
+#undef dbus_connection_try_register_fallback
+#undef dbus_connection_register_fallback
+#undef dbus_connection_unregister_object_path
+#undef dbus_connection_get_object_path_data
+#undef dbus_connection_list_registered
+#undef dbus_connection_get_unix_fd
+#undef dbus_connection_get_socket
+#undef dbus_watch_get_fd
+#undef dbus_watch_get_unix_fd
+#undef dbus_watch_get_socket
+#undef dbus_watch_get_flags
+#undef dbus_watch_get_data
+#undef dbus_watch_set_data
+#undef dbus_watch_handle
+#undef dbus_watch_get_enabled
+#undef dbus_timeout_get_interval
+#undef dbus_timeout_get_data
+#undef dbus_timeout_set_data
+#undef dbus_timeout_handle
+#undef dbus_timeout_get_enabled
+#undef dbus_bus_get
+#undef dbus_bus_get_private
+#undef dbus_bus_register
+#undef dbus_bus_set_unique_name
+#undef dbus_bus_get_unique_name
+#undef dbus_bus_get_unix_user
+#undef dbus_bus_get_id
+#undef dbus_bus_request_name
+#undef dbus_bus_release_name
+#undef dbus_bus_name_has_owner
+#undef dbus_bus_start_service_by_name
+#undef dbus_bus_add_match
+#undef dbus_bus_remove_match
+#undef dbus_get_local_machine_id
+#undef dbus_get_version
+#undef dbus_setenv
+#undef dbus_try_get_local_machine_id
+#undef dbus_pending_call_ref
+#undef dbus_pending_call_unref
+#undef dbus_pending_call_set_notify
+#undef dbus_pending_call_cancel
+#undef dbus_pending_call_get_completed
+#undef dbus_pending_call_steal_reply
+#undef dbus_pending_call_block
+#undef dbus_pending_call_allocate_data_slot
+#undef dbus_pending_call_free_data_slot
+#undef dbus_pending_call_set_data
+#undef dbus_pending_call_get_data
+#undef dbus_server_listen
+#undef dbus_server_ref
+#undef dbus_server_unref
+#undef dbus_server_disconnect
+#undef dbus_server_get_is_connected
+#undef dbus_server_get_address
+#undef dbus_server_get_id
+#undef dbus_server_set_new_connection_function
+#undef dbus_server_set_watch_functions
+#undef dbus_server_set_timeout_functions
+#undef dbus_server_set_auth_mechanisms
+#undef dbus_server_allocate_data_slot
+#undef dbus_server_free_data_slot
+#undef dbus_server_set_data
+#undef dbus_server_get_data
+#undef dbus_signature_iter_init
+#undef dbus_signature_iter_get_current_type
+#undef dbus_signature_iter_get_signature
+#undef dbus_signature_iter_get_element_type
+#undef dbus_signature_iter_next
+#undef dbus_signature_iter_recurse
+#undef dbus_signature_validate
+#undef dbus_signature_validate_single
+#undef dbus_type_is_valid
+#undef dbus_type_is_basic
+#undef dbus_type_is_container
+#undef dbus_type_is_fixed
+#undef dbus_validate_path
+#undef dbus_validate_interface
+#undef dbus_validate_member
+#undef dbus_validate_error_name
+#undef dbus_validate_bus_name
+#undef dbus_validate_utf8
+#undef dbus_threads_init
+#undef dbus_threads_init_default
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define dbus_error_init dbus_error_init_dylibloader_wrapper_dbus
+#define dbus_error_free dbus_error_free_dylibloader_wrapper_dbus
+#define dbus_set_error dbus_set_error_dylibloader_wrapper_dbus
+#define dbus_set_error_const dbus_set_error_const_dylibloader_wrapper_dbus
+#define dbus_move_error dbus_move_error_dylibloader_wrapper_dbus
+#define dbus_error_has_name dbus_error_has_name_dylibloader_wrapper_dbus
+#define dbus_error_is_set dbus_error_is_set_dylibloader_wrapper_dbus
+#define dbus_parse_address dbus_parse_address_dylibloader_wrapper_dbus
+#define dbus_address_entry_get_value dbus_address_entry_get_value_dylibloader_wrapper_dbus
+#define dbus_address_entry_get_method dbus_address_entry_get_method_dylibloader_wrapper_dbus
+#define dbus_address_entries_free dbus_address_entries_free_dylibloader_wrapper_dbus
+#define dbus_address_escape_value dbus_address_escape_value_dylibloader_wrapper_dbus
+#define dbus_address_unescape_value dbus_address_unescape_value_dylibloader_wrapper_dbus
+#define dbus_malloc dbus_malloc_dylibloader_wrapper_dbus
+#define dbus_malloc0 dbus_malloc0_dylibloader_wrapper_dbus
+#define dbus_realloc dbus_realloc_dylibloader_wrapper_dbus
+#define dbus_free dbus_free_dylibloader_wrapper_dbus
+#define dbus_free_string_array dbus_free_string_array_dylibloader_wrapper_dbus
+#define dbus_shutdown dbus_shutdown_dylibloader_wrapper_dbus
+#define dbus_message_new dbus_message_new_dylibloader_wrapper_dbus
+#define dbus_message_new_method_call dbus_message_new_method_call_dylibloader_wrapper_dbus
+#define dbus_message_new_method_return dbus_message_new_method_return_dylibloader_wrapper_dbus
+#define dbus_message_new_signal dbus_message_new_signal_dylibloader_wrapper_dbus
+#define dbus_message_new_error dbus_message_new_error_dylibloader_wrapper_dbus
+#define dbus_message_new_error_printf dbus_message_new_error_printf_dylibloader_wrapper_dbus
+#define dbus_message_copy dbus_message_copy_dylibloader_wrapper_dbus
+#define dbus_message_ref dbus_message_ref_dylibloader_wrapper_dbus
+#define dbus_message_unref dbus_message_unref_dylibloader_wrapper_dbus
+#define dbus_message_get_type dbus_message_get_type_dylibloader_wrapper_dbus
+#define dbus_message_set_path dbus_message_set_path_dylibloader_wrapper_dbus
+#define dbus_message_get_path dbus_message_get_path_dylibloader_wrapper_dbus
+#define dbus_message_has_path dbus_message_has_path_dylibloader_wrapper_dbus
+#define dbus_message_set_interface dbus_message_set_interface_dylibloader_wrapper_dbus
+#define dbus_message_get_interface dbus_message_get_interface_dylibloader_wrapper_dbus
+#define dbus_message_has_interface dbus_message_has_interface_dylibloader_wrapper_dbus
+#define dbus_message_set_member dbus_message_set_member_dylibloader_wrapper_dbus
+#define dbus_message_get_member dbus_message_get_member_dylibloader_wrapper_dbus
+#define dbus_message_has_member dbus_message_has_member_dylibloader_wrapper_dbus
+#define dbus_message_set_error_name dbus_message_set_error_name_dylibloader_wrapper_dbus
+#define dbus_message_get_error_name dbus_message_get_error_name_dylibloader_wrapper_dbus
+#define dbus_message_set_destination dbus_message_set_destination_dylibloader_wrapper_dbus
+#define dbus_message_get_destination dbus_message_get_destination_dylibloader_wrapper_dbus
+#define dbus_message_set_sender dbus_message_set_sender_dylibloader_wrapper_dbus
+#define dbus_message_get_sender dbus_message_get_sender_dylibloader_wrapper_dbus
+#define dbus_message_get_signature dbus_message_get_signature_dylibloader_wrapper_dbus
+#define dbus_message_set_no_reply dbus_message_set_no_reply_dylibloader_wrapper_dbus
+#define dbus_message_get_no_reply dbus_message_get_no_reply_dylibloader_wrapper_dbus
+#define dbus_message_is_method_call dbus_message_is_method_call_dylibloader_wrapper_dbus
+#define dbus_message_is_signal dbus_message_is_signal_dylibloader_wrapper_dbus
+#define dbus_message_is_error dbus_message_is_error_dylibloader_wrapper_dbus
+#define dbus_message_has_destination dbus_message_has_destination_dylibloader_wrapper_dbus
+#define dbus_message_has_sender dbus_message_has_sender_dylibloader_wrapper_dbus
+#define dbus_message_has_signature dbus_message_has_signature_dylibloader_wrapper_dbus
+#define dbus_message_get_serial dbus_message_get_serial_dylibloader_wrapper_dbus
+#define dbus_message_set_serial dbus_message_set_serial_dylibloader_wrapper_dbus
+#define dbus_message_set_reply_serial dbus_message_set_reply_serial_dylibloader_wrapper_dbus
+#define dbus_message_get_reply_serial dbus_message_get_reply_serial_dylibloader_wrapper_dbus
+#define dbus_message_set_auto_start dbus_message_set_auto_start_dylibloader_wrapper_dbus
+#define dbus_message_get_auto_start dbus_message_get_auto_start_dylibloader_wrapper_dbus
+#define dbus_message_get_path_decomposed dbus_message_get_path_decomposed_dylibloader_wrapper_dbus
+#define dbus_message_append_args dbus_message_append_args_dylibloader_wrapper_dbus
+#define dbus_message_append_args_valist dbus_message_append_args_valist_dylibloader_wrapper_dbus
+#define dbus_message_get_args dbus_message_get_args_dylibloader_wrapper_dbus
+#define dbus_message_get_args_valist dbus_message_get_args_valist_dylibloader_wrapper_dbus
+#define dbus_message_contains_unix_fds dbus_message_contains_unix_fds_dylibloader_wrapper_dbus
+#define dbus_message_iter_init_closed dbus_message_iter_init_closed_dylibloader_wrapper_dbus
+#define dbus_message_iter_init dbus_message_iter_init_dylibloader_wrapper_dbus
+#define dbus_message_iter_has_next dbus_message_iter_has_next_dylibloader_wrapper_dbus
+#define dbus_message_iter_next dbus_message_iter_next_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_signature dbus_message_iter_get_signature_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_arg_type dbus_message_iter_get_arg_type_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_element_type dbus_message_iter_get_element_type_dylibloader_wrapper_dbus
+#define dbus_message_iter_recurse dbus_message_iter_recurse_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_basic dbus_message_iter_get_basic_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_element_count dbus_message_iter_get_element_count_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_array_len dbus_message_iter_get_array_len_dylibloader_wrapper_dbus
+#define dbus_message_iter_get_fixed_array dbus_message_iter_get_fixed_array_dylibloader_wrapper_dbus
+#define dbus_message_iter_init_append dbus_message_iter_init_append_dylibloader_wrapper_dbus
+#define dbus_message_iter_append_basic dbus_message_iter_append_basic_dylibloader_wrapper_dbus
+#define dbus_message_iter_append_fixed_array dbus_message_iter_append_fixed_array_dylibloader_wrapper_dbus
+#define dbus_message_iter_open_container dbus_message_iter_open_container_dylibloader_wrapper_dbus
+#define dbus_message_iter_close_container dbus_message_iter_close_container_dylibloader_wrapper_dbus
+#define dbus_message_iter_abandon_container dbus_message_iter_abandon_container_dylibloader_wrapper_dbus
+#define dbus_message_iter_abandon_container_if_open dbus_message_iter_abandon_container_if_open_dylibloader_wrapper_dbus
+#define dbus_message_lock dbus_message_lock_dylibloader_wrapper_dbus
+#define dbus_set_error_from_message dbus_set_error_from_message_dylibloader_wrapper_dbus
+#define dbus_message_allocate_data_slot dbus_message_allocate_data_slot_dylibloader_wrapper_dbus
+#define dbus_message_free_data_slot dbus_message_free_data_slot_dylibloader_wrapper_dbus
+#define dbus_message_set_data dbus_message_set_data_dylibloader_wrapper_dbus
+#define dbus_message_get_data dbus_message_get_data_dylibloader_wrapper_dbus
+#define dbus_message_type_from_string dbus_message_type_from_string_dylibloader_wrapper_dbus
+#define dbus_message_type_to_string dbus_message_type_to_string_dylibloader_wrapper_dbus
+#define dbus_message_marshal dbus_message_marshal_dylibloader_wrapper_dbus
+#define dbus_message_demarshal dbus_message_demarshal_dylibloader_wrapper_dbus
+#define dbus_message_demarshal_bytes_needed dbus_message_demarshal_bytes_needed_dylibloader_wrapper_dbus
+#define dbus_message_set_allow_interactive_authorization dbus_message_set_allow_interactive_authorization_dylibloader_wrapper_dbus
+#define dbus_message_get_allow_interactive_authorization dbus_message_get_allow_interactive_authorization_dylibloader_wrapper_dbus
+#define dbus_connection_open dbus_connection_open_dylibloader_wrapper_dbus
+#define dbus_connection_open_private dbus_connection_open_private_dylibloader_wrapper_dbus
+#define dbus_connection_ref dbus_connection_ref_dylibloader_wrapper_dbus
+#define dbus_connection_unref dbus_connection_unref_dylibloader_wrapper_dbus
+#define dbus_connection_close dbus_connection_close_dylibloader_wrapper_dbus
+#define dbus_connection_get_is_connected dbus_connection_get_is_connected_dylibloader_wrapper_dbus
+#define dbus_connection_get_is_authenticated dbus_connection_get_is_authenticated_dylibloader_wrapper_dbus
+#define dbus_connection_get_is_anonymous dbus_connection_get_is_anonymous_dylibloader_wrapper_dbus
+#define dbus_connection_get_server_id dbus_connection_get_server_id_dylibloader_wrapper_dbus
+#define dbus_connection_can_send_type dbus_connection_can_send_type_dylibloader_wrapper_dbus
+#define dbus_connection_set_exit_on_disconnect dbus_connection_set_exit_on_disconnect_dylibloader_wrapper_dbus
+#define dbus_connection_flush dbus_connection_flush_dylibloader_wrapper_dbus
+#define dbus_connection_read_write_dispatch dbus_connection_read_write_dispatch_dylibloader_wrapper_dbus
+#define dbus_connection_read_write dbus_connection_read_write_dylibloader_wrapper_dbus
+#define dbus_connection_borrow_message dbus_connection_borrow_message_dylibloader_wrapper_dbus
+#define dbus_connection_return_message dbus_connection_return_message_dylibloader_wrapper_dbus
+#define dbus_connection_steal_borrowed_message dbus_connection_steal_borrowed_message_dylibloader_wrapper_dbus
+#define dbus_connection_pop_message dbus_connection_pop_message_dylibloader_wrapper_dbus
+#define dbus_connection_get_dispatch_status dbus_connection_get_dispatch_status_dylibloader_wrapper_dbus
+#define dbus_connection_dispatch dbus_connection_dispatch_dylibloader_wrapper_dbus
+#define dbus_connection_has_messages_to_send dbus_connection_has_messages_to_send_dylibloader_wrapper_dbus
+#define dbus_connection_send dbus_connection_send_dylibloader_wrapper_dbus
+#define dbus_connection_send_with_reply dbus_connection_send_with_reply_dylibloader_wrapper_dbus
+#define dbus_connection_send_with_reply_and_block dbus_connection_send_with_reply_and_block_dylibloader_wrapper_dbus
+#define dbus_connection_set_watch_functions dbus_connection_set_watch_functions_dylibloader_wrapper_dbus
+#define dbus_connection_set_timeout_functions dbus_connection_set_timeout_functions_dylibloader_wrapper_dbus
+#define dbus_connection_set_wakeup_main_function dbus_connection_set_wakeup_main_function_dylibloader_wrapper_dbus
+#define dbus_connection_set_dispatch_status_function dbus_connection_set_dispatch_status_function_dylibloader_wrapper_dbus
+#define dbus_connection_get_unix_user dbus_connection_get_unix_user_dylibloader_wrapper_dbus
+#define dbus_connection_get_unix_process_id dbus_connection_get_unix_process_id_dylibloader_wrapper_dbus
+#define dbus_connection_get_adt_audit_session_data dbus_connection_get_adt_audit_session_data_dylibloader_wrapper_dbus
+#define dbus_connection_set_unix_user_function dbus_connection_set_unix_user_function_dylibloader_wrapper_dbus
+#define dbus_connection_get_windows_user dbus_connection_get_windows_user_dylibloader_wrapper_dbus
+#define dbus_connection_set_windows_user_function dbus_connection_set_windows_user_function_dylibloader_wrapper_dbus
+#define dbus_connection_set_allow_anonymous dbus_connection_set_allow_anonymous_dylibloader_wrapper_dbus
+#define dbus_connection_set_route_peer_messages dbus_connection_set_route_peer_messages_dylibloader_wrapper_dbus
+#define dbus_connection_add_filter dbus_connection_add_filter_dylibloader_wrapper_dbus
+#define dbus_connection_remove_filter dbus_connection_remove_filter_dylibloader_wrapper_dbus
+#define dbus_connection_allocate_data_slot dbus_connection_allocate_data_slot_dylibloader_wrapper_dbus
+#define dbus_connection_free_data_slot dbus_connection_free_data_slot_dylibloader_wrapper_dbus
+#define dbus_connection_set_data dbus_connection_set_data_dylibloader_wrapper_dbus
+#define dbus_connection_get_data dbus_connection_get_data_dylibloader_wrapper_dbus
+#define dbus_connection_set_change_sigpipe dbus_connection_set_change_sigpipe_dylibloader_wrapper_dbus
+#define dbus_connection_set_max_message_size dbus_connection_set_max_message_size_dylibloader_wrapper_dbus
+#define dbus_connection_get_max_message_size dbus_connection_get_max_message_size_dylibloader_wrapper_dbus
+#define dbus_connection_set_max_received_size dbus_connection_set_max_received_size_dylibloader_wrapper_dbus
+#define dbus_connection_get_max_received_size dbus_connection_get_max_received_size_dylibloader_wrapper_dbus
+#define dbus_connection_set_max_message_unix_fds dbus_connection_set_max_message_unix_fds_dylibloader_wrapper_dbus
+#define dbus_connection_get_max_message_unix_fds dbus_connection_get_max_message_unix_fds_dylibloader_wrapper_dbus
+#define dbus_connection_set_max_received_unix_fds dbus_connection_set_max_received_unix_fds_dylibloader_wrapper_dbus
+#define dbus_connection_get_max_received_unix_fds dbus_connection_get_max_received_unix_fds_dylibloader_wrapper_dbus
+#define dbus_connection_get_outgoing_size dbus_connection_get_outgoing_size_dylibloader_wrapper_dbus
+#define dbus_connection_get_outgoing_unix_fds dbus_connection_get_outgoing_unix_fds_dylibloader_wrapper_dbus
+#define dbus_connection_preallocate_send dbus_connection_preallocate_send_dylibloader_wrapper_dbus
+#define dbus_connection_free_preallocated_send dbus_connection_free_preallocated_send_dylibloader_wrapper_dbus
+#define dbus_connection_send_preallocated dbus_connection_send_preallocated_dylibloader_wrapper_dbus
+#define dbus_connection_try_register_object_path dbus_connection_try_register_object_path_dylibloader_wrapper_dbus
+#define dbus_connection_register_object_path dbus_connection_register_object_path_dylibloader_wrapper_dbus
+#define dbus_connection_try_register_fallback dbus_connection_try_register_fallback_dylibloader_wrapper_dbus
+#define dbus_connection_register_fallback dbus_connection_register_fallback_dylibloader_wrapper_dbus
+#define dbus_connection_unregister_object_path dbus_connection_unregister_object_path_dylibloader_wrapper_dbus
+#define dbus_connection_get_object_path_data dbus_connection_get_object_path_data_dylibloader_wrapper_dbus
+#define dbus_connection_list_registered dbus_connection_list_registered_dylibloader_wrapper_dbus
+#define dbus_connection_get_unix_fd dbus_connection_get_unix_fd_dylibloader_wrapper_dbus
+#define dbus_connection_get_socket dbus_connection_get_socket_dylibloader_wrapper_dbus
+#define dbus_watch_get_fd dbus_watch_get_fd_dylibloader_wrapper_dbus
+#define dbus_watch_get_unix_fd dbus_watch_get_unix_fd_dylibloader_wrapper_dbus
+#define dbus_watch_get_socket dbus_watch_get_socket_dylibloader_wrapper_dbus
+#define dbus_watch_get_flags dbus_watch_get_flags_dylibloader_wrapper_dbus
+#define dbus_watch_get_data dbus_watch_get_data_dylibloader_wrapper_dbus
+#define dbus_watch_set_data dbus_watch_set_data_dylibloader_wrapper_dbus
+#define dbus_watch_handle dbus_watch_handle_dylibloader_wrapper_dbus
+#define dbus_watch_get_enabled dbus_watch_get_enabled_dylibloader_wrapper_dbus
+#define dbus_timeout_get_interval dbus_timeout_get_interval_dylibloader_wrapper_dbus
+#define dbus_timeout_get_data dbus_timeout_get_data_dylibloader_wrapper_dbus
+#define dbus_timeout_set_data dbus_timeout_set_data_dylibloader_wrapper_dbus
+#define dbus_timeout_handle dbus_timeout_handle_dylibloader_wrapper_dbus
+#define dbus_timeout_get_enabled dbus_timeout_get_enabled_dylibloader_wrapper_dbus
+#define dbus_bus_get dbus_bus_get_dylibloader_wrapper_dbus
+#define dbus_bus_get_private dbus_bus_get_private_dylibloader_wrapper_dbus
+#define dbus_bus_register dbus_bus_register_dylibloader_wrapper_dbus
+#define dbus_bus_set_unique_name dbus_bus_set_unique_name_dylibloader_wrapper_dbus
+#define dbus_bus_get_unique_name dbus_bus_get_unique_name_dylibloader_wrapper_dbus
+#define dbus_bus_get_unix_user dbus_bus_get_unix_user_dylibloader_wrapper_dbus
+#define dbus_bus_get_id dbus_bus_get_id_dylibloader_wrapper_dbus
+#define dbus_bus_request_name dbus_bus_request_name_dylibloader_wrapper_dbus
+#define dbus_bus_release_name dbus_bus_release_name_dylibloader_wrapper_dbus
+#define dbus_bus_name_has_owner dbus_bus_name_has_owner_dylibloader_wrapper_dbus
+#define dbus_bus_start_service_by_name dbus_bus_start_service_by_name_dylibloader_wrapper_dbus
+#define dbus_bus_add_match dbus_bus_add_match_dylibloader_wrapper_dbus
+#define dbus_bus_remove_match dbus_bus_remove_match_dylibloader_wrapper_dbus
+#define dbus_get_local_machine_id dbus_get_local_machine_id_dylibloader_wrapper_dbus
+#define dbus_get_version dbus_get_version_dylibloader_wrapper_dbus
+#define dbus_setenv dbus_setenv_dylibloader_wrapper_dbus
+#define dbus_try_get_local_machine_id dbus_try_get_local_machine_id_dylibloader_wrapper_dbus
+#define dbus_pending_call_ref dbus_pending_call_ref_dylibloader_wrapper_dbus
+#define dbus_pending_call_unref dbus_pending_call_unref_dylibloader_wrapper_dbus
+#define dbus_pending_call_set_notify dbus_pending_call_set_notify_dylibloader_wrapper_dbus
+#define dbus_pending_call_cancel dbus_pending_call_cancel_dylibloader_wrapper_dbus
+#define dbus_pending_call_get_completed dbus_pending_call_get_completed_dylibloader_wrapper_dbus
+#define dbus_pending_call_steal_reply dbus_pending_call_steal_reply_dylibloader_wrapper_dbus
+#define dbus_pending_call_block dbus_pending_call_block_dylibloader_wrapper_dbus
+#define dbus_pending_call_allocate_data_slot dbus_pending_call_allocate_data_slot_dylibloader_wrapper_dbus
+#define dbus_pending_call_free_data_slot dbus_pending_call_free_data_slot_dylibloader_wrapper_dbus
+#define dbus_pending_call_set_data dbus_pending_call_set_data_dylibloader_wrapper_dbus
+#define dbus_pending_call_get_data dbus_pending_call_get_data_dylibloader_wrapper_dbus
+#define dbus_server_listen dbus_server_listen_dylibloader_wrapper_dbus
+#define dbus_server_ref dbus_server_ref_dylibloader_wrapper_dbus
+#define dbus_server_unref dbus_server_unref_dylibloader_wrapper_dbus
+#define dbus_server_disconnect dbus_server_disconnect_dylibloader_wrapper_dbus
+#define dbus_server_get_is_connected dbus_server_get_is_connected_dylibloader_wrapper_dbus
+#define dbus_server_get_address dbus_server_get_address_dylibloader_wrapper_dbus
+#define dbus_server_get_id dbus_server_get_id_dylibloader_wrapper_dbus
+#define dbus_server_set_new_connection_function dbus_server_set_new_connection_function_dylibloader_wrapper_dbus
+#define dbus_server_set_watch_functions dbus_server_set_watch_functions_dylibloader_wrapper_dbus
+#define dbus_server_set_timeout_functions dbus_server_set_timeout_functions_dylibloader_wrapper_dbus
+#define dbus_server_set_auth_mechanisms dbus_server_set_auth_mechanisms_dylibloader_wrapper_dbus
+#define dbus_server_allocate_data_slot dbus_server_allocate_data_slot_dylibloader_wrapper_dbus
+#define dbus_server_free_data_slot dbus_server_free_data_slot_dylibloader_wrapper_dbus
+#define dbus_server_set_data dbus_server_set_data_dylibloader_wrapper_dbus
+#define dbus_server_get_data dbus_server_get_data_dylibloader_wrapper_dbus
+#define dbus_signature_iter_init dbus_signature_iter_init_dylibloader_wrapper_dbus
+#define dbus_signature_iter_get_current_type dbus_signature_iter_get_current_type_dylibloader_wrapper_dbus
+#define dbus_signature_iter_get_signature dbus_signature_iter_get_signature_dylibloader_wrapper_dbus
+#define dbus_signature_iter_get_element_type dbus_signature_iter_get_element_type_dylibloader_wrapper_dbus
+#define dbus_signature_iter_next dbus_signature_iter_next_dylibloader_wrapper_dbus
+#define dbus_signature_iter_recurse dbus_signature_iter_recurse_dylibloader_wrapper_dbus
+#define dbus_signature_validate dbus_signature_validate_dylibloader_wrapper_dbus
+#define dbus_signature_validate_single dbus_signature_validate_single_dylibloader_wrapper_dbus
+#define dbus_type_is_valid dbus_type_is_valid_dylibloader_wrapper_dbus
+#define dbus_type_is_basic dbus_type_is_basic_dylibloader_wrapper_dbus
+#define dbus_type_is_container dbus_type_is_container_dylibloader_wrapper_dbus
+#define dbus_type_is_fixed dbus_type_is_fixed_dylibloader_wrapper_dbus
+#define dbus_validate_path dbus_validate_path_dylibloader_wrapper_dbus
+#define dbus_validate_interface dbus_validate_interface_dylibloader_wrapper_dbus
+#define dbus_validate_member dbus_validate_member_dylibloader_wrapper_dbus
+#define dbus_validate_error_name dbus_validate_error_name_dylibloader_wrapper_dbus
+#define dbus_validate_bus_name dbus_validate_bus_name_dylibloader_wrapper_dbus
+#define dbus_validate_utf8 dbus_validate_utf8_dylibloader_wrapper_dbus
+#define dbus_threads_init dbus_threads_init_dylibloader_wrapper_dbus
+#define dbus_threads_init_default dbus_threads_init_default_dylibloader_wrapper_dbus
+extern void (*dbus_error_init_dylibloader_wrapper_dbus)( DBusError*);
+extern void (*dbus_error_free_dylibloader_wrapper_dbus)( DBusError*);
+extern void (*dbus_set_error_dylibloader_wrapper_dbus)( DBusError*,const char*,const char*,...);
+extern void (*dbus_set_error_const_dylibloader_wrapper_dbus)( DBusError*,const char*,const char*);
+extern void (*dbus_move_error_dylibloader_wrapper_dbus)( DBusError*, DBusError*);
+extern dbus_bool_t (*dbus_error_has_name_dylibloader_wrapper_dbus)(const DBusError*,const char*);
+extern dbus_bool_t (*dbus_error_is_set_dylibloader_wrapper_dbus)(const DBusError*);
+extern dbus_bool_t (*dbus_parse_address_dylibloader_wrapper_dbus)(const char*, DBusAddressEntry***, int*, DBusError*);
+extern const char* (*dbus_address_entry_get_value_dylibloader_wrapper_dbus)( DBusAddressEntry*,const char*);
+extern const char* (*dbus_address_entry_get_method_dylibloader_wrapper_dbus)( DBusAddressEntry*);
+extern void (*dbus_address_entries_free_dylibloader_wrapper_dbus)( DBusAddressEntry**);
+extern char* (*dbus_address_escape_value_dylibloader_wrapper_dbus)(const char*);
+extern char* (*dbus_address_unescape_value_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern void* (*dbus_malloc_dylibloader_wrapper_dbus)( size_t);
+extern void* (*dbus_malloc0_dylibloader_wrapper_dbus)( size_t);
+extern void* (*dbus_realloc_dylibloader_wrapper_dbus)( void*, size_t);
+extern void (*dbus_free_dylibloader_wrapper_dbus)( void*);
+extern void (*dbus_free_string_array_dylibloader_wrapper_dbus)( char**);
+extern void (*dbus_shutdown_dylibloader_wrapper_dbus)( void);
+extern DBusMessage* (*dbus_message_new_dylibloader_wrapper_dbus)( int);
+extern DBusMessage* (*dbus_message_new_method_call_dylibloader_wrapper_dbus)(const char*,const char*,const char*,const char*);
+extern DBusMessage* (*dbus_message_new_method_return_dylibloader_wrapper_dbus)( DBusMessage*);
+extern DBusMessage* (*dbus_message_new_signal_dylibloader_wrapper_dbus)(const char*,const char*,const char*);
+extern DBusMessage* (*dbus_message_new_error_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*);
+extern DBusMessage* (*dbus_message_new_error_printf_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*,...);
+extern DBusMessage* (*dbus_message_copy_dylibloader_wrapper_dbus)(const DBusMessage*);
+extern DBusMessage* (*dbus_message_ref_dylibloader_wrapper_dbus)( DBusMessage*);
+extern void (*dbus_message_unref_dylibloader_wrapper_dbus)( DBusMessage*);
+extern int (*dbus_message_get_type_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_set_path_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern const char* (*dbus_message_get_path_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_has_path_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_bool_t (*dbus_message_set_interface_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern const char* (*dbus_message_get_interface_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_has_interface_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_bool_t (*dbus_message_set_member_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern const char* (*dbus_message_get_member_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_has_member_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_bool_t (*dbus_message_set_error_name_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern const char* (*dbus_message_get_error_name_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_set_destination_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern const char* (*dbus_message_get_destination_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_set_sender_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern const char* (*dbus_message_get_sender_dylibloader_wrapper_dbus)( DBusMessage*);
+extern const char* (*dbus_message_get_signature_dylibloader_wrapper_dbus)( DBusMessage*);
+extern void (*dbus_message_set_no_reply_dylibloader_wrapper_dbus)( DBusMessage*, dbus_bool_t);
+extern dbus_bool_t (*dbus_message_get_no_reply_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_is_method_call_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*);
+extern dbus_bool_t (*dbus_message_is_signal_dylibloader_wrapper_dbus)( DBusMessage*,const char*,const char*);
+extern dbus_bool_t (*dbus_message_is_error_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_bool_t (*dbus_message_has_destination_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_bool_t (*dbus_message_has_sender_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_bool_t (*dbus_message_has_signature_dylibloader_wrapper_dbus)( DBusMessage*,const char*);
+extern dbus_uint32_t (*dbus_message_get_serial_dylibloader_wrapper_dbus)( DBusMessage*);
+extern void (*dbus_message_set_serial_dylibloader_wrapper_dbus)( DBusMessage*, dbus_uint32_t);
+extern dbus_bool_t (*dbus_message_set_reply_serial_dylibloader_wrapper_dbus)( DBusMessage*, dbus_uint32_t);
+extern dbus_uint32_t (*dbus_message_get_reply_serial_dylibloader_wrapper_dbus)( DBusMessage*);
+extern void (*dbus_message_set_auto_start_dylibloader_wrapper_dbus)( DBusMessage*, dbus_bool_t);
+extern dbus_bool_t (*dbus_message_get_auto_start_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_message_get_path_decomposed_dylibloader_wrapper_dbus)( DBusMessage*, char***);
+extern dbus_bool_t (*dbus_message_append_args_dylibloader_wrapper_dbus)( DBusMessage*, int,...);
+extern dbus_bool_t (*dbus_message_append_args_valist_dylibloader_wrapper_dbus)( DBusMessage*, int, va_list);
+extern dbus_bool_t (*dbus_message_get_args_dylibloader_wrapper_dbus)( DBusMessage*, DBusError*, int,...);
+extern dbus_bool_t (*dbus_message_get_args_valist_dylibloader_wrapper_dbus)( DBusMessage*, DBusError*, int, va_list);
+extern dbus_bool_t (*dbus_message_contains_unix_fds_dylibloader_wrapper_dbus)( DBusMessage*);
+extern void (*dbus_message_iter_init_closed_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern dbus_bool_t (*dbus_message_iter_init_dylibloader_wrapper_dbus)( DBusMessage*, DBusMessageIter*);
+extern dbus_bool_t (*dbus_message_iter_has_next_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern dbus_bool_t (*dbus_message_iter_next_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern char* (*dbus_message_iter_get_signature_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern int (*dbus_message_iter_get_arg_type_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern int (*dbus_message_iter_get_element_type_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern void (*dbus_message_iter_recurse_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+extern void (*dbus_message_iter_get_basic_dylibloader_wrapper_dbus)( DBusMessageIter*, void*);
+extern int (*dbus_message_iter_get_element_count_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern int (*dbus_message_iter_get_array_len_dylibloader_wrapper_dbus)( DBusMessageIter*);
+extern void (*dbus_message_iter_get_fixed_array_dylibloader_wrapper_dbus)( DBusMessageIter*, void*, int*);
+extern void (*dbus_message_iter_init_append_dylibloader_wrapper_dbus)( DBusMessage*, DBusMessageIter*);
+extern dbus_bool_t (*dbus_message_iter_append_basic_dylibloader_wrapper_dbus)( DBusMessageIter*, int,const void*);
+extern dbus_bool_t (*dbus_message_iter_append_fixed_array_dylibloader_wrapper_dbus)( DBusMessageIter*, int,const void*, int);
+extern dbus_bool_t (*dbus_message_iter_open_container_dylibloader_wrapper_dbus)( DBusMessageIter*, int,const char*, DBusMessageIter*);
+extern dbus_bool_t (*dbus_message_iter_close_container_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+extern void (*dbus_message_iter_abandon_container_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+extern void (*dbus_message_iter_abandon_container_if_open_dylibloader_wrapper_dbus)( DBusMessageIter*, DBusMessageIter*);
+extern void (*dbus_message_lock_dylibloader_wrapper_dbus)( DBusMessage*);
+extern dbus_bool_t (*dbus_set_error_from_message_dylibloader_wrapper_dbus)( DBusError*, DBusMessage*);
+extern dbus_bool_t (*dbus_message_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern void (*dbus_message_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern dbus_bool_t (*dbus_message_set_data_dylibloader_wrapper_dbus)( DBusMessage*, dbus_int32_t, void*, DBusFreeFunction);
+extern void* (*dbus_message_get_data_dylibloader_wrapper_dbus)( DBusMessage*, dbus_int32_t);
+extern int (*dbus_message_type_from_string_dylibloader_wrapper_dbus)(const char*);
+extern const char* (*dbus_message_type_to_string_dylibloader_wrapper_dbus)( int);
+extern dbus_bool_t (*dbus_message_marshal_dylibloader_wrapper_dbus)( DBusMessage*, char**, int*);
+extern DBusMessage* (*dbus_message_demarshal_dylibloader_wrapper_dbus)(const char*, int, DBusError*);
+extern int (*dbus_message_demarshal_bytes_needed_dylibloader_wrapper_dbus)(const char*, int);
+extern void (*dbus_message_set_allow_interactive_authorization_dylibloader_wrapper_dbus)( DBusMessage*, dbus_bool_t);
+extern dbus_bool_t (*dbus_message_get_allow_interactive_authorization_dylibloader_wrapper_dbus)( DBusMessage*);
+extern DBusConnection* (*dbus_connection_open_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern DBusConnection* (*dbus_connection_open_private_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern DBusConnection* (*dbus_connection_ref_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_unref_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_close_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_get_is_connected_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_get_is_authenticated_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_get_is_anonymous_dylibloader_wrapper_dbus)( DBusConnection*);
+extern char* (*dbus_connection_get_server_id_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_can_send_type_dylibloader_wrapper_dbus)( DBusConnection*, int);
+extern void (*dbus_connection_set_exit_on_disconnect_dylibloader_wrapper_dbus)( DBusConnection*, dbus_bool_t);
+extern void (*dbus_connection_flush_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_read_write_dispatch_dylibloader_wrapper_dbus)( DBusConnection*, int);
+extern dbus_bool_t (*dbus_connection_read_write_dylibloader_wrapper_dbus)( DBusConnection*, int);
+extern DBusMessage* (*dbus_connection_borrow_message_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_return_message_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*);
+extern void (*dbus_connection_steal_borrowed_message_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*);
+extern DBusMessage* (*dbus_connection_pop_message_dylibloader_wrapper_dbus)( DBusConnection*);
+extern DBusDispatchStatus (*dbus_connection_get_dispatch_status_dylibloader_wrapper_dbus)( DBusConnection*);
+extern DBusDispatchStatus (*dbus_connection_dispatch_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_has_messages_to_send_dylibloader_wrapper_dbus)( DBusConnection*);
+extern dbus_bool_t (*dbus_connection_send_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*, dbus_uint32_t*);
+extern dbus_bool_t (*dbus_connection_send_with_reply_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*, DBusPendingCall**, int);
+extern DBusMessage* (*dbus_connection_send_with_reply_and_block_dylibloader_wrapper_dbus)( DBusConnection*, DBusMessage*, int, DBusError*);
+extern dbus_bool_t (*dbus_connection_set_watch_functions_dylibloader_wrapper_dbus)( DBusConnection*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_connection_set_timeout_functions_dylibloader_wrapper_dbus)( DBusConnection*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction);
+extern void (*dbus_connection_set_wakeup_main_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusWakeupMainFunction, void*, DBusFreeFunction);
+extern void (*dbus_connection_set_dispatch_status_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusDispatchStatusFunction, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_connection_get_unix_user_dylibloader_wrapper_dbus)( DBusConnection*, unsigned long*);
+extern dbus_bool_t (*dbus_connection_get_unix_process_id_dylibloader_wrapper_dbus)( DBusConnection*, unsigned long*);
+extern dbus_bool_t (*dbus_connection_get_adt_audit_session_data_dylibloader_wrapper_dbus)( DBusConnection*, void**, dbus_int32_t*);
+extern void (*dbus_connection_set_unix_user_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusAllowUnixUserFunction, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_connection_get_windows_user_dylibloader_wrapper_dbus)( DBusConnection*, char**);
+extern void (*dbus_connection_set_windows_user_function_dylibloader_wrapper_dbus)( DBusConnection*, DBusAllowWindowsUserFunction, void*, DBusFreeFunction);
+extern void (*dbus_connection_set_allow_anonymous_dylibloader_wrapper_dbus)( DBusConnection*, dbus_bool_t);
+extern void (*dbus_connection_set_route_peer_messages_dylibloader_wrapper_dbus)( DBusConnection*, dbus_bool_t);
+extern dbus_bool_t (*dbus_connection_add_filter_dylibloader_wrapper_dbus)( DBusConnection*, DBusHandleMessageFunction, void*, DBusFreeFunction);
+extern void (*dbus_connection_remove_filter_dylibloader_wrapper_dbus)( DBusConnection*, DBusHandleMessageFunction, void*);
+extern dbus_bool_t (*dbus_connection_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern void (*dbus_connection_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern dbus_bool_t (*dbus_connection_set_data_dylibloader_wrapper_dbus)( DBusConnection*, dbus_int32_t, void*, DBusFreeFunction);
+extern void* (*dbus_connection_get_data_dylibloader_wrapper_dbus)( DBusConnection*, dbus_int32_t);
+extern void (*dbus_connection_set_change_sigpipe_dylibloader_wrapper_dbus)( dbus_bool_t);
+extern void (*dbus_connection_set_max_message_size_dylibloader_wrapper_dbus)( DBusConnection*, long);
+extern long (*dbus_connection_get_max_message_size_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_set_max_received_size_dylibloader_wrapper_dbus)( DBusConnection*, long);
+extern long (*dbus_connection_get_max_received_size_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_set_max_message_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*, long);
+extern long (*dbus_connection_get_max_message_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_set_max_received_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*, long);
+extern long (*dbus_connection_get_max_received_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*);
+extern long (*dbus_connection_get_outgoing_size_dylibloader_wrapper_dbus)( DBusConnection*);
+extern long (*dbus_connection_get_outgoing_unix_fds_dylibloader_wrapper_dbus)( DBusConnection*);
+extern DBusPreallocatedSend* (*dbus_connection_preallocate_send_dylibloader_wrapper_dbus)( DBusConnection*);
+extern void (*dbus_connection_free_preallocated_send_dylibloader_wrapper_dbus)( DBusConnection*, DBusPreallocatedSend*);
+extern void (*dbus_connection_send_preallocated_dylibloader_wrapper_dbus)( DBusConnection*, DBusPreallocatedSend*, DBusMessage*, dbus_uint32_t*);
+extern dbus_bool_t (*dbus_connection_try_register_object_path_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*, DBusError*);
+extern dbus_bool_t (*dbus_connection_register_object_path_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*);
+extern dbus_bool_t (*dbus_connection_try_register_fallback_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*, DBusError*);
+extern dbus_bool_t (*dbus_connection_register_fallback_dylibloader_wrapper_dbus)( DBusConnection*,const char*,const DBusObjectPathVTable*, void*);
+extern dbus_bool_t (*dbus_connection_unregister_object_path_dylibloader_wrapper_dbus)( DBusConnection*,const char*);
+extern dbus_bool_t (*dbus_connection_get_object_path_data_dylibloader_wrapper_dbus)( DBusConnection*,const char*, void**);
+extern dbus_bool_t (*dbus_connection_list_registered_dylibloader_wrapper_dbus)( DBusConnection*,const char*, char***);
+extern dbus_bool_t (*dbus_connection_get_unix_fd_dylibloader_wrapper_dbus)( DBusConnection*, int*);
+extern dbus_bool_t (*dbus_connection_get_socket_dylibloader_wrapper_dbus)( DBusConnection*, int*);
+extern int (*dbus_watch_get_fd_dylibloader_wrapper_dbus)( DBusWatch*);
+extern int (*dbus_watch_get_unix_fd_dylibloader_wrapper_dbus)( DBusWatch*);
+extern int (*dbus_watch_get_socket_dylibloader_wrapper_dbus)( DBusWatch*);
+extern unsigned int (*dbus_watch_get_flags_dylibloader_wrapper_dbus)( DBusWatch*);
+extern void* (*dbus_watch_get_data_dylibloader_wrapper_dbus)( DBusWatch*);
+extern void (*dbus_watch_set_data_dylibloader_wrapper_dbus)( DBusWatch*, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_watch_handle_dylibloader_wrapper_dbus)( DBusWatch*, unsigned int);
+extern dbus_bool_t (*dbus_watch_get_enabled_dylibloader_wrapper_dbus)( DBusWatch*);
+extern int (*dbus_timeout_get_interval_dylibloader_wrapper_dbus)( DBusTimeout*);
+extern void* (*dbus_timeout_get_data_dylibloader_wrapper_dbus)( DBusTimeout*);
+extern void (*dbus_timeout_set_data_dylibloader_wrapper_dbus)( DBusTimeout*, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_timeout_handle_dylibloader_wrapper_dbus)( DBusTimeout*);
+extern dbus_bool_t (*dbus_timeout_get_enabled_dylibloader_wrapper_dbus)( DBusTimeout*);
+extern DBusConnection* (*dbus_bus_get_dylibloader_wrapper_dbus)( DBusBusType, DBusError*);
+extern DBusConnection* (*dbus_bus_get_private_dylibloader_wrapper_dbus)( DBusBusType, DBusError*);
+extern dbus_bool_t (*dbus_bus_register_dylibloader_wrapper_dbus)( DBusConnection*, DBusError*);
+extern dbus_bool_t (*dbus_bus_set_unique_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*);
+extern const char* (*dbus_bus_get_unique_name_dylibloader_wrapper_dbus)( DBusConnection*);
+extern unsigned long (*dbus_bus_get_unix_user_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+extern char* (*dbus_bus_get_id_dylibloader_wrapper_dbus)( DBusConnection*, DBusError*);
+extern int (*dbus_bus_request_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*, unsigned int, DBusError*);
+extern int (*dbus_bus_release_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+extern dbus_bool_t (*dbus_bus_name_has_owner_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+extern dbus_bool_t (*dbus_bus_start_service_by_name_dylibloader_wrapper_dbus)( DBusConnection*,const char*, dbus_uint32_t, dbus_uint32_t*, DBusError*);
+extern void (*dbus_bus_add_match_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+extern void (*dbus_bus_remove_match_dylibloader_wrapper_dbus)( DBusConnection*,const char*, DBusError*);
+extern char* (*dbus_get_local_machine_id_dylibloader_wrapper_dbus)( void);
+extern void (*dbus_get_version_dylibloader_wrapper_dbus)( int*, int*, int*);
+extern dbus_bool_t (*dbus_setenv_dylibloader_wrapper_dbus)(const char*,const char*);
+extern char* (*dbus_try_get_local_machine_id_dylibloader_wrapper_dbus)( DBusError*);
+extern DBusPendingCall* (*dbus_pending_call_ref_dylibloader_wrapper_dbus)( DBusPendingCall*);
+extern void (*dbus_pending_call_unref_dylibloader_wrapper_dbus)( DBusPendingCall*);
+extern dbus_bool_t (*dbus_pending_call_set_notify_dylibloader_wrapper_dbus)( DBusPendingCall*, DBusPendingCallNotifyFunction, void*, DBusFreeFunction);
+extern void (*dbus_pending_call_cancel_dylibloader_wrapper_dbus)( DBusPendingCall*);
+extern dbus_bool_t (*dbus_pending_call_get_completed_dylibloader_wrapper_dbus)( DBusPendingCall*);
+extern DBusMessage* (*dbus_pending_call_steal_reply_dylibloader_wrapper_dbus)( DBusPendingCall*);
+extern void (*dbus_pending_call_block_dylibloader_wrapper_dbus)( DBusPendingCall*);
+extern dbus_bool_t (*dbus_pending_call_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern void (*dbus_pending_call_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern dbus_bool_t (*dbus_pending_call_set_data_dylibloader_wrapper_dbus)( DBusPendingCall*, dbus_int32_t, void*, DBusFreeFunction);
+extern void* (*dbus_pending_call_get_data_dylibloader_wrapper_dbus)( DBusPendingCall*, dbus_int32_t);
+extern DBusServer* (*dbus_server_listen_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern DBusServer* (*dbus_server_ref_dylibloader_wrapper_dbus)( DBusServer*);
+extern void (*dbus_server_unref_dylibloader_wrapper_dbus)( DBusServer*);
+extern void (*dbus_server_disconnect_dylibloader_wrapper_dbus)( DBusServer*);
+extern dbus_bool_t (*dbus_server_get_is_connected_dylibloader_wrapper_dbus)( DBusServer*);
+extern char* (*dbus_server_get_address_dylibloader_wrapper_dbus)( DBusServer*);
+extern char* (*dbus_server_get_id_dylibloader_wrapper_dbus)( DBusServer*);
+extern void (*dbus_server_set_new_connection_function_dylibloader_wrapper_dbus)( DBusServer*, DBusNewConnectionFunction, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_server_set_watch_functions_dylibloader_wrapper_dbus)( DBusServer*, DBusAddWatchFunction, DBusRemoveWatchFunction, DBusWatchToggledFunction, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_server_set_timeout_functions_dylibloader_wrapper_dbus)( DBusServer*, DBusAddTimeoutFunction, DBusRemoveTimeoutFunction, DBusTimeoutToggledFunction, void*, DBusFreeFunction);
+extern dbus_bool_t (*dbus_server_set_auth_mechanisms_dylibloader_wrapper_dbus)( DBusServer*,const char**);
+extern dbus_bool_t (*dbus_server_allocate_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern void (*dbus_server_free_data_slot_dylibloader_wrapper_dbus)( dbus_int32_t*);
+extern dbus_bool_t (*dbus_server_set_data_dylibloader_wrapper_dbus)( DBusServer*, int, void*, DBusFreeFunction);
+extern void* (*dbus_server_get_data_dylibloader_wrapper_dbus)( DBusServer*, int);
+extern void (*dbus_signature_iter_init_dylibloader_wrapper_dbus)( DBusSignatureIter*,const char*);
+extern int (*dbus_signature_iter_get_current_type_dylibloader_wrapper_dbus)(const DBusSignatureIter*);
+extern char* (*dbus_signature_iter_get_signature_dylibloader_wrapper_dbus)(const DBusSignatureIter*);
+extern int (*dbus_signature_iter_get_element_type_dylibloader_wrapper_dbus)(const DBusSignatureIter*);
+extern dbus_bool_t (*dbus_signature_iter_next_dylibloader_wrapper_dbus)( DBusSignatureIter*);
+extern void (*dbus_signature_iter_recurse_dylibloader_wrapper_dbus)(const DBusSignatureIter*, DBusSignatureIter*);
+extern dbus_bool_t (*dbus_signature_validate_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_signature_validate_single_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_type_is_valid_dylibloader_wrapper_dbus)( int);
+extern dbus_bool_t (*dbus_type_is_basic_dylibloader_wrapper_dbus)( int);
+extern dbus_bool_t (*dbus_type_is_container_dylibloader_wrapper_dbus)( int);
+extern dbus_bool_t (*dbus_type_is_fixed_dylibloader_wrapper_dbus)( int);
+extern dbus_bool_t (*dbus_validate_path_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_validate_interface_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_validate_member_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_validate_error_name_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_validate_bus_name_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_validate_utf8_dylibloader_wrapper_dbus)(const char*, DBusError*);
+extern dbus_bool_t (*dbus_threads_init_dylibloader_wrapper_dbus)(const DBusThreadFunctions*);
+extern dbus_bool_t (*dbus_threads_init_default_dylibloader_wrapper_dbus)( void);
+int initialize_dbus(int verbose);
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
index 1c75e1c443..f5f7e65417 100644
--- a/platform/linuxbsd/detect.py
+++ b/platform/linuxbsd/detect.py
@@ -2,6 +2,7 @@ import os
import platform
import sys
from methods import get_compiler_version, using_gcc
+from platform_methods import detect_arch
def is_active():
@@ -39,7 +40,7 @@ def get_opts():
BoolVariable("use_tsan", "Use LLVM/GCC compiler thread sanitizer (TSAN)", False),
BoolVariable("use_msan", "Use LLVM compiler memory sanitizer (MSAN)", False),
BoolVariable("pulseaudio", "Detect and use PulseAudio", True),
- BoolVariable("dbus", "Detect and use D-Bus to handle screensaver", True),
+ BoolVariable("dbus", "Detect and use D-Bus to handle screensaver and portal desktop settings", True),
BoolVariable("speechd", "Detect and use Speech Dispatcher for Text-to-Speech support", True),
BoolVariable("fontconfig", "Detect and use fontconfig for system fonts support", True),
BoolVariable("udev", "Use udev for gamepad connection callbacks", True),
@@ -52,10 +53,21 @@ def get_opts():
def get_flags():
- return []
+ return [
+ ("arch", detect_arch()),
+ ]
def configure(env):
+ # Validate arch.
+ supported_arches = ["x86_32", "x86_64", "arm32", "arm64", "rv64", "ppc32", "ppc64"]
+ if env["arch"] not in supported_arches:
+ print(
+ 'Unsupported CPU architecture "%s" for Linux / *BSD. Supported architectures are: %s.'
+ % (env["arch"], ", ".join(supported_arches))
+ )
+ sys.exit()
+
## Build type
if env["target"] == "release":
@@ -80,23 +92,7 @@ def configure(env):
env.Prepend(CCFLAGS=["-g3"])
env.Append(LINKFLAGS=["-rdynamic"])
- ## Architecture
-
- is64 = sys.maxsize > 2**32
- if env["bits"] == "default":
- env["bits"] = "64" if is64 else "32"
-
- machines = {
- "riscv64": "rv64",
- "ppc64le": "ppc64",
- "ppc64": "ppc64",
- "ppcle": "ppc",
- "ppc": "ppc",
- }
-
- if env["arch"] == "" and platform.machine() in machines:
- env["arch"] = machines[platform.machine()]
-
+ # CPU architecture flags.
if env["arch"] == "rv64":
# G = General-purpose extensions, C = Compression extension (very common).
env.Append(CCFLAGS=["-march=rv64gc"])
@@ -262,8 +258,7 @@ def configure(env):
env["builtin_libvorbis"] = False # Needed to link against system libtheora
env.ParseConfig("pkg-config theora theoradec --cflags --libs")
else:
- list_of_x86 = ["x86_64", "x86", "i386", "i586"]
- if any(platform.machine() in s for s in list_of_x86):
+ if env["arch"] in ["x86_64", "x86_32"]:
env["x86_libtheora_opt_gcc"] = True
if not env["builtin_libvorbis"]:
@@ -325,8 +320,9 @@ def configure(env):
if env["dbus"]:
if os.system("pkg-config --exists dbus-1") == 0: # 0 means found
env.Append(CPPDEFINES=["DBUS_ENABLED"])
- env.ParseConfig("pkg-config dbus-1 --cflags --libs")
+ env.ParseConfig("pkg-config dbus-1 --cflags") # Only cflags, we dlopen the library.
else:
+ env["dbus"] = False
print("Warning: D-Bus development libraries not found. Disabling screensaver prevention.")
if env["speechd"]:
@@ -391,7 +387,9 @@ def configure(env):
import subprocess
import re
- linker_version_str = subprocess.check_output([env.subst(env["LINK"]), "-Wl,--version"]).decode("utf-8")
+ linker_version_str = subprocess.check_output(
+ [env.subst(env["LINK"]), "-Wl,--version"] + env.subst(env["LINKFLAGS"])
+ ).decode("utf-8")
gnu_ld_version = re.search("^GNU ld [^$]*(\d+\.\d+)$", linker_version_str, re.MULTILINE)
if not gnu_ld_version:
print(
@@ -404,11 +402,12 @@ def configure(env):
env.Append(LINKFLAGS=["-T", "platform/linuxbsd/pck_embed.legacy.ld"])
## Cross-compilation
-
- if is64 and env["bits"] == "32":
+ # TODO: Support cross-compilation on architectures other than x86.
+ host_is_64_bit = sys.maxsize > 2**32
+ if host_is_64_bit and env["arch"] == "x86_32":
env.Append(CCFLAGS=["-m32"])
env.Append(LINKFLAGS=["-m32", "-L/usr/lib/i386-linux-gnu"])
- elif not is64 and env["bits"] == "64":
+ elif not host_is_64_bit and env["arch"] == "x86_64":
env.Append(CCFLAGS=["-m64"])
env.Append(LINKFLAGS=["-m64", "-L/usr/lib/i686-linux-gnu"])
diff --git a/platform/linuxbsd/detect_prime_x11.cpp b/platform/linuxbsd/detect_prime_x11.cpp
index 42b7f68a5e..fb833ab5e6 100644
--- a/platform/linuxbsd/detect_prime_x11.cpp
+++ b/platform/linuxbsd/detect_prime_x11.cpp
@@ -177,6 +177,11 @@ int detect_prime() {
} else {
// In child, exit() here will not quit the engine.
+ // Prevent false leak reports as we will not be properly
+ // cleaning up these processes, and fork() makes a copy
+ // of all globals.
+ CoreGlobals::leak_reporting_enabled = false;
+
char string[201];
close(fdset[0]);
diff --git a/platform/linuxbsd/display_server_x11.cpp b/platform/linuxbsd/display_server_x11.cpp
index d4267d3c02..c619e8eceb 100644
--- a/platform/linuxbsd/display_server_x11.cpp
+++ b/platform/linuxbsd/display_server_x11.cpp
@@ -322,8 +322,8 @@ bool DisplayServerX11::tts_is_paused() const {
return tts->is_paused();
}
-Array DisplayServerX11::tts_get_voices() const {
- ERR_FAIL_COND_V(!tts, Array());
+TypedArray<Dictionary> DisplayServerX11::tts_get_voices() const {
+ ERR_FAIL_COND_V(!tts, TypedArray<Dictionary>());
return tts->get_voices();
}
@@ -349,6 +349,28 @@ void DisplayServerX11::tts_stop() {
#endif
+#ifdef DBUS_ENABLED
+
+bool DisplayServerX11::is_dark_mode_supported() const {
+ return portal_desktop->is_supported();
+}
+
+bool DisplayServerX11::is_dark_mode() const {
+ switch (portal_desktop->get_appearance_color_scheme()) {
+ case 1:
+ // Prefers dark theme.
+ return true;
+ case 2:
+ // Prefers light theme.
+ return false;
+ default:
+ // Preference unknown.
+ return false;
+ }
+}
+
+#endif
+
void DisplayServerX11::mouse_set_mode(MouseMode p_mode) {
_THREAD_SAFE_METHOD_
@@ -1522,11 +1544,15 @@ void DisplayServerX11::window_set_transient(WindowID p_window, WindowID p_parent
XSetTransientForHint(x11_display, wd_window.x11_window, None);
+ XWindowAttributes xwa;
+ XSync(x11_display, False);
+ XGetWindowAttributes(x11_display, wd_parent.x11_window, &xwa);
+
// Set focus to parent sub window to avoid losing all focus when closing a nested sub-menu.
// RevertToPointerRoot is used to make sure we don't lose all focus in case
// a subwindow and its parent are both destroyed.
if (!wd_window.no_focus && !wd_window.is_popup && wd_window.focused) {
- if (!wd_parent.no_focus && !wd_window.is_popup) {
+ if ((xwa.map_state == IsViewable) && !wd_parent.no_focus && !wd_window.is_popup) {
XSetInputFocus(x11_display, wd_parent.x11_window, RevertToPointerRoot, CurrentTime);
}
}
@@ -1819,6 +1845,47 @@ bool DisplayServerX11::_window_maximize_check(WindowID p_window, const char *p_a
return retval;
}
+bool DisplayServerX11::_window_minimize_check(WindowID p_window) const {
+ const WindowData &wd = windows[p_window];
+
+ // Using ICCCM -- Inter-Client Communication Conventions Manual
+ Atom property = XInternAtom(x11_display, "WM_STATE", True);
+ if (property == None) {
+ return false;
+ }
+
+ Atom type;
+ int format;
+ unsigned long len;
+ unsigned long remaining;
+ unsigned char *data = nullptr;
+
+ int result = XGetWindowProperty(
+ x11_display,
+ wd.x11_window,
+ property,
+ 0,
+ 32,
+ False,
+ AnyPropertyType,
+ &type,
+ &format,
+ &len,
+ &remaining,
+ &data);
+
+ if (result == Success && data) {
+ long *state = (long *)data;
+ if (state[0] == WM_IconicState) {
+ XFree(data);
+ return true;
+ }
+ XFree(data);
+ }
+
+ return false;
+}
+
bool DisplayServerX11::_window_fullscreen_check(WindowID p_window) const {
ERR_FAIL_COND_V(!windows.has(p_window), false);
const WindowData &wd = windows[p_window];
@@ -1865,6 +1932,18 @@ bool DisplayServerX11::_window_fullscreen_check(WindowID p_window) const {
return retval;
}
+void DisplayServerX11::_validate_mode_on_map(WindowID p_window) {
+ // Check if we applied any window modes that didn't take effect while unmapped
+ const WindowData &wd = windows[p_window];
+ if (wd.fullscreen && !_window_fullscreen_check(p_window)) {
+ _set_wm_fullscreen(p_window, true);
+ } else if (wd.maximized && !_window_maximize_check(p_window, "_NET_WM_STATE")) {
+ _set_wm_maximized(p_window, true);
+ } else if (wd.minimized && !_window_minimize_check(p_window)) {
+ _set_wm_minimized(p_window, true);
+ }
+}
+
bool DisplayServerX11::window_is_maximize_allowed(WindowID p_window) const {
_THREAD_SAFE_METHOD_
return _window_maximize_check(p_window, "_NET_WM_ALLOWED_ACTIONS");
@@ -1899,6 +1978,37 @@ void DisplayServerX11::_set_wm_maximized(WindowID p_window, bool p_enabled) {
usleep(10000);
}
}
+ wd.maximized = p_enabled;
+}
+
+void DisplayServerX11::_set_wm_minimized(WindowID p_window, bool p_enabled) {
+ WindowData &wd = windows[p_window];
+ // Using ICCCM -- Inter-Client Communication Conventions Manual
+ XEvent xev;
+ Atom wm_change = XInternAtom(x11_display, "WM_CHANGE_STATE", False);
+
+ memset(&xev, 0, sizeof(xev));
+ xev.type = ClientMessage;
+ xev.xclient.window = wd.x11_window;
+ xev.xclient.message_type = wm_change;
+ xev.xclient.format = 32;
+ xev.xclient.data.l[0] = p_enabled ? WM_IconicState : WM_NormalState;
+
+ XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+
+ Atom wm_state = XInternAtom(x11_display, "_NET_WM_STATE", False);
+ Atom wm_hidden = XInternAtom(x11_display, "_NET_WM_STATE_HIDDEN", False);
+
+ memset(&xev, 0, sizeof(xev));
+ xev.type = ClientMessage;
+ xev.xclient.window = wd.x11_window;
+ xev.xclient.message_type = wm_state;
+ xev.xclient.format = 32;
+ xev.xclient.data.l[0] = p_enabled ? _NET_WM_STATE_ADD : _NET_WM_STATE_REMOVE;
+ xev.xclient.data.l[1] = wm_hidden;
+
+ XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ wd.minimized = p_enabled;
}
void DisplayServerX11::_set_wm_fullscreen(WindowID p_window, bool p_enabled) {
@@ -1980,32 +2090,7 @@ void DisplayServerX11::window_set_mode(WindowMode p_mode, WindowID p_window) {
//do nothing
} break;
case WINDOW_MODE_MINIMIZED: {
- //Un-Minimize
- // Using ICCCM -- Inter-Client Communication Conventions Manual
- XEvent xev;
- Atom wm_change = XInternAtom(x11_display, "WM_CHANGE_STATE", False);
-
- memset(&xev, 0, sizeof(xev));
- xev.type = ClientMessage;
- xev.xclient.window = wd.x11_window;
- xev.xclient.message_type = wm_change;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = WM_NormalState;
-
- XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
-
- Atom wm_state = XInternAtom(x11_display, "_NET_WM_STATE", False);
- Atom wm_hidden = XInternAtom(x11_display, "_NET_WM_STATE_HIDDEN", False);
-
- memset(&xev, 0, sizeof(xev));
- xev.type = ClientMessage;
- xev.xclient.window = wd.x11_window;
- xev.xclient.message_type = wm_state;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = _NET_WM_STATE_ADD;
- xev.xclient.data.l[1] = wm_hidden;
-
- XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ _set_wm_minimized(p_window, false);
} break;
case WINDOW_MODE_EXCLUSIVE_FULLSCREEN:
case WINDOW_MODE_FULLSCREEN: {
@@ -2034,31 +2119,7 @@ void DisplayServerX11::window_set_mode(WindowMode p_mode, WindowID p_window) {
//do nothing
} break;
case WINDOW_MODE_MINIMIZED: {
- // Using ICCCM -- Inter-Client Communication Conventions Manual
- XEvent xev;
- Atom wm_change = XInternAtom(x11_display, "WM_CHANGE_STATE", False);
-
- memset(&xev, 0, sizeof(xev));
- xev.type = ClientMessage;
- xev.xclient.window = wd.x11_window;
- xev.xclient.message_type = wm_change;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = WM_IconicState;
-
- XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
-
- Atom wm_state = XInternAtom(x11_display, "_NET_WM_STATE", False);
- Atom wm_hidden = XInternAtom(x11_display, "_NET_WM_STATE_HIDDEN", False);
-
- memset(&xev, 0, sizeof(xev));
- xev.type = ClientMessage;
- xev.xclient.window = wd.x11_window;
- xev.xclient.message_type = wm_state;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = _NET_WM_STATE_ADD;
- xev.xclient.data.l[1] = wm_hidden;
-
- XSendEvent(x11_display, DefaultRootWindow(x11_display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev);
+ _set_wm_minimized(p_window, true);
} break;
case WINDOW_MODE_EXCLUSIVE_FULLSCREEN:
case WINDOW_MODE_FULLSCREEN: {
@@ -2093,40 +2154,9 @@ DisplayServer::WindowMode DisplayServerX11::window_get_mode(WindowID p_window) c
return WINDOW_MODE_MAXIMIZED;
}
- { // Test minimized.
- // Using ICCCM -- Inter-Client Communication Conventions Manual
- Atom property = XInternAtom(x11_display, "WM_STATE", True);
- if (property == None) {
- return WINDOW_MODE_WINDOWED;
- }
-
- Atom type;
- int format;
- unsigned long len;
- unsigned long remaining;
- unsigned char *data = nullptr;
-
- int result = XGetWindowProperty(
- x11_display,
- wd.x11_window,
- property,
- 0,
- 32,
- False,
- AnyPropertyType,
- &type,
- &format,
- &len,
- &remaining,
- &data);
-
- if (result == Success && data) {
- long *state = (long *)data;
- if (state[0] == WM_IconicState) {
- XFree(data);
- return WINDOW_MODE_MINIMIZED;
- }
- XFree(data);
+ {
+ if (_window_minimize_check(p_window)) {
+ return WINDOW_MODE_MINIMIZED;
}
}
@@ -2191,7 +2221,7 @@ void DisplayServerX11::window_set_flag(WindowFlags p_flag, bool p_enabled, Windo
} break;
case WINDOW_FLAG_TRANSPARENT: {
- //todo reimplement
+ wd.layered_window = p_enabled;
} break;
case WINDOW_FLAG_NO_FOCUS: {
wd.no_focus = p_enabled;
@@ -2244,7 +2274,7 @@ bool DisplayServerX11::window_get_flag(WindowFlags p_flag, WindowID p_window) co
return wd.on_top;
} break;
case WINDOW_FLAG_TRANSPARENT: {
- //todo reimplement
+ return wd.layered_window;
} break;
case WINDOW_FLAG_NO_FOCUS: {
return wd.no_focus;
@@ -3147,7 +3177,7 @@ void DisplayServerX11::_window_changed(XEvent *event) {
Variant *rectp = &rect;
Variant ret;
Callable::CallError ce;
- wd.rect_changed_callback.call((const Variant **)&rectp, 1, ret, ce);
+ wd.rect_changed_callback.callp((const Variant **)&rectp, 1, ret, ce);
}
}
@@ -3168,7 +3198,7 @@ void DisplayServerX11::_dispatch_input_event(const Ref<InputEvent> &p_event) {
if (windows.has(E->get())) {
Callable callable = windows[E->get()].input_event_callback;
if (callable.is_valid()) {
- callable.call((const Variant **)&evp, 1, ret, ce);
+ callable.callp((const Variant **)&evp, 1, ret, ce);
}
}
return;
@@ -3181,7 +3211,7 @@ void DisplayServerX11::_dispatch_input_event(const Ref<InputEvent> &p_event) {
if (windows.has(event_from_window->get_window_id())) {
Callable callable = windows[event_from_window->get_window_id()].input_event_callback;
if (callable.is_valid()) {
- callable.call((const Variant **)&evp, 1, ret, ce);
+ callable.callp((const Variant **)&evp, 1, ret, ce);
}
}
} else {
@@ -3189,7 +3219,7 @@ void DisplayServerX11::_dispatch_input_event(const Ref<InputEvent> &p_event) {
for (KeyValue<WindowID, WindowData> &E : windows) {
Callable callable = E.value.input_event_callback;
if (callable.is_valid()) {
- callable.call((const Variant **)&evp, 1, ret, ce);
+ callable.callp((const Variant **)&evp, 1, ret, ce);
}
}
}
@@ -3201,7 +3231,7 @@ void DisplayServerX11::_send_window_event(const WindowData &wd, WindowEvent p_ev
Variant *eventp = &event;
Variant ret;
Callable::CallError ce;
- wd.event_callback.call((const Variant **)&eventp, 1, ret, ce);
+ wd.event_callback.callp((const Variant **)&eventp, 1, ret, ce);
}
}
@@ -3646,12 +3676,19 @@ void DisplayServerX11::process_events() {
const WindowData &wd = windows[window_id];
+ XWindowAttributes xwa;
+ XSync(x11_display, False);
+ XGetWindowAttributes(x11_display, wd.x11_window, &xwa);
+
// Set focus when menu window is started.
// RevertToPointerRoot is used to make sure we don't lose all focus in case
// a subwindow and its parent are both destroyed.
- if (!wd.no_focus && !wd.is_popup) {
+ if ((xwa.map_state == IsViewable) && !wd.no_focus && !wd.is_popup) {
XSetInputFocus(x11_display, wd.x11_window, RevertToPointerRoot, CurrentTime);
}
+
+ // Have we failed to set fullscreen while the window was unmapped?
+ _validate_mode_on_map(window_id);
} break;
case Expose: {
@@ -3671,8 +3708,7 @@ void DisplayServerX11::process_events() {
case VisibilityNotify: {
DEBUG_LOG_X11("[%u] VisibilityNotify window=%lu (%u), state=%u \n", frame, event.xvisibility.window, window_id, event.xvisibility.state);
- XVisibilityEvent *visibility = (XVisibilityEvent *)&event;
- windows[window_id].minimized = (visibility->state == VisibilityFullyObscured);
+ windows[window_id].minimized = _window_minimize_check(window_id);
} break;
case LeaveNotify: {
@@ -4068,7 +4104,7 @@ void DisplayServerX11::process_events() {
Variant *vp = &v;
Variant ret;
Callable::CallError ce;
- windows[window_id].drop_files_callback.call((const Variant **)&vp, 1, ret, ce);
+ windows[window_id].drop_files_callback.callp((const Variant **)&vp, 1, ret, ce);
}
//Reply that all is well.
@@ -4390,13 +4426,41 @@ DisplayServer *DisplayServerX11::create_func(const String &p_rendering_driver, W
DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, VSyncMode p_vsync_mode, uint32_t p_flags, const Rect2i &p_rect) {
//Create window
- long visualMask = VisualScreenMask;
- int numberOfVisuals;
- XVisualInfo vInfoTemplate = {};
- vInfoTemplate.screen = DefaultScreen(x11_display);
- XVisualInfo *visualInfo = XGetVisualInfo(x11_display, visualMask, &vInfoTemplate, &numberOfVisuals);
+ XVisualInfo visualInfo;
+ bool vi_selected = false;
- Colormap colormap = XCreateColormap(x11_display, RootWindow(x11_display, vInfoTemplate.screen), visualInfo->visual, AllocNone);
+#ifdef GLES3_ENABLED
+ if (gl_manager) {
+ visualInfo = gl_manager->get_vi(x11_display);
+ vi_selected = true;
+ }
+#endif
+
+ if (!vi_selected) {
+ long visualMask = VisualScreenMask;
+ int numberOfVisuals;
+ XVisualInfo vInfoTemplate = {};
+ vInfoTemplate.screen = DefaultScreen(x11_display);
+ XVisualInfo *vi_list = XGetVisualInfo(x11_display, visualMask, &vInfoTemplate, &numberOfVisuals);
+ ERR_FAIL_COND_V(!vi_list, INVALID_WINDOW_ID);
+
+ visualInfo = vi_list[0];
+ if (OS::get_singleton()->is_layered_allowed()) {
+ for (int i = 0; i < numberOfVisuals; i++) {
+ XRenderPictFormat *pict_format = XRenderFindVisualFormat(x11_display, vi_list[i].visual);
+ if (!pict_format) {
+ continue;
+ }
+ visualInfo = vi_list[i];
+ if (pict_format->direct.alphaMask > 0) {
+ break;
+ }
+ }
+ }
+ XFree(vi_list);
+ }
+
+ Colormap colormap = XCreateColormap(x11_display, RootWindow(x11_display, visualInfo.screen), visualInfo.visual, AllocNone);
XSetWindowAttributes windowAttributes = {};
windowAttributes.colormap = colormap;
@@ -4406,6 +4470,13 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V
unsigned long valuemask = CWBorderPixel | CWColormap | CWEventMask;
+ if (OS::get_singleton()->is_layered_allowed()) {
+ windowAttributes.background_pixmap = None;
+ windowAttributes.background_pixel = 0;
+ windowAttributes.border_pixmap = None;
+ valuemask |= CWBackPixel;
+ }
+
WindowID id = window_id_counter++;
WindowData &wd = windows[id];
@@ -4429,7 +4500,7 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V
}
{
- wd.x11_window = XCreateWindow(x11_display, RootWindow(x11_display, visualInfo->screen), p_rect.position.x, p_rect.position.y, p_rect.size.width > 0 ? p_rect.size.width : 1, p_rect.size.height > 0 ? p_rect.size.height : 1, 0, visualInfo->depth, InputOutput, visualInfo->visual, valuemask, &windowAttributes);
+ wd.x11_window = XCreateWindow(x11_display, RootWindow(x11_display, visualInfo.screen), p_rect.position.x, p_rect.position.y, p_rect.size.width > 0 ? p_rect.size.width : 1, p_rect.size.height > 0 ? p_rect.size.height : 1, 0, visualInfo.depth, InputOutput, visualInfo.visual, valuemask, &windowAttributes);
// Enable receiving notification when the window is initialized (MapNotify)
// so the focus can be set at the right time.
@@ -4566,8 +4637,6 @@ DisplayServerX11::WindowID DisplayServerX11::_create_window(WindowMode p_mode, V
XSync(x11_display, False);
//XSetErrorHandler(oldHandler);
-
- XFree(visualInfo);
}
window_set_mode(p_mode, id);
@@ -4831,6 +4900,8 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
}
}
show_window(main_window);
+ XSync(x11_display, False);
+ _validate_mode_on_map(main_window);
#if defined(VULKAN_ENABLED)
if (rendering_driver == "vulkan") {
@@ -4977,21 +5048,22 @@ DisplayServerX11::DisplayServerX11(const String &p_rendering_driver, WindowMode
}
cursor_set_shape(CURSOR_BUSY);
- XEvent xevent;
- while (XPending(x11_display) > 0) {
- XNextEvent(x11_display, &xevent);
- if (xevent.type == ConfigureNotify) {
- _window_changed(&xevent);
- }
+ // Search the X11 event queue for ConfigureNotify events and process all
+ // that are currently queued early, so we can get the final window size
+ // for correctly drawing of the bootsplash.
+ XEvent config_event;
+ while (XCheckTypedEvent(x11_display, ConfigureNotify, &config_event)) {
+ _window_changed(&config_event);
}
-
events_thread.start(_poll_events_thread, this);
_update_real_mouse_position(windows[MAIN_WINDOW_ID]);
#ifdef DBUS_ENABLED
screensaver = memnew(FreeDesktopScreenSaver);
- screen_set_keep_on(GLOBAL_DEF("display/window/energy_saving/keep_screen_on", true));
+ screen_set_keep_on(GLOBAL_GET("display/window/energy_saving/keep_screen_on"));
+
+ portal_desktop = memnew(FreeDesktopPortalDesktop);
#endif
r_error = OK;
@@ -5077,6 +5149,7 @@ DisplayServerX11::~DisplayServerX11() {
#ifdef DBUS_ENABLED
memdelete(screensaver);
+ memdelete(portal_desktop);
#endif
}
diff --git a/platform/linuxbsd/display_server_x11.h b/platform/linuxbsd/display_server_x11.h
index 9ce6a557db..ea03b2328c 100644
--- a/platform/linuxbsd/display_server_x11.h
+++ b/platform/linuxbsd/display_server_x11.h
@@ -60,6 +60,7 @@
#endif
#if defined(DBUS_ENABLED)
+#include "freedesktop_portal_desktop.h"
#include "freedesktop_screensaver.h"
#endif
@@ -120,6 +121,10 @@ class DisplayServerX11 : public DisplayServer {
TTS_Linux *tts = nullptr;
#endif
+#if defined(DBUS_ENABLED)
+ FreeDesktopPortalDesktop *portal_desktop = nullptr;
+#endif
+
struct WindowData {
Window x11_window;
::XIC xic;
@@ -152,7 +157,9 @@ class DisplayServerX11 : public DisplayServer {
Vector2i last_position_before_fs;
bool focused = true;
bool minimized = false;
+ bool maximized = false;
bool is_popup = false;
+ bool layered_window = false;
Rect2i parent_safe_rect;
@@ -245,8 +252,6 @@ class DisplayServerX11 : public DisplayServer {
CursorShape current_cursor = CURSOR_ARROW;
HashMap<CursorShape, Vector<Variant>> cursors_cache;
- bool layered_window = false;
-
String rendering_driver;
void set_wm_fullscreen(bool p_enabled);
void set_wm_above(bool p_enabled);
@@ -268,9 +273,12 @@ class DisplayServerX11 : public DisplayServer {
void _update_real_mouse_position(const WindowData &wd);
bool _window_maximize_check(WindowID p_window, const char *p_atom_name) const;
bool _window_fullscreen_check(WindowID p_window) const;
+ bool _window_minimize_check(WindowID p_window) const;
+ void _validate_mode_on_map(WindowID p_window);
void _update_size_hints(WindowID p_window);
void _set_wm_fullscreen(WindowID p_window, bool p_enabled);
void _set_wm_maximized(WindowID p_window, bool p_enabled);
+ void _set_wm_minimized(WindowID p_window, bool p_enabled);
void _update_context(WindowData &wd);
@@ -308,7 +316,7 @@ public:
#ifdef SPEECHD_ENABLED
virtual bool tts_is_speaking() const override;
virtual bool tts_is_paused() const override;
- virtual Array tts_get_voices() const override;
+ virtual TypedArray<Dictionary> tts_get_voices() const override;
virtual void tts_speak(const String &p_text, const String &p_voice, int p_volume = 50, float p_pitch = 1.f, float p_rate = 1.f, int p_utterance_id = 0, bool p_interrupt = false) override;
virtual void tts_pause() override;
@@ -316,6 +324,11 @@ public:
virtual void tts_stop() override;
#endif
+#if defined(DBUS_ENABLED)
+ virtual bool is_dark_mode_supported() const override;
+ virtual bool is_dark_mode() const override;
+#endif
+
virtual void mouse_set_mode(MouseMode p_mode) override;
virtual MouseMode mouse_get_mode() const override;
diff --git a/platform/linuxbsd/export/export.cpp b/platform/linuxbsd/export/export.cpp
index bc1235bcec..990351d13f 100644
--- a/platform/linuxbsd/export/export.cpp
+++ b/platform/linuxbsd/export/export.cpp
@@ -38,8 +38,6 @@ void register_linuxbsd_exporter() {
platform.instantiate();
platform->set_logo(ImageTexture::create_from_image(memnew(Image(_linuxbsd_logo))));
platform->set_name("Linux/X11");
- platform->set_extension("x86_32");
- platform->set_extension("x86_64", "binary_format/64_bits");
platform->set_os_name("Linux");
platform->set_chmod_flags(0755);
diff --git a/platform/linuxbsd/export/export_plugin.cpp b/platform/linuxbsd/export/export_plugin.cpp
index d54e07d8a5..4d45d3ba12 100644
--- a/platform/linuxbsd/export/export_plugin.cpp
+++ b/platform/linuxbsd/export/export_plugin.cpp
@@ -79,31 +79,21 @@ Error EditorExportPlatformLinuxBSD::export_project(const Ref<EditorExportPreset>
return err;
}
-void EditorExportPlatformLinuxBSD::set_extension(const String &p_extension, const String &p_feature_key) {
- extensions[p_feature_key] = p_extension;
-}
-
String EditorExportPlatformLinuxBSD::get_template_file_name(const String &p_target, const String &p_arch) const {
return "linux_" + p_target + "." + p_arch;
}
List<String> EditorExportPlatformLinuxBSD::get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const {
List<String> list;
- for (const KeyValue<String, String> &E : extensions) {
- if (p_preset->get(E.key)) {
- list.push_back(extensions[E.key]);
- return list;
- }
- }
-
- if (extensions.has("default")) {
- list.push_back(extensions["default"]);
- return list;
- }
-
+ list.push_back(p_preset->get("binary_format/architecture"));
return list;
}
+void EditorExportPlatformLinuxBSD::get_export_options(List<ExportOption> *r_options) {
+ EditorExportPlatformPC::get_export_options(r_options);
+ r_options->push_back(ExportOption(PropertyInfo(Variant::STRING, "binary_format/architecture", PROPERTY_HINT_ENUM, "x86_64,x86_32,arm64,arm32,rv64,ppc64,ppc32"), "x86_64"));
+}
+
Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) {
// Patch the header of the "pck" section in the ELF file so that it corresponds to the embedded data
diff --git a/platform/linuxbsd/export/export_plugin.h b/platform/linuxbsd/export/export_plugin.h
index 98e4616035..4d6737498b 100644
--- a/platform/linuxbsd/export/export_plugin.h
+++ b/platform/linuxbsd/export/export_plugin.h
@@ -38,12 +38,12 @@
#include "scene/resources/texture.h"
class EditorExportPlatformLinuxBSD : public EditorExportPlatformPC {
- HashMap<String, String> extensions;
Error _export_debug_script(const Ref<EditorExportPreset> &p_preset, const String &p_app_name, const String &p_pkg_name, const String &p_path);
public:
void set_extension(const String &p_extension, const String &p_feature_key = "default");
virtual List<String> get_binary_extensions(const Ref<EditorExportPreset> &p_preset) const override;
+ virtual void get_export_options(List<ExportOption> *r_options) override;
virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override;
virtual String get_template_file_name(const String &p_target, const String &p_arch) const override;
virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) override;
diff --git a/platform/linuxbsd/fontconfig-so_wrap.c b/platform/linuxbsd/fontconfig-so_wrap.c
index 7845a6fe05..1a915faf98 100644
--- a/platform/linuxbsd/fontconfig-so_wrap.c
+++ b/platform/linuxbsd/fontconfig-so_wrap.c
@@ -1,6 +1,6 @@
// This file is generated. Do not edit!
// see https://github.com/hpvb/dynload-wrapper for details
-// generated by ./generate-wrapper.py 0.3 on 2022-07-27 17:50:40
+// generated by ./generate-wrapper.py 0.3 on 2022-07-29 05:40:07
// flags: ./generate-wrapper.py --include /usr/include/fontconfig/fontconfig.h --sys-include <fontconfig/fontconfig.h> --soname libfontconfig.so --init-name fontconfig --output-header fontconfig-so_wrap.h --output-implementation fontconfig-so_wrap.c --omit-prefix FcCharSet
//
#include <stdint.h>
@@ -18,8 +18,6 @@
#define FcDirCacheValid FcDirCacheValid_dylibloader_orig_fontconfig
#define FcDirCacheClean FcDirCacheClean_dylibloader_orig_fontconfig
#define FcCacheCreateTagFile FcCacheCreateTagFile_dylibloader_orig_fontconfig
-#define FcDirCacheCreateUUID FcDirCacheCreateUUID_dylibloader_orig_fontconfig
-#define FcDirCacheDeleteUUID FcDirCacheDeleteUUID_dylibloader_orig_fontconfig
#define FcConfigHome FcConfigHome_dylibloader_orig_fontconfig
#define FcConfigEnableHome FcConfigEnableHome_dylibloader_orig_fontconfig
#define FcConfigFilename FcConfigFilename_dylibloader_orig_fontconfig
@@ -46,9 +44,6 @@
#define FcConfigSubstitute FcConfigSubstitute_dylibloader_orig_fontconfig
#define FcConfigGetSysRoot FcConfigGetSysRoot_dylibloader_orig_fontconfig
#define FcConfigSetSysRoot FcConfigSetSysRoot_dylibloader_orig_fontconfig
-#define FcConfigFileInfoIterInit FcConfigFileInfoIterInit_dylibloader_orig_fontconfig
-#define FcConfigFileInfoIterNext FcConfigFileInfoIterNext_dylibloader_orig_fontconfig
-#define FcConfigFileInfoIterGet FcConfigFileInfoIterGet_dylibloader_orig_fontconfig
#define FcValuePrint FcValuePrint_dylibloader_orig_fontconfig
#define FcPatternPrint FcPatternPrint_dylibloader_orig_fontconfig
#define FcFontSetPrint FcFontSetPrint_dylibloader_orig_fontconfig
@@ -64,7 +59,6 @@
#define FcDirCacheLoadFile FcDirCacheLoadFile_dylibloader_orig_fontconfig
#define FcDirCacheUnload FcDirCacheUnload_dylibloader_orig_fontconfig
#define FcFreeTypeQuery FcFreeTypeQuery_dylibloader_orig_fontconfig
-#define FcFreeTypeQueryAll FcFreeTypeQueryAll_dylibloader_orig_fontconfig
#define FcFontSetCreate FcFontSetCreate_dylibloader_orig_fontconfig
#define FcFontSetDestroy FcFontSetDestroy_dylibloader_orig_fontconfig
#define FcFontSetAdd FcFontSetAdd_dylibloader_orig_fontconfig
@@ -135,7 +129,6 @@
#define FcValueEqual FcValueEqual_dylibloader_orig_fontconfig
#define FcValueSave FcValueSave_dylibloader_orig_fontconfig
#define FcPatternDestroy FcPatternDestroy_dylibloader_orig_fontconfig
-#define FcPatternObjectCount FcPatternObjectCount_dylibloader_orig_fontconfig
#define FcPatternEqual FcPatternEqual_dylibloader_orig_fontconfig
#define FcPatternEqualSubset FcPatternEqualSubset_dylibloader_orig_fontconfig
#define FcPatternHash FcPatternHash_dylibloader_orig_fontconfig
@@ -169,18 +162,8 @@
#define FcRangeDestroy FcRangeDestroy_dylibloader_orig_fontconfig
#define FcRangeCopy FcRangeCopy_dylibloader_orig_fontconfig
#define FcRangeGetDouble FcRangeGetDouble_dylibloader_orig_fontconfig
-#define FcPatternIterStart FcPatternIterStart_dylibloader_orig_fontconfig
-#define FcPatternIterNext FcPatternIterNext_dylibloader_orig_fontconfig
-#define FcPatternIterEqual FcPatternIterEqual_dylibloader_orig_fontconfig
-#define FcPatternFindIter FcPatternFindIter_dylibloader_orig_fontconfig
-#define FcPatternIterIsValid FcPatternIterIsValid_dylibloader_orig_fontconfig
-#define FcPatternIterGetObject FcPatternIterGetObject_dylibloader_orig_fontconfig
-#define FcPatternIterValueCount FcPatternIterValueCount_dylibloader_orig_fontconfig
-#define FcPatternIterGetValue FcPatternIterGetValue_dylibloader_orig_fontconfig
#define FcWeightFromOpenType FcWeightFromOpenType_dylibloader_orig_fontconfig
-#define FcWeightFromOpenTypeDouble FcWeightFromOpenTypeDouble_dylibloader_orig_fontconfig
#define FcWeightToOpenType FcWeightToOpenType_dylibloader_orig_fontconfig
-#define FcWeightToOpenTypeDouble FcWeightToOpenTypeDouble_dylibloader_orig_fontconfig
#define FcStrCopy FcStrCopy_dylibloader_orig_fontconfig
#define FcStrCopyFilename FcStrCopyFilename_dylibloader_orig_fontconfig
#define FcStrPlus FcStrPlus_dylibloader_orig_fontconfig
@@ -224,8 +207,6 @@
#undef FcDirCacheValid
#undef FcDirCacheClean
#undef FcCacheCreateTagFile
-#undef FcDirCacheCreateUUID
-#undef FcDirCacheDeleteUUID
#undef FcConfigHome
#undef FcConfigEnableHome
#undef FcConfigFilename
@@ -252,9 +233,6 @@
#undef FcConfigSubstitute
#undef FcConfigGetSysRoot
#undef FcConfigSetSysRoot
-#undef FcConfigFileInfoIterInit
-#undef FcConfigFileInfoIterNext
-#undef FcConfigFileInfoIterGet
#undef FcValuePrint
#undef FcPatternPrint
#undef FcFontSetPrint
@@ -270,7 +248,6 @@
#undef FcDirCacheLoadFile
#undef FcDirCacheUnload
#undef FcFreeTypeQuery
-#undef FcFreeTypeQueryAll
#undef FcFontSetCreate
#undef FcFontSetDestroy
#undef FcFontSetAdd
@@ -341,7 +318,6 @@
#undef FcValueEqual
#undef FcValueSave
#undef FcPatternDestroy
-#undef FcPatternObjectCount
#undef FcPatternEqual
#undef FcPatternEqualSubset
#undef FcPatternHash
@@ -375,18 +351,8 @@
#undef FcRangeDestroy
#undef FcRangeCopy
#undef FcRangeGetDouble
-#undef FcPatternIterStart
-#undef FcPatternIterNext
-#undef FcPatternIterEqual
-#undef FcPatternFindIter
-#undef FcPatternIterIsValid
-#undef FcPatternIterGetObject
-#undef FcPatternIterValueCount
-#undef FcPatternIterGetValue
#undef FcWeightFromOpenType
-#undef FcWeightFromOpenTypeDouble
#undef FcWeightToOpenType
-#undef FcWeightToOpenTypeDouble
#undef FcStrCopy
#undef FcStrCopyFilename
#undef FcStrPlus
@@ -431,8 +397,6 @@ FcBool (*FcDirCacheUnlink_dylibloader_wrapper_fontconfig)(const FcChar8*, FcConf
FcBool (*FcDirCacheValid_dylibloader_wrapper_fontconfig)(const FcChar8*);
FcBool (*FcDirCacheClean_dylibloader_wrapper_fontconfig)(const FcChar8*, FcBool);
void (*FcCacheCreateTagFile_dylibloader_wrapper_fontconfig)(const FcConfig*);
-FcBool (*FcDirCacheCreateUUID_dylibloader_wrapper_fontconfig)( FcChar8*, FcBool, FcConfig*);
-FcBool (*FcDirCacheDeleteUUID_dylibloader_wrapper_fontconfig)(const FcChar8*, FcConfig*);
FcChar8* (*FcConfigHome_dylibloader_wrapper_fontconfig)( void);
FcBool (*FcConfigEnableHome_dylibloader_wrapper_fontconfig)( FcBool);
FcChar8* (*FcConfigFilename_dylibloader_wrapper_fontconfig)(const FcChar8*);
@@ -459,9 +423,6 @@ FcBool (*FcConfigSubstituteWithPat_dylibloader_wrapper_fontconfig)( FcConfig*, F
FcBool (*FcConfigSubstitute_dylibloader_wrapper_fontconfig)( FcConfig*, FcPattern*, FcMatchKind);
const FcChar8* (*FcConfigGetSysRoot_dylibloader_wrapper_fontconfig)(const FcConfig*);
void (*FcConfigSetSysRoot_dylibloader_wrapper_fontconfig)( FcConfig*,const FcChar8*);
-void (*FcConfigFileInfoIterInit_dylibloader_wrapper_fontconfig)( FcConfig*, FcConfigFileInfoIter*);
-FcBool (*FcConfigFileInfoIterNext_dylibloader_wrapper_fontconfig)( FcConfig*, FcConfigFileInfoIter*);
-FcBool (*FcConfigFileInfoIterGet_dylibloader_wrapper_fontconfig)( FcConfig*, FcConfigFileInfoIter*, FcChar8**, FcChar8**, FcBool*);
void (*FcValuePrint_dylibloader_wrapper_fontconfig)(const FcValue);
void (*FcPatternPrint_dylibloader_wrapper_fontconfig)(const FcPattern*);
void (*FcFontSetPrint_dylibloader_wrapper_fontconfig)(const FcFontSet*);
@@ -476,8 +437,7 @@ FcCache* (*FcDirCacheRescan_dylibloader_wrapper_fontconfig)(const FcChar8*, FcCo
FcCache* (*FcDirCacheRead_dylibloader_wrapper_fontconfig)(const FcChar8*, FcBool, FcConfig*);
FcCache* (*FcDirCacheLoadFile_dylibloader_wrapper_fontconfig)(const FcChar8*,struct stat*);
void (*FcDirCacheUnload_dylibloader_wrapper_fontconfig)( FcCache*);
-FcPattern* (*FcFreeTypeQuery_dylibloader_wrapper_fontconfig)(const FcChar8*, unsigned int, FcBlanks*, int*);
-unsigned int (*FcFreeTypeQueryAll_dylibloader_wrapper_fontconfig)(const FcChar8*, unsigned int, FcBlanks*, int*, FcFontSet*);
+FcPattern* (*FcFreeTypeQuery_dylibloader_wrapper_fontconfig)(const FcChar8*, int, FcBlanks*, int*);
FcFontSet* (*FcFontSetCreate_dylibloader_wrapper_fontconfig)( void);
void (*FcFontSetDestroy_dylibloader_wrapper_fontconfig)( FcFontSet*);
FcBool (*FcFontSetAdd_dylibloader_wrapper_fontconfig)( FcFontSet*, FcPattern*);
@@ -548,7 +508,6 @@ void (*FcValueDestroy_dylibloader_wrapper_fontconfig)( FcValue);
FcBool (*FcValueEqual_dylibloader_wrapper_fontconfig)( FcValue, FcValue);
FcValue (*FcValueSave_dylibloader_wrapper_fontconfig)( FcValue);
void (*FcPatternDestroy_dylibloader_wrapper_fontconfig)( FcPattern*);
-int (*FcPatternObjectCount_dylibloader_wrapper_fontconfig)(const FcPattern*);
FcBool (*FcPatternEqual_dylibloader_wrapper_fontconfig)(const FcPattern*,const FcPattern*);
FcBool (*FcPatternEqualSubset_dylibloader_wrapper_fontconfig)(const FcPattern*,const FcPattern*,const FcObjectSet*);
FcChar32 (*FcPatternHash_dylibloader_wrapper_fontconfig)(const FcPattern*);
@@ -582,18 +541,8 @@ FcRange* (*FcRangeCreateInteger_dylibloader_wrapper_fontconfig)( FcChar32, FcCha
void (*FcRangeDestroy_dylibloader_wrapper_fontconfig)( FcRange*);
FcRange* (*FcRangeCopy_dylibloader_wrapper_fontconfig)(const FcRange*);
FcBool (*FcRangeGetDouble_dylibloader_wrapper_fontconfig)(const FcRange*, double*, double*);
-void (*FcPatternIterStart_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-FcBool (*FcPatternIterNext_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-FcBool (*FcPatternIterEqual_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*,const FcPattern*, FcPatternIter*);
-FcBool (*FcPatternFindIter_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*,const char*);
-FcBool (*FcPatternIterIsValid_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-const char* (*FcPatternIterGetObject_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-int (*FcPatternIterValueCount_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-FcResult (*FcPatternIterGetValue_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*, int, FcValue*, FcValueBinding*);
int (*FcWeightFromOpenType_dylibloader_wrapper_fontconfig)( int);
-double (*FcWeightFromOpenTypeDouble_dylibloader_wrapper_fontconfig)( double);
int (*FcWeightToOpenType_dylibloader_wrapper_fontconfig)( int);
-double (*FcWeightToOpenTypeDouble_dylibloader_wrapper_fontconfig)( double);
FcChar8* (*FcStrCopy_dylibloader_wrapper_fontconfig)(const FcChar8*);
FcChar8* (*FcStrCopyFilename_dylibloader_wrapper_fontconfig)(const FcChar8*);
FcChar8* (*FcStrPlus_dylibloader_wrapper_fontconfig)(const FcChar8*,const FcChar8*);
@@ -738,22 +687,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcDirCacheCreateUUID
- *(void **) (&FcDirCacheCreateUUID_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcDirCacheCreateUUID");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcDirCacheDeleteUUID
- *(void **) (&FcDirCacheDeleteUUID_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcDirCacheDeleteUUID");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcConfigHome
*(void **) (&FcConfigHome_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcConfigHome");
if (verbose) {
@@ -962,30 +895,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcConfigFileInfoIterInit
- *(void **) (&FcConfigFileInfoIterInit_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcConfigFileInfoIterInit");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcConfigFileInfoIterNext
- *(void **) (&FcConfigFileInfoIterNext_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcConfigFileInfoIterNext");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcConfigFileInfoIterGet
- *(void **) (&FcConfigFileInfoIterGet_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcConfigFileInfoIterGet");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcValuePrint
*(void **) (&FcValuePrint_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcValuePrint");
if (verbose) {
@@ -1106,14 +1015,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcFreeTypeQueryAll
- *(void **) (&FcFreeTypeQueryAll_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcFreeTypeQueryAll");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcFontSetCreate
*(void **) (&FcFontSetCreate_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcFontSetCreate");
if (verbose) {
@@ -1674,14 +1575,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcPatternObjectCount
- *(void **) (&FcPatternObjectCount_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternObjectCount");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcPatternEqual
*(void **) (&FcPatternEqual_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternEqual");
if (verbose) {
@@ -1946,70 +1839,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcPatternIterStart
- *(void **) (&FcPatternIterStart_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterStart");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternIterNext
- *(void **) (&FcPatternIterNext_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterNext");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternIterEqual
- *(void **) (&FcPatternIterEqual_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterEqual");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternFindIter
- *(void **) (&FcPatternFindIter_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternFindIter");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternIterIsValid
- *(void **) (&FcPatternIterIsValid_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterIsValid");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternIterGetObject
- *(void **) (&FcPatternIterGetObject_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterGetObject");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternIterValueCount
- *(void **) (&FcPatternIterValueCount_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterValueCount");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
-// FcPatternIterGetValue
- *(void **) (&FcPatternIterGetValue_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcPatternIterGetValue");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcWeightFromOpenType
*(void **) (&FcWeightFromOpenType_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcWeightFromOpenType");
if (verbose) {
@@ -2018,14 +1847,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcWeightFromOpenTypeDouble
- *(void **) (&FcWeightFromOpenTypeDouble_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcWeightFromOpenTypeDouble");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcWeightToOpenType
*(void **) (&FcWeightToOpenType_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcWeightToOpenType");
if (verbose) {
@@ -2034,14 +1855,6 @@ int initialize_fontconfig(int verbose) {
fprintf(stderr, "%s\n", error);
}
}
-// FcWeightToOpenTypeDouble
- *(void **) (&FcWeightToOpenTypeDouble_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcWeightToOpenTypeDouble");
- if (verbose) {
- error = dlerror();
- if (error != NULL) {
- fprintf(stderr, "%s\n", error);
- }
- }
// FcStrCopy
*(void **) (&FcStrCopy_dylibloader_wrapper_fontconfig) = dlsym(handle, "FcStrCopy");
if (verbose) {
diff --git a/platform/linuxbsd/fontconfig-so_wrap.h b/platform/linuxbsd/fontconfig-so_wrap.h
index ba9006f945..f0794cce8b 100644
--- a/platform/linuxbsd/fontconfig-so_wrap.h
+++ b/platform/linuxbsd/fontconfig-so_wrap.h
@@ -2,7 +2,7 @@
#define DYLIBLOAD_WRAPPER_FONTCONFIG
// This file is generated. Do not edit!
// see https://github.com/hpvb/dynload-wrapper for details
-// generated by ./generate-wrapper.py 0.3 on 2022-07-27 17:50:40
+// generated by ./generate-wrapper.py 0.3 on 2022-07-29 05:40:07
// flags: ./generate-wrapper.py --include /usr/include/fontconfig/fontconfig.h --sys-include <fontconfig/fontconfig.h> --soname libfontconfig.so --init-name fontconfig --output-header fontconfig-so_wrap.h --output-implementation fontconfig-so_wrap.c --omit-prefix FcCharSet
//
#include <stdint.h>
@@ -20,8 +20,6 @@
#define FcDirCacheValid FcDirCacheValid_dylibloader_orig_fontconfig
#define FcDirCacheClean FcDirCacheClean_dylibloader_orig_fontconfig
#define FcCacheCreateTagFile FcCacheCreateTagFile_dylibloader_orig_fontconfig
-#define FcDirCacheCreateUUID FcDirCacheCreateUUID_dylibloader_orig_fontconfig
-#define FcDirCacheDeleteUUID FcDirCacheDeleteUUID_dylibloader_orig_fontconfig
#define FcConfigHome FcConfigHome_dylibloader_orig_fontconfig
#define FcConfigEnableHome FcConfigEnableHome_dylibloader_orig_fontconfig
#define FcConfigFilename FcConfigFilename_dylibloader_orig_fontconfig
@@ -48,9 +46,6 @@
#define FcConfigSubstitute FcConfigSubstitute_dylibloader_orig_fontconfig
#define FcConfigGetSysRoot FcConfigGetSysRoot_dylibloader_orig_fontconfig
#define FcConfigSetSysRoot FcConfigSetSysRoot_dylibloader_orig_fontconfig
-#define FcConfigFileInfoIterInit FcConfigFileInfoIterInit_dylibloader_orig_fontconfig
-#define FcConfigFileInfoIterNext FcConfigFileInfoIterNext_dylibloader_orig_fontconfig
-#define FcConfigFileInfoIterGet FcConfigFileInfoIterGet_dylibloader_orig_fontconfig
#define FcValuePrint FcValuePrint_dylibloader_orig_fontconfig
#define FcPatternPrint FcPatternPrint_dylibloader_orig_fontconfig
#define FcFontSetPrint FcFontSetPrint_dylibloader_orig_fontconfig
@@ -66,7 +61,6 @@
#define FcDirCacheLoadFile FcDirCacheLoadFile_dylibloader_orig_fontconfig
#define FcDirCacheUnload FcDirCacheUnload_dylibloader_orig_fontconfig
#define FcFreeTypeQuery FcFreeTypeQuery_dylibloader_orig_fontconfig
-#define FcFreeTypeQueryAll FcFreeTypeQueryAll_dylibloader_orig_fontconfig
#define FcFontSetCreate FcFontSetCreate_dylibloader_orig_fontconfig
#define FcFontSetDestroy FcFontSetDestroy_dylibloader_orig_fontconfig
#define FcFontSetAdd FcFontSetAdd_dylibloader_orig_fontconfig
@@ -137,7 +131,6 @@
#define FcValueEqual FcValueEqual_dylibloader_orig_fontconfig
#define FcValueSave FcValueSave_dylibloader_orig_fontconfig
#define FcPatternDestroy FcPatternDestroy_dylibloader_orig_fontconfig
-#define FcPatternObjectCount FcPatternObjectCount_dylibloader_orig_fontconfig
#define FcPatternEqual FcPatternEqual_dylibloader_orig_fontconfig
#define FcPatternEqualSubset FcPatternEqualSubset_dylibloader_orig_fontconfig
#define FcPatternHash FcPatternHash_dylibloader_orig_fontconfig
@@ -171,18 +164,8 @@
#define FcRangeDestroy FcRangeDestroy_dylibloader_orig_fontconfig
#define FcRangeCopy FcRangeCopy_dylibloader_orig_fontconfig
#define FcRangeGetDouble FcRangeGetDouble_dylibloader_orig_fontconfig
-#define FcPatternIterStart FcPatternIterStart_dylibloader_orig_fontconfig
-#define FcPatternIterNext FcPatternIterNext_dylibloader_orig_fontconfig
-#define FcPatternIterEqual FcPatternIterEqual_dylibloader_orig_fontconfig
-#define FcPatternFindIter FcPatternFindIter_dylibloader_orig_fontconfig
-#define FcPatternIterIsValid FcPatternIterIsValid_dylibloader_orig_fontconfig
-#define FcPatternIterGetObject FcPatternIterGetObject_dylibloader_orig_fontconfig
-#define FcPatternIterValueCount FcPatternIterValueCount_dylibloader_orig_fontconfig
-#define FcPatternIterGetValue FcPatternIterGetValue_dylibloader_orig_fontconfig
#define FcWeightFromOpenType FcWeightFromOpenType_dylibloader_orig_fontconfig
-#define FcWeightFromOpenTypeDouble FcWeightFromOpenTypeDouble_dylibloader_orig_fontconfig
#define FcWeightToOpenType FcWeightToOpenType_dylibloader_orig_fontconfig
-#define FcWeightToOpenTypeDouble FcWeightToOpenTypeDouble_dylibloader_orig_fontconfig
#define FcStrCopy FcStrCopy_dylibloader_orig_fontconfig
#define FcStrCopyFilename FcStrCopyFilename_dylibloader_orig_fontconfig
#define FcStrPlus FcStrPlus_dylibloader_orig_fontconfig
@@ -226,8 +209,6 @@
#undef FcDirCacheValid
#undef FcDirCacheClean
#undef FcCacheCreateTagFile
-#undef FcDirCacheCreateUUID
-#undef FcDirCacheDeleteUUID
#undef FcConfigHome
#undef FcConfigEnableHome
#undef FcConfigFilename
@@ -254,9 +235,6 @@
#undef FcConfigSubstitute
#undef FcConfigGetSysRoot
#undef FcConfigSetSysRoot
-#undef FcConfigFileInfoIterInit
-#undef FcConfigFileInfoIterNext
-#undef FcConfigFileInfoIterGet
#undef FcValuePrint
#undef FcPatternPrint
#undef FcFontSetPrint
@@ -272,7 +250,6 @@
#undef FcDirCacheLoadFile
#undef FcDirCacheUnload
#undef FcFreeTypeQuery
-#undef FcFreeTypeQueryAll
#undef FcFontSetCreate
#undef FcFontSetDestroy
#undef FcFontSetAdd
@@ -343,7 +320,6 @@
#undef FcValueEqual
#undef FcValueSave
#undef FcPatternDestroy
-#undef FcPatternObjectCount
#undef FcPatternEqual
#undef FcPatternEqualSubset
#undef FcPatternHash
@@ -377,18 +353,8 @@
#undef FcRangeDestroy
#undef FcRangeCopy
#undef FcRangeGetDouble
-#undef FcPatternIterStart
-#undef FcPatternIterNext
-#undef FcPatternIterEqual
-#undef FcPatternFindIter
-#undef FcPatternIterIsValid
-#undef FcPatternIterGetObject
-#undef FcPatternIterValueCount
-#undef FcPatternIterGetValue
#undef FcWeightFromOpenType
-#undef FcWeightFromOpenTypeDouble
#undef FcWeightToOpenType
-#undef FcWeightToOpenTypeDouble
#undef FcStrCopy
#undef FcStrCopyFilename
#undef FcStrPlus
@@ -434,8 +400,6 @@ extern "C" {
#define FcDirCacheValid FcDirCacheValid_dylibloader_wrapper_fontconfig
#define FcDirCacheClean FcDirCacheClean_dylibloader_wrapper_fontconfig
#define FcCacheCreateTagFile FcCacheCreateTagFile_dylibloader_wrapper_fontconfig
-#define FcDirCacheCreateUUID FcDirCacheCreateUUID_dylibloader_wrapper_fontconfig
-#define FcDirCacheDeleteUUID FcDirCacheDeleteUUID_dylibloader_wrapper_fontconfig
#define FcConfigHome FcConfigHome_dylibloader_wrapper_fontconfig
#define FcConfigEnableHome FcConfigEnableHome_dylibloader_wrapper_fontconfig
#define FcConfigFilename FcConfigFilename_dylibloader_wrapper_fontconfig
@@ -462,9 +426,6 @@ extern "C" {
#define FcConfigSubstitute FcConfigSubstitute_dylibloader_wrapper_fontconfig
#define FcConfigGetSysRoot FcConfigGetSysRoot_dylibloader_wrapper_fontconfig
#define FcConfigSetSysRoot FcConfigSetSysRoot_dylibloader_wrapper_fontconfig
-#define FcConfigFileInfoIterInit FcConfigFileInfoIterInit_dylibloader_wrapper_fontconfig
-#define FcConfigFileInfoIterNext FcConfigFileInfoIterNext_dylibloader_wrapper_fontconfig
-#define FcConfigFileInfoIterGet FcConfigFileInfoIterGet_dylibloader_wrapper_fontconfig
#define FcValuePrint FcValuePrint_dylibloader_wrapper_fontconfig
#define FcPatternPrint FcPatternPrint_dylibloader_wrapper_fontconfig
#define FcFontSetPrint FcFontSetPrint_dylibloader_wrapper_fontconfig
@@ -480,7 +441,6 @@ extern "C" {
#define FcDirCacheLoadFile FcDirCacheLoadFile_dylibloader_wrapper_fontconfig
#define FcDirCacheUnload FcDirCacheUnload_dylibloader_wrapper_fontconfig
#define FcFreeTypeQuery FcFreeTypeQuery_dylibloader_wrapper_fontconfig
-#define FcFreeTypeQueryAll FcFreeTypeQueryAll_dylibloader_wrapper_fontconfig
#define FcFontSetCreate FcFontSetCreate_dylibloader_wrapper_fontconfig
#define FcFontSetDestroy FcFontSetDestroy_dylibloader_wrapper_fontconfig
#define FcFontSetAdd FcFontSetAdd_dylibloader_wrapper_fontconfig
@@ -551,7 +511,6 @@ extern "C" {
#define FcValueEqual FcValueEqual_dylibloader_wrapper_fontconfig
#define FcValueSave FcValueSave_dylibloader_wrapper_fontconfig
#define FcPatternDestroy FcPatternDestroy_dylibloader_wrapper_fontconfig
-#define FcPatternObjectCount FcPatternObjectCount_dylibloader_wrapper_fontconfig
#define FcPatternEqual FcPatternEqual_dylibloader_wrapper_fontconfig
#define FcPatternEqualSubset FcPatternEqualSubset_dylibloader_wrapper_fontconfig
#define FcPatternHash FcPatternHash_dylibloader_wrapper_fontconfig
@@ -585,18 +544,8 @@ extern "C" {
#define FcRangeDestroy FcRangeDestroy_dylibloader_wrapper_fontconfig
#define FcRangeCopy FcRangeCopy_dylibloader_wrapper_fontconfig
#define FcRangeGetDouble FcRangeGetDouble_dylibloader_wrapper_fontconfig
-#define FcPatternIterStart FcPatternIterStart_dylibloader_wrapper_fontconfig
-#define FcPatternIterNext FcPatternIterNext_dylibloader_wrapper_fontconfig
-#define FcPatternIterEqual FcPatternIterEqual_dylibloader_wrapper_fontconfig
-#define FcPatternFindIter FcPatternFindIter_dylibloader_wrapper_fontconfig
-#define FcPatternIterIsValid FcPatternIterIsValid_dylibloader_wrapper_fontconfig
-#define FcPatternIterGetObject FcPatternIterGetObject_dylibloader_wrapper_fontconfig
-#define FcPatternIterValueCount FcPatternIterValueCount_dylibloader_wrapper_fontconfig
-#define FcPatternIterGetValue FcPatternIterGetValue_dylibloader_wrapper_fontconfig
#define FcWeightFromOpenType FcWeightFromOpenType_dylibloader_wrapper_fontconfig
-#define FcWeightFromOpenTypeDouble FcWeightFromOpenTypeDouble_dylibloader_wrapper_fontconfig
#define FcWeightToOpenType FcWeightToOpenType_dylibloader_wrapper_fontconfig
-#define FcWeightToOpenTypeDouble FcWeightToOpenTypeDouble_dylibloader_wrapper_fontconfig
#define FcStrCopy FcStrCopy_dylibloader_wrapper_fontconfig
#define FcStrCopyFilename FcStrCopyFilename_dylibloader_wrapper_fontconfig
#define FcStrPlus FcStrPlus_dylibloader_wrapper_fontconfig
@@ -639,8 +588,6 @@ extern FcBool (*FcDirCacheUnlink_dylibloader_wrapper_fontconfig)(const FcChar8*,
extern FcBool (*FcDirCacheValid_dylibloader_wrapper_fontconfig)(const FcChar8*);
extern FcBool (*FcDirCacheClean_dylibloader_wrapper_fontconfig)(const FcChar8*, FcBool);
extern void (*FcCacheCreateTagFile_dylibloader_wrapper_fontconfig)(const FcConfig*);
-extern FcBool (*FcDirCacheCreateUUID_dylibloader_wrapper_fontconfig)( FcChar8*, FcBool, FcConfig*);
-extern FcBool (*FcDirCacheDeleteUUID_dylibloader_wrapper_fontconfig)(const FcChar8*, FcConfig*);
extern FcChar8* (*FcConfigHome_dylibloader_wrapper_fontconfig)( void);
extern FcBool (*FcConfigEnableHome_dylibloader_wrapper_fontconfig)( FcBool);
extern FcChar8* (*FcConfigFilename_dylibloader_wrapper_fontconfig)(const FcChar8*);
@@ -667,9 +614,6 @@ extern FcBool (*FcConfigSubstituteWithPat_dylibloader_wrapper_fontconfig)( FcCon
extern FcBool (*FcConfigSubstitute_dylibloader_wrapper_fontconfig)( FcConfig*, FcPattern*, FcMatchKind);
extern const FcChar8* (*FcConfigGetSysRoot_dylibloader_wrapper_fontconfig)(const FcConfig*);
extern void (*FcConfigSetSysRoot_dylibloader_wrapper_fontconfig)( FcConfig*,const FcChar8*);
-extern void (*FcConfigFileInfoIterInit_dylibloader_wrapper_fontconfig)( FcConfig*, FcConfigFileInfoIter*);
-extern FcBool (*FcConfigFileInfoIterNext_dylibloader_wrapper_fontconfig)( FcConfig*, FcConfigFileInfoIter*);
-extern FcBool (*FcConfigFileInfoIterGet_dylibloader_wrapper_fontconfig)( FcConfig*, FcConfigFileInfoIter*, FcChar8**, FcChar8**, FcBool*);
extern void (*FcValuePrint_dylibloader_wrapper_fontconfig)(const FcValue);
extern void (*FcPatternPrint_dylibloader_wrapper_fontconfig)(const FcPattern*);
extern void (*FcFontSetPrint_dylibloader_wrapper_fontconfig)(const FcFontSet*);
@@ -684,8 +628,7 @@ extern FcCache* (*FcDirCacheRescan_dylibloader_wrapper_fontconfig)(const FcChar8
extern FcCache* (*FcDirCacheRead_dylibloader_wrapper_fontconfig)(const FcChar8*, FcBool, FcConfig*);
extern FcCache* (*FcDirCacheLoadFile_dylibloader_wrapper_fontconfig)(const FcChar8*,struct stat*);
extern void (*FcDirCacheUnload_dylibloader_wrapper_fontconfig)( FcCache*);
-extern FcPattern* (*FcFreeTypeQuery_dylibloader_wrapper_fontconfig)(const FcChar8*, unsigned int, FcBlanks*, int*);
-extern unsigned int (*FcFreeTypeQueryAll_dylibloader_wrapper_fontconfig)(const FcChar8*, unsigned int, FcBlanks*, int*, FcFontSet*);
+extern FcPattern* (*FcFreeTypeQuery_dylibloader_wrapper_fontconfig)(const FcChar8*, int, FcBlanks*, int*);
extern FcFontSet* (*FcFontSetCreate_dylibloader_wrapper_fontconfig)( void);
extern void (*FcFontSetDestroy_dylibloader_wrapper_fontconfig)( FcFontSet*);
extern FcBool (*FcFontSetAdd_dylibloader_wrapper_fontconfig)( FcFontSet*, FcPattern*);
@@ -756,7 +699,6 @@ extern void (*FcValueDestroy_dylibloader_wrapper_fontconfig)( FcValue);
extern FcBool (*FcValueEqual_dylibloader_wrapper_fontconfig)( FcValue, FcValue);
extern FcValue (*FcValueSave_dylibloader_wrapper_fontconfig)( FcValue);
extern void (*FcPatternDestroy_dylibloader_wrapper_fontconfig)( FcPattern*);
-extern int (*FcPatternObjectCount_dylibloader_wrapper_fontconfig)(const FcPattern*);
extern FcBool (*FcPatternEqual_dylibloader_wrapper_fontconfig)(const FcPattern*,const FcPattern*);
extern FcBool (*FcPatternEqualSubset_dylibloader_wrapper_fontconfig)(const FcPattern*,const FcPattern*,const FcObjectSet*);
extern FcChar32 (*FcPatternHash_dylibloader_wrapper_fontconfig)(const FcPattern*);
@@ -790,18 +732,8 @@ extern FcRange* (*FcRangeCreateInteger_dylibloader_wrapper_fontconfig)( FcChar32
extern void (*FcRangeDestroy_dylibloader_wrapper_fontconfig)( FcRange*);
extern FcRange* (*FcRangeCopy_dylibloader_wrapper_fontconfig)(const FcRange*);
extern FcBool (*FcRangeGetDouble_dylibloader_wrapper_fontconfig)(const FcRange*, double*, double*);
-extern void (*FcPatternIterStart_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-extern FcBool (*FcPatternIterNext_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-extern FcBool (*FcPatternIterEqual_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*,const FcPattern*, FcPatternIter*);
-extern FcBool (*FcPatternFindIter_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*,const char*);
-extern FcBool (*FcPatternIterIsValid_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-extern const char* (*FcPatternIterGetObject_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-extern int (*FcPatternIterValueCount_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*);
-extern FcResult (*FcPatternIterGetValue_dylibloader_wrapper_fontconfig)(const FcPattern*, FcPatternIter*, int, FcValue*, FcValueBinding*);
extern int (*FcWeightFromOpenType_dylibloader_wrapper_fontconfig)( int);
-extern double (*FcWeightFromOpenTypeDouble_dylibloader_wrapper_fontconfig)( double);
extern int (*FcWeightToOpenType_dylibloader_wrapper_fontconfig)( int);
-extern double (*FcWeightToOpenTypeDouble_dylibloader_wrapper_fontconfig)( double);
extern FcChar8* (*FcStrCopy_dylibloader_wrapper_fontconfig)(const FcChar8*);
extern FcChar8* (*FcStrCopyFilename_dylibloader_wrapper_fontconfig)(const FcChar8*);
extern FcChar8* (*FcStrPlus_dylibloader_wrapper_fontconfig)(const FcChar8*,const FcChar8*);
diff --git a/platform/linuxbsd/freedesktop_portal_desktop.cpp b/platform/linuxbsd/freedesktop_portal_desktop.cpp
new file mode 100644
index 0000000000..ed54084694
--- /dev/null
+++ b/platform/linuxbsd/freedesktop_portal_desktop.cpp
@@ -0,0 +1,135 @@
+/*************************************************************************/
+/* freedesktop_portal_desktop.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#include "freedesktop_portal_desktop.h"
+
+#ifdef DBUS_ENABLED
+
+#include "core/error/error_macros.h"
+#include "core/os/os.h"
+#include "core/string/ustring.h"
+
+#include "dbus-so_wrap.h"
+
+#include "core/variant/variant.h"
+
+#define BUS_OBJECT_NAME "org.freedesktop.portal.Desktop"
+#define BUS_OBJECT_PATH "/org/freedesktop/portal/desktop"
+
+#define BUS_INTERFACE_SETTINGS "org.freedesktop.portal.Settings"
+
+static bool try_parse_variant(DBusMessage *p_reply_message, int p_type, void *r_value) {
+ DBusMessageIter iter[3];
+
+ dbus_message_iter_init(p_reply_message, &iter[0]);
+ if (dbus_message_iter_get_arg_type(&iter[0]) != DBUS_TYPE_VARIANT) {
+ return false;
+ }
+
+ dbus_message_iter_recurse(&iter[0], &iter[1]);
+ if (dbus_message_iter_get_arg_type(&iter[1]) != DBUS_TYPE_VARIANT) {
+ return false;
+ }
+
+ dbus_message_iter_recurse(&iter[1], &iter[2]);
+ if (dbus_message_iter_get_arg_type(&iter[2]) != p_type) {
+ return false;
+ }
+
+ dbus_message_iter_get_basic(&iter[2], r_value);
+ return true;
+}
+
+bool FreeDesktopPortalDesktop::read_setting(const char *p_namespace, const char *p_key, int p_type, void *r_value) {
+ if (unsupported) {
+ return false;
+ }
+
+ DBusError error;
+ dbus_error_init(&error);
+
+ DBusConnection *bus = dbus_bus_get(DBUS_BUS_SESSION, &error);
+ if (dbus_error_is_set(&error)) {
+ dbus_error_free(&error);
+ unsupported = true;
+ if (OS::get_singleton()->is_stdout_verbose()) {
+ ERR_PRINT(String() + "Error opening D-Bus connection: " + error.message);
+ }
+ return false;
+ }
+
+ DBusMessage *message = dbus_message_new_method_call(
+ BUS_OBJECT_NAME, BUS_OBJECT_PATH, BUS_INTERFACE_SETTINGS,
+ "Read");
+ dbus_message_append_args(
+ message,
+ DBUS_TYPE_STRING, &p_namespace,
+ DBUS_TYPE_STRING, &p_key,
+ DBUS_TYPE_INVALID);
+
+ DBusMessage *reply = dbus_connection_send_with_reply_and_block(bus, message, 50, &error);
+ dbus_message_unref(message);
+ if (dbus_error_is_set(&error)) {
+ dbus_error_free(&error);
+ dbus_connection_unref(bus);
+ if (OS::get_singleton()->is_stdout_verbose()) {
+ ERR_PRINT(String() + "Error on D-Bus communication: " + error.message);
+ }
+ return false;
+ }
+
+ bool success = try_parse_variant(reply, p_type, r_value);
+
+ dbus_message_unref(reply);
+ dbus_connection_unref(bus);
+
+ return success;
+}
+
+uint32_t FreeDesktopPortalDesktop::get_appearance_color_scheme() {
+ if (unsupported) {
+ return 0;
+ }
+
+ uint32_t value = 0;
+ read_setting("org.freedesktop.appearance", "color-scheme", DBUS_TYPE_UINT32, &value);
+ return value;
+}
+
+FreeDesktopPortalDesktop::FreeDesktopPortalDesktop() {
+#ifdef DEBUG_ENABLED
+ int dylibloader_verbose = 1;
+#else
+ int dylibloader_verbose = 0;
+#endif
+ unsupported = (initialize_dbus(dylibloader_verbose) != 0);
+}
+
+#endif // DBUS_ENABLED
diff --git a/platform/linuxbsd/freedesktop_portal_desktop.h b/platform/linuxbsd/freedesktop_portal_desktop.h
new file mode 100644
index 0000000000..3d976b1ede
--- /dev/null
+++ b/platform/linuxbsd/freedesktop_portal_desktop.h
@@ -0,0 +1,59 @@
+/*************************************************************************/
+/* freedesktop_portal_desktop.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef FREEDESKTOP_PORTAL_DESKTOP_H
+#define FREEDESKTOP_PORTAL_DESKTOP_H
+
+#ifdef DBUS_ENABLED
+
+#include <stdint.h>
+
+class FreeDesktopPortalDesktop {
+private:
+ bool unsupported = false;
+
+ // Read a setting from org.freekdesktop.portal.Settings
+ bool read_setting(const char *p_namespace, const char *p_key, int p_type, void *r_value);
+
+public:
+ FreeDesktopPortalDesktop();
+
+ bool is_supported() { return !unsupported; }
+
+ // Retrieve the system's preferred color scheme.
+ // 0: No preference or unknown.
+ // 1: Prefer dark appearance.
+ // 2: Prefer light appearance.
+ uint32_t get_appearance_color_scheme();
+};
+
+#endif // DBUS_ENABLED
+
+#endif // FREEDESKTOP_PORTAL_DESKTOP_H
diff --git a/platform/linuxbsd/freedesktop_screensaver.cpp b/platform/linuxbsd/freedesktop_screensaver.cpp
index 1e93334e40..fa3f7fbfea 100644
--- a/platform/linuxbsd/freedesktop_screensaver.cpp
+++ b/platform/linuxbsd/freedesktop_screensaver.cpp
@@ -34,7 +34,7 @@
#include "core/config/project_settings.h"
-#include <dbus/dbus.h>
+#include "dbus-so_wrap.h"
#define BUS_OBJECT_NAME "org.freedesktop.ScreenSaver"
#define BUS_OBJECT_PATH "/org/freedesktop/ScreenSaver"
@@ -126,4 +126,13 @@ void FreeDesktopScreenSaver::uninhibit() {
dbus_connection_unref(bus);
}
+FreeDesktopScreenSaver::FreeDesktopScreenSaver() {
+#ifdef DEBUG_ENABLED
+ int dylibloader_verbose = 1;
+#else
+ int dylibloader_verbose = 0;
+#endif
+ unsupported = (initialize_dbus(dylibloader_verbose) != 0);
+}
+
#endif // DBUS_ENABLED
diff --git a/platform/linuxbsd/freedesktop_screensaver.h b/platform/linuxbsd/freedesktop_screensaver.h
index 1b632b9103..1a8b010cd5 100644
--- a/platform/linuxbsd/freedesktop_screensaver.h
+++ b/platform/linuxbsd/freedesktop_screensaver.h
@@ -33,7 +33,6 @@
#ifdef DBUS_ENABLED
-#include <dbus/dbus.h>
#include <stdint.h>
class FreeDesktopScreenSaver {
@@ -42,7 +41,7 @@ private:
bool unsupported = false;
public:
- FreeDesktopScreenSaver() {}
+ FreeDesktopScreenSaver();
void inhibit();
void uninhibit();
};
diff --git a/platform/linuxbsd/gl_manager_x11.cpp b/platform/linuxbsd/gl_manager_x11.cpp
index d3fb1d6705..04c1df71fb 100644
--- a/platform/linuxbsd/gl_manager_x11.cpp
+++ b/platform/linuxbsd/gl_manager_x11.cpp
@@ -127,10 +127,6 @@ Error GLManager_X11::_create_context(GLDisplay &gl_display) {
GLXFBConfig fbconfig = nullptr;
XVisualInfo *vi = nullptr;
- gl_display.x_swa.event_mask = StructureNotifyMask;
- gl_display.x_swa.border_pixel = 0;
- gl_display.x_valuemask = CWBorderPixel | CWColormap | CWEventMask;
-
if (OS::get_singleton()->is_layered_allowed()) {
GLXFBConfig *fbc = glXChooseFBConfig(x11_display, DefaultScreen(x11_display), visual_attribs_layered, &fbcount);
ERR_FAIL_COND_V(!fbc, ERR_UNCONFIGURED);
@@ -156,12 +152,6 @@ Error GLManager_X11::_create_context(GLDisplay &gl_display) {
XFree(fbc);
ERR_FAIL_COND_V(!fbconfig, ERR_UNCONFIGURED);
-
- gl_display.x_swa.background_pixmap = None;
- gl_display.x_swa.background_pixel = 0;
- gl_display.x_swa.border_pixmap = None;
- gl_display.x_valuemask |= CWBackPixel;
-
} else {
GLXFBConfig *fbc = glXChooseFBConfig(x11_display, DefaultScreen(x11_display), visual_attribs, &fbcount);
ERR_FAIL_COND_V(!fbc, ERR_UNCONFIGURED);
@@ -189,8 +179,6 @@ Error GLManager_X11::_create_context(GLDisplay &gl_display) {
} break;
}
- gl_display.x_swa.colormap = XCreateColormap(x11_display, RootWindow(x11_display, vi->screen), vi->visual, AllocNone);
-
XSync(x11_display, False);
XSetErrorHandler(oldHandler);
@@ -205,6 +193,10 @@ Error GLManager_X11::_create_context(GLDisplay &gl_display) {
return OK;
}
+XVisualInfo GLManager_X11::get_vi(Display *p_display) {
+ return _displays[_find_or_create_display(p_display)].x_vi;
+}
+
Error GLManager_X11::window_create(DisplayServer::WindowID p_window_id, ::Window p_window, Display *p_display, int p_width, int p_height) {
// make sure vector is big enough...
// we can mirror the external vector, it is simpler
@@ -223,8 +215,6 @@ Error GLManager_X11::window_create(DisplayServer::WindowID p_window_id, ::Window
// the display could be invalid .. check NYI
GLDisplay &gl_display = _displays[win.gldisplay_id];
- //const XVisualInfo &vi = gl_display.x_vi;
- //XSetWindowAttributes &swa = gl_display.x_swa;
::Display *x11_display = gl_display.x11_display;
::Window &x11_window = win.x11_window;
@@ -315,6 +305,16 @@ void GLManager_X11::swap_buffers() {
return;
}
+ // On X11, when enabled, transparancy is always active, so clear alpha manually.
+ if (OS::get_singleton()->is_layered_allowed()) {
+ if (!DisplayServer::get_singleton()->window_get_flag(DisplayServer::WINDOW_FLAG_TRANSPARENT, _current_window->window_id)) {
+ glColorMask(false, false, false, true);
+ glClearColor(0, 0, 0, 1);
+ glClear(GL_COLOR_BUFFER_BIT);
+ glColorMask(true, true, true, true);
+ }
+ }
+
// print_line("\tswap_buffers");
// only for debugging without drawing anything
diff --git a/platform/linuxbsd/gl_manager_x11.h b/platform/linuxbsd/gl_manager_x11.h
index fb2c74a2b6..4f78c45c88 100644
--- a/platform/linuxbsd/gl_manager_x11.h
+++ b/platform/linuxbsd/gl_manager_x11.h
@@ -68,8 +68,6 @@ private:
GLManager_X11_Private *context = nullptr;
::Display *x11_display;
XVisualInfo x_vi;
- XSetWindowAttributes x_swa;
- unsigned long x_valuemask;
};
// just for convenience, window and display struct
@@ -102,6 +100,7 @@ private:
Error _create_context(GLDisplay &gl_display);
public:
+ XVisualInfo get_vi(Display *p_display);
Error window_create(DisplayServer::WindowID p_window_id, ::Window p_window, Display *p_display, int p_width, int p_height);
void window_destroy(DisplayServer::WindowID p_window_id);
void window_resize(DisplayServer::WindowID p_window_id, int p_width, int p_height);
diff --git a/platform/linuxbsd/os_linuxbsd.cpp b/platform/linuxbsd/os_linuxbsd.cpp
index e306c1054b..61faf3061c 100644
--- a/platform/linuxbsd/os_linuxbsd.cpp
+++ b/platform/linuxbsd/os_linuxbsd.cpp
@@ -65,7 +65,7 @@ void OS_LinuxBSD::alert(const String &p_alert, const String &p_title) {
for (int i = 0; i < path_elems.size(); i++) {
for (uint64_t k = 0; k < sizeof(message_programs) / sizeof(char *); k++) {
- String tested_path = path_elems[i].plus_file(message_programs[k]);
+ String tested_path = path_elems[i].path_join(message_programs[k]);
if (FileAccess::exists(tested_path)) {
program = tested_path;
@@ -368,6 +368,7 @@ Vector<String> OS_LinuxBSD::get_system_fonts() const {
FcPatternDestroy(pattern);
}
FcObjectSetDestroy(object_set);
+ FcConfigDestroy(config);
for (const String &E : font_names) {
ret.push_back(E);
@@ -417,6 +418,8 @@ String OS_LinuxBSD::get_system_font_path(const String &p_font_name, bool p_bold,
FcPatternDestroy(pattern);
}
FcObjectSetDestroy(object_set);
+ FcConfigDestroy(config);
+
return ret;
#else
ERR_FAIL_V_MSG(String(), "Godot was compiled without fontconfig, system font support is disabled.");
@@ -429,10 +432,10 @@ String OS_LinuxBSD::get_config_path() const {
return get_environment("XDG_CONFIG_HOME");
} else {
WARN_PRINT_ONCE("`XDG_CONFIG_HOME` is a relative path. Ignoring its value and falling back to `$HOME/.config` or `.` per the XDG Base Directory specification.");
- return has_environment("HOME") ? get_environment("HOME").plus_file(".config") : ".";
+ return has_environment("HOME") ? get_environment("HOME").path_join(".config") : ".";
}
} else if (has_environment("HOME")) {
- return get_environment("HOME").plus_file(".config");
+ return get_environment("HOME").path_join(".config");
} else {
return ".";
}
@@ -444,10 +447,10 @@ String OS_LinuxBSD::get_data_path() const {
return get_environment("XDG_DATA_HOME");
} else {
WARN_PRINT_ONCE("`XDG_DATA_HOME` is a relative path. Ignoring its value and falling back to `$HOME/.local/share` or `get_config_path()` per the XDG Base Directory specification.");
- return has_environment("HOME") ? get_environment("HOME").plus_file(".local/share") : get_config_path();
+ return has_environment("HOME") ? get_environment("HOME").path_join(".local/share") : get_config_path();
}
} else if (has_environment("HOME")) {
- return get_environment("HOME").plus_file(".local/share");
+ return get_environment("HOME").path_join(".local/share");
} else {
return get_config_path();
}
@@ -459,10 +462,10 @@ String OS_LinuxBSD::get_cache_path() const {
return get_environment("XDG_CACHE_HOME");
} else {
WARN_PRINT_ONCE("`XDG_CACHE_HOME` is a relative path. Ignoring its value and falling back to `$HOME/.cache` or `get_config_path()` per the XDG Base Directory specification.");
- return has_environment("HOME") ? get_environment("HOME").plus_file(".cache") : get_config_path();
+ return has_environment("HOME") ? get_environment("HOME").path_join(".cache") : get_config_path();
}
} else if (has_environment("HOME")) {
- return get_environment("HOME").plus_file(".cache");
+ return get_environment("HOME").path_join(".cache");
} else {
return get_config_path();
}
@@ -516,8 +519,6 @@ String OS_LinuxBSD::get_system_dir(SystemDir p_dir, bool p_shared_storage) const
}
void OS_LinuxBSD::run() {
- force_quit = false;
-
if (!main_loop) {
return;
}
@@ -529,7 +530,7 @@ void OS_LinuxBSD::run() {
//int frames=0;
//uint64_t frame=0;
- while (!force_quit) {
+ while (true) {
DisplayServer::get_singleton()->process_events(); // get rid of pending events
#ifdef JOYDEV_ENABLED
joypad->process_joypads();
@@ -727,7 +728,6 @@ Error OS_LinuxBSD::move_to_trash(const String &p_path) {
OS_LinuxBSD::OS_LinuxBSD() {
main_loop = nullptr;
- force_quit = false;
#ifdef PULSEAUDIO_ENABLED
AudioDriverManager::add_driver(&driver_pulseaudio);
diff --git a/platform/linuxbsd/os_linuxbsd.h b/platform/linuxbsd/os_linuxbsd.h
index cc4e91e885..d5b2321316 100644
--- a/platform/linuxbsd/os_linuxbsd.h
+++ b/platform/linuxbsd/os_linuxbsd.h
@@ -43,8 +43,6 @@
class OS_LinuxBSD : public OS_Unix {
virtual void delete_main_loop() override;
- bool force_quit;
-
#ifdef FONTCONFIG_ENABLED
bool font_config_initialized = false;
#endif