提交 c6084f19 编写于 作者: T Taowei 提交者: Michal Privoznik

vbox: Rewrite vboxConnectClose

上级 7f0f415b
......@@ -289,3 +289,14 @@ virDrvOpenStatus vboxConnectOpen(virConnectPtr conn,
return VIR_DRV_OPEN_SUCCESS;
}
int vboxConnectClose(virConnectPtr conn)
{
vboxGlobalData *data = conn->privateData;
VIR_DEBUG("%s: in vboxClose", conn->driver->name);
vboxUninitialize(data);
conn->privateData = NULL;
return 0;
}
......@@ -834,35 +834,6 @@ vboxSocketParseAddrUtf16(vboxGlobalData *data, const PRUnichar *utf16,
return result;
}
static void vboxUninitialize(vboxGlobalData *data)
{
if (!data)
return;
if (data->pFuncs)
data->pFuncs->pfnComUninitialize();
virObjectUnref(data->caps);
virObjectUnref(data->xmlopt);
#if VBOX_API_VERSION == 2002000
/* No domainEventCallbacks in 2.2.* version */
#else /* !(VBOX_API_VERSION == 2002000) */
virObjectEventStateFree(data->domainEvents);
#endif /* !(VBOX_API_VERSION == 2002000) */
VIR_FREE(data);
}
static int vboxConnectClose(virConnectPtr conn)
{
vboxGlobalData *data = conn->privateData;
VIR_DEBUG("%s: in vboxClose", conn->driver->name);
vboxUninitialize(data);
conn->privateData = NULL;
return 0;
}
static int vboxConnectGetVersion(virConnectPtr conn, unsigned long *version)
{
vboxGlobalData *data = conn->privateData;
......
......@@ -137,6 +137,7 @@ typedef struct {
virDrvOpenStatus vboxConnectOpen(virConnectPtr conn,
virConnectAuthPtr auth,
unsigned int flags);
int vboxConnectClose(virConnectPtr conn);
/* Version specified functions for installing uniformed API */
void vbox22InstallUniformedAPI(vboxUniformedAPI *pVBoxAPI);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册