Signed-off-by: Rafael Fonseca <r4f4rfs(a)gmail.com>
---
src/conf/snapshot_conf.c | 3 ++-
src/conf/snapshot_conf.h | 2 +-
src/conf/virsavecookie.c | 10 ++++----
src/conf/virsavecookie.h | 14 +++++------
src/qemu/qemu_domain.c | 53 +++++++++++++++++++---------------------
src/qemu/qemu_domain.h | 12 ++++++---
src/qemu/qemu_driver.c | 8 +++---
7 files changed, 52 insertions(+), 50 deletions(-)
diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
index 37b5c2fdf7..b58c00e86e 100644
--- a/src/conf/snapshot_conf.c
+++ b/src/conf/snapshot_conf.c
@@ -129,7 +129,8 @@ virDomainSnapshotDefDispose(void *obj)
for (i = 0; i < def->ndisks; i++)
virDomainSnapshotDiskDefClear(&def->disks[i]);
VIR_FREE(def->disks);
- virObjectUnref(def->cookie);
+ if (def->cookie)
+ g_object_unref(def->cookie);
}
int
diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h
index b5b1ef2718..97a7b3b4e5 100644
--- a/src/conf/snapshot_conf.h
+++ b/src/conf/snapshot_conf.h
@@ -84,7 +84,7 @@ struct _virDomainSnapshotDef {
size_t ndisks; /* should not exceed dom->ndisks */
virDomainSnapshotDiskDef *disks;
- virObjectPtr cookie;
+ GObject *cookie;
};
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainSnapshotDef, virObjectUnref);
diff --git a/src/conf/virsavecookie.c b/src/conf/virsavecookie.c
index bdc22bb324..6cdfa4fc5a 100644
--- a/src/conf/virsavecookie.c
+++ b/src/conf/virsavecookie.c
@@ -34,7 +34,7 @@ VIR_LOG_INIT("conf.savecookie");
static int
virSaveCookieParseNode(xmlXPathContextPtr ctxt,
- virObjectPtr *obj,
+ GObject **obj,
virSaveCookieCallbacksPtr saveCookie)
{
*obj = NULL;
@@ -54,7 +54,7 @@ virSaveCookieParseNode(xmlXPathContextPtr ctxt,
int
virSaveCookieParse(xmlXPathContextPtr ctxt,
- virObjectPtr *obj,
+ GObject **obj,
virSaveCookieCallbacksPtr saveCookie)
{
xmlNodePtr node = ctxt->node;
@@ -77,7 +77,7 @@ virSaveCookieParse(xmlXPathContextPtr ctxt,
int
virSaveCookieParseString(const char *xml,
- virObjectPtr *obj,
+ GObject **obj,
virSaveCookieCallbacksPtr saveCookie)
{
xmlDocPtr doc = NULL;
@@ -105,7 +105,7 @@ virSaveCookieParseString(const char *xml,
int
virSaveCookieFormatBuf(virBufferPtr buf,
- virObjectPtr obj,
+ GObject *obj,
virSaveCookieCallbacksPtr saveCookie)
{
if (!obj || !saveCookie || !saveCookie->format)
@@ -125,7 +125,7 @@ virSaveCookieFormatBuf(virBufferPtr buf,
char *
-virSaveCookieFormat(virObjectPtr obj,
+virSaveCookieFormat(GObject *obj,
virSaveCookieCallbacksPtr saveCookie)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
diff --git a/src/conf/virsavecookie.h b/src/conf/virsavecookie.h
index eafffbed66..b17701c727 100644
--- a/src/conf/virsavecookie.h
+++ b/src/conf/virsavecookie.h
@@ -23,14 +23,14 @@
#include <libxml/xpath.h>
#include "internal.h"
-#include "virobject.h"
#include "virbuffer.h"
+#include <glib-object.h>
typedef int (*virSaveCookieParseFunc)(xmlXPathContextPtr ctxt,
- virObjectPtr *obj);
+ GObject **obj);
typedef int (*virSaveCookieFormatFunc)(virBufferPtr buf,
- virObjectPtr obj);
+ GObject *obj);
typedef struct _virSaveCookieCallbacks virSaveCookieCallbacks;
typedef virSaveCookieCallbacks *virSaveCookieCallbacksPtr;
@@ -42,19 +42,19 @@ struct _virSaveCookieCallbacks {
int
virSaveCookieParse(xmlXPathContextPtr ctxt,
- virObjectPtr *obj,
+ GObject **obj,
virSaveCookieCallbacksPtr saveCookie);
int
virSaveCookieParseString(const char *xml,
- virObjectPtr *obj,
+ GObject **obj,
virSaveCookieCallbacksPtr saveCookie);
int
virSaveCookieFormatBuf(virBufferPtr buf,
- virObjectPtr obj,
+ GObject *obj,
virSaveCookieCallbacksPtr saveCookie);
char *
-virSaveCookieFormat(virObjectPtr obj,
+virSaveCookieFormat(GObject *obj,
virSaveCookieCallbacksPtr saveCookie);
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index eb0403031d..a12ecc0e25 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -162,21 +162,12 @@ struct _qemuDomainLogContext {
};
G_DEFINE_TYPE(qemuDomainLogContext, qemu_domain_log_context, G_TYPE_OBJECT);
-static virClassPtr qemuDomainSaveCookieClass;
+G_DEFINE_TYPE(qemuDomainSaveCookie, qemu_domain_save_cookie, G_TYPE_OBJECT);
static void qemuDomainLogContextFinalize(GObject *obj);
-static void qemuDomainSaveCookieDispose(void *obj);
+static void qemuDomainSaveCookieFinalize(GObject *obj);
-static int
-qemuDomainOnceInit(void)
-{
- if (!VIR_CLASS_NEW(qemuDomainSaveCookie, virClassForObject()))
- return -1;
-
- return 0;
-}
-
static void qemu_domain_log_context_init(qemuDomainLogContext *logctxt G_GNUC_UNUSED)
{
}
@@ -188,8 +179,6 @@ static void
qemu_domain_log_context_class_init(qemuDomainLogContextClass *klass)
obj->finalize = qemuDomainLogContextFinalize;
}
-VIR_ONCE_GLOBAL_INIT(qemuDomain);
-
static void
qemuDomainLogContextFinalize(GObject *object)
{
@@ -203,6 +192,20 @@ qemuDomainLogContextFinalize(GObject *object)
G_OBJECT_CLASS(qemu_domain_log_context_parent_class)->finalize(object);
}
+static void
+qemu_domain_save_cookie_init(qemuDomainSaveCookie *cookie G_GNUC_UNUSED)
+{
+}
+
+static void
+qemu_domain_save_cookie_class_init(qemuDomainSaveCookieClass *klass)
+{
+ GObjectClass *obj = G_OBJECT_CLASS(klass);
+
+ obj->finalize = qemuDomainSaveCookieFinalize;
+}
+
+
const char *
qemuDomainAsyncJobPhaseToString(qemuDomainAsyncJob job,
int phase G_GNUC_UNUSED)
@@ -12736,13 +12739,15 @@ qemuDomainGetStorageSourceByDevstr(const char *devstr,
static void
-qemuDomainSaveCookieDispose(void *obj)
+qemuDomainSaveCookieFinalize(GObject *obj)
{
- qemuDomainSaveCookiePtr cookie = obj;
+ qemuDomainSaveCookiePtr cookie = QEMU_DOMAIN_SAVE_COOKIE(obj);
VIR_DEBUG("cookie=%p", cookie);
virCPUDefFree(cookie->cpu);
+
+ G_OBJECT_CLASS(qemu_domain_save_cookie_parent_class)->finalize(obj);
}
@@ -12752,11 +12757,7 @@ qemuDomainSaveCookieNew(virDomainObjPtr vm)
qemuDomainObjPrivatePtr priv = vm->privateData;
g_autoptr(qemuDomainSaveCookie) cookie = NULL;
- if (qemuDomainInitialize() < 0)
- return NULL;
-
- if (!(cookie = virObjectNew(qemuDomainSaveCookieClass)))
- return NULL;
+ cookie = QEMU_DOMAIN_SAVE_COOKIE(g_object_new(QEMU_TYPE_DOMAIN_SAVE_COOKIE, NULL));
if (priv->origCPU && !(cookie->cpu =
virCPUDefCopy(vm->def->cpu)))
return NULL;
@@ -12772,15 +12773,11 @@ qemuDomainSaveCookieNew(virDomainObjPtr vm)
static int
qemuDomainSaveCookieParse(xmlXPathContextPtr ctxt G_GNUC_UNUSED,
- virObjectPtr *obj)
+ GObject **obj)
{
g_autoptr(qemuDomainSaveCookie) cookie = NULL;
- if (qemuDomainInitialize() < 0)
- return -1;
-
- if (!(cookie = virObjectNew(qemuDomainSaveCookieClass)))
- return -1;
+ cookie = QEMU_DOMAIN_SAVE_COOKIE(g_object_new(QEMU_TYPE_DOMAIN_SAVE_COOKIE, NULL));
if (virCPUDefParseXML(ctxt, "./cpu[1]", VIR_CPU_TYPE_GUEST,
&cookie->cpu) < 0)
@@ -12788,14 +12785,14 @@ qemuDomainSaveCookieParse(xmlXPathContextPtr ctxt
G_GNUC_UNUSED,
cookie->slirpHelper = virXPathBoolean("boolean(./slirpHelper)", ctxt)
> 0;
- *obj = (virObjectPtr) g_steal_pointer(&cookie);
+ *obj = (GObject *)g_steal_pointer(&cookie);
return 0;
}
static int
qemuDomainSaveCookieFormat(virBufferPtr buf,
- virObjectPtr obj)
+ GObject *obj)
{
qemuDomainSaveCookiePtr cookie = (qemuDomainSaveCookiePtr) obj;
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 7dbd3ffc69..65a1f03a2b 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -672,16 +672,20 @@ void qemuProcessEventFree(struct qemuProcessEvent *event);
G_DECLARE_FINAL_TYPE(qemuDomainLogContext, qemu_domain_log_context, QEMU,
DOMAIN_LOG_CONTEXT, GObject);
typedef qemuDomainLogContext *qemuDomainLogContextPtr;
-typedef struct _qemuDomainSaveCookie qemuDomainSaveCookie;
-typedef qemuDomainSaveCookie *qemuDomainSaveCookiePtr;
struct _qemuDomainSaveCookie {
- virObject parent;
+ GObject parent;
virCPUDefPtr cpu;
bool slirpHelper;
};
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuDomainSaveCookie, virObjectUnref);
+#define QEMU_TYPE_DOMAIN_SAVE_COOKIE qemu_domain_save_cookie_get_type()
+G_DECLARE_FINAL_TYPE(qemuDomainSaveCookie,
+ qemu_domain_save_cookie,
+ QEMU,
+ DOMAIN_SAVE_COOKIE,
+ GObject);
+typedef qemuDomainSaveCookie *qemuDomainSaveCookiePtr;
typedef struct _qemuDomainXmlNsDef qemuDomainXmlNsDef;
typedef qemuDomainXmlNsDef *qemuDomainXmlNsDefPtr;
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3e92629d19..2d2c08b18f 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -2890,7 +2890,7 @@ virQEMUSaveDataNew(char *domXML,
data->xml = g_steal_pointer(&domXML);
if (cookieObj &&
- !(data->cookie = virSaveCookieFormat((virObjectPtr) cookieObj,
+ !(data->cookie = virSaveCookieFormat((GObject *) cookieObj,
virDomainXMLOptionGetSaveCookie(xmlopt))))
goto error;
@@ -6849,7 +6849,7 @@ qemuDomainSaveImageStartVM(virConnectPtr conn,
g_autoptr(qemuDomainSaveCookie) cookie = NULL;
int rc = 0;
- if (virSaveCookieParseString(data->cookie, (virObjectPtr *)&cookie,
+ if (virSaveCookieParseString(data->cookie, (GObject **)&cookie,
virDomainXMLOptionGetSaveCookie(driver->xmlopt)) <
0)
goto cleanup;
@@ -14490,7 +14490,7 @@ qemuDomainSnapshotCreateActiveInternal(virQEMUDriverPtr driver,
if (ret < 0)
goto cleanup;
- if (!(snapdef->cookie = (virObjectPtr) qemuDomainSaveCookieNew(vm)))
+ if (!(snapdef->cookie = (GObject *) qemuDomainSaveCookieNew(vm)))
goto cleanup;
if (flags & VIR_DOMAIN_SNAPSHOT_CREATE_HALT) {
@@ -15499,7 +15499,7 @@ qemuDomainSnapshotCreateActiveExternal(virQEMUDriverPtr driver,
if (!(xml = qemuDomainDefFormatLive(driver, priv->qemuCaps,
vm->def, priv->origCPU,
true, true)) ||
- !(snapdef->cookie = (virObjectPtr) qemuDomainSaveCookieNew(vm)))
+ !(snapdef->cookie = (GObject *) qemuDomainSaveCookieNew(vm)))
goto cleanup;
if (!(data = virQEMUSaveDataNew(xml,
--
2.25.1