global: add permissions_changed event

This commit is contained in:
Wim Taymans 2019-05-13 17:24:33 +02:00
parent 9221b8dedd
commit 04c153d410
3 changed files with 8 additions and 0 deletions

View file

@ -291,6 +291,8 @@ int pw_global_update_permissions(struct pw_global *global, struct pw_client *cli
struct pw_core *core = global->core;
struct pw_resource *resource, *t;
pw_global_emit_permissions_changed(global, client, old_permissions, new_permissions);
spa_list_for_each(resource, &core->registry_resource_list, link) {
if (resource->client != client)
continue;

View file

@ -75,6 +75,11 @@ struct pw_global_events {
void (*destroy) (void *data);
/** The global is freed */
void (*free) (void *data);
/** The permissions changed for a client */
void (*permissions_changed) (void *data,
struct pw_client *client,
uint32_t old_permissions,
uint32_t new_permissions);
};
/** Create a new global object */

View file

@ -136,6 +136,7 @@ struct pw_client {
#define pw_global_emit_registering(g) pw_global_emit(g, registering, 0)
#define pw_global_emit_destroy(g) pw_global_emit(g, destroy, 0)
#define pw_global_emit_free(g) pw_global_emit(g, free, 0)
#define pw_global_emit_permissions_changed(g,...) pw_global_emit(g, permissions_changed, 0, __VA_ARGS__)
struct pw_global {
struct pw_core *core; /**< the core */