[Spice-devel] [PATCH 1/3] Add SpiceChannelError

Christophe Fergeau cfergeau at redhat.com
Thu Oct 2 00:49:32 PDT 2014


On Wed, Oct 01, 2014 at 04:36:44PM +0200, Fabiano Fidêncio wrote:
> SpiceChannelError, for now, will be used to set more detailed errors
> with respect to SPICE_CHANNEL_ERROR_AUTH.
> ---
>  doc/reference/spice-gtk-sections.txt |  3 +++
>  gtk/map-file                         |  2 ++
>  gtk/spice-channel.c                  | 11 +++++++++++
>  gtk/spice-channel.h                  | 23 +++++++++++++++++++++++
>  gtk/spice-glib-sym-file              |  2 ++
>  5 files changed, 41 insertions(+)
> 
> diff --git a/doc/reference/spice-gtk-sections.txt b/doc/reference/spice-gtk-sections.txt
> index caaa92c..5c411f8 100644
> --- a/doc/reference/spice-gtk-sections.txt
> +++ b/doc/reference/spice-gtk-sections.txt
> @@ -73,6 +73,9 @@ spice_main_clipboard_release
>  spice_main_clipboard_notify
>  spice_main_clipboard_request
>  <SUBSECTION Standard>
> +SPICE_CHANNEL_ERROR
> +spice_channel_error_get_type
> +spice_channel_error_quark
>  SPICE_MAIN_CHANNEL
>  SPICE_IS_MAIN_CHANNEL
>  SPICE_TYPE_MAIN_CHANNEL
> diff --git a/gtk/map-file b/gtk/map-file
> index 90f14f1..c1d9e71 100644
> --- a/gtk/map-file
> +++ b/gtk/map-file
> @@ -6,6 +6,8 @@ spice_audio_new;
>  spice_channel_connect;
>  spice_channel_destroy;
>  spice_channel_disconnect;
> +spice_channel_error_get_type;
> +spice_channel_error_quark;
>  spice_channel_event_get_type;
>  spice_channel_get_error;
>  spice_channel_get_type;
> diff --git a/gtk/spice-channel.c b/gtk/spice-channel.c
> index 5d1a86e..a8b4e35 100644
> --- a/gtk/spice-channel.c
> +++ b/gtk/spice-channel.c
> @@ -76,6 +76,17 @@ static void spice_channel_send_migration_handshake(SpiceChannel *channel);
>  
>  G_DEFINE_TYPE(SpiceChannel, spice_channel, G_TYPE_OBJECT);
>  
> +/**
> + * SpiceChannelError:
> + *
> + * The error domain for the spice channel.
> + **/
> +GQuark
> +spice_channel_error_quark(void)
> +{
> +  return g_quark_from_static_string ("spice-channel-error");
> +}
> +
>  /* Properties */
>  enum {
>      PROP_0,
> diff --git a/gtk/spice-channel.h b/gtk/spice-channel.h
> index 1c303b4..034fd1c 100644
> --- a/gtk/spice-channel.h
> +++ b/gtk/spice-channel.h
> @@ -32,6 +32,17 @@ G_BEGIN_DECLS
>  #define SPICE_IS_CHANNEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SPICE_TYPE_CHANNEL))
>  #define SPICE_CHANNEL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), SPICE_TYPE_CHANNEL, SpiceChannelClass))
>  
> +/**
> + * SPICE_CHANNEL_ERROR:
> + *
> + * Error domain for #SpiceChannel operations. Error in this domain will be
> + * from the SpiceChannelError enumeration. See #GError for more
> + * information on error domains.
> + **/
> +#define SPICE_CHANNEL_ERROR           spice_channel_error_quark ()
> +
> +GQuark spice_channel_error_quark(void);
> +
>  typedef struct _SpiceMsgIn  SpiceMsgIn;
>  typedef struct _SpiceMsgOut SpiceMsgOut;
>  
> @@ -61,6 +72,18 @@ typedef enum
>      SPICE_CHANNEL_ERROR_IO,
>  } SpiceChannelEvent;
>  
> +/**
> + * SpiceChannelAuthError:
> + * @SPICE_CHANNEL_ERROR_AUTH_USERNAME: username is required

This does not match what is in the enum.


> + *
> + * An error, used as detailed info for SPICE_CHANNEL_ERROR_AUTH

I'd say this "SPICE_CHANNEL_ERROR_AUTH" needs to be more detailed (ie
this is a main channel event).


Looks good apart from this.

Christophe

> + **/
> +typedef enum
> +{
> +    SPICE_CHANNEL_ERROR_AUTH_NEEDS_PASSWORD,
> +    SPICE_CHANNEL_ERROR_AUTH_NEEDS_PASSWORD_AND_USERNAME,
> +} SpiceChannelError;
> +
>  struct _SpiceChannel
>  {
>      GObject parent;
> diff --git a/gtk/spice-glib-sym-file b/gtk/spice-glib-sym-file
> index 878dd12..69e3e83 100644
> --- a/gtk/spice-glib-sym-file
> +++ b/gtk/spice-glib-sym-file
> @@ -4,6 +4,8 @@ spice_audio_new
>  spice_channel_connect
>  spice_channel_destroy
>  spice_channel_disconnect
> +spice_channel_error_get_type
> +spice_channel_error_quark
>  spice_channel_event_get_type
>  spice_channel_flush_async
>  spice_channel_flush_finish
> -- 
> 1.9.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20141002/a29997a5/attachment.sig>


More information about the Spice-devel mailing list