On 11.12.2013 16:28, Daniel P. Berrange wrote: > From: "Daniel P. Berrange" <berrange@xxxxxxxxxx> > > The event namespace concept is redundant since the same > information is available by looking at the class hierarchy > of the events. > > Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx> > --- > src/conf/domain_event.c | 18 ++++++++++++++++-- > src/conf/domain_event.h | 2 ++ > src/conf/network_event.c | 22 ++++++++++++++++------ > src/conf/network_event.h | 3 +++ > src/conf/object_event.c | 28 +++++++++++++++------------- > src/conf/object_event.h | 11 +++-------- > src/conf/object_event_private.h | 2 ++ > 7 files changed, 57 insertions(+), 29 deletions(-) > > diff --git a/src/conf/domain_event.c b/src/conf/domain_event.c > index 64035f7..03164dc 100644 > --- a/src/conf/domain_event.c > +++ b/src/conf/domain_event.c > @@ -437,6 +437,7 @@ virDomainEventCallbackListAdd(virConnectPtr conn, > virFreeCallback freecb) > { > return virObjectEventCallbackListAddID(conn, cbList, NULL, NULL, 0, > + virDomainEventClass, > VIR_DOMAIN_EVENT_ID_LIFECYCLE, > VIR_OBJECT_EVENT_CALLBACK(callback), > opaque, freecb, NULL); > @@ -1366,6 +1367,9 @@ virDomainEventStateRegister(virConnectPtr conn, > { > int ret = -1; > > + if (virDomainEventsInitialize() < 0) > + return -1; > + > virObjectEventStateLock(state); > > if ((state->callbacks->count == 0) && > @@ -1420,14 +1424,17 @@ virDomainEventStateRegisterID(virConnectPtr conn, > virFreeCallback freecb, > int *callbackID) > { > + if (virDomainEventsInitialize() < 0) > + return -1; > + > if (dom) > return virObjectEventStateRegisterID(conn, state, dom->uuid, dom->name, > - dom->id, eventID, > + dom->id, virDomainEventClass, eventID, > VIR_OBJECT_EVENT_CALLBACK(cb), > opaque, freecb, callbackID); > else > return virObjectEventStateRegisterID(conn, state, NULL, NULL, 0, > - eventID, > + virDomainEventClass, eventID, > VIR_OBJECT_EVENT_CALLBACK(cb), > opaque, freecb, callbackID); > } > @@ -1468,3 +1475,10 @@ virDomainEventStateDeregister(virConnectPtr conn, > virObjectEventStateUnlock(state); > return ret; > } > + > + > +virClassPtr > +virDomainEventGetBaseClass(void) > +{ > + return virDomainEventClass; > +} > diff --git a/src/conf/domain_event.h b/src/conf/domain_event.h > index 30156ed..5433950 100644 > --- a/src/conf/domain_event.h > +++ b/src/conf/domain_event.h > @@ -30,6 +30,8 @@ > # include "object_event.h" > # include "domain_conf.h" > > +virClassPtr > +virDomainEventGetBaseClass(void); > > virObjectEventPtr > virDomainEventLifecycleNew(int id, > diff --git a/src/conf/network_event.c b/src/conf/network_event.c > index b1312b7..3108fea 100644 > --- a/src/conf/network_event.c > +++ b/src/conf/network_event.c > @@ -98,7 +98,7 @@ virNetworkEventDispatchDefaultFunc(virConnectPtr conn, > if (!net) > return; > > - switch ((virNetworkEventID) (event->eventID &0xFF)) { > + switch ((virNetworkEventID)event->eventID) { Honestly, I was never big fan of misusing eventID to carry the namespace too. ACK if you fix the crash Cederic pointed out. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list