7 die (const char *message)
9 fprintf (stderr, "%s", message);
13 static DBusHandlerResult
14 echo_handler (DBusMessageHandler *handler,
15 DBusConnection *connection,
23 dbus_error_init (&error);
25 if (!dbus_message_get_args (message,
30 reply = dbus_message_new_error_reply (message,
37 if (!dbus_connection_send (connection, reply, NULL))
40 dbus_message_unref (reply);
42 return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
45 reply = dbus_message_new_reply (message);
49 if (!dbus_message_append_string (reply, s))
52 if (!dbus_connection_send (connection, reply, NULL))
57 dbus_message_unref (reply);
59 return DBUS_HANDLER_RESULT_ALLOW_MORE_HANDLERS;
66 DBusConnection *connection;
68 DBusMessageHandler *handler;
69 const char *to_handle[] = { "org.freedesktop.DBus.TestSuiteEcho" };
72 dbus_error_init (&error);
73 connection = dbus_bus_get (DBUS_BUS_ACTIVATION, &error);
74 if (connection == NULL)
76 fprintf (stderr, "Failed to open connection to activating message bus: %s\n",
78 dbus_error_free (&error);
82 setup_connection (connection);
84 handler = dbus_message_handler_new (echo_handler, NULL, NULL);
88 if (!dbus_connection_register_handler (connection, handler, to_handle, 1))
91 result = dbus_bus_acquire_service (connection, "org.freedesktop.DBus.TestSuiteEchoService",
93 if (dbus_error_is_set (&error))
95 fprintf (stderr, "Failed to acquire service: %s\n",
97 dbus_error_free (&error);
103 dbus_connection_unref (connection);
105 dbus_message_handler_unref (handler);