diff options
Diffstat (limited to 'bus/main.c')
-rw-r--r-- | bus/main.c | 72 |
1 files changed, 4 insertions, 68 deletions
@@ -21,35 +21,8 @@ * */ #include "loop.h" +#include "connection.h" #include <dbus/dbus-list.h> -#include <dbus/dbus.h> - -static DBusList *connections = NULL; - -static void -connection_error_handler (DBusConnection *connection, - DBusResultCode error_code, - void *data) -{ - _dbus_warn ("Error on connection: %s\n", - dbus_result_to_string (error_code)); - - /* we don't want to be called again since we're dropping the connection */ - dbus_connection_set_error_function (connection, NULL, NULL, NULL); - - _dbus_list_remove (&connections, connection); - dbus_connection_unref (connection); -} - -static void -connection_watch_callback (DBusWatch *watch, - unsigned int condition, - void *data) -{ - DBusConnection *connection = data; - - dbus_connection_handle_watch (connection, watch, condition); -} static void server_watch_callback (DBusWatch *watch, @@ -62,21 +35,6 @@ server_watch_callback (DBusWatch *watch, } static void -add_connection_watch (DBusWatch *watch, - DBusConnection *connection) -{ - bus_loop_add_watch (watch, connection_watch_callback, connection, - NULL); -} - -static void -remove_connection_watch (DBusWatch *watch, - DBusConnection *connection) -{ - bus_loop_remove_watch (watch, connection_watch_callback, connection); -} - -static void add_server_watch (DBusWatch *watch, DBusServer *server) { @@ -91,30 +49,6 @@ remove_server_watch (DBusWatch *watch, bus_loop_remove_watch (watch, server_watch_callback, server); } -static dbus_bool_t -setup_connection (DBusConnection *connection) -{ - if (!_dbus_list_append (&connections, connection)) - { - dbus_connection_disconnect (connection); - return FALSE; - } - - dbus_connection_ref (connection); - - dbus_connection_set_watch_functions (connection, - (DBusAddWatchFunction) add_connection_watch, - (DBusRemoveWatchFunction) remove_connection_watch, - connection, - NULL); - - dbus_connection_set_error_function (connection, - connection_error_handler, - NULL, NULL); - - return TRUE; -} - static void setup_server (DBusServer *server) { @@ -130,7 +64,7 @@ new_connection_callback (DBusServer *server, DBusConnection *new_connection, void *data) { - if (!setup_connection (new_connection)) + if (!bus_connection_setup (new_connection)) ; /* we won't have ref'd the connection so it will die */ } @@ -156,6 +90,8 @@ main (int argc, char **argv) setup_server (server); + bus_connection_init (); + dbus_server_set_new_connection_function (server, new_connection_callback, NULL, NULL); |