From 041b0767b284034aee09e9a0de2a3844b8cc546a Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 25 Nov 2002 05:13:09 +0000 Subject: 2002-11-24 Havoc Pennington * test/echo-client.c, test/echo-server.c: cheesy test clients. * configure.in (AC_CHECK_FUNCS): check for writev * dbus/dbus-message.c (_dbus_message_get_network_data): new function * dbus/dbus-list.c (_dbus_list_foreach): new function * dbus/dbus-internals.c (_dbus_verbose): new function * dbus/dbus-server.c, dbus/dbus-server.h: public object representing a server that listens for connections. * dbus/.cvsignore: create * dbus/dbus-errors.h, dbus/dbus-errors.c: public API for reporting errors * dbus/dbus-connection.h, dbus/dbus-connection.c: public object representing a connection that sends/receives messages. (Same object used for both client and server.) * dbus/dbus-transport.h, dbus/dbus-transport.c: Basic abstraction for different kinds of stream that we might read/write messages from. --- test/echo-server.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 test/echo-server.c (limited to 'test/echo-server.c') diff --git a/test/echo-server.c b/test/echo-server.c new file mode 100644 index 00000000..99f97ffd --- /dev/null +++ b/test/echo-server.c @@ -0,0 +1,48 @@ +#include +#include +#include "watch.h" + +static void +new_connection_callback (DBusServer *server, + DBusConnection *new_connection, + void *data) +{ + printf ("Got new connection\n"); + + setup_connection (new_connection); +} + +int +main (int argc, + char **argv) +{ + DBusServer *server; + DBusResultCode result; + + if (argc < 2) + { + fprintf (stderr, "Give the server address as an argument\n"); + return 1; + } + + server = dbus_server_listen (argv[1], &result); + if (server == NULL) + { + fprintf (stderr, "Failed to start server on %s: %s\n", + argv[1], dbus_result_to_string (result)); + return 1; + } + + setup_server (server); + + dbus_server_set_new_connection_function (server, + new_connection_callback, + NULL, NULL); + + do_mainloop (); + + dbus_server_disconnect (server); + dbus_server_unref (server); + + return 0; +} -- cgit