From 9dcb071166792e5b280be85856c658bcda615d58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Thu, 21 Jul 2011 16:22:55 +0200 Subject: [PATCH] Split virt_viewer_start() and virt_viewer_new() --- src/virt-viewer.c | 95 +++++++++++++++++++++++++++-------------------- 1 file changed, 54 insertions(+), 41 deletions(-) diff --git a/src/virt-viewer.c b/src/virt-viewer.c index 8ea14cd..c4ca01d 100644 --- a/src/virt-viewer.c +++ b/src/virt-viewer.c @@ -1604,60 +1604,26 @@ virt_viewer_error_func (void *data G_GNUC_UNUSED, /* nada */ } -int -virt_viewer_start(const char *uri, - const char *name, - gint zoom, - gboolean direct, - gboolean waitvm, - gboolean reconnect, - gboolean verbose, - gboolean debug, - gboolean fullscreen, - GtkWidget *container) + +static VirtViewer *virt_viewer_new(gint zoom, + gboolean direct, + gboolean verbose, + gboolean fullscreen, + GtkWidget *container) { VirtViewer *viewer; - GtkWidget *menu; - int cred_types[] = - { VIR_CRED_AUTHNAME, VIR_CRED_PASSPHRASE }; - virConnectAuth auth_libvirt = { - .credtype = cred_types, - .ncredtype = ARRAY_CARDINALITY(cred_types), - .cb = virt_viewer_auth_libvirt_credentials, - .cbdata = (void *)uri, - }; GdkColor color; - doDebug = debug; + GtkWidget *menu; viewer = g_new0(VirtViewer, 1); viewer->active = FALSE; viewer->autoResize = TRUE; viewer->direct = direct; - viewer->waitvm = waitvm; - viewer->reconnect = reconnect; viewer->verbose = verbose; - viewer->domkey = g_strdup(name); - viewer->uri = g_strdup(uri); g_value_init(&viewer->accelSetting, G_TYPE_STRING); - virt_viewer_events_register(); - - virSetErrorFunc(NULL, virt_viewer_error_func); - - virt_viewer_trace(viewer, "Opening connection to libvirt with URI %s\n", - uri ? uri : ""); - viewer->conn = virConnectOpenAuth(uri, - //virConnectAuthPtrDefault, - &auth_libvirt, - VIR_CONNECT_RO); - if (!viewer->conn) { - virt_viewer_simple_message_dialog(NULL, _("Unable to connect to libvirt with URI %s"), - uri ? uri : _("[none]")); - return -1; - } - if (!container) { viewer->builder = virt_viewer_util_load_ui("virt-viewer.xml"); @@ -1713,6 +1679,53 @@ virt_viewer_start(const char *uri, gtk_widget_show_all(viewer->window); } + return viewer; +} + +int +virt_viewer_start(const char *uri, + const char *name, + gint zoom, + gboolean direct, + gboolean waitvm, + gboolean reconnect, + gboolean verbose, + gboolean debug, + gboolean fullscreen, + GtkWidget *container) +{ + int cred_types[] = + { VIR_CRED_AUTHNAME, VIR_CRED_PASSPHRASE }; + virConnectAuth auth_libvirt = { + .credtype = cred_types, + .ncredtype = ARRAY_CARDINALITY(cred_types), + .cb = virt_viewer_auth_libvirt_credentials, + .cbdata = (void *)uri, + }; + doDebug = debug; + VirtViewer *viewer = virt_viewer_new(zoom, direct, verbose, fullscreen, container); + + viewer->uri = g_strdup(uri); + viewer->domkey = g_strdup(name); + viewer->waitvm = waitvm; + viewer->reconnect = reconnect; + + virt_viewer_events_register(); + + virSetErrorFunc(NULL, virt_viewer_error_func); + + virt_viewer_trace(viewer, "Opening connection to libvirt with URI %s\n", + uri ? uri : ""); + viewer->conn = virConnectOpenAuth(uri, + //virConnectAuthPtrDefault, + &auth_libvirt, + VIR_CONNECT_RO); + if (!viewer->conn) { + virt_viewer_simple_message_dialog(NULL, _("Unable to connect to libvirt with URI %s"), + uri ? uri : _("[none]")); + return -1; + } + if (virt_viewer_initial_connect(viewer) < 0) return -1;