On Mon, Dec 02, 2013 at 05:39:44PM +0100, Cédric Bosdonnat wrote: > Put all network-events related code in src/conf/network_event.[ch] > --- > include/libvirt/libvirt.h.in | 77 ++++++++++++++++++++++ > src/Makefile.am | 5 ++ > src/conf/network_event.c | 152 +++++++++++++++++++++++++++++++++++++++++++ > src/conf/network_event.h | 50 ++++++++++++++ > src/conf/object_event.c | 6 ++ > src/conf/object_event.h | 1 + > src/driver.h | 14 ++++ > src/libvirt.c | 125 +++++++++++++++++++++++++++++++++++ > src/libvirt_private.syms | 2 + > src/libvirt_public.syms | 7 ++ > 10 files changed, 439 insertions(+) > create mode 100644 src/conf/network_event.c > create mode 100644 src/conf/network_event.h > > diff --git a/src/conf/network_event.c b/src/conf/network_event.c > new file mode 100644 > index 0000000..fb17837 > --- /dev/null > +++ b/src/conf/network_event.c > +/** > + * virNetworkEventStateRegisterID: > + * @conn: connection to associate with callback > + * @state: object event state > + * @net: network to filter on or NULL for all networks > + * @eventID: ID of the event type to register for > + * @cb: function to add to event > + * @opaque: data blob to pass to callback > + * @freecb: callback to free @opaque > + * @callbackID: filled with callback ID > + * > + * Register the function @callbackID with connection @conn, > + * from @state, for events of type @eventID. > + * > + * Returns: the number of callbacks now registered, or -1 on error > + */ > +int > +virNetworkEventStateRegisterID(virConnectPtr conn, > + virObjectEventStatePtr state, > + virNetworkPtr net, > + int eventID, > + virConnectObjectEventGenericCallback cb, > + void *opaque, > + virFreeCallback freecb, > + int *callbackID) > +{ > + if (net) > + return virObjectEventStateRegisterID(conn, state, > + net->uuid, net->name, 0, eventID, > + cb, opaque, freecb, callbackID); > + else > + return virObjectEventStateRegisterID(conn, state, > + NULL, NULL, 0, eventID, > + cb, opaque, freecb, callbackID); > +} Why not just have this method add in VIR_EVENT_NAMESPACE_NETWORK to eventID, then no other code in libvirt would ever need to know anything about the namespace values. 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