提交 95170a30 编写于 作者: A Alexander Burluka 提交者: Michal Privoznik

Parallels: Add VNC hostname setup

Add missing VNC setup via Parallels SDK.
Parallels Cloud Server starts one VNC server per domain,
so we could process only one VNC server definition.
Network-based listening currently is unimplemented.
Signed-off-by: NAlexander Burluka <aburluka@parallels.com>
上级 565d049f
......@@ -1929,7 +1929,7 @@ static int prlsdkCheckGraphicsUnsupportedParams(virDomainDefPtr def)
if (def->ngraphics == 0)
return 0;
if (def->ngraphics >1) {
if (def->ngraphics > 1) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
_("Parallels Cloud Server supports only "
"one VNC per domain."));
......@@ -1988,6 +1988,20 @@ static int prlsdkCheckGraphicsUnsupportedParams(virDomainDefPtr def)
return -1;
}
if (gr->nListens > 1) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
_("Parallels driver doesn't support more than "
"one listening VNC server per domain"));
return -1;
}
if (gr->nListens == 1 &&
virDomainGraphicsListenGetType(gr, 0) != VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
_("Parallels driver supports only address-based VNC listening"));
return -1;
}
return 0;
}
......@@ -2286,6 +2300,7 @@ static int prlsdkApplyGraphicsParams(PRL_HANDLE sdkdom, virDomainDefPtr def)
virDomainGraphicsDefPtr gr;
PRL_RESULT pret;
int ret = -1;
const char *listenAddr = NULL;
if (prlsdkCheckGraphicsUnsupportedParams(def))
return -1;
......@@ -2306,6 +2321,14 @@ static int prlsdkApplyGraphicsParams(PRL_HANDLE sdkdom, virDomainDefPtr def)
prlsdkCheckRetGoto(pret, cleanup);
}
if (gr->nListens == 1) {
listenAddr = virDomainGraphicsListenGetAddress(gr, 0);
if (!listenAddr)
goto cleanup;
pret = PrlVmCfg_SetVNCHostName(sdkdom, listenAddr);
prlsdkCheckRetGoto(pret, cleanup);
}
ret = 0;
cleanup:
return ret;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册