[libvirt] [PATCH 1/4] test_driver: introduce domain-private data

Ilias Stamatis stamatis.iliass at gmail.com
Tue Jul 9 19:23:21 UTC 2019


---
 src/test/test_driver.c | 35 ++++++++++++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 49d7030d21..af3503c523 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -384,6 +384,35 @@ testBuildCapabilities(virConnectPtr conn)
 }


+typedef struct _testDomainObjPrivate testDomainObjPrivate;
+typedef testDomainObjPrivate *testDomainObjPrivatePtr;
+struct _testDomainObjPrivate {
+    testDriverPtr driver;
+};
+
+
+static void *
+testDomainObjPrivateAlloc(void *opaque)
+{
+    testDomainObjPrivatePtr priv;
+
+    if (VIR_ALLOC(priv) < 0)
+        return NULL;
+
+    priv->driver = opaque;
+
+    return priv;
+}
+
+
+static void
+testDomainObjPrivateFree(void *data)
+{
+    testDomainObjPrivatePtr priv = data;
+    VIR_FREE(priv);
+}
+
+
 static testDriverPtr
 testDriverNew(void)
 {
@@ -399,6 +428,10 @@ testDriverNew(void)
                     VIR_DOMAIN_DEF_FEATURE_FW_AUTOSELECT |
                     VIR_DOMAIN_DEF_FEATURE_NET_MODEL_STRING,
     };
+    virDomainXMLPrivateDataCallbacks privatecb = {
+        .alloc = testDomainObjPrivateAlloc,
+        .free = testDomainObjPrivateFree,
+    };
     testDriverPtr ret;

     if (testDriverInitialize() < 0)
@@ -407,7 +440,7 @@ testDriverNew(void)
     if (!(ret = virObjectLockableNew(testDriverClass)))
         return NULL;

-    if (!(ret->xmlopt = virDomainXMLOptionNew(&config, NULL, &ns, NULL, NULL)) ||
+    if (!(ret->xmlopt = virDomainXMLOptionNew(&config, &privatecb, &ns, NULL, NULL)) ||
         !(ret->eventState = virObjectEventStateNew()) ||
         !(ret->ifaces = virInterfaceObjListNew()) ||
         !(ret->domains = virDomainObjListNew()) ||
--
2.22.0




More information about the libvir-list mailing list