[libvirt] [PATCH 6/6] event-test: support storage lifecycle event APIs

Cole Robinson crobinso at redhat.com
Thu Jun 9 22:44:35 UTC 2016


On 06/09/2016 02:25 PM, Jovanka Gulicoska wrote:
> ---
>  examples/object-events/event-test.c | 50 ++++++++++++++++++++++++++++++++++++-
>  1 file changed, 49 insertions(+), 1 deletion(-)
> 
> diff --git a/examples/object-events/event-test.c b/examples/object-events/event-test.c
> index c1ff4a7..4c4ac26 100644
> --- a/examples/object-events/event-test.c
> +++ b/examples/object-events/event-test.c
> @@ -337,6 +337,31 @@ guestAgentLifecycleEventReasonToString(int event)
>      return "unknown";
>  }
>  
> +static const char *
> +storagePoolEventToString(int event)
> +{
> +    switch ((virStoragePoolEventLifecycleType) event) {
> +        case VIR_STORAGE_POOL_EVENT_DEFINED:
> +            return "Defined";
> +
> +        case VIR_STORAGE_POOL_EVENT_UNDEFINED:
> +            return "Undefined";
> +
> +        case VIR_STORAGE_POOL_EVENT_STARTED:
> +            return "Started";
> +
> +        case VIR_STORAGE_POOL_EVENT_STOPPED:
> +            return "Stopped";
> +
> +        case VIR_STORAGE_POOL_EVENT_REFRESHED:
> +            return "Refreshed";
> +

I suggest remove the newlines inbetween the case statements here, they don't
add any clarity IMO

> +        case VIR_STORAGE_POOL_EVENT_LAST:
> +            break;
> +    }
> +    return "unknown";
> +}
> +
>  
>  static int
>  myDomainEventCallback1(virConnectPtr conn ATTRIBUTE_UNUSED,
> @@ -644,6 +669,19 @@ myNetworkEventCallback(virConnectPtr conn ATTRIBUTE_UNUSED,
>      return 0;
>  }
>  
> +static int
> +myStoragePoolEventCallback(virConnectPtr conn ATTRIBUTE_UNUSED,
> +                           virStoragePoolPtr dom,
> +                           int event,
> +                           int detail,
> +                           void *opaque ATTRIBUTE_UNUSED)
> +{
> +    printf("%s EVENT: Storage pool %s %s %d\n", __func__, virStoragePoolGetName(dom),

Long line that can be easily split

ACK otherwise

Thanks,
Cole

> +           storagePoolEventToString(event), detail);
> +    return 0;
> +}
> +
> +
>  static void
>  eventTypedParamsPrint(virTypedParameterPtr params,
>                        int nparams)
> @@ -899,6 +937,7 @@ main(int argc, char **argv)
>      virConnectPtr dconn = NULL;
>      int callback1ret = -1;
>      int callback16ret = -1;
> +    int callback17ret = -1;
>      struct sigaction action_stop;
>      size_t i;
>  
> @@ -966,8 +1005,16 @@ main(int argc, char **argv)
>                                                        VIR_NETWORK_EVENT_CALLBACK(myNetworkEventCallback),
>                                                        strdup("net callback"), myFreeFunc);
>  
> +    callback17ret = virConnectStoragePoolEventRegisterAny(dconn,
> +                                                          NULL,
> +                                                          VIR_STORAGE_POOL_EVENT_ID_LIFECYCLE,
> +                                                          VIR_STORAGE_POOL_EVENT_CALLBACK(myStoragePoolEventCallback),
> +                                                          strdup("storage pool callback"), myFreeFunc);
> +
> +
>      if ((callback1ret == -1) ||
> -        (callback16ret == -1))
> +        (callback16ret == -1) ||
> +        (callback17ret == -1))
>          goto cleanup;
>  
>      if (virConnectSetKeepAlive(dconn, 5, 3) < 0) {
> @@ -986,6 +1033,7 @@ main(int argc, char **argv)
>      printf("Deregistering event callbacks\n");
>      virConnectDomainEventDeregister(dconn, myDomainEventCallback1);
>      virConnectNetworkEventDeregisterAny(dconn, callback16ret);
> +    virConnectStoragePoolEventDeregisterAny(dconn, callback17ret);
>  
>  
>      printf("Deregistering domain event callbacks\n");
> 




More information about the libvir-list mailing list