This object is still unused, but not for long.
---
src/conf/object_event.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
src/conf/object_event.h | 4 ++++
src/libvirt_private.syms | 1 +
3 files changed, 47 insertions(+), 1 deletion(-)
diff --git a/src/conf/object_event.c b/src/conf/object_event.c
index e6cebec..c6538c0 100644
--- a/src/conf/object_event.c
+++ b/src/conf/object_event.c
@@ -35,9 +35,18 @@
#define VIR_FROM_THIS VIR_FROM_NONE
-static virClassPtr virObjectEventClass;
+struct _virNetworkEventLifecycle {
+ virObjectEvent parent;
+
+ int type;
+};
+typedef struct _virNetworkEventLifecycle virNetworkEventLifecycle;
+typedef virNetworkEventLifecycle *virNetworkEventLifecyclePtr;
+static virClassPtr virObjectEventClass;
+static virClassPtr virNetworkEventLifecycleClass;
static void virObjectEventDispose(void *obj);
+static void virNetworkEventLifecycleDispose(void *obj);
static int virObjectEventOnceInit(void)
{
@@ -46,6 +55,12 @@ static int virObjectEventOnceInit(void)
sizeof(virObjectEvent),
virObjectEventDispose)))
return -1;
+ if (!(virNetworkEventLifecycleClass = virClassNew(
+ virObjectEventClass,
+ "virNetworkEventLifecycle",
+ sizeof(virNetworkEventLifecycle),
+ virNetworkEventLifecycleDispose)))
+ return -1;
return 0;
}
@@ -79,6 +94,12 @@ static void virObjectEventDispose(void *obj)
VIR_FREE(event->meta.name);
}
+void virNetworkEventLifecycleDispose(void *obj)
+{
+ virNetworkEventLifecyclePtr event = obj;
+ VIR_DEBUG("obj=%p", event);
+}
+
/**
* virObjectEventCallbackListFree:
* @list: event callback list head
@@ -784,3 +805,23 @@ virObjectEventStateEventID(virConnectPtr conn,
virObjectEventStateUnlock(state);
return ret;
}
+
+void *virNetworkEventLifecycleNew(int id, const char *name,
+ const unsigned char *uuid,
+ int type)
+{
+ virNetworkEventLifecyclePtr event;
+ int eventId = (VIR_EVENT_NAMESPACE_NETWORK << 8) +
VIR_NETWORK_EVENT_ID_LIFECYCLE;
+
+ if (virObjectEventInitialize() < 0)
+ return NULL;
+
+ if (!(event = virObjectEventNew(virNetworkEventLifecycleClass,
+ eventId,
+ id, name, uuid)))
+ return NULL;
+
+ event->type = type;
+
+ return event;
+}
diff --git a/src/conf/object_event.h b/src/conf/object_event.h
index 8081cea..3fdd8c5 100644
--- a/src/conf/object_event.h
+++ b/src/conf/object_event.h
@@ -93,4 +93,8 @@ virObjectEventStateEventID(virConnectPtr conn,
int callbackID)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+void *virNetworkEventLifecycleNew(int id,
+ const char *name,
+ const unsigned char *uuid,
+ int type);
#endif
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index b511c8a..6977324 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -621,6 +621,7 @@ virNWFilterVarValueGetSimple;
# conf/object_event.h
+virNetworkEventLifecycleNew;
virObjectEventStateDeregisterID;
virObjectEventStateEventID;
virObjectEventStateFree;
--
1.8.4.2