On Mon, Mar 22, 2010 at 03:42:52PM +0100, Daniel Veillard wrote: > On Fri, Mar 19, 2010 at 03:38:52PM +0000, Daniel P. Berrange wrote: > > The current internal domain events API tracks callbacks based on > > the function pointer, and only supports lifecycle events. This > > adds new internal APIs for registering callbacks for other event > > types. These new APIs are postfixed with the word 'ID' to indicate > > that they operated based on event ID, instead of hardcoded to > > lifecycle events > > > > * src/conf/domain_event.c, src/conf/domain_event.h, > > src/libvirt_private.syms: Add new APIs for handling callbacks > > for non-lifecycle events > > --- > > src/conf/domain_event.c | 169 ++++++++++++++++++++++++++++++++++++++++++--- > > src/conf/domain_event.h | 28 +++++++- > > src/libvirt_private.syms | 6 ++ > > 3 files changed, 190 insertions(+), 13 deletions(-) > > > > diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c > [...] > > +no_memory: > > + virReportOOMError(); > > + > > + if (event) { > > + if (event->dom) > > + VIR_FREE(event->dom->name); > > + VIR_FREE(event->dom); > > + } > > + VIR_FREE(event); > > Probably worth having an event freeing routine of its own > > [...] > > diff --git a/src/conf/domain_event.h b/src/conf/domain_event.h > > index 8658631..5578cd9 100644 > > --- a/src/conf/domain_event.h > > +++ b/src/conf/domain_event.h > > @@ -46,24 +46,50 @@ int virDomainEventCallbackListAdd(virConnectPtr conn, > > void *opaque, > > virFreeCallback freecb) > > ATTRIBUTE_NONNULL(1); > > +int virDomainEventCallbackListAddID(virConnectPtr conn, > > + virDomainEventCallbackListPtr cbList, > > + virDomainPtr dom, > > + int eventID, > > + virConnectDomainEventGenericCallback cb, > > + void *opaque, > > + virFreeCallback freecb) > > + ATTRIBUTE_NONNULL(1); > > Hum, parameters 0 (conn), 4 (cb) could also be passed in NONNULL list > I think Parameter indexes start from '1', so this is checking 'conn' already. I could add the callback arg too. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list