DBusConnection *connection;
- int owning:1;
- int registered:1;
- int filtering:1;
- int gave_up:1;
+ unsigned owning:1;
+ unsigned registered:1;
+ unsigned filtering:1;
+ unsigned gave_up:1;
rd_request_cb_t request_cb;
void *userdata;
};
-
#define SERVICE_PREFIX "org.freedesktop.ReserveDevice1."
#define OBJECT_PREFIX "/org/freedesktop/ReserveDevice1/"
dbus_error_init(&error);
d = userdata;
+ assert(d->ref >= 1);
if (dbus_message_is_signal(m, "org.freedesktop.DBus", "NameLost")) {
const char *name;
assert(d->ref > 0);
- if (--d->ref)
+ if (--d->ref > 0)
return;
d->connection,
d->object_path);
- if (d->owning) {
- DBusError error;
- dbus_error_init(&error);
-
+ if (d->owning)
dbus_bus_release_name(
d->connection,
d->service_name,
- &error);
-
- dbus_error_free(&error);
- }
+ NULL);
free(d->device_name);
free(d->application_name);
* the error was caused D-Bus. */
int rd_acquire(
rd_device **d, /* On success a pointer to the newly allocated rd_device object will be filled in here */
- DBusConnection *connection,
+ DBusConnection *connection, /* Session bus (when D-Bus learns about user busses we should switchg to user busses) */
const char *device_name, /* The device to lock, e.g. "Audio0" */
const char *application_name, /* A human readable name of the application, e.g. "PulseAudio Sound Server" */
int32_t priority, /* The priority for this application. If unsure use 0 */