diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2007-03-27 10:27:01 +0000 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2007-03-27 10:27:01 +0000 |
commit | 40ebcf393b790a4e6553e1314b29f0f34b3377a3 (patch) | |
tree | 87f78cab6014bfb7b5f2c6606a75390f99fd8f7e /input/main.c | |
parent | 3ee5b90642bb7c8d2e88904600edac9d0d33efb4 (diff) |
Improve integration with D-Bus system bus
Diffstat (limited to 'input/main.c')
-rw-r--r-- | input/main.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/input/main.c b/input/main.c index 2a6b3b59..057ee0db 100644 --- a/input/main.c +++ b/input/main.c @@ -51,6 +51,7 @@ static void sig_term(int sig) int main(int argc, char *argv[]) { + DBusConnection *conn; struct sigaction sa; start_logging("input", "Bluetooth Input daemon"); @@ -67,16 +68,22 @@ int main(int argc, char *argv[]) enable_debug(); - /* Create event loop */ main_loop = g_main_loop_new(NULL, FALSE); - if (input_init() < 0) { - error("Unable to get on D-Bus"); + conn = dbus_bus_system_setup_with_main_loop(NULL, NULL, NULL); + if (!conn) { + g_main_loop_unref(main_loop); + exit(1); + } + + if (input_init(conn) < 0) { + dbus_connection_unref(conn); + g_main_loop_unref(main_loop); exit(1); } if (argc > 1 && !strcmp(argv[1], "-s")) - internal_service("input"); + register_external_service(conn, "input", "Input service", ""); server_start(); @@ -86,6 +93,8 @@ int main(int argc, char *argv[]) input_exit(); + dbus_connection_unref(conn); + g_main_loop_unref(main_loop); info("Exit"); |