]> code.delx.au - pulseaudio/blobdiff - src/modules/dbus-util.c
Merge commit 'origin/master-tx'
[pulseaudio] / src / modules / dbus-util.c
index 360f7827b21e0b8cbb52fa2280b26f00352b4cd5..d2abf087baa54adec8a986391fa381e3ffdb34f8 100644 (file)
@@ -1,5 +1,3 @@
-/* $Id$ */
-
 /***
   This file is part of PulseAudio.
 
 #include <config.h>
 #endif
 
-#include <pulsecore/log.h>
-#include <pulsecore/props.h>
 #include <pulse/xmalloc.h>
 #include <pulse/timeval.h>
+#include <pulsecore/log.h>
+#include <pulsecore/shared.h>
 
 #include "dbus-util.h"
 
 struct pa_dbus_connection {
     PA_REFCNT_DECLARE;
-    
+
     pa_core *core;
     DBusConnection *connection;
     const char *property_name;
@@ -44,7 +42,7 @@ struct pa_dbus_connection {
 
 static void dispatch_cb(pa_mainloop_api *ea, pa_defer_event *ev, void *userdata) {
     DBusConnection *conn = userdata;
-    
+
     if (dbus_connection_dispatch(conn) == DBUS_DISPATCH_COMPLETE) {
         /* no more data to process, disable the deferred */
         ea->defer_enable(ev, 0);
@@ -56,13 +54,13 @@ static void dispatch_status(DBusConnection *conn, DBusDispatchStatus status, voi
     pa_dbus_connection *c = userdata;
 
     pa_assert(c);
-    
+
     switch(status) {
-        
+
         case DBUS_DISPATCH_COMPLETE:
             c->core->mainloop->defer_enable(c->dispatch_event, 0);
             break;
-            
+
         case DBUS_DISPATCH_DATA_REMAINS:
         case DBUS_DISPATCH_NEED_MEMORY:
         default:
@@ -76,9 +74,9 @@ static pa_io_event_flags_t get_watch_flags(DBusWatch *watch) {
     pa_io_event_flags_t events = 0;
 
     pa_assert(watch);
-    
+
     flags = dbus_watch_get_flags(watch);
-    
+
     /* no watch flags for disabled watches */
     if (!dbus_watch_get_enabled(watch))
         return PA_IO_EVENT_NULL;
@@ -92,11 +90,11 @@ static pa_io_event_flags_t get_watch_flags(DBusWatch *watch) {
 }
 
 /* pa_io_event_cb_t IO event handler */
-static void handle_io_event(PA_GCC_UNUSED pa_mainloop_api *ea, pa_io_event *e, int fd, pa_io_event_flags_t events, void *userdata) {
+static void handle_io_event(pa_mainloop_api *ea, pa_io_event *e, int fd, pa_io_event_flags_t events, void *userdata) {
     unsigned int flags = 0;
     DBusWatch *watch = userdata;
 
-#if (DBUS_VERSION_MAJOR == 1 && DBUS_VERSION_MINOR == 1 && DBUS_VERSION_MICRO >= 1) || (DBUS_VERSION_MAJOR == 1 && DBUS_VERSION_MINOR > 1) || (DBUS_VERSION_MAJOR > 1) 
+#if HAVE_DBUS_WATCH_GET_UNIX_FD
     pa_assert(fd == dbus_watch_get_unix_fd(watch));
 #else
     pa_assert(fd == dbus_watch_get_fd(watch));
@@ -128,7 +126,7 @@ static void handle_time_event(pa_mainloop_api *ea, pa_time_event* e, const struc
         dbus_timeout_handle(timeout);
 
         /* restart it for the next scheduled time */
-        pa_timeval_add(&next, dbus_timeout_get_interval(timeout) * 1000);
+        pa_timeval_add(&next, (pa_usec_t) dbus_timeout_get_interval(timeout) * 1000);
         ea->time_restart(e, &next);
     }
 }
@@ -141,13 +139,14 @@ static dbus_bool_t add_watch(DBusWatch *watch, void *data) {
     pa_assert(watch);
     pa_assert(c);
 
-    ev = c->mainloop->io_new(c->mainloop, 
-#if (DBUS_VERSION_MAJOR == 1 && DBUS_VERSION_MINOR == 1 && DBUS_VERSION_MICRO >= 1) || (DBUS_VERSION_MAJOR == 1 && DBUS_VERSION_MAJOR > 1) || (DBUS_VERSION_MAJOR > 1) 
-                            dbus_watch_get_unix_fd(watch), 
+    ev = c->mainloop->io_new(
+            c->mainloop,
+#if HAVE_DBUS_WATCH_GET_UNIX_FD
+            dbus_watch_get_unix_fd(watch),
 #else
-                            dbus_watch_get_fd(watch), 
+            dbus_watch_get_fd(watch),
 #endif
-                            get_watch_flags(watch), handle_io_event, watch);
+            get_watch_flags(watch), handle_io_event, watch);
 
     dbus_watch_set_data(watch, ev, NULL);
 
@@ -161,7 +160,7 @@ static void remove_watch(DBusWatch *watch, void *data) {
 
     pa_assert(watch);
     pa_assert(c);
-    
+
     if ((ev = dbus_watch_get_data(watch)))
         c->mainloop->io_free(ev);
 }
@@ -173,7 +172,7 @@ static void toggle_watch(DBusWatch *watch, void *data) {
 
     pa_assert(watch);
     pa_core_assert_ref(c);
-    
+
     pa_assert_se(ev = dbus_watch_get_data(watch));
 
     /* get_watch_flags() checks if the watch is enabled */
@@ -193,7 +192,7 @@ static dbus_bool_t add_timeout(DBusTimeout *timeout, void *data) {
         return FALSE;
 
     pa_gettimeofday(&tv);
-    pa_timeval_add(&tv, dbus_timeout_get_interval(timeout) * 1000);
+    pa_timeval_add(&tv, (pa_usec_t) dbus_timeout_get_interval(timeout) * 1000);
 
     ev = c->mainloop->time_new(c->mainloop, &tv, handle_time_event, timeout);
 
@@ -209,7 +208,7 @@ static void remove_timeout(DBusTimeout *timeout, void *data) {
 
     pa_assert(timeout);
     pa_assert(c);
-    
+
     if ((ev = dbus_timeout_get_data(timeout)))
         c->mainloop->time_free(ev);
 }
@@ -221,15 +220,15 @@ static void toggle_timeout(DBusTimeout *timeout, void *data) {
 
     pa_assert(timeout);
     pa_assert(c);
-    
+
     pa_assert_se(ev = dbus_timeout_get_data(timeout));
 
     if (dbus_timeout_get_enabled(timeout)) {
         struct timeval tv;
-        
+
         pa_gettimeofday(&tv);
-        pa_timeval_add(&tv, dbus_timeout_get_interval(timeout) * 1000);
-        
+        pa_timeval_add(&tv, (pa_usec_t) dbus_timeout_get_interval(timeout) * 1000);
+
         c->mainloop->time_restart(ev, &tv);
     } else
         c->mainloop->time_restart(ev, NULL);
@@ -239,7 +238,7 @@ static void wakeup_main(void *userdata) {
     pa_dbus_connection *c = userdata;
 
     pa_assert(c);
-    
+
     /* this will wakeup the mainloop and dispatch events, although
      * it may not be the cleanest way of accomplishing it */
     c->core->mainloop->defer_enable(c->dispatch_event, 1);
@@ -255,7 +254,7 @@ static pa_dbus_connection* pa_dbus_connection_new(pa_core* c, DBusConnection *co
     pconn->connection = conn;
     pconn->dispatch_event = c->mainloop->defer_new(c->mainloop, dispatch_cb, conn);
 
-    pa_property_set(c, name, pconn);
+    pa_shared_set(c, name, pconn);
 
     return pconn;
 }
@@ -264,7 +263,7 @@ DBusConnection* pa_dbus_connection_get(pa_dbus_connection *c){
     pa_assert(c);
     pa_assert(PA_REFCNT_VALUE(c) > 0);
     pa_assert(c->connection);
-    
+
     return c->connection;
 }
 
@@ -281,9 +280,9 @@ void pa_dbus_connection_unref(pa_dbus_connection *c) {
          * both unload and shutdown */
         while (dbus_connection_read_write_dispatch(c->connection, -1));
     }
-    
+
     /* already disconnected, just free */
-    pa_property_remove(c->core, c->property_name);
+    pa_shared_remove(c->core, c->property_name);
     c->core->mainloop->defer_free(c->dispatch_event);
     dbus_connection_unref(c->connection);
     pa_xfree(c);
@@ -299,7 +298,7 @@ pa_dbus_connection* pa_dbus_connection_ref(pa_dbus_connection *c) {
 }
 
 pa_dbus_connection* pa_dbus_bus_get(pa_core *c, DBusBusType type, DBusError *error) {
-    
+
     static const char *const prop_name[] = {
         [DBUS_BUS_SESSION] = "dbus-connection-session",
         [DBUS_BUS_SYSTEM] = "dbus-connection-system",
@@ -310,7 +309,7 @@ pa_dbus_connection* pa_dbus_bus_get(pa_core *c, DBusBusType type, DBusError *err
 
     pa_assert(type == DBUS_BUS_SYSTEM || type == DBUS_BUS_SESSION || type == DBUS_BUS_STARTER);
 
-    if ((pconn = pa_property_get(c, prop_name[type])))
+    if ((pconn = pa_shared_get(c, prop_name[type])))
         return pa_dbus_connection_ref(pconn);
 
     if (!(conn = dbus_bus_get_private(type, error)))