#include <config.h>
#endif
-#include <stdarg.h>
-
#include <pulse/xmalloc.h>
-#include <pulse/timeval.h>
-#include <pulsecore/log.h>
+
#include <pulsecore/shared.h>
#include "dbus-shared.h"
const char *property_name;
};
-static pa_dbus_connection* pa_dbus_connection_new(pa_core *c, pa_dbus_wrap_connection *conn, const char *name) {
+static pa_dbus_connection* dbus_connection_new(pa_core *c, pa_dbus_wrap_connection *conn, const char *name) {
pa_dbus_connection *pconn;
pconn = pa_xnew(pa_dbus_connection, 1);
if ((pconn = pa_shared_get(c, prop_name[type])))
return pa_dbus_connection_ref(pconn);
- if (!(conn = pa_dbus_wrap_connection_new(c->mainloop, type, error)))
+ if (!(conn = pa_dbus_wrap_connection_new(c->mainloop, true, type, error)))
return NULL;
- pconn = pa_dbus_connection_new(c, conn, prop_name[type]);
-
- return pconn;
+ return dbus_connection_new(c, conn, prop_name[type]);
}
-DBusConnection* pa_dbus_connection_get(pa_dbus_connection *c){
+DBusConnection* pa_dbus_connection_get(pa_dbus_connection *c) {
pa_assert(c);
pa_assert(PA_REFCNT_VALUE(c) > 0);
pa_assert(c->connection);
if (PA_REFCNT_DEC(c) > 0)
return;
- /* already disconnected, just free */
+ pa_dbus_wrap_connection_free(c->connection);
+
pa_shared_remove(c->core, c->property_name);
pa_xfree(c);
}
return c;
}
-
-
-