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