used by Fdbus_register_service.
(QCdbus_request_name_replace_existing): Likewise.
(QCdbus_request_name_do_not_queue): Likewise.
(QCdbus_request_name_reply_primary_owner): Likewise.
(QCdbus_request_name_reply_in_queue): Likewise.
(QCdbus_request_name_reply_exists): Likewise.
(QCdbus_request_name_reply_already_owner): Likewise.
(Fdbus_register_service): New function.
(Fdbus_register_method): Use Fdbus_register_service to do the name
registration.
(syms_of_dbusbind): Add symbols dbus-register-service,
:allow-replacement, :replace-existing, :do-not-queue,
:primary-owner, :existing, :in-queue and :already-owner.
(Fdbus_register_signal, Fdbus_register_method): Check, whether
`dbus-registered-objects-table' is initialized.
Must not be synchronized with the trunk.
is more portable.
* keyboard.c (gobble_input): Move call of xd_read_queued_messages ...
(kbd_buffer_get_event): ... here. This is needed for cygwin, which
has not defined SIGIO.
(xd_pending_messages): Functions removed.
(xd_read_queued_messages): Add parameters fd, *data, for_read in
order to be compatible with add_read_fd. Determine bus from data,
and call xd_read_message just for this bus.
(xd_add_watch): Use xd_read_queued_messages as callback function.
Add data.
* lisp.h (xd_pending_messages, xd_read_queued_messages): Remove.
* src/dbusbind.c: Include process.h.
(dbus_fd_cb, xd_find_watch_fd, xd_toggle_watch)
(xd_read_message_1): New functions.
(xd_add_watch, xd_remove_watch): Call xd_find_watch_fd. Handle
watch for both read and write.
(Fdbus_init_bus): Also register xd_toggle_watch.
(Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
(Fdbus_method_error_internal, Fdbus_send_signal): Remove call
to dbus_connection_flush.
(xd_read_message): Move most of the code to xd_read_message_1.
Call xd_read_message_1 until status is COMPLETE.
* src/keyboard.c (readable_events, gobble_input): Remove DBUS code.
* src/process.c (gpm_wait_mask, max_gpm_desc): Remove.
(write_mask): New variable.
(max_input_desc): Renamed from max_keyboard_desc.
(fd_callback_info): New variable.
(add_read_fd, delete_read_fd, add_write_fd, delete_write_fd): New
functions.
(Fmake_network_process): FD_SET write_mask.
(deactivate_process): FD_CLR write_mask.
(wait_reading_process_output): Connecting renamed to Writeok.
check_connect removed. check_write is new. Remove references to
gpm. Use Writeok/check_write unconditionally (i.e. no #ifdef
NON_BLOCKING_CONNECT) instead of Connecting.
Loop over file descriptors and call callbacks in fd_callback_info
if file descriptor is ready for I/O.
(add_gpm_wait_descriptor): Just call add_keyboard_wait_descriptor.
(delete_gpm_wait_descriptor): Just call delete_keyboard_wait_descriptor.
(keyboard_bit_set): Use max_input_desc.
(add_keyboard_wait_descriptor, delete_keyboard_wait_descriptor): Remove
#ifdef subprocesses. Use max_input_desc.
(init_process): Initialize write_mask and fd_callback_info.
* src/process.h (add_read_fd, delete_read_fd, add_write_fd)
(delete_write_fd): Declare.
(Fdbus_close_bus): New function.
(Vdbus_registered_buses): New variable.
(xd_initialize): Implement string as bus address.
(Fdbus_init_bus): Add bus to Vdbus_registered_buses).
(Fdbus_get_unique_name, Fdbus_call_method)
(Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
(Fdbus_method_error_internal, Fdbus_send_signal)
(Fdbus_register_signal, Fdbus_register_method): Remove bus type
check. This is done in xd_initialize_bus. Adapt doc string, if
necessary.
(xd_pending_messages, xd_read_queued_messages): Loop over buses in
Vdbus_registered_buses.
(Vdbus_registered_objects_table): Create hash.
allows to suppress errors when polling in Emacs' main loop.
(Fdbus_init_bus, Fdbus_get_unique_name, Fdbus_call_method)
(Fdbus_call_method_asynchronously, Fdbus_method_return_internal)
(Fdbus_method_error_internal, Fdbus_send_signal)
(xd_get_dispatch_status, xd_read_message, Fdbus_register_signal)
(Fdbus_register_method): Use it. (Bug#6579)
(xd_remove_watch): Improve debug message. If DATA is the session
bus, unset D-Bus session environment.
(Fdbus_init_bus): Pass the bus as argument to
dbus_connection_set_watch_functions. (Bug#5283)
Vdbus_registered_functions_table, because it contains also
properties. Fix docstring.
(Fdbus_call_method, Fdbus_call_method_asynchronously): Fix
docstring.
(XFLOAT_INIT): New macro for storing a float value.
* alloc.c (make_float, make_pure_float): Use XFLOAT_INIT.
* fns.c (sxhash): Copy out the value of a float in order to examine its bytes.
* dbusbind.c (xd_append_arg): Likewise.
xd_symbol_to_dbus_type. With Solaris 2.11, it was said to compile
for hours, when optimzation is enabled.
(xd_signature, xd_append_arg, xd_retrieve_arg, xd_initialize)
(xd_read_message): Make them static.
(XD_SIGNAL1, XD_SIGNAL2, XD_SIGNAL3): New macros. Throw
Qdbus_error.
(xd_read_queued_messages): Catch Qdbus_error from the macros.
(all): Replace xsignal1, xsignal2, xsignal3 by the respective
macro. (Bug#1186).