};
static virClassPtr qemuDomainLogContextClass;
+static virClassPtr qemuDomainSaveCookieClass;
static void qemuDomainLogContextDispose(void *obj);
+static void qemuDomainSaveCookieDispose(void *obj);
static int
-qemuDomainLogContextOnceInit(void)
+qemuDomainOnceInit(void)
{
if (!(qemuDomainLogContextClass = virClassNew(virClassForObject(),
"qemuDomainLogContext",
qemuDomainLogContextDispose)))
return -1;
+ if (!(qemuDomainSaveCookieClass = virClassNew(virClassForObject(),
+ "qemuDomainSaveCookie",
+ sizeof(qemuDomainSaveCookie),
+ qemuDomainSaveCookieDispose)))
+ return -1;
+
return 0;
}
-VIR_ONCE_GLOBAL_INIT(qemuDomainLogContext)
+VIR_ONCE_GLOBAL_INIT(qemuDomain)
static void
qemuDomainLogContextDispose(void *obj)
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
qemuDomainLogContextPtr ctxt = NULL;
- if (qemuDomainLogContextInitialize() < 0)
+ if (qemuDomainInitialize() < 0)
goto cleanup;
if (!(ctxt = virObjectNew(qemuDomainLogContextClass)))
VIR_FREE(target);
return src;
}
+
+
+static void
+qemuDomainSaveCookieDispose(void *obj)
+{
+ qemuDomainSaveCookiePtr cookie = obj;
+
+ VIR_DEBUG("cookie=%p", cookie);
+}
+
+
+qemuDomainSaveCookiePtr
+qemuDomainSaveCookieNew(virDomainObjPtr vm ATTRIBUTE_UNUSED)
+{
+ qemuDomainSaveCookiePtr cookie = NULL;
+
+ if (qemuDomainInitialize() < 0)
+ goto error;
+
+ if (!(cookie = virObjectNew(qemuDomainSaveCookieClass)))
+ goto error;
+
+ VIR_DEBUG("Save cookie %p", cookie);
+
+ return cookie;
+
+ error:
+ virObjectUnref(cookie);
+ return NULL;
+}
+
+
+static int
+qemuDomainSaveCookieParse(xmlXPathContextPtr ctxt ATTRIBUTE_UNUSED,
+ virObjectPtr *obj)
+{
+ qemuDomainSaveCookiePtr cookie = NULL;
+
+ if (qemuDomainInitialize() < 0)
+ goto error;
+
+ if (!(cookie = virObjectNew(qemuDomainSaveCookieClass)))
+ goto error;
+
+ *obj = (virObjectPtr) cookie;
+ return 0;
+
+ error:
+ virObjectUnref(cookie);
+ return -1;
+}
+
+
+static int
+qemuDomainSaveCookieFormat(virBufferPtr buf ATTRIBUTE_UNUSED,
+ virObjectPtr obj ATTRIBUTE_UNUSED)
+{
+ return 0;
+}
+
+
+virSaveCookieCallbacks virQEMUDriverDomainSaveCookie = {
+ .parse = qemuDomainSaveCookieParse,
+ .format = qemuDomainSaveCookieFormat,
+};
typedef struct _qemuDomainLogContext qemuDomainLogContext;
typedef qemuDomainLogContext *qemuDomainLogContextPtr;
+typedef struct _qemuDomainSaveCookie qemuDomainSaveCookie;
+typedef qemuDomainSaveCookie *qemuDomainSaveCookiePtr;
+struct _qemuDomainSaveCookie {
+ virObject parent;
+};
+
+qemuDomainSaveCookiePtr qemuDomainSaveCookieNew(virDomainObjPtr vm);
+
const char *qemuDomainAsyncJobPhaseToString(qemuDomainAsyncJob job,
int phase);
int qemuDomainAsyncJobPhaseFromString(qemuDomainAsyncJob job,
extern virDomainXMLNamespace virQEMUDriverDomainXMLNamespace;
extern virDomainDefParserConfig virQEMUDriverDomainDefParserConfig;
extern virDomainABIStability virQEMUDriverDomainABIStability;
+extern virSaveCookieCallbacks virQEMUDriverDomainSaveCookie;
int qemuDomainUpdateDeviceList(virQEMUDriverPtr driver,
virDomainObjPtr vm, int asyncJob);