Home | History | Annotate | Download | only in qemu
      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