make use of new functions pa_dbus_add_matches/pa_dbus_remove_matches

This commit is contained in:
Lennart Poettering 2009-01-29 03:31:42 +01:00
parent 509535d240
commit 4a06af6081
2 changed files with 18 additions and 25 deletions

View file

@ -773,18 +773,15 @@ int pa__init(pa_module*m) {
goto fail;
}
dbus_bus_add_match(pa_dbus_connection_get(u->connection), "type='signal',sender='org.freedesktop.Hal', interface='org.freedesktop.Hal.Device.AccessControl'", &error);
if (dbus_error_is_set(&error)) {
if (pa_dbus_add_matches(
pa_dbus_connection_get(u->connection), &error,
"type='signal',sender='org.freedesktop.Hal',interface='org.freedesktop.Hal.Device.AccessControl',member='ACLAdded'",
"type='signal',sender='org.freedesktop.Hal',interface='org.freedesktop.Hal.Device.AccessControl',member='ACLRemoved'",
"type='signal',interface='org.pulseaudio.Server',member='DirtyGiveUpMessage'", NULL) < 0) {
pa_log_error("Unable to subscribe to HAL ACL signals: %s: %s", error.name, error.message);
goto fail;
}
dbus_bus_add_match(pa_dbus_connection_get(u->connection), "type='signal',interface='org.pulseaudio.Server'", &error);
if (dbus_error_is_set(&error)) {
pa_log_error("Unable to subscribe to PulseAudio signals: %s: %s", error.name, error.message);
goto fail;
}
pa_log_info("Loaded %i modules.", n);
pa_modargs_free(ma);
@ -825,17 +822,13 @@ void pa__done(pa_module *m) {
}
if (u->connection) {
DBusError error;
dbus_error_init(&error);
dbus_bus_remove_match(pa_dbus_connection_get(u->connection), "type='signal',sender='org.freedesktop.Hal', interface='org.freedesktop.Hal.Device.AccessControl'", &error);
dbus_error_free(&error);
dbus_bus_remove_match(pa_dbus_connection_get(u->connection), "type='signal',interface='org.pulseaudio.Server'", &error);
dbus_error_free(&error);
pa_dbus_remove_matches(
pa_dbus_connection_get(u->connection),
"type='signal',sender='org.freedesktop.Hal',interface='org.freedesktop.Hal.Device.AccessControl',member='ACLAdded'",
"type='signal',sender='org.freedesktop.Hal',interface='org.freedesktop.Hal.Device.AccessControl',member='ACLRemoved'",
"type='signal',interface='org.pulseaudio.Server',member='DirtyGiveUpMessage'", NULL);
dbus_connection_remove_filter(pa_dbus_connection_get(u->connection), filter_cb, u);
pa_dbus_connection_unref(u->connection);
}