Remove SpaQueue, use SpaList instead

This commit is contained in:
Wim Taymans 2016-11-09 12:57:51 +01:00
parent 89bc235924
commit d0f95fc323
20 changed files with 153 additions and 237 deletions

View file

@ -20,7 +20,7 @@
#ifndef __PINOS_SIGNAL_H__
#define __PINOS_SIGNAL_H__
#include <pinos/client/list.h>
#include <spa/include/spa/list.h>
#ifdef __cplusplus
extern "C" {
@ -30,26 +30,26 @@ typedef struct _PinosSignal PinosSignal;
typedef struct _PinosListener PinosListener;
struct _PinosListener {
PinosList link;
SpaList link;
void (*notify) (PinosListener *listener, void *data);
void *user_data;
};
struct _PinosSignal {
PinosList listeners;
SpaList listeners;
};
static inline void
pinos_signal_init (PinosSignal *signal)
{
pinos_list_init (&signal->listeners);
spa_list_init (&signal->listeners);
}
static inline void
pinos_signal_add (PinosSignal *signal,
PinosListener *listener)
{
pinos_list_insert (signal->listeners.prev, &listener->link);
spa_list_insert (signal->listeners.prev, &listener->link);
}
static inline void
@ -58,7 +58,7 @@ pinos_signal_emit (PinosSignal *signal,
{
PinosListener *l, *next;
PINOS_LIST_FOREACH_SAFE (l, next, &signal->listeners, link)
spa_list_for_each_safe (l, next, &signal->listeners, link)
l->notify (l, data);
}