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"); > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list