[libvirt] [PATCH 27/34] Added virNetworkEventLifecycle object

Cédric Bosdonnat cbosdonnat at suse.com
Fri Nov 29 15:19:03 UTC 2013


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




More information about the libvir-list mailing list