On Friday 19 December 2014 16:41:03 Alexander Burluka wrote: > 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. Seems good to me, ACK. > > Signed-off-by: Alexander Burluka <aburluka@xxxxxxxxxxxxx> > --- > src/parallels/parallels_sdk.c | 25 ++++++++++++++++++++++++- > 1 files changed, 24 insertions(+), 1 deletions(-) > > diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c > index 83a28b7..8394646 100644 > --- a/src/parallels/parallels_sdk.c > +++ b/src/parallels/parallels_sdk.c > @@ -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; -- Dmitry Guryanov -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list