mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-05 13:30:02 -05:00
WIP
Change object model
This commit is contained in:
parent
d0f95fc323
commit
190f01d88e
38 changed files with 1594 additions and 3562 deletions
|
|
@ -31,8 +31,7 @@ typedef struct _PinosListener PinosListener;
|
|||
|
||||
struct _PinosListener {
|
||||
SpaList link;
|
||||
void (*notify) (PinosListener *listener, void *data);
|
||||
void *user_data;
|
||||
void (*notify) (PinosListener *listener, void *object, void *data);
|
||||
};
|
||||
|
||||
struct _PinosSignal {
|
||||
|
|
@ -52,14 +51,21 @@ pinos_signal_add (PinosSignal *signal,
|
|||
spa_list_insert (signal->listeners.prev, &listener->link);
|
||||
}
|
||||
|
||||
static inline void
|
||||
pinos_signal_remove (PinosListener *listener)
|
||||
{
|
||||
spa_list_remove (&listener->link);
|
||||
}
|
||||
|
||||
static inline void
|
||||
pinos_signal_emit (PinosSignal *signal,
|
||||
void *object,
|
||||
void *data)
|
||||
{
|
||||
PinosListener *l, *next;
|
||||
|
||||
spa_list_for_each_safe (l, next, &signal->listeners, link)
|
||||
l->notify (l, data);
|
||||
l->notify (l, object, data);
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue