From patchwork Fri Dec 19 09:04:18 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gerd Hoffmann X-Patchwork-Id: 422810 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 9D2D7140079 for ; Fri, 19 Dec 2014 20:05:23 +1100 (AEDT) Received: from localhost ([::1]:57366 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1tUv-0003fV-M5 for incoming@patchwork.ozlabs.org; Fri, 19 Dec 2014 04:05:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32963) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1tUG-0002Yt-Ch for qemu-devel@nongnu.org; Fri, 19 Dec 2014 04:04:45 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y1tUB-0000UZ-EV for qemu-devel@nongnu.org; Fri, 19 Dec 2014 04:04:40 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48758) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1tUB-0000Sp-6m for qemu-devel@nongnu.org; Fri, 19 Dec 2014 04:04:35 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sBJ94WZY027626 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 19 Dec 2014 04:04:32 -0500 Received: from nilsson.home.kraxel.org (ovpn-116-18.ams2.redhat.com [10.36.116.18]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sBJ94UlA022934; Fri, 19 Dec 2014 04:04:31 -0500 Received: by nilsson.home.kraxel.org (Postfix, from userid 500) id EFC4581697; Fri, 19 Dec 2014 10:04:29 +0100 (CET) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Fri, 19 Dec 2014 10:04:18 +0100 Message-Id: <1418979866-1615-3-git-send-email-kraxel@redhat.com> In-Reply-To: <1418979866-1615-1-git-send-email-kraxel@redhat.com> References: <1418979866-1615-1-git-send-email-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: Paolo Bonzini , Gerd Hoffmann , Anthony Liguori Subject: [Qemu-devel] [PULL 02/10] vnc: remove unused DisplayState parameter, add id instead. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org DisplayState isn't used anywhere, drop it. Add the vnc server ID as parameter instead, so it is possible to specify the server instance. Signed-off-by: Gerd Hoffmann Reviewed-by: Gonglei --- include/ui/console.h | 16 ++++++++-------- ui/vnc.c | 29 ++++++++++++++--------------- vl.c | 7 ++++--- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/include/ui/console.h b/include/ui/console.h index 22ef8ca..5ff2e27 100644 --- a/include/ui/console.h +++ b/include/ui/console.h @@ -327,19 +327,19 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame); void cocoa_display_init(DisplayState *ds, int full_screen); /* vnc.c */ -void vnc_display_init(DisplayState *ds); -void vnc_display_open(DisplayState *ds, const char *display, Error **errp); -void vnc_display_add_client(DisplayState *ds, int csock, bool skipauth); -char *vnc_display_local_addr(DisplayState *ds); +void vnc_display_init(const char *id); +void vnc_display_open(const char *id, const char *display, Error **errp); +void vnc_display_add_client(const char *id, int csock, bool skipauth); +char *vnc_display_local_addr(const char *id); #ifdef CONFIG_VNC -int vnc_display_password(DisplayState *ds, const char *password); -int vnc_display_pw_expire(DisplayState *ds, time_t expires); +int vnc_display_password(const char *id, const char *password); +int vnc_display_pw_expire(const char *id, time_t expires); #else -static inline int vnc_display_password(DisplayState *ds, const char *password) +static inline int vnc_display_password(const char *id, const char *password) { return -ENODEV; } -static inline int vnc_display_pw_expire(DisplayState *ds, time_t expires) +static inline int vnc_display_pw_expire(const char *id, time_t expires) { return -ENODEV; }; diff --git a/ui/vnc.c b/ui/vnc.c index a6549c8..fce4861 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -2967,10 +2967,11 @@ static const DisplayChangeListenerOps dcl_ops = { .dpy_cursor_define = vnc_dpy_cursor_define, }; -void vnc_display_init(DisplayState *ds) +void vnc_display_init(const char *id) { VncDisplay *vs = g_malloc0(sizeof(*vs)); + vs->id = strdup(id); QTAILQ_INSERT_TAIL(&vnc_displays, vs, next); vs->lsock = -1; @@ -2999,10 +3000,8 @@ void vnc_display_init(DisplayState *ds) } -static void vnc_display_close(DisplayState *ds) +static void vnc_display_close(VncDisplay *vs) { - VncDisplay *vs = vnc_display_find(NULL); - if (!vs) return; g_free(vs->display); @@ -3028,9 +3027,9 @@ static void vnc_display_close(DisplayState *ds) #endif } -int vnc_display_password(DisplayState *ds, const char *password) +int vnc_display_password(const char *id, const char *password) { - VncDisplay *vs = vnc_display_find(NULL); + VncDisplay *vs = vnc_display_find(id); if (!vs) { return -EINVAL; @@ -3047,9 +3046,9 @@ int vnc_display_password(DisplayState *ds, const char *password) return 0; } -int vnc_display_pw_expire(DisplayState *ds, time_t expires) +int vnc_display_pw_expire(const char *id, time_t expires) { - VncDisplay *vs = vnc_display_find(NULL); + VncDisplay *vs = vnc_display_find(id); if (!vs) { return -EINVAL; @@ -3059,16 +3058,16 @@ int vnc_display_pw_expire(DisplayState *ds, time_t expires) return 0; } -char *vnc_display_local_addr(DisplayState *ds) +char *vnc_display_local_addr(const char *id) { - VncDisplay *vs = vnc_display_find(NULL); + VncDisplay *vs = vnc_display_find(id); return vnc_socket_local_addr("%s:%s", vs->lsock); } -void vnc_display_open(DisplayState *ds, const char *display, Error **errp) +void vnc_display_open(const char *id, const char *display, Error **errp) { - VncDisplay *vs = vnc_display_find(NULL); + VncDisplay *vs = vnc_display_find(id); const char *options; int password = 0; int reverse = 0; @@ -3088,7 +3087,7 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp) error_setg(errp, "VNC display not active"); return; } - vnc_display_close(ds); + vnc_display_close(vs); if (strcmp(display, "none") == 0) return; @@ -3381,9 +3380,9 @@ fail: #endif /* CONFIG_VNC_WS */ } -void vnc_display_add_client(DisplayState *ds, int csock, bool skipauth) +void vnc_display_add_client(const char *id, int csock, bool skipauth) { - VncDisplay *vs = vnc_display_find(NULL); + VncDisplay *vs = vnc_display_find(id); if (!vs) { return; diff --git a/vl.c b/vl.c index 113e98e..afb6212 100644 --- a/vl.c +++ b/vl.c @@ -4376,8 +4376,9 @@ int main(int argc, char **argv, char **envp) /* init remote displays */ if (vnc_display) { Error *local_err = NULL; - vnc_display_init(ds); - vnc_display_open(ds, vnc_display, &local_err); + const char *id = "default"; + vnc_display_init(id); + vnc_display_open(id, vnc_display, &local_err); if (local_err != NULL) { error_report("Failed to start VNC server on `%s': %s", vnc_display, error_get_pretty(local_err)); @@ -4386,7 +4387,7 @@ int main(int argc, char **argv, char **envp) } if (show_vnc_port) { - printf("VNC server running on `%s'\n", vnc_display_local_addr(ds)); + printf("VNC server running on `%s'\n", vnc_display_local_addr(id)); } } #endif