mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
hook: separate spa_callbacks from the hook
Make a spa_callbacks with just the functions and data and use this in the hook and objects.
This commit is contained in:
parent
6ee192dff5
commit
448c1937ad
28 changed files with 97 additions and 84 deletions
|
|
@ -92,7 +92,7 @@ struct impl {
|
|||
struct spa_loop *data_loop;
|
||||
|
||||
struct spa_hook_list hooks;
|
||||
struct spa_hook callbacks;
|
||||
struct spa_callbacks callbacks;
|
||||
|
||||
uint64_t info_all;
|
||||
struct spa_node_info info;
|
||||
|
|
@ -974,7 +974,7 @@ impl_node_set_callbacks(struct spa_node *node,
|
|||
|
||||
this = SPA_CONTAINER_OF(node, struct impl, node);
|
||||
|
||||
this->callbacks = SPA_HOOK_INIT(callbacks, data);
|
||||
this->callbacks = SPA_CALLBACKS_INIT(callbacks, data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ struct impl {
|
|||
struct spa_loop *data_loop;
|
||||
|
||||
struct spa_hook_list hooks;
|
||||
struct spa_hook callbacks;
|
||||
struct spa_callbacks callbacks;
|
||||
|
||||
uint64_t info_all;
|
||||
struct spa_node_info info;
|
||||
|
|
@ -607,7 +607,7 @@ impl_node_set_callbacks(struct spa_node *node,
|
|||
|
||||
this = SPA_CONTAINER_OF(node, struct impl, node);
|
||||
|
||||
this->callbacks = SPA_HOOK_INIT(callbacks, data);
|
||||
this->callbacks = SPA_CALLBACKS_INIT(callbacks, data);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ struct spa_bt_monitor {
|
|||
struct spa_dbus_connection *dbus_connection;
|
||||
DBusConnection *conn;
|
||||
|
||||
struct spa_hook callbacks;
|
||||
struct spa_callbacks callbacks;
|
||||
|
||||
uint32_t count;
|
||||
|
||||
|
|
@ -2050,7 +2050,7 @@ impl_monitor_set_callbacks(struct spa_monitor *monitor,
|
|||
|
||||
this = SPA_CONTAINER_OF(monitor, struct spa_bt_monitor, monitor);
|
||||
|
||||
this->callbacks = SPA_HOOK_INIT(callbacks, data);
|
||||
this->callbacks = SPA_CALLBACKS_INIT(callbacks, data);
|
||||
|
||||
if (callbacks) {
|
||||
get_managed_objects(this);
|
||||
|
|
|
|||
|
|
@ -217,7 +217,7 @@ struct spa_bt_transport {
|
|||
void *user_data;
|
||||
|
||||
struct spa_hook_list listener_list;
|
||||
struct spa_hook impl;
|
||||
struct spa_callbacks impl;
|
||||
};
|
||||
|
||||
#define spa_bt_transport_emit(t,m,v,...) spa_hook_list_call(&(t)->listener_list, \
|
||||
|
|
@ -228,12 +228,12 @@ struct spa_bt_transport {
|
|||
spa_hook_list_append(&(t)->listener_list, listener, events, data)
|
||||
|
||||
#define spa_bt_transport_set_implementation(t,_impl,_data) \
|
||||
(t)->impl = SPA_HOOK_INIT(_impl, _data)
|
||||
(t)->impl = SPA_CALLBACKS_INIT(_impl, _data)
|
||||
|
||||
#define spa_bt_transport_impl(t,m,v,...) \
|
||||
({ \
|
||||
int res = 0; \
|
||||
spa_hook_call_res(&(t)->impl, struct spa_bt_transport_implementation, res, m, v, ##__VA_ARGS__); \
|
||||
spa_callbacks_call_res(&(t)->impl, struct spa_bt_transport_implementation, res, m, v, ##__VA_ARGS__); \
|
||||
res; \
|
||||
})
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue