27e10e72c28a40665e77dbcac435cf217f7899aa
[platform/upstream/dbus.git] / test / echo-server.c
1 #include <dbus/dbus.h>
2 #include <stdio.h>
3 #include "watch.h"
4
5 static void
6 new_connection_callback (DBusServer     *server,
7                          DBusConnection *new_connection,
8                          void           *data)
9 {
10   printf ("Got new connection\n");
11
12   dbus_connection_set_max_live_messages_size (new_connection,
13                                               10);
14   
15   setup_connection (new_connection);
16 }
17
18 int
19 main (int    argc,
20       char **argv)
21 {
22   DBusServer *server;
23   DBusResultCode result;
24
25   if (argc < 2)
26     {
27       fprintf (stderr, "Give the server address as an argument\n");
28       return 1;
29     }
30
31   server = dbus_server_listen (argv[1], &result);
32   if (server == NULL)
33     {
34       fprintf (stderr, "Failed to start server on %s: %s\n",
35                argv[1], dbus_result_to_string (result));
36       return 1;
37     }
38
39   setup_server (server);
40
41   dbus_server_set_new_connection_function (server,
42                                            new_connection_callback,
43                                            NULL, NULL);
44   
45   do_mainloop ();
46
47   dbus_server_disconnect (server);
48   dbus_server_unref (server);
49   
50   return 0;
51 }