diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index e585136f..8743589f 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -4632,19 +4632,10 @@ _dbus_append_keyring_directory_for_credentials (DBusString *directory, return FALSE; } -//PENDING(kdab) docs -dbus_bool_t -_dbus_daemon_publish_session_bus_address (const char* addr, - const char *scope) -{ - return TRUE; -} - -//PENDING(kdab) docs +/* Documented in dbus-sysdeps-win.c, does nothing on Unix */ void _dbus_daemon_unpublish_session_bus_address (void) { - } /** diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 950d900a..43350cc7 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -3127,6 +3127,22 @@ _dbus_daemon_publish_session_bus_address (const char* address, const char *scope return TRUE; } +/** + * Clear the platform-specific centralized location where the session + * bus address is published. + * + * This must only be called if \ref DBusServer.published_address is #TRUE, + * which is be the case if and only if platform-specific code has published + * the address centrally. + * + * On Windows, this is implemented by closing a global shared memory segment. + * + * On Unix, the session bus address is not published in a centralized + * location by libdbus, so this function does nothing. The closest + * equivalent on Unix is that the session bus address is published by the + * dbus-launch tool, and unpublished automatically when the dbus-launch + * tool exits. + */ void _dbus_daemon_unpublish_session_bus_address (void) { diff --git a/dbus/dbus-sysdeps-win.h b/dbus/dbus-sysdeps-win.h index 52db915b..82a36eab 100644 --- a/dbus/dbus-sysdeps-win.h +++ b/dbus/dbus-sysdeps-win.h @@ -110,6 +110,10 @@ dbus_bool_t _dbus_win_event_wait (HANDLE handle, int timeout, DBusError *error); DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_win_event_free (HANDLE handle, DBusError *error); +dbus_bool_t _dbus_daemon_is_session_bus_address_published (const char *scope); +dbus_bool_t _dbus_daemon_publish_session_bus_address (const char *address, + const char *shm_name); + #endif /** @} end of sysdeps-win.h */ diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index a91c61e3..e7e36ad6 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -307,10 +307,6 @@ dbus_bool_t _dbus_windows_user_is_process_owner (const char *windows_sid) dbus_bool_t _dbus_append_keyring_directory_for_credentials (DBusString *directory, DBusCredentials *credentials); -dbus_bool_t _dbus_daemon_is_session_bus_address_published (const char *scope); - -dbus_bool_t _dbus_daemon_publish_session_bus_address (const char* address, const char* shm_name); - void _dbus_daemon_unpublish_session_bus_address (void); dbus_bool_t _dbus_socket_can_pass_unix_fd(DBusSocket fd);