Re: [PATCH spice-server 2/3] red-channel-client: Remove unused vfuncs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 15, 2017 at 12:49:06PM +0000, Frediano Ziglio wrote:
> RedChannelClient is responsible for talking to the client so it knows
> how if is connected or not.

s/how//

I'd mention explicitly that it's RedChannelClient::is_connected and
RedChannelClient::disconnect which are dropped (would even belong in the
shortlog if it's not too long).

> About disconnect you think that we loose a bit of flexibility however on
> disconnect the channel is triggered so additional needed process can be
> handled in destructor.

I'd drop that paragraph, as we don't have any classes overriding the
vfunc anyway, and client disconnection and the last ref being dropped
may occur at different times.


> These vfuncs where used by DummyChannel used by SoundChannel.


Acked-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>

> 
> Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
> ---
>  server/red-channel-client.c | 27 ++-------------------------
>  server/red-channel-client.h |  3 ---
>  2 files changed, 2 insertions(+), 28 deletions(-)
> 
> diff --git a/server/red-channel-client.c b/server/red-channel-client.c
> index 32db186..16e5446 100644
> --- a/server/red-channel-client.c
> +++ b/server/red-channel-client.c
> @@ -364,10 +364,6 @@ static void red_channel_client_initable_interface_init(GInitableIface *iface)
>      iface->init = red_channel_client_initable_init;
>  }
>  
> -static gboolean red_channel_client_default_is_connected(RedChannelClient *rcc);
> -static void red_channel_client_default_disconnect(RedChannelClient *rcc);
> -
> -
>  static void red_channel_client_constructed(GObject *object)
>  {
>      RedChannelClient *self =  RED_CHANNEL_CLIENT(object);
> @@ -400,9 +396,6 @@ static void red_channel_client_class_init(RedChannelClientClass *klass)
>      object_class->finalize = red_channel_client_finalize;
>      object_class->constructed = red_channel_client_constructed;
>  
> -    klass->is_connected = red_channel_client_default_is_connected;
> -    klass->disconnect = red_channel_client_default_disconnect;
> -
>      spec = g_param_spec_pointer("stream", "stream",
>                                  "Associated RedStream",
>                                  G_PARAM_STATIC_STRINGS
> @@ -1701,20 +1694,12 @@ gboolean red_channel_client_is_mini_header(RedChannelClient *rcc)
>      return rcc->priv->is_mini_header;
>  }
>  
> -static gboolean red_channel_client_default_is_connected(RedChannelClient *rcc)
> +gboolean red_channel_client_is_connected(RedChannelClient *rcc)
>  {
>      return rcc->priv->channel
>          && (g_list_find(red_channel_get_clients(rcc->priv->channel), rcc) != NULL);
>  }
>  
> -gboolean red_channel_client_is_connected(RedChannelClient *rcc)
> -{
> -    RedChannelClientClass *klass = RED_CHANNEL_CLIENT_GET_CLASS(rcc);
> -
> -    g_return_val_if_fail(klass->is_connected != NULL, FALSE);
> -    return klass->is_connected(rcc);
> -}
> -
>  static void red_channel_client_clear_sent_item(RedChannelClient *rcc)
>  {
>      rcc->priv->send_data.blocked = FALSE;
> @@ -1752,7 +1737,7 @@ void red_channel_client_push_set_ack(RedChannelClient *rcc)
>      red_channel_client_pipe_add_type(rcc, RED_PIPE_ITEM_TYPE_SET_ACK);
>  }
>  
> -static void red_channel_client_default_disconnect(RedChannelClient *rcc)
> +void red_channel_client_disconnect(RedChannelClient *rcc)
>  {
>      RedChannel *channel = rcc->priv->channel;
>      SpiceCoreInterfaceInternal *core = red_channel_get_core_interface(channel);
> @@ -1781,14 +1766,6 @@ static void red_channel_client_default_disconnect(RedChannelClient *rcc)
>      red_channel_on_disconnect(channel, rcc);
>  }
>  
> -void red_channel_client_disconnect(RedChannelClient *rcc)
> -{
> -    RedChannelClientClass *klass = RED_CHANNEL_CLIENT_GET_CLASS(rcc);
> -
> -    g_return_if_fail(klass->is_connected != NULL);
> -    klass->disconnect(rcc);
> -}
> -
>  int red_channel_client_is_blocked(RedChannelClient *rcc)
>  {
>      return rcc && rcc->priv->send_data.blocked;
> diff --git a/server/red-channel-client.h b/server/red-channel-client.h
> index 75d6cc3..1b0b810 100644
> --- a/server/red-channel-client.h
> +++ b/server/red-channel-client.h
> @@ -192,9 +192,6 @@ struct RedChannelClient
>  struct RedChannelClientClass
>  {
>      GObjectClass parent_class;
> -
> -    gboolean (*is_connected)(RedChannelClient *rcc);
> -    void (*disconnect)(RedChannelClient *rcc);
>  };
>  
>  #define SPICE_SERVER_ERROR spice_server_error_quark()
> -- 
> 2.9.3
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/spice-devel

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]