mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
client: implement get_permissions
This commit is contained in:
parent
b05297a5fb
commit
74dd7c9bac
1 changed files with 11 additions and 1 deletions
|
|
@ -124,7 +124,17 @@ static void client_get_permissions(void *object, uint32_t index, uint32_t num)
|
||||||
struct pw_resource *resource = object;
|
struct pw_resource *resource = object;
|
||||||
struct resource_data *data = pw_resource_get_user_data(resource);
|
struct resource_data *data = pw_resource_get_user_data(resource);
|
||||||
struct pw_client *client = data->client;
|
struct pw_client *client = data->client;
|
||||||
pw_log_debug("client %p", client);
|
struct impl *impl = SPA_CONTAINER_OF(client, struct impl, this);
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
len = pw_array_get_len(&impl->permissions, struct pw_permission);
|
||||||
|
if ((size_t)index >= len)
|
||||||
|
num = 0;
|
||||||
|
else if ((size_t)index + (size_t)num >= len)
|
||||||
|
num = len - index;
|
||||||
|
|
||||||
|
pw_client_resource_permissions(resource, index,
|
||||||
|
num, pw_array_get_unchecked(&impl->permissions, index, struct pw_permission));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void client_update_permissions(void *object,
|
static void client_update_permissions(void *object,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue