PipeWire
0.3.33
|
Client owned objects. More...
Data Structures | |
struct | pw_resource_events |
Resource events. More... | |
Macros | |
#define | pw_resource_notify(r, type, event, version, ...) |
#define | pw_resource_call(r, type, method, version, ...) |
#define | pw_resource_call_res(r, type, method, version, ...) |
Functions | |
struct pw_resource * | pw_resource_new (struct pw_impl_client *client, uint32_t id, uint32_t permissions, const char *type, uint32_t version, size_t user_data_size) |
Make a new resource for client. More... | |
void | pw_resource_destroy (struct pw_resource *resource) |
Destroy a resource. More... | |
void | pw_resource_remove (struct pw_resource *resource) |
Remove a resource, like pw_resource_destroy but without sending a remove_id message to the client. More... | |
struct pw_impl_client * | pw_resource_get_client (struct pw_resource *resource) |
Get the client owning this resource. More... | |
uint32_t | pw_resource_get_id (struct pw_resource *resource) |
Get the unique id of this resource. More... | |
uint32_t | pw_resource_get_permissions (struct pw_resource *resource) |
Get the permissions of this resource. More... | |
const char * | pw_resource_get_type (struct pw_resource *resource, uint32_t *version) |
Get the type and optionally the version of this resource. More... | |
struct pw_protocol * | pw_resource_get_protocol (struct pw_resource *resource) |
Get the protocol used for this resource. More... | |
void * | pw_resource_get_user_data (struct pw_resource *resource) |
Get the user data for the resource, the size was given in pw_resource_new. More... | |
void | pw_resource_add_listener (struct pw_resource *resource, struct spa_hook *listener, const struct pw_resource_events *events, void *data) |
Add an event listener. More... | |
void | pw_resource_add_object_listener (struct pw_resource *resource, struct spa_hook *listener, const void *funcs, void *data) |
Set the resource implementation. More... | |
int | pw_resource_ping (struct pw_resource *resource, int seq) |
Generate an ping event for a resource. More... | |
int | pw_resource_set_bound_id (struct pw_resource *resource, uint32_t global_id) |
Notify global id this resource is bound to. More... | |
uint32_t | pw_resource_get_bound_id (struct pw_resource *resource) |
Get the global id this resource is bound to or SPA_ID_INVALID when not bound. More... | |
void | pw_resource_error (struct pw_resource *resource, int res, const char *error) |
Generate an error for a resource. More... | |
void | pw_resource_errorf (struct pw_resource *resource, int res, const char *error,...) 1(3 |
void void | pw_resource_errorf_id (struct pw_resource *resource, uint32_t id, int res, const char *error,...) 1(4 |
void void struct spa_hook_list * | pw_resource_get_object_listeners (struct pw_resource *resource) |
Get the list of object listeners from a resource. More... | |
const struct pw_protocol_marshal * | pw_resource_get_marshal (struct pw_resource *resource) |
Get the marshal functions for the resource. More... | |
int | pw_resource_install_marshal (struct pw_resource *resource, bool implementor) |
install a marshal function on a resource More... | |
Client owned objects.
Resources represent objects owned by a Client Object. They are the result of binding to a global resource or by calling API that creates client owned objects.
The client usually has a proxy object associated with the resource that it can use to communicate with the resource. See Proxy.
Resources are destroyed when the client or the bound object is destroyed.
#define pw_resource_call | ( | r, | |
type, | |||
method, | |||
version, | |||
... | |||
) |
#define pw_resource_call_res | ( | r, | |
type, | |||
method, | |||
version, | |||
... | |||
) |
#define pw_resource_notify | ( | r, | |
type, | |||
event, | |||
version, | |||
... | |||
) |
void pw_resource_add_listener | ( | struct pw_resource * | resource, |
struct spa_hook * | listener, | ||
const struct pw_resource_events * | events, | ||
void * | data | ||
) |
Add an event listener.
References spa_hook_list_append().
void pw_resource_add_object_listener | ( | struct pw_resource * | resource, |
struct spa_hook * | listener, | ||
const void * | funcs, | ||
void * | data | ||
) |
Set the resource implementation.
References spa_hook_list_append().
void pw_resource_destroy | ( | struct pw_resource * | resource | ) |
Destroy a resource.
References NAME, pw_log_debug, and spa_list_remove().
Referenced by pw_context_destroy(), pw_global_destroy(), pw_global_update_permissions(), and pw_resource_remove().
void pw_resource_error | ( | struct pw_resource * | resource, |
int | res, | ||
const char * | error | ||
) |
Generate an error for a resource.
References client::id.
void pw_resource_errorf | ( | struct pw_resource * | resource, |
int | res, | ||
const char * | error, | ||
... | |||
) |
void void pw_resource_errorf_id | ( | struct pw_resource * | resource, |
uint32_t | id, | ||
int | res, | ||
const char * | error, | ||
... | |||
) |
uint32_t pw_resource_get_bound_id | ( | struct pw_resource * | resource | ) |
Get the global id this resource is bound to or SPA_ID_INVALID when not bound.
struct pw_impl_client* pw_resource_get_client | ( | struct pw_resource * | resource | ) |
Get the client owning this resource.
uint32_t pw_resource_get_id | ( | struct pw_resource * | resource | ) |
Get the unique id of this resource.
const struct pw_protocol_marshal* pw_resource_get_marshal | ( | struct pw_resource * | resource | ) |
Get the marshal functions for the resource.
void void struct spa_hook_list* pw_resource_get_object_listeners | ( | struct pw_resource * | resource | ) |
Get the list of object listeners from a resource.
uint32_t pw_resource_get_permissions | ( | struct pw_resource * | resource | ) |
Get the permissions of this resource.
struct pw_protocol* pw_resource_get_protocol | ( | struct pw_resource * | resource | ) |
Get the protocol used for this resource.
const char* pw_resource_get_type | ( | struct pw_resource * | resource, |
uint32_t * | version | ||
) |
Get the type and optionally the version of this resource.
void* pw_resource_get_user_data | ( | struct pw_resource * | resource | ) |
Get the user data for the resource, the size was given in pw_resource_new.
int pw_resource_install_marshal | ( | struct pw_resource * | resource, |
bool | implementor | ||
) |
install a marshal function on a resource
References pw_protocol_get_marshal(), PW_PROTOCOL_MARSHAL_FLAG_IMPL, SPA_INTERFACE_INIT, pw_protocol_marshal::type, and pw_protocol_marshal::version.
struct pw_resource* pw_resource_new | ( | struct pw_impl_client * | client, |
uint32_t | id, | ||
uint32_t | permissions, | ||
const char * | type, | ||
uint32_t | version, | ||
size_t | user_data_size | ||
) |
Make a new resource for client.
client | the client owning the resource |
id | the remote per client id |
permissions | permissions on this resource |
type | interface of the resource |
version | requested interface version |
user_data_size | extra user data size |
References client::context, spa_hook_list_init(), SPA_ID_INVALID, and impl::this.
int pw_resource_ping | ( | struct pw_resource * | resource, |
int | seq | ||
) |
Generate an ping event for a resource.
This will generate a pong event with the same sequence number in the return value.
References client::id, NAME, and pw_log_debug.
void pw_resource_remove | ( | struct pw_resource * | resource | ) |
Remove a resource, like pw_resource_destroy but without sending a remove_id message to the client.
References pw_resource_destroy().
int pw_resource_set_bound_id | ( | struct pw_resource * | resource, |
uint32_t | global_id | ||
) |
Notify global id this resource is bound to.
References client::id, NAME, and pw_log_debug.
Referenced by pw_global_add_resource().