summaryrefslogtreecommitdiffstats
path: root/test/bus-test-loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/bus-test-loop.c')
-rw-r--r--test/bus-test-loop.c120
1 files changed, 0 insertions, 120 deletions
diff --git a/test/bus-test-loop.c b/test/bus-test-loop.c
deleted file mode 100644
index aa9e4fcc..00000000
--- a/test/bus-test-loop.c
+++ /dev/null
@@ -1,120 +0,0 @@
-#include "bus-test-loop.h"
-#include <sys/time.h>
-#include <stdio.h>
-
-#define DBUS_COMPILATION /* cheat and use DBusList */
-#include <dbus/dbus-list.h>
-#undef DBUS_COMPILATION
-
-typedef struct
-{
- long time;
- DBusTimeout *timeout;
-
-} LoopTimeout;
-
-static DBusList *timeouts;
-
-static long
-get_time (void)
-{
- struct timeval r;
- long time;
-
- /* Can't use dbus-sysdeps here since that isn't
- * available outside of libdbus.
- */
- gettimeofday (&r, NULL);
-
- time = r.tv_sec * 1000;
- time += r.tv_usec / 1000;
-
- return time;
-}
-
-static void
-add_timeout (DBusTimeout *timeout,
- void *data)
-{
- LoopTimeout *lt;
-
- lt = dbus_new (LoopTimeout, 1);
- lt->time = get_time () + dbus_timeout_get_interval (timeout);
- lt->timeout = timeout;
-
- _dbus_list_append (&timeouts, lt);
-}
-
-static void
-remove_timeout (DBusTimeout *timeout,
- void *data)
-{
- DBusList *link;
-
- link = _dbus_list_get_first_link (&timeouts);
- while (link != NULL)
- {
- LoopTimeout *lt = link->data;
- if (lt->timeout == timeout)
- {
- _dbus_list_remove (&timeouts, lt);
- return;
- }
- link = _dbus_list_get_next_link (&timeouts, link);
- }
-}
-
-static dbus_bool_t running_loop;
-
-
-void
-bus_test_loop_quit (void)
-{
- running_loop = FALSE;
-}
-
-void
-bus_test_loop_run (void)
-{
- running_loop = TRUE;
-
- /* Horribly inefficient main loop */
- while (running_loop)
- {
- DBusList *link, *list_copy;
- long time;
-
- time = get_time ();
-
- _dbus_list_copy (&timeouts, &list_copy);
-
- link = _dbus_list_get_first_link (&list_copy);
- while (link != NULL)
- {
- LoopTimeout *lt = link->data;
- if (lt->time <= time)
- {
- dbus_timeout_handle (lt->timeout);
- _dbus_list_remove (&timeouts, lt);
- }
- link = _dbus_list_get_next_link (&list_copy, link);
- }
- }
-}
-
-
-void
-bus_test_loop_hookup_with_server (DBusServer *server)
-{
- dbus_server_set_timeout_functions (server,
- add_timeout, remove_timeout,
- NULL, NULL);
-}
-
-void
-bus_test_loop_hookup_with_connection (DBusConnection *connection)
-{
- dbus_connection_set_timeout_functions (connection,
- add_timeout, remove_timeout,
- NULL, NULL);
-}