access: rework access checks

Remove the access struct. Allow for the access module to override any
method of a resource to do additional checks.
This commit is contained in:
Wim Taymans 2017-06-12 18:20:59 +02:00
parent 2c1245f8ef
commit 611ce2151e
14 changed files with 192 additions and 300 deletions

View file

@ -1173,7 +1173,9 @@ struct pw_client_node *pw_client_node_new(struct pw_client *client,
this->resource = pw_resource_new(client,
id,
client->core->type.client_node,
this, (pw_destroy_t) client_node_resource_destroy);
this,
&client_node_methods,
(pw_destroy_t) client_node_resource_destroy);
if (this->resource == NULL)
goto error_no_resource;
@ -1184,8 +1186,6 @@ struct pw_client_node *pw_client_node_new(struct pw_client *client,
pw_signal_add(&this->node->loop_changed, &impl->loop_changed, on_loop_changed);
pw_signal_add(&impl->core->global_added, &impl->global_added, on_global_added);
this->resource->implementation = &client_node_methods;
return this;
error_no_resource: