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."));
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;
}
virDomainGraphicsDefPtr gr;
PRL_RESULT pret;
int ret = -1;
+ const char *listenAddr = NULL;
if (prlsdkCheckGraphicsUnsupportedParams(def))
return -1;
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;