From aff24a72c18a43dbb6f2d85e6d2226a3c2ea8f10 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Tue, 21 Jan 2003 12:42:33 +0000 Subject: 2003-01-21 Anders Carlsson * bus/Makefile.am: Add driver.[ch] * bus/connection.c: (connection_disconnect_handler): Remove the connection from the bus driver's list. (connection_watch_callback): Dispatch messages. (free_connection_data): Free connection name. (bus_connection_setup): Add connection to the bus driver's list. (bus_connection_remove_owned_service): (bus_connection_set_name), (bus_connection_get_name): Add functions for setting and getting the connection's name. * bus/connection.h: Add function headers. * bus/driver.c: (create_unique_client_name), (bus_driver_handle_hello_message), (bus_driver_send_welcome_message), (bus_driver_message_handler), (bus_driver_add_connection), (bus_driver_remove_connection): * bus/driver.h: * bus/main.c: * bus/services.c: (bus_service_free): * bus/services.h: New file that handles communication and registreation with the bus itself. --- bus/services.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'bus/services.c') diff --git a/bus/services.c b/bus/services.c index f8124b05..c07b20fd 100644 --- a/bus/services.c +++ b/bus/services.c @@ -98,6 +98,17 @@ bus_service_lookup (const DBusString *service_name, return service; } +void +bus_service_free (BusService *service) +{ + _dbus_assert (service->owners == NULL); + + _dbus_hash_table_remove_string (service_hash, service->name); + + dbus_free (service->name); + _dbus_mem_pool_dealloc (service_pool, service); +} + dbus_bool_t bus_service_add_owner (BusService *service, DBusConnection *owner) -- cgit