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

@ -313,8 +313,10 @@ int pa__init(pa_module*m) {
goto fail; goto fail;
} }
dbus_bus_add_match(pa_dbus_connection_get(connection), "type='signal',sender='org.freedesktop.ConsoleKit', interface='org.freedesktop.ConsoleKit.Seat'", &error); if (pa_dbus_add_matches(
if (dbus_error_is_set(&error)) { pa_dbus_connection_get(connection), &error,
"type='signal',sender='org.freedesktop.ConsoleKit',interface='org.freedesktop.ConsoleKit.Seat',member='SessionAdded'",
"type='signal',sender='org.freedesktop.ConsoleKit',interface='org.freedesktop.ConsoleKit.Seat',member='SessionRemoved'", NULL) < 0) {
pa_log_error("Unable to subscribe to ConsoleKit signals: %s: %s", error.name, error.message); pa_log_error("Unable to subscribe to ConsoleKit signals: %s: %s", error.name, error.message);
goto fail; goto fail;
} }
@ -354,14 +356,12 @@ void pa__done(pa_module *m) {
} }
if (u->connection) { if (u->connection) {
DBusError error; pa_dbus_remove_matches(
dbus_error_init(&error); pa_dbus_connection_get(u->connection),
"type='signal',sender='org.freedesktop.ConsoleKit',interface='org.freedesktop.ConsoleKit.Seat',member='SessionAdded'",
dbus_bus_remove_match(pa_dbus_connection_get(u->connection), "type='signal',sender='org.freedesktop.ConsoleKit', interface='org.freedesktop.ConsoleKit.Seat'", &error); "type='signal',sender='org.freedesktop.ConsoleKit',interface='org.freedesktop.ConsoleKit.Seat',member='SessionRemoved'", NULL);
dbus_error_free(&error);
dbus_connection_remove_filter(pa_dbus_connection_get(u->connection), filter_cb, u); dbus_connection_remove_filter(pa_dbus_connection_get(u->connection), filter_cb, u);
pa_dbus_connection_unref(u->connection); pa_dbus_connection_unref(u->connection);
} }

View file

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