From b29ea9115ea3277354b7ccbe442026279220f4ac Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 11 Aug 2003 02:11:58 +0000 Subject: 2003-08-10 Havoc Pennington * tools/dbus-send.c (main): add --type argument, for now supporting only method_call and signal types. * tools/dbus-print-message.c: print message type * dbus/dbus-connection.c (_dbus_connection_new_for_transport): init connection->objects * doc/dbus-specification.sgml: fix sgml * bus/*.c: port over to object-instance API changes * test/test-service.c: ditto * dbus/dbus-message.c (dbus_message_create_header): allow #NULL name, we will have to fix up the rest of the code to also handle this (dbus_message_new): generic message-creation call (set_string_field): allow appending name field --- glib/test-thread-server.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'glib/test-thread-server.c') diff --git a/glib/test-thread-server.c b/glib/test-thread-server.c index 00044a79..4cc886fd 100644 --- a/glib/test-thread-server.c +++ b/glib/test-thread-server.c @@ -42,6 +42,9 @@ handle_test_message (DBusMessageHandler *handler, char *str, *expected_str; GString *counter_str; int i; + + if (!dbus_message_has_name (message, "org.freedesktop.ThreadTest")) + return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS; dbus_message_iter_init (message, &iter); @@ -124,7 +127,7 @@ handle_test_message (DBusMessageHandler *handler, g_string_free (counter_str, TRUE); out: - return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + return DBUS_HANDLER_RESULT_REMOVE_MESSAGE; } static DBusHandlerResult @@ -132,7 +135,7 @@ handle_filter (DBusMessageHandler *handler, DBusConnection *connection, DBusMessage *message, void *user_data) -{ +{ return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS; } @@ -142,20 +145,20 @@ handle_disconnect (DBusMessageHandler *handler, DBusMessage *message, void *user_data) { + if (!dbus_message_has_name (message, DBUS_MESSAGE_LOCAL_DISCONNECT)) + return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + g_print ("connection disconnected\n"); dbus_connection_unref (connection); - - return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + + return DBUS_HANDLER_RESULT_REMOVE_MESSAGE; } - static void new_connection_callback (DBusServer *server, DBusConnection *new_connection, void *user_data) { - const char *test_messages[] = { "org.freedesktop.ThreadTest" }; - const char *disconnect_messages[] = { "org.freedesktop.Local.Disconnect" }; DBusMessageHandler *test_message_handler; ThreadTestData * data; @@ -170,9 +173,8 @@ new_connection_callback (DBusServer *server, dbus_message_handler_new (handle_test_message, data, (DBusFreeFunction)thread_test_data_free); - if (!dbus_connection_register_handler (new_connection, - test_message_handler, - test_messages, 1)) + if (!dbus_connection_add_filter (new_connection, + test_message_handler)) goto nomem; if (!dbus_connection_set_data (new_connection, @@ -181,9 +183,8 @@ new_connection_callback (DBusServer *server, (DBusFreeFunction)dbus_message_handler_unref)) goto nomem; - if (!dbus_connection_register_handler (new_connection, - disconnect_handler, - disconnect_messages, 1)) + if (!dbus_connection_add_filter (new_connection, + disconnect_handler)) goto nomem; if (!dbus_connection_add_filter (new_connection, -- cgit