[Spice-devel] [spice-server 01/10] Remove unused 3rd red_channel_register_client_cbs() arg

Jonathon Jongsma jjongsma at redhat.com
Wed Feb 8 18:10:52 UTC 2017


On Tue, 2017-02-07 at 11:59 +0100, Christophe Fergeau wrote:
> It was probably meant to be used as a "user_data" argument for the
> various callbacks, but turns out not to be used.

Hmm, it looks like the last use of this 'data' variable was removed in
96e94c6f. That commit used g_object_set_data() to attach the
'dispatcher' object to the channel object rather than setting priv-
>data via the _register_client_cbs() function. I'm not too fond of
g_object_set_data() for that use (even though apparently I was the one
that did it). I wonder if there's a better approach than either of
these approaches... I'll try to review the rest of the patches in this
series and come back to this...

Jonathon


> ---
>  server/inputs-channel.c | 2 +-
>  server/main-channel.c   | 2 +-
>  server/red-channel.c    | 6 +-----
>  server/red-channel.h    | 2 +-
>  server/red-worker.c     | 4 ++--
>  server/smartcard.c      | 2 +-
>  server/sound.c          | 4 ++--
>  server/spicevmc.c       | 2 +-
>  8 files changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/server/inputs-channel.c b/server/inputs-channel.c
> index f105b4d..e197f68 100644
> --- a/server/inputs-channel.c
> +++ b/server/inputs-channel.c
> @@ -608,7 +608,7 @@ inputs_channel_constructed(GObject *object)
>  
>      client_cbs.connect = inputs_connect;
>      client_cbs.migrate = inputs_migrate;
> -    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs,
> NULL);
> +    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs);
>  
>      red_channel_set_cap(RED_CHANNEL(self),
> SPICE_INPUTS_CAP_KEY_SCANCODE);
>      reds_register_channel(reds, RED_CHANNEL(self));
> diff --git a/server/main-channel.c b/server/main-channel.c
> index 1124506..745f155 100644
> --- a/server/main-channel.c
> +++ b/server/main-channel.c
> @@ -335,7 +335,7 @@ main_channel_constructed(GObject *object)
>      red_channel_set_cap(RED_CHANNEL(self),
> SPICE_MAIN_CAP_SEAMLESS_MIGRATE);
>  
>      client_cbs.migrate = main_channel_client_migrate;
> -    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs,
> NULL);
> +    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs);
>  }
>  
>  static void
> diff --git a/server/red-channel.c b/server/red-channel.c
> index f2a35f3..835a744 100644
> --- a/server/red-channel.c
> +++ b/server/red-channel.c
> @@ -91,8 +91,6 @@ struct RedChannelPrivate
>      RedChannelCapabilities local_caps;
>      uint32_t migration_flags;
>  
> -    void *data;
> -
>      OutgoingHandlerInterface outgoing_cb;
>      IncomingHandlerInterface incoming_cb;
>  
> @@ -428,8 +426,7 @@ StatNodeRef red_channel_get_stat_node(RedChannel
> *channel)
>      return 0;
>  }
>  
> -void red_channel_register_client_cbs(RedChannel *channel, const
> ClientCbs *client_cbs,
> -                                     gpointer cbs_data)
> +void red_channel_register_client_cbs(RedChannel *channel, const
> ClientCbs *client_cbs)
>  {
>      spice_assert(client_cbs->connect || channel->priv->type ==
> SPICE_CHANNEL_MAIN);
>      channel->priv->client_cbs.connect = client_cbs->connect;
> @@ -441,7 +438,6 @@ void red_channel_register_client_cbs(RedChannel
> *channel, const ClientCbs *clien
>      if (client_cbs->migrate) {
>          channel->priv->client_cbs.migrate = client_cbs->migrate;
>      }
> -    channel->priv->data = cbs_data;
>  }
>  
>  static void add_capability(uint32_t **caps, int *num_caps, uint32_t
> cap)
> diff --git a/server/red-channel.h b/server/red-channel.h
> index f2866f5..7b6846f 100644
> --- a/server/red-channel.h
> +++ b/server/red-channel.h
> @@ -209,7 +209,7 @@ void red_channel_remove_client(RedChannel
> *channel, RedChannelClient *rcc);
>  
>  void red_channel_set_stat_node(RedChannel *channel, StatNodeRef
> stat);
>  
> -void red_channel_register_client_cbs(RedChannel *channel, const
> ClientCbs *client_cbs, gpointer cbs_data);
> +void red_channel_register_client_cbs(RedChannel *channel, const
> ClientCbs *client_cbs);
>  // caps are freed when the channel is destroyed
>  void red_channel_set_common_cap(RedChannel *channel, uint32_t cap);
>  void red_channel_set_cap(RedChannel *channel, uint32_t cap);
> diff --git a/server/red-worker.c b/server/red-worker.c
> index 475acc4..230e87d 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -1372,7 +1372,7 @@ RedWorker* red_worker_new(QXLInstance *qxl,
>                                                  &worker->core);
>      channel = RED_CHANNEL(worker->cursor_channel);
>      red_channel_set_stat_node(channel, stat_add_node(reds, worker-
> >stat, "cursor_channel", TRUE));
> -    red_channel_register_client_cbs(channel, client_cursor_cbs,
> dispatcher);
> +    red_channel_register_client_cbs(channel, client_cursor_cbs);
>      g_object_set_data(G_OBJECT(channel), "dispatcher", dispatcher);
>      reds_register_channel(reds, channel);
>  
> @@ -1383,7 +1383,7 @@ RedWorker* red_worker_new(QXLInstance *qxl,
>                                                    init_info.n_surfac
> es);
>      channel = RED_CHANNEL(worker->display_channel);
>      red_channel_set_stat_node(channel, stat_add_node(reds, worker-
> >stat, "display_channel", TRUE));
> -    red_channel_register_client_cbs(channel, client_display_cbs,
> dispatcher);
> +    red_channel_register_client_cbs(channel, client_display_cbs);
>      g_object_set_data(G_OBJECT(channel), "dispatcher", dispatcher);
>      reds_register_channel(reds, channel);
>  
> diff --git a/server/smartcard.c b/server/smartcard.c
> index f4bc40d..bfc4b24 100644
> --- a/server/smartcard.c
> +++ b/server/smartcard.c
> @@ -577,7 +577,7 @@ red_smartcard_channel_constructed(GObject
> *object)
>      G_OBJECT_CLASS(red_smartcard_channel_parent_class)-
> >constructed(object);
>  
>      client_cbs.connect = smartcard_connect_client;
> -    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs,
> NULL);
> +    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs);
>  
>      reds_register_channel(reds, RED_CHANNEL(self));
>  }
> diff --git a/server/sound.c b/server/sound.c
> index 7c36174..2692fe5 100644
> --- a/server/sound.c
> +++ b/server/sound.c
> @@ -1393,7 +1393,7 @@ playback_channel_constructed(GObject *object)
>  
>      client_cbs.connect = snd_set_playback_peer;
>      client_cbs.migrate = snd_migrate_channel_client;
> -    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs,
> self);
> +    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs);
>  
>      if (snd_codec_is_capable(SPICE_AUDIO_DATA_MODE_CELT_0_5_1,
> SND_CODEC_ANY_FREQUENCY)) {
>          red_channel_set_cap(RED_CHANNEL(self),
> SPICE_PLAYBACK_CAP_CELT_0_5_1);
> @@ -1443,7 +1443,7 @@ record_channel_constructed(GObject *object)
>  
>      client_cbs.connect = snd_set_record_peer;
>      client_cbs.migrate = snd_migrate_channel_client;
> -    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs,
> self);
> +    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs);
>  
>      if (snd_codec_is_capable(SPICE_AUDIO_DATA_MODE_CELT_0_5_1,
> SND_CODEC_ANY_FREQUENCY)) {
>          red_channel_set_cap(RED_CHANNEL(self),
> SPICE_RECORD_CAP_CELT_0_5_1);
> diff --git a/server/spicevmc.c b/server/spicevmc.c
> index 9bcbada..180d4eb 100644
> --- a/server/spicevmc.c
> +++ b/server/spicevmc.c
> @@ -192,7 +192,7 @@ red_vmc_channel_constructed(GObject *object)
>      G_OBJECT_CLASS(red_vmc_channel_parent_class)-
> >constructed(object);
>  
>      client_cbs.connect = spicevmc_connect;
> -    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs,
> NULL);
> +    red_channel_register_client_cbs(RED_CHANNEL(self), &client_cbs);
>  
>  #ifdef USE_LZ4
>      red_channel_set_cap(RED_CHANNEL(self),
> SPICE_SPICEVMC_CAP_DATA_COMPRESS_LZ4);


More information about the Spice-devel mailing list