On Mon, Feb 03, 2014 at 07:02:43PM +0100, Marc-André Lureau wrote: > From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> > > Add a function to retrieve the last GError from a channel, this may be > useful to provide additional error details to the client. > --- > doc/reference/spice-gtk-sections.txt | 1 + > gtk/map-file | 1 + > gtk/spice-channel-priv.h | 1 + > gtk/spice-channel.c | 26 ++++++++++++++++++++++++-- > gtk/spice-channel.h | 2 ++ > gtk/spice-glib-sym-file | 1 + > gtk/spice-session-priv.h | 2 +- > gtk/spice-session.c | 6 +++--- > gtk/spicy.c | 6 ++++++ > 9 files changed, 40 insertions(+), 6 deletions(-) > > diff --git a/doc/reference/spice-gtk-sections.txt b/doc/reference/spice-gtk-sections.txt > index 411ca0e..9f0cf67 100644 > --- a/doc/reference/spice-gtk-sections.txt > +++ b/doc/reference/spice-gtk-sections.txt > @@ -102,6 +102,7 @@ spice_channel_string_to_type > spice_channel_set_capability > spice_channel_flush_async > spice_channel_flush_finish > +spice_channel_get_error > <SUBSECTION Standard> > SPICE_TYPE_CHANNEL_EVENT > spice_channel_event_get_type > diff --git a/gtk/map-file b/gtk/map-file > index cf65db0..d9e596b 100644 > --- a/gtk/map-file > +++ b/gtk/map-file > @@ -7,6 +7,7 @@ spice_channel_connect; > spice_channel_destroy; > spice_channel_disconnect; > spice_channel_event_get_type; > +spice_channel_get_error; > spice_channel_get_type; > spice_channel_new; > spice_channel_open_fd; > diff --git a/gtk/spice-channel-priv.h b/gtk/spice-channel-priv.h > index fd08b2a..591f80e 100644 > --- a/gtk/spice-channel-priv.h > +++ b/gtk/spice-channel-priv.h > @@ -136,6 +136,7 @@ struct _SpiceChannelPrivate { > GSList *flushing; > > gboolean disable_channel_msg; > + GError *error; > }; > > SpiceMsgIn *spice_msg_in_new(SpiceChannel *channel); > diff --git a/gtk/spice-channel.c b/gtk/spice-channel.c > index 87bc471..e8391be 100644 > --- a/gtk/spice-channel.c > +++ b/gtk/spice-channel.c > @@ -154,6 +154,8 @@ static void spice_channel_dispose(GObject *gobject) > c->session = NULL; > } > > + g_clear_error(&c->error); > + > /* Chain up to the parent class */ > if (G_OBJECT_CLASS(spice_channel_parent_class)->dispose) > G_OBJECT_CLASS(spice_channel_parent_class)->dispose(gobject); > @@ -2211,6 +2213,25 @@ static int spice_channel_load_ca(SpiceChannel *channel) > return count; > } > > +/** > + * spice_channel_get_error: > + * @channel: > + * > + * Retrieves the #GError currently set on channel, if the #SpiceChannel > + * is in error state. > + * > + * Returns: the pointer to the error, or NULL > + * Since: 0.23 It's 0.24 now. Christophe
Attachment:
pgppV7IFbohQw.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel