mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-30 04:50:11 +01:00
* 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.
48 lines
1 KiB
C
48 lines
1 KiB
C
#include <dbus/dbus.h>
|
|
#include <stdio.h>
|
|
#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;
|
|
}
|