PipeWire 1.1.0
|
Represents an object on the client side. More...
Files | |
file | proxy.h |
pipewire/proxy.h | |
Data Structures | |
struct | pw_proxy_events |
Proxy events, use pw_proxy_add_listener. More... | |
struct | pw_proxy |
Macros | |
#define | PW_VERSION_PROXY_EVENTS 1 |
#define | pw_proxy_notify(p, type, event, version, ...) |
#define | pw_proxy_call(p, type, method, version, ...) |
#define | pw_proxy_call_res(p, type, method, version, ...) |
Functions | |
struct pw_proxy * | pw_proxy_new (struct pw_proxy *factory, const char *type, uint32_t version, size_t user_data_size) |
Create a proxy object with a given id and type. | |
void | pw_proxy_add_listener (struct pw_proxy *proxy, struct spa_hook *listener, const struct pw_proxy_events *events, void *data) |
Add an event listener to proxy. | |
void | pw_proxy_add_object_listener (struct pw_proxy *proxy, struct spa_hook *listener, const void *funcs, void *data) |
Add a listener for the events received from the remote object. | |
void | pw_proxy_destroy (struct pw_proxy *proxy) |
destroy a proxy | |
void | pw_proxy_ref (struct pw_proxy *proxy) |
void | pw_proxy_unref (struct pw_proxy *proxy) |
void * | pw_proxy_get_user_data (struct pw_proxy *proxy) |
Get the user_data. | |
uint32_t | pw_proxy_get_id (struct pw_proxy *proxy) |
Get the local id of the proxy. | |
const char * | pw_proxy_get_type (struct pw_proxy *proxy, uint32_t *version) |
Get the type and version of the proxy. | |
struct pw_protocol * | pw_proxy_get_protocol (struct pw_proxy *proxy) |
Get the protocol used for the proxy. | |
int | pw_proxy_sync (struct pw_proxy *proxy, int seq) |
Generate an sync method for a proxy. | |
int | pw_proxy_set_bound_id (struct pw_proxy *proxy, uint32_t global_id) |
Set the global id this proxy is bound to. | |
uint32_t | pw_proxy_get_bound_id (struct pw_proxy *proxy) |
Get the global id bound to this proxy of SPA_ID_INVALID when not bound to a global. | |
int | pw_proxy_error (struct pw_proxy *proxy, int res, const char *error) |
Generate an error for a proxy. | |
int | pw_proxy_errorf (struct pw_proxy *proxy, int res, const char *error,...) |
struct spa_hook_list * | pw_proxy_get_object_listeners (struct pw_proxy *proxy) |
Get the listener of proxy. | |
const struct pw_protocol_marshal * | pw_proxy_get_marshal (struct pw_proxy *proxy) |
Get the marshal functions for the proxy. | |
int | pw_proxy_install_marshal (struct pw_proxy *proxy, bool implementor) |
Install a marshal function on a proxy. | |
Represents an object on the client side.
A pw_proxy acts as a client side proxy to an object existing in a remote pipewire instance. The proxy is responsible for converting interface functions invoked by the client to PipeWire messages. Events will call the handlers set in listener.
#define PW_VERSION_PROXY_EVENTS 1 |
#define pw_proxy_notify | ( | p, | |
type, | |||
event, | |||
version, | |||
... | |||
) |
#define pw_proxy_call | ( | p, | |
type, | |||
method, | |||
version, | |||
... | |||
) |
#define pw_proxy_call_res | ( | p, | |
type, | |||
method, | |||
version, | |||
... | |||
) |
struct pw_proxy * pw_proxy_new | ( | struct pw_proxy * | factory, |
const char * | type, | ||
uint32_t | version, | ||
size_t | user_data_size | ||
) |
Create a proxy object with a given id and type.
factory | another proxy object that serves as a factory |
type | Type of the proxy object |
version | Interface version |
user_data_size | size of user_data |
This function creates a new proxy object with the supplied id and type. The proxy object will have an id assigned from the client id space.
void pw_proxy_add_listener | ( | struct pw_proxy * | proxy, |
struct spa_hook * | listener, | ||
const struct pw_proxy_events * | events, | ||
void * | data | ||
) |
Add an event listener to proxy.
void pw_proxy_add_object_listener | ( | struct pw_proxy * | proxy, |
struct spa_hook * | listener, | ||
const void * | funcs, | ||
void * | data | ||
) |
Add a listener for the events received from the remote object.
The events depend on the type of the remote object type.
proxy | the proxy |
listener | listener |
funcs | proxied functions |
data | data passed to events |
void pw_proxy_destroy | ( | struct pw_proxy * | proxy | ) |
destroy a proxy
destroy a proxy
proxy | Proxy object to destroy |
void pw_proxy_ref | ( | struct pw_proxy * | proxy | ) |
void pw_proxy_unref | ( | struct pw_proxy * | proxy | ) |
client must explicitly destroy all proxies
void * pw_proxy_get_user_data | ( | struct pw_proxy * | proxy | ) |
Get the user_data.
The size was given in pw_proxy_new
uint32_t pw_proxy_get_id | ( | struct pw_proxy * | proxy | ) |
Get the local id of the proxy.
const char * pw_proxy_get_type | ( | struct pw_proxy * | proxy, |
uint32_t * | version | ||
) |
Get the type and version of the proxy.
struct pw_protocol * pw_proxy_get_protocol | ( | struct pw_proxy * | proxy | ) |
Get the protocol used for the proxy.
int pw_proxy_sync | ( | struct pw_proxy * | proxy, |
int | seq | ||
) |
Generate an sync method for a proxy.
This will generate a done event with the same seq number of the reply.
int pw_proxy_set_bound_id | ( | struct pw_proxy * | proxy, |
uint32_t | global_id | ||
) |
Set the global id this proxy is bound to.
This is usually used internally and will also emit the bound event
uint32_t pw_proxy_get_bound_id | ( | struct pw_proxy * | proxy | ) |
Get the global id bound to this proxy of SPA_ID_INVALID when not bound to a global.
int pw_proxy_error | ( | struct pw_proxy * | proxy, |
int | res, | ||
const char * | error | ||
) |
Generate an error for a proxy.
int pw_proxy_errorf | ( | struct pw_proxy * | proxy, |
int | res, | ||
const char * | error, | ||
... | |||
) |
struct spa_hook_list * pw_proxy_get_object_listeners | ( | struct pw_proxy * | proxy | ) |
Get the listener of proxy.
const struct pw_protocol_marshal * pw_proxy_get_marshal | ( | struct pw_proxy * | proxy | ) |
Get the marshal functions for the proxy.
int pw_proxy_install_marshal | ( | struct pw_proxy * | proxy, |
bool | implementor | ||
) |
Install a marshal function on a proxy.