
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");