use opaque types for proxies

This makes it easier to implement the proxies
This commit is contained in:
Wim Taymans 2019-12-06 17:37:41 +01:00
parent 7dc8a33e3e
commit af605cdda2
7 changed files with 28 additions and 34 deletions

View file

@ -32,7 +32,7 @@ extern "C" {
#include <spa/utils/defs.h>
#include <spa/param/param.h>
struct pw_client_node_proxy { struct spa_interface iface; };
struct pw_client_node_proxy;
#define PW_VERSION_CLIENT_NODE 3
@ -284,8 +284,7 @@ struct pw_client_node_proxy_methods {
#define pw_client_node_proxy_method(o,method,version,...) \
({ \
int _res = -ENOTSUP; \
struct pw_client_node_proxy *_p = o; \
spa_interface_call_res(&_p->iface, \
spa_interface_call_res((struct spa_interface*)o, \
struct pw_client_node_proxy_methods, _res, \
method, version, ##__VA_ARGS__); \
_res; \
@ -297,7 +296,7 @@ static inline struct pw_node_proxy *
pw_client_node_proxy_get_node(struct pw_client_node_proxy *p, uint32_t version, size_t user_data_size)
{
struct pw_node_proxy *res = NULL;
spa_interface_call_res(&p->iface,
spa_interface_call_res((struct spa_interface*)p,
struct pw_client_node_proxy_methods, res,
get_node, 0, version, user_data_size);
return res;