From 6ecc14ffabcffb69aa938a67940db48272e05046 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Thu, 13 Mar 2003 03:52:58 +0000 Subject: 2003-03-12 Havoc Pennington Throughout: purge global variables, introduce BusActivation, BusConnections, BusRegistry, etc. objects instead. * bus/bus.h, bus/bus.c: introduce BusContext as a global message bus object * test/Makefile.am (TEST_BINARIES): disable bus-test for now, going to redo this a bit differently I think --- bus/main.c | 105 +++++++++++-------------------------------------------------- 1 file changed, 18 insertions(+), 87 deletions(-) (limited to 'bus/main.c') diff --git a/bus/main.c b/bus/main.c index 56345c76..ce03a6a7 100644 --- a/bus/main.c +++ b/bus/main.c @@ -20,110 +20,41 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ +#include "bus.h" #include "loop.h" -#include "activation.h" -#include "connection.h" -#include "driver.h" -#include - -static void -server_watch_callback (DBusWatch *watch, - unsigned int condition, - void *data) -{ - DBusServer *server = data; - - dbus_server_handle_watch (server, watch, condition); -} - -static void -add_server_watch (DBusWatch *watch, - DBusServer *server) -{ - bus_loop_add_watch (watch, server_watch_callback, server, - NULL); -} - -static void -remove_server_watch (DBusWatch *watch, - DBusServer *server) -{ - bus_loop_remove_watch (watch, server_watch_callback, server); -} - -static void -setup_server (DBusServer *server) -{ - dbus_server_set_watch_functions (server, - (DBusAddWatchFunction) add_server_watch, - (DBusRemoveWatchFunction) remove_server_watch, - server, - NULL); -} - -static void -new_connection_callback (DBusServer *server, - DBusConnection *new_connection, - void *data) -{ - if (!bus_connection_setup (new_connection)) - ; /* we won't have ref'd the connection so it will die */ -} +#include int main (int argc, char **argv) { - DBusServer *server; - DBusResultCode result; - - if (argc < 2) + BusContext *context; + DBusError error; + const char *paths[] = { NULL, NULL }; + + if (argc < 3) { - _dbus_warn ("Give the server address as an argument\n"); + /* FIXME obviously just for testing */ + _dbus_warn ("Give the server address as an argument and activation directory as args\n"); return 1; } + paths[0] = argv[2]; - server = dbus_server_listen (argv[1], &result); - if (server == NULL) + dbus_error_init (&error); + context = bus_context_new (argv[1], paths, &error); + if (context == NULL) { - _dbus_warn ("Failed to start server on %s: %s\n", - argv[1], dbus_result_to_string (result)); + _dbus_warn ("Failed to start message bus: %s\n", + error.message); + dbus_error_free (&error); return 1; } - if (argc < 3) - { - _dbus_warn ("No service location given, not activating activation\n"); - } - else - { - const char *paths[] = { argv[2], NULL }; - DBusError error; - - dbus_error_init (&error); - if (!bus_activation_init (argv[1], paths, - &error)) - { - _dbus_warn ("Could not initialize service activation: %s\n", - error.message); - dbus_error_free (&error); - return 1; - } - } - - setup_server (server); - - bus_connection_init (); - - dbus_server_set_new_connection_function (server, - new_connection_callback, - NULL, NULL); - _dbus_verbose ("We are on D-Bus...\n"); bus_loop_run (); - dbus_server_disconnect (server); - dbus_server_unref (server); + bus_context_shutdown (context); + bus_context_unref (context); return 0; } -- cgit