From 5c17a37142be6a79dec5646d8c116044c6f8ffd0 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 11 Dec 2013 14:09:01 +0000 Subject: [PATCH] Introduce abstract virNetworkEvent class Inject a virNetworkEvent class between virObjectEvent and virNetworkEventLifecycle to mirror virDomainEvent. Signed-off-by: Daniel P. Berrange --- src/conf/network_event.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/conf/network_event.c b/src/conf/network_event.c index b885cedf44..b1312b78f1 100644 --- a/src/conf/network_event.c +++ b/src/conf/network_event.c @@ -28,23 +28,40 @@ #include "datatypes.h" #include "virlog.h" -struct _virNetworkEventLifecycle { +struct _virNetworkEvent { virObjectEvent parent; + /* Unused attribute to get virNetworkEvent class being created */ + bool dummy; +}; +typedef struct _virNetworkEvent virNetworkEvent; +typedef virNetworkEvent *virNetworkEventPtr; + +struct _virNetworkEventLifecycle { + virNetworkEvent parent; + int type; int detail; }; typedef struct _virNetworkEventLifecycle virNetworkEventLifecycle; typedef virNetworkEventLifecycle *virNetworkEventLifecyclePtr; +static virClassPtr virNetworkEventClass; static virClassPtr virNetworkEventLifecycleClass; +static void virNetworkEventDispose(void *obj); static void virNetworkEventLifecycleDispose(void *obj); static int virNetworkEventsOnceInit(void) { - if (!(virNetworkEventLifecycleClass = + if (!(virNetworkEventClass = virClassNew(virClassForObjectEvent(), + "virNetworkEvent", + sizeof(virNetworkEvent), + virNetworkEventDispose))) + return -1; + if (!(virNetworkEventLifecycleClass = + virClassNew(virNetworkEventClass, "virNetworkEventLifecycle", sizeof(virNetworkEventLifecycle), virNetworkEventLifecycleDispose))) @@ -54,6 +71,14 @@ virNetworkEventsOnceInit(void) VIR_ONCE_GLOBAL_INIT(virNetworkEvents) +void +virNetworkEventDispose(void *obj) +{ + virNetworkEventPtr event = obj; + VIR_DEBUG("obj=%p", event); +} + + void virNetworkEventLifecycleDispose(void *obj) { -- GitLab