1 /*
2 * Notifier lists
3 *
4 * Copyright IBM, Corp. 2010
5 *
6 * Authors:
7 * Anthony Liguori <aliguori@us.ibm.com>
8 *
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
11 *
12 */
13
14 #include "qemu-common.h"
15 #include "notify.h"
16
notifier_list_init(NotifierList * list)17 void notifier_list_init(NotifierList *list)
18 {
19 QTAILQ_INIT(&list->notifiers);
20 }
21
notifier_list_add(NotifierList * list,Notifier * notifier)22 void notifier_list_add(NotifierList *list, Notifier *notifier)
23 {
24 QTAILQ_INSERT_HEAD(&list->notifiers, notifier, node);
25 }
26
notifier_list_remove(NotifierList * list,Notifier * notifier)27 void notifier_list_remove(NotifierList *list, Notifier *notifier)
28 {
29 QTAILQ_REMOVE(&list->notifiers, notifier, node);
30 }
31
notifier_list_notify(NotifierList * list)32 void notifier_list_notify(NotifierList *list)
33 {
34 Notifier *notifier, *next;
35
36 QTAILQ_FOREACH_SAFE(notifier, &list->notifiers, node, next) {
37 notifier->notify(notifier);
38 }
39 }
40