[virt-tools-list] [PATCH virt-viewer 4/6] remote-viewer: factor our remote_viewer_initial_connect()
Eduardo Lima (Etrunko)
etrunko at redhat.com
Wed Jun 28 13:52:21 UTC 2017
On 23/06/17 12:30, marcandre.lureau at redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
>
Acked-by: Eduardo Lima (Etrunko) <etrunko at redhat.com>
> Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> ---
> src/remote-viewer.c | 70 ++++++++++++++++++++++++++++++++---------------------
> 1 file changed, 43 insertions(+), 27 deletions(-)
>
> diff --git a/src/remote-viewer.c b/src/remote-viewer.c
> index b132214..fb5376c 100644
> --- a/src/remote-viewer.c
> +++ b/src/remote-viewer.c
> @@ -85,6 +85,10 @@ static void spice_foreign_menu_updated(RemoteViewer *self);
> static void foreign_menu_title_changed(SpiceCtrlForeignMenu *menu, GParamSpec *pspec, RemoteViewer *self);
> #endif
>
> +static gboolean
> +remote_viewer_initial_connect(RemoteViewer *self, const gchar *type,
> + VirtViewerFile *vvfile, GError **error);
> +
> static void
> remote_viewer_dispose (GObject *object)
> {
> @@ -1080,6 +1084,41 @@ remote_viewer_session_connected(VirtViewerSession *session,
> g_free(uri);
> }
>
> +static gboolean
> +remote_viewer_initial_connect(RemoteViewer *self, const gchar *type,
> + VirtViewerFile *vvfile, GError **error)
> +{
> + VirtViewerApp *app = VIRT_VIEWER_APP(self);
> +
> + if (!virt_viewer_app_create_session(app, type, error))
> + return FALSE;
> +
> + g_signal_connect(virt_viewer_app_get_session(app), "session-connected",
> + G_CALLBACK(remote_viewer_session_connected), app);
> +
> + virt_viewer_session_set_file(virt_viewer_app_get_session(app), vvfile);
> +#ifdef HAVE_OVIRT
> + if (vvfile != NULL) {
> + OvirtForeignMenu *ovirt_menu;
> + ovirt_menu = ovirt_foreign_menu_new_from_file(vvfile);
> + if (ovirt_menu != NULL) {
> + virt_viewer_app_set_ovirt_foreign_menu(app, ovirt_menu);
> + }
> + }
> +#endif
> +
> + if (!virt_viewer_app_initial_connect(app, error)) {
> + if (*error == NULL) {
> + g_set_error_literal(error,
> + VIRT_VIEWER_ERROR, VIRT_VIEWER_ERROR_FAILED,
> + _("Failed to initiate connection"));
> + }
> + return FALSE;
> + }
> +
> + return TRUE;
> +}
> +
> static gboolean
> remote_viewer_start(VirtViewerApp *app, GError **err)
> {
> @@ -1114,8 +1153,9 @@ remote_viewer_start(VirtViewerApp *app, GError **err)
> spice_ctrl_foreign_menu_listen(priv->ctrl_foreign_menu, NULL, spice_ctrl_listen_async_cb, self);
>
> virt_viewer_app_show_status(VIRT_VIEWER_APP(self), _("Setting up Spice session..."));
> - } else {
> + } else
> #endif
> + {
> retry_dialog:
> if (priv->open_recent_dialog) {
> VirtViewerWindow *main_window = virt_viewer_app_get_main_window(app);
> @@ -1160,35 +1200,11 @@ retry_dialog:
> } else
> #endif
> {
> - if (!virt_viewer_app_create_session(app, type, &error))
> + if (!remote_viewer_initial_connect(self, type, vvfile, &error))
> goto cleanup;
> }
> -
> - g_signal_connect(virt_viewer_app_get_session(app), "session-connected",
> - G_CALLBACK(remote_viewer_session_connected), app);
> -
> - virt_viewer_session_set_file(virt_viewer_app_get_session(app), vvfile);
> -#ifdef HAVE_OVIRT
> - if (vvfile != NULL) {
> - OvirtForeignMenu *ovirt_menu;
> - ovirt_menu = ovirt_foreign_menu_new_from_file(vvfile);
> - if (ovirt_menu != NULL) {
> - virt_viewer_app_set_ovirt_foreign_menu(app, ovirt_menu);
> - }
> - }
> -#endif
> -
> - if (!virt_viewer_app_initial_connect(app, &error)) {
> - if (error == NULL) {
> - g_set_error_literal(&error,
> - VIRT_VIEWER_ERROR, VIRT_VIEWER_ERROR_FAILED,
> - _("Failed to initiate connection"));
> - }
> - goto cleanup;
> - }
> -#ifdef HAVE_SPICE_GTK
> }
> -#endif
> +
>
> ret = VIRT_VIEWER_APP_CLASS(remote_viewer_parent_class)->start(app, &error);
>
>
--
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etrunko at redhat.com
More information about the virt-tools-list
mailing list