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
17void notifier_list_init(NotifierList *list)
18{
19    QTAILQ_INIT(&list->notifiers);
20}
21
22void notifier_list_add(NotifierList *list, Notifier *notifier)
23{
24    QTAILQ_INSERT_HEAD(&list->notifiers, notifier, node);
25}
26
27void notifier_list_remove(NotifierList *list, Notifier *notifier)
28{
29    QTAILQ_REMOVE(&list->notifiers, notifier, node);
30}
31
32void 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