From: "Daniel P. Berrange" <berrange(a)redhat.com>
Inject a virNetworkEvent class between virObjectEvent
and virNetworkEventLifecycle to mirror virDomainEvent.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
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 b885ced..b1312b7 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)))
@@ -55,6 +72,14 @@ virNetworkEventsOnceInit(void)
VIR_ONCE_GLOBAL_INIT(virNetworkEvents)
void
+virNetworkEventDispose(void *obj)
+{
+ virNetworkEventPtr event = obj;
+ VIR_DEBUG("obj=%p", event);
+}
+
+
+void
virNetworkEventLifecycleDispose(void *obj)
{
virNetworkEventLifecyclePtr event = obj;
--
1.8.3.1