mirror of git://git.sysmocom.de/ofono
gdbus: Refactor filter_data_find()
Now this function is only used for searching the listeners of a connection and the other parameters are not needed anymore.
This commit is contained in:
parent
5236c01a31
commit
19cb623390
|
@ -119,13 +119,7 @@ static struct filter_data *filter_data_find_match(DBusConnection *connection,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct filter_data *filter_data_find(DBusConnection *connection,
|
static struct filter_data *filter_data_find(DBusConnection *connection)
|
||||||
const char *name,
|
|
||||||
const char *owner,
|
|
||||||
const char *path,
|
|
||||||
const char *interface,
|
|
||||||
const char *member,
|
|
||||||
const char *argument)
|
|
||||||
{
|
{
|
||||||
GSList *current;
|
GSList *current;
|
||||||
|
|
||||||
|
@ -136,30 +130,6 @@ static struct filter_data *filter_data_find(DBusConnection *connection,
|
||||||
if (connection != data->connection)
|
if (connection != data->connection)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (name && data->name &&
|
|
||||||
g_str_equal(name, data->name) == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (owner && data->owner &&
|
|
||||||
g_str_equal(owner, data->owner) == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (path && data->path &&
|
|
||||||
g_str_equal(path, data->path) == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (interface && data->interface &&
|
|
||||||
g_str_equal(interface, data->interface) == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (member && data->member &&
|
|
||||||
g_str_equal(member, data->member) == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (argument && data->argument &&
|
|
||||||
g_str_equal(argument, data->argument) == FALSE)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +215,7 @@ static struct filter_data *filter_data_get(DBusConnection *connection,
|
||||||
struct filter_data *data;
|
struct filter_data *data;
|
||||||
const char *name = NULL, *owner = NULL;
|
const char *name = NULL, *owner = NULL;
|
||||||
|
|
||||||
if (filter_data_find(connection, NULL, NULL, NULL, NULL, NULL, NULL) == NULL) {
|
if (filter_data_find(connection) == NULL) {
|
||||||
if (!dbus_connection_add_filter(connection,
|
if (!dbus_connection_add_filter(connection,
|
||||||
message_filter, NULL, NULL)) {
|
message_filter, NULL, NULL)) {
|
||||||
error("dbus_connection_add_filter() failed");
|
error("dbus_connection_add_filter() failed");
|
||||||
|
@ -419,8 +389,7 @@ static gboolean filter_data_remove_callback(struct filter_data *data,
|
||||||
listeners = g_slist_remove(listeners, data);
|
listeners = g_slist_remove(listeners, data);
|
||||||
|
|
||||||
/* Remove filter if there are no listeners left for the connection */
|
/* Remove filter if there are no listeners left for the connection */
|
||||||
if (filter_data_find(connection, NULL, NULL, NULL, NULL, NULL,
|
if (filter_data_find(connection) == NULL)
|
||||||
NULL) == NULL)
|
|
||||||
dbus_connection_remove_filter(connection, message_filter,
|
dbus_connection_remove_filter(connection, message_filter,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -613,8 +582,7 @@ static DBusHandlerResult message_filter(DBusConnection *connection,
|
||||||
g_slist_free(delete_listener);
|
g_slist_free(delete_listener);
|
||||||
|
|
||||||
/* Remove filter if there are no listeners left for the connection */
|
/* Remove filter if there are no listeners left for the connection */
|
||||||
if (filter_data_find(connection, NULL, NULL, NULL, NULL, NULL,
|
if (filter_data_find(connection) == NULL)
|
||||||
NULL) == NULL)
|
|
||||||
dbus_connection_remove_filter(connection, message_filter,
|
dbus_connection_remove_filter(connection, message_filter,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -810,8 +778,7 @@ void g_dbus_remove_all_watches(DBusConnection *connection)
|
||||||
{
|
{
|
||||||
struct filter_data *data;
|
struct filter_data *data;
|
||||||
|
|
||||||
while ((data = filter_data_find(connection, NULL, NULL, NULL, NULL,
|
while ((data = filter_data_find(connection))) {
|
||||||
NULL, NULL))) {
|
|
||||||
listeners = g_slist_remove(listeners, data);
|
listeners = g_slist_remove(listeners, data);
|
||||||
filter_data_call_and_free(data);
|
filter_data_call_and_free(data);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue