diff options
Diffstat (limited to 'src/3rd_party/dbus-1.7.8/test/test-shell-service.c')
-rw-r--r-- | src/3rd_party/dbus-1.7.8/test/test-shell-service.c | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/src/3rd_party/dbus-1.7.8/test/test-shell-service.c b/src/3rd_party/dbus-1.7.8/test/test-shell-service.c deleted file mode 100644 index 32a883296e..0000000000 --- a/src/3rd_party/dbus-1.7.8/test/test-shell-service.c +++ /dev/null @@ -1,203 +0,0 @@ -#include <config.h> - -#include "test-utils.h" - -static DBusLoop *loop; -static dbus_bool_t already_quit = FALSE; -static const char* echo_path = "/org/freedesktop/TestSuite"; - -typedef struct -{ - int argc; - char **argv; -} EchoData; - -static void -quit (void) -{ - if (!already_quit) - { - _dbus_loop_quit (loop); - already_quit = TRUE; - } -} - -static void -die (const char *message) -{ - fprintf (stderr, "*** test-service: %s", message); - exit (1); -} - -static DBusHandlerResult -handle_echo (DBusConnection *connection, - DBusMessage *message) -{ - DBusError error; - DBusMessage *reply; - DBusMessageIter iter; - int i; - EchoData *d; - - _dbus_verbose ("sending reply to Echo method\n"); - - if (!dbus_connection_get_object_path_data (connection, echo_path, (void **)&d)) - die ("No memory"); - - - dbus_error_init (&error); - - reply = dbus_message_new_method_return (message); - if (reply == NULL) - die ("No memory\n"); - - dbus_message_iter_init_append (reply, &iter); - for (i = 0; i < d->argc; ++i) - if (!dbus_message_iter_append_basic (&iter, DBUS_TYPE_STRING, &(d->argv[i]))) - die ("No memory\n"); - - if (!dbus_connection_send (connection, reply, NULL)) - die ("No memory\n"); - - fprintf (stderr, "Shell echo service echoed the command line\n"); - - dbus_message_unref (reply); - - return DBUS_HANDLER_RESULT_HANDLED; -} - -static void -path_unregistered_func (DBusConnection *connection, - void *user_data) -{ - /* connection was finalized */ -} - -static DBusHandlerResult -path_message_func (DBusConnection *connection, - DBusMessage *message, - void *user_data) -{ - if (dbus_message_is_method_call (message, - "org.freedesktop.TestSuite", - "Echo")) - return handle_echo (connection, message); - else if (dbus_message_is_method_call (message, - "org.freedesktop.TestSuite", - "Exit")) - { - quit (); - return DBUS_HANDLER_RESULT_HANDLED; - } - else - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; -} - -static DBusObjectPathVTable -echo_vtable = { - path_unregistered_func, - path_message_func, - NULL, -}; - -static DBusHandlerResult -filter_func (DBusConnection *connection, - DBusMessage *message, - void *user_data) -{ - if (dbus_message_is_signal (message, - DBUS_INTERFACE_LOCAL, - "Disconnected")) - { - quit (); - return DBUS_HANDLER_RESULT_HANDLED; - } - else - { - return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; - } -} - -int -main (int argc, - char **argv) -{ - DBusConnection *connection; - DBusError error; - EchoData echo_data; - int result; - - echo_data.argc = argc; - echo_data.argv = argv; - - dbus_error_init (&error); - connection = dbus_bus_get (DBUS_BUS_STARTER, &error); - if (connection == NULL) - { - fprintf (stderr, "*** Failed to open connection to activating message bus: %s\n", - error.message); - dbus_error_free (&error); - return 1; - } - - loop = _dbus_loop_new (); - if (loop == NULL) - die ("No memory\n"); - - if (!test_connection_setup (loop, connection)) - die ("No memory\n"); - - if (!dbus_connection_add_filter (connection, - filter_func, NULL, NULL)) - die ("No memory"); - - if (!dbus_connection_register_object_path (connection, - echo_path, - &echo_vtable, - (void*) &echo_data)) - die ("No memory"); - - { - void *d; - if (!dbus_connection_get_object_path_data (connection, echo_path, &d)) - die ("No memory"); - if (d != (void*) &echo_data) - die ("dbus_connection_get_object_path_data() doesn't seem to work right\n"); - } - - result = dbus_bus_request_name (connection, "org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess", - 0, &error); - if (dbus_error_is_set (&error)) - { - fprintf (stderr, "Error %s\n", error.message); - _dbus_verbose ("*** Failed to acquire service: %s\n", - error.message); - dbus_error_free (&error); - exit (1); - } - - if (result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) - { - fprintf (stderr, "Unable to acquire service: code %d\n", result); - _dbus_verbose ("*** Failed to acquire service: %d\n", result); - exit (1); - } - - _dbus_verbose ("*** Test service entering main loop\n"); - _dbus_loop_run (loop); - - test_connection_shutdown (loop, connection); - - dbus_connection_remove_filter (connection, filter_func, NULL); - - dbus_connection_unref (connection); - - _dbus_loop_unref (loop); - loop = NULL; - - dbus_shutdown (); - - _dbus_verbose ("*** Test service exiting\n"); - - return 0; -} |