Go to the documentation of this file.
20 #ifndef __PIPEWIRE_PROXY_H__
21 #define __PIPEWIRE_PROXY_H__
27 #include <spa/utils/hook.h>
103 #define PW_VERSION_PROXY_EVENTS 0
115 size_t user_data_size );
119 struct spa_hook *listener,
126 struct spa_hook *listener,
148 #define pw_proxy_notify(p,type,event,ver,...) spa_hook_list_call(pw_proxy_get_proxy_listeners(p),type,event,ver,## __VA_ARGS__)
149 #define pw_proxy_do(p,type,method,...) ((type*) pw_proxy_get_marshal(p)->method_marshal)->method(p, ## __VA_ARGS__)
uint32_t version
Definition: proxy.h:104
SPA_EXPORT uint32_t pw_proxy_get_id(struct pw_proxy *proxy)
Get the local id of the proxy.
Definition: proxy.c:86
Represents a connection with a remote PipeWire instance.
Manages protocols and their implementation.
const struct pw_protocol_marshal * pw_proxy_get_marshal(struct pw_proxy *proxy)
Get the marshal functions for the proxy.
Definition: proxy.c:144
void(* destroy)(void *data)
The proxy is destroyed.
Definition: proxy.h:107
SPA_EXPORT void * pw_proxy_get_user_data(struct pw_proxy *proxy)
Get the user_data.
Definition: proxy.c:80
SPA_EXPORT 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.
Definition: proxy.c:98
SPA_EXPORT void pw_proxy_destroy(struct pw_proxy *proxy)
Destroy a proxy object.
Definition: proxy.c:124
Proxy events, use pw_proxy_add_listener.
Definition: proxy.h:102
SPA_EXPORT struct spa_hook_list * pw_proxy_get_proxy_listeners(struct pw_proxy *proxy)
Get the listener of proxy.
Definition: proxy.c:138
static uint32_t pw_map_insert_new(struct pw_map *map, void *data)
Insert data in the map.
Definition: map.h:92
SPA_EXPORT const struct pw_protocol_marshal * pw_proxy_get_marshal(struct pw_proxy *proxy)
Get the marshal functions for the proxy.
Definition: proxy.c:144
SPA_EXPORT void pw_proxy_add_proxy_listener(struct pw_proxy *proxy, struct spa_hook *listener, const void *events, void *data)
Add a listener for the events received from the remote resource.
Definition: proxy.c:107
Represents an object on the client side.
struct spa_hook_list * pw_proxy_get_proxy_listeners(struct pw_proxy *proxy)
Get the listener of proxy.
Definition: proxy.c:138
void * pw_proxy_get_user_data(struct pw_proxy *proxy)
Get the user_data.
Definition: proxy.c:80
SPA_EXPORT struct pw_proxy * pw_proxy_new(struct pw_proxy *factory, uint32_t type, size_t user_data_size)
Create a proxy object with a given id and type.
Definition: proxy.c:47
uint32_t pw_proxy_get_id(struct pw_proxy *proxy)
Get the local id of the proxy.
Definition: proxy.c:86
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.
Definition: proxy.c:98
struct pw_protocol * pw_proxy_get_protocol(struct pw_proxy *proxy)
Get the protocol used for the proxy.
Definition: proxy.c:92
struct pw_control this
Definition: control.c:26
Definition: protocol.h:70
SPA_EXPORT struct pw_protocol * pw_proxy_get_protocol(struct pw_proxy *proxy)
Get the protocol used for the proxy.
Definition: proxy.c:92
static bool pw_map_insert_at(struct pw_map *map, uint32_t id, void *data)
Insert data in the map at an index.
Definition: map.h:119
const struct pw_protocol_marshal * pw_protocol_get_marshal(struct pw_protocol *protocol, uint32_t type)
Definition: protocol.c:146
void pw_log_debug(const char *format,...)
void pw_proxy_add_proxy_listener(struct pw_proxy *proxy, struct spa_hook *listener, const void *events, void *data)
Add a listener for the events received from the remote resource.
Definition: proxy.c:107