1 /* 2 * Notifier lists 3 * 4 * Copyright IBM, Corp. 2010 5 * 6 * Authors: 7 * Anthony Liguori <aliguori (at) 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 17 void notifier_list_init(NotifierList *list) 18 { 19 QTAILQ_INIT(&list->notifiers); 20 } 21 22 void notifier_list_add(NotifierList *list, Notifier *notifier) 23 { 24 QTAILQ_INSERT_HEAD(&list->notifiers, notifier, node); 25 } 26 27 void notifier_list_remove(NotifierList *list, Notifier *notifier) 28 { 29 QTAILQ_REMOVE(&list->notifiers, notifier, node); 30 } 31 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