mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
client: add function to check permissions of a client
This commit is contained in:
parent
a5ec68e61c
commit
bd8b239621
2 changed files with 21 additions and 0 deletions
|
|
@ -670,3 +670,20 @@ void pw_impl_client_set_busy(struct pw_impl_client *client, bool busy)
|
||||||
pw_impl_client_emit_busy_changed(client, busy);
|
pw_impl_client_emit_busy_changed(client, busy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
SPA_EXPORT
|
||||||
|
int pw_impl_client_check_permissions(struct pw_impl_client *client,
|
||||||
|
uint32_t global_id, uint32_t permissions)
|
||||||
|
{
|
||||||
|
struct pw_context *context = client->context;
|
||||||
|
struct pw_global *global;
|
||||||
|
uint32_t perms;
|
||||||
|
|
||||||
|
if ((global = pw_context_find_global(context, global_id)) == NULL)
|
||||||
|
return -ENOENT;
|
||||||
|
|
||||||
|
perms = pw_global_get_permissions(global, client);
|
||||||
|
if ((perms & permissions) != permissions)
|
||||||
|
return -EPERM;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,10 @@ int pw_impl_client_update_properties(struct pw_impl_client *client, const struct
|
||||||
int pw_impl_client_update_permissions(struct pw_impl_client *client, uint32_t n_permissions,
|
int pw_impl_client_update_permissions(struct pw_impl_client *client, uint32_t n_permissions,
|
||||||
const struct pw_permission *permissions);
|
const struct pw_permission *permissions);
|
||||||
|
|
||||||
|
/** check if a client has permissions for global_id, Since 0.3.9 */
|
||||||
|
int pw_impl_client_check_permissions(struct pw_impl_client *client,
|
||||||
|
uint32_t global_id, uint32_t permissions);
|
||||||
|
|
||||||
/** Get the client properties */
|
/** Get the client properties */
|
||||||
const struct pw_properties *pw_impl_client_get_properties(struct pw_impl_client *client);
|
const struct pw_properties *pw_impl_client_get_properties(struct pw_impl_client *client);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue