wireplumber/lib/wp/client.h
Torkel Niklasson f20c6e4eb8 client, permission-manager: add getters for runtime introspection
Add wp_client_get_permission_manager() and
wp_permission_manager_get_default_permissions() and expose both as Lua
methods. This allows Lua scripts to verify a client's trust level at
runtime by inspecting the actual permission bits of its attached PM.
2026-05-11 18:59:48 +00:00

50 lines
1.1 KiB
C

/* WirePlumber
*
* Copyright © 2019 Collabora Ltd.
* @author George Kiagiadakis <george.kiagiadakis@collabora.com>
*
* SPDX-License-Identifier: MIT
*/
#ifndef __WIREPLUMBER_CLIENT_H__
#define __WIREPLUMBER_CLIENT_H__
#include "global-proxy.h"
#include "permission-manager.h"
G_BEGIN_DECLS
struct pw_permission;
/*!
* \brief The WpClient GType
* \ingroup wpclient
*/
#define WP_TYPE_CLIENT (wp_client_get_type ())
WP_API
G_DECLARE_FINAL_TYPE (WpClient, wp_client, WP, CLIENT, WpGlobalProxy)
WP_API
void wp_client_send_error (WpClient * self, guint32 id, int res,
const gchar * message);
WP_API
void wp_client_update_permissions (WpClient * self, guint n_perm, ...);
WP_API
void wp_client_update_permissions_array (WpClient * self,
guint n_perm, const struct pw_permission *permissions);
WP_API
void wp_client_update_properties (WpClient * self, WpProperties * updates);
WP_API
void wp_client_attach_permission_manager (WpClient *self,
WpPermissionManager *pm);
WP_API
WpPermissionManager * wp_client_get_permission_manager (WpClient *self);
G_END_DECLS
#endif