[libvirt] [PATCH v4 1/7] Added Network events API and virNetworkEventLifecycle.

Daniel P. Berrange berrange at redhat.com
Wed Dec 11 13:10:14 UTC 2013


On Wed, Dec 11, 2013 at 11:37:58AM +0100, Cédric Bosdonnat wrote:
> diff --git a/src/conf/network_event.c b/src/conf/network_event.c
> new file mode 100644
> index 0000000..74e9d3d
> --- /dev/null
> +++ b/src/conf/network_event.c

> +int
> +virNetworkEventStateRegisterID(virConnectPtr conn,
> +                              virObjectEventStatePtr state,
> +                              virNetworkPtr net,
> +                              int eventID,
> +                              virConnectObjectEventGenericCallback cb,
> +                              void *opaque,
> +                              virFreeCallback freecb,
> +                              int *callbackID)

Small indentation bug I'll fix when pushing.

> +{
> +    int nsEventID = (VIR_EVENT_NAMESPACE_NETWORK << 8) + eventID;
> +    if (net)
> +        return virObjectEventStateRegisterID(conn, state,
> +                                             net->uuid, net->name, 0, nsEventID,
> +                                             cb, opaque, freecb, callbackID);
> +    else
> +        return virObjectEventStateRegisterID(conn, state,
> +                                             NULL, NULL, 0, nsEventID,
> +                                             cb, opaque, freecb, callbackID);
> +}
> +
> +void
> +*virNetworkEventLifecycleNew(const char *name,
> +                             const unsigned char *uuid,
> +                             int type)

The return type should be virObjectEventPtr - will fix

> +{
> +    virNetworkEventLifecyclePtr event;
> +    int eventId = (VIR_EVENT_NAMESPACE_NETWORK << 8) + VIR_NETWORK_EVENT_ID_LIFECYCLE;
> +
> +    if (virNetworkEventsInitialize() < 0)
> +        return NULL;
> +
> +    if (!(event = virObjectEventNew(virNetworkEventLifecycleClass,
> +                                    eventId,
> +                                    0, name, uuid)))
> +        return NULL;
> +
> +    event->type = type;
> +
> +    return event;
> +}

> +int
> +virNetworkEventStateRegisterID(virConnectPtr conn,
> +                              virObjectEventStatePtr state,
> +                              virNetworkPtr net,
> +                              int eventID,
> +                              virConnectObjectEventGenericCallback cb,
> +                              void *opaque,
> +                              virFreeCallback freecb,
> +                              int *callbackID);

Same indent issue

> +
> +void
> +*virNetworkEventLifecycleNew(const char *name,
> +                             const unsigned char *uuid,
> +                             int type);
> +
> +void
> +virNetworkEventDispatchDefaultFunc(virConnectPtr conn,
> +                                   virObjectEventPtr event,
> +                                   virConnectNetworkEventGenericCallback cb,
> +                                   void *cbopaque,
> +                                   void *opaque);
> +#endif
> +
> +typedef int
> +(*virDrvConnectNetworkEventDeregisterAny)(virConnectPtr conn,
> +                                         int callbackID);

Tiny indent issue.

> diff --git a/src/libvirt.c b/src/libvirt.c
> index b3543d0..97175b2 100644
> --- a/src/libvirt.c
> +++ b/src/libvirt.c
> +int
> +virConnectNetworkEventDeregisterAny(virConnectPtr conn,
> +                                    int callbackID)
> +{
> +    VIR_DEBUG("conn=%p, callbackID=%d", conn, callbackID);
> +
> +    virResetLastError();
> +
> +    if (!VIR_IS_CONNECT(conn)) {
> +        virLibConnError(VIR_ERR_INVALID_CONN, __FUNCTION__);
> +        virDispatchError(NULL);
> +        return -1;
> +    }
> +    virCheckNonNegativeArgGoto(callbackID, error);
> +
> +    if ((conn->networkDriver) &&
> +            (conn->networkDriver->connectNetworkEventDeregisterAny)) {

Small indent issue


ACK will push with fixes

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 :|




More information about the libvir-list mailing list