On Fri, Nov 29, 2013 at 04:19:02PM +0100, Cédric Bosdonnat wrote: > --- > src/Makefile.am | 6 + > src/conf/domain_event.c | 806 +--------------------------------------- > src/conf/domain_event.h | 70 +--- > src/conf/object_event.c | 786 +++++++++++++++++++++++++++++++++++++++ > src/conf/object_event.h | 96 +++++ > src/conf/object_event_private.h | 113 ++++++ > src/libvirt_private.syms | 15 +- > 7 files changed, 1023 insertions(+), 869 deletions(-) > create mode 100644 src/conf/object_event.c > create mode 100644 src/conf/object_event.h > create mode 100644 src/conf/object_event_private.h > diff --git a/src/conf/object_event_private.h b/src/conf/object_event_private.h > new file mode 100644 > index 0000000..c981a29 > --- /dev/null > +++ b/src/conf/object_event_private.h > + > +#include "datatypes.h" > + > +#ifndef __OBJECT_EVENT_PRIVATE_H__ > +# define __OBJECT_EVENT_PRIVATE_H__ > + > +struct _virObjectMeta { > + int id; > + char *name; > + unsigned char uuid[VIR_UUID_BUFLEN]; > +}; > +typedef struct _virObjectMeta virObjectMeta; > +typedef virObjectMeta *virObjectMetaPtr; > + > +struct _virObjectEventCallbackList { > + unsigned int nextID; > + unsigned int count; > + virObjectEventCallbackPtr *callbacks; > +}; > + > +struct _virObjectEventQueue { > + unsigned int count; > + virObjectEventPtr *events; > +}; > + > +struct _virObjectEventState { > + /* The list of domain event callbacks */ > + virObjectEventCallbackListPtr callbacks; > + /* The queue of object events */ > + virObjectEventQueuePtr queue; > + /* Timer for flushing events queue */ > + int timer; > + /* Flag if we're in process of dispatching */ > + bool isDispatching; > + virMutex lock; > +}; > + > +struct _virObjectEventCallback { > + int callbackID; > + int eventID; > + virConnectPtr conn; > + virObjectMetaPtr meta; > + virConnectObjectEventGenericCallback cb; > + void *opaque; > + virFreeCallback freecb; > + int deleted; > +}; > + > +struct _virObjectEvent { > + virObject parent; > + int eventID; > + virObjectMeta meta; > +}; I wondering if all of these structs need to be exposed here. I'd go for the minimum required to let domain_events.c compile, if this can be made smaller. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list