[Spice-devel] [PATCH 1/4] move cursor_connect to CursorChannel
Jonathon Jongsma
jjongsma at redhat.com
Wed May 25 20:06:15 UTC 2016
Looks like an improvment
Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
On Fri, 2016-05-13 at 10:16 +0100, Frediano Ziglio wrote:
> This function was handling mainly CursorChannel state
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/cursor-channel.c | 23 +++++++++++++++++++++++
> server/cursor-channel.h | 5 +++++
> server/red-worker.c | 32 ++++----------------------------
> 3 files changed, 32 insertions(+), 28 deletions(-)
>
> diff --git a/server/cursor-channel.c b/server/cursor-channel.c
> index 444d89b..c67c88f 100644
> --- a/server/cursor-channel.c
> +++ b/server/cursor-channel.c
> @@ -569,3 +569,26 @@ void cursor_channel_set_mouse_mode(CursorChannel *cursor,
> uint32_t mode)
>
> cursor->mouse_mode = mode;
> }
> +
> +void cursor_channel_connect(CursorChannel *cursor, RedClient *client,
> RedsStream *stream,
> + int migrate,
> + uint32_t *common_caps, int num_common_caps,
> + uint32_t *caps, int num_caps)
> +{
> + CursorChannelClient *ccc;
> +
> + spice_return_if_fail(cursor != NULL);
> +
> + spice_info("add cursor channel client");
> + ccc = cursor_channel_client_new(cursor, client, stream,
> + migrate,
> + common_caps, num_common_caps,
> + caps, num_caps);
> + spice_return_if_fail(ccc != NULL);
> +
> + RedChannelClient *rcc = RED_CHANNEL_CLIENT(ccc);
> + red_channel_client_ack_zero_messages_window(rcc);
> + red_channel_client_push_set_ack(rcc);
> +
> + cursor_channel_init(cursor, ccc);
> +}
> diff --git a/server/cursor-channel.h b/server/cursor-channel.h
> index 4dad4b6..ecb20a4 100644
> --- a/server/cursor-channel.h
> +++ b/server/cursor-channel.h
> @@ -34,6 +34,11 @@ void cursor_channel_reset
> (CursorChannel *cursor);
> void cursor_channel_init (CursorChannel *cursor,
> CursorChannelClient* client);
> void cursor_channel_process_cmd (CursorChannel *cursor,
> RedCursorCmd *cursor_cmd);
> void cursor_channel_set_mouse_mode(CursorChannel *cursor,
> uint32_t mode);
> +void cursor_channel_connect (CursorChannel *cursor,
> RedClient *client,
> + RedsStream *stream,
> + int migrate,
> + uint32_t *common_caps, int
> num_common_caps,
> + uint32_t *caps, int
> num_caps);
>
> CursorChannelClient* cursor_channel_client_new(CursorChannel *cursor,
> RedClient *client, RedsStream
> *stream,
> diff --git a/server/red-worker.c b/server/red-worker.c
> index 8d8073e..f6d626b 100644
> --- a/server/red-worker.c
> +++ b/server/red-worker.c
> @@ -544,30 +544,6 @@ static void guest_set_client_capabilities(RedWorker
> *worker)
> }
> }
>
> -static void cursor_connect(RedWorker *worker, RedClient *client, RedsStream
> *stream,
> - int migrate,
> - uint32_t *common_caps, int num_common_caps,
> - uint32_t *caps, int num_caps)
> -{
> - CursorChannel *channel = worker->cursor_channel;
> - CursorChannelClient *ccc;
> -
> - spice_return_if_fail(channel != NULL);
> -
> - spice_info("add cursor channel client");
> - ccc = cursor_channel_client_new(channel, client, stream,
> - migrate,
> - common_caps, num_common_caps,
> - caps, num_caps);
> - spice_return_if_fail(ccc != NULL);
> -
> - RedChannelClient *rcc = RED_CHANNEL_CLIENT(ccc);
> - red_channel_client_ack_zero_messages_window(rcc);
> - red_channel_client_push_set_ack(rcc);
> -
> - cursor_channel_init(channel, ccc);
> -}
> -
> static void handle_dev_update_async(void *opaque, void *payload)
> {
> RedWorker *worker = opaque;
> @@ -1000,10 +976,10 @@ static void handle_dev_cursor_connect(void *opaque,
> void *payload)
> RedWorker *worker = opaque;
>
> spice_info("cursor connect");
> - cursor_connect(worker,
> - msg->client, msg->stream, msg->migration,
> - msg->common_caps, msg->num_common_caps,
> - msg->caps, msg->num_caps);
> + cursor_channel_connect(worker->cursor_channel,
> + msg->client, msg->stream, msg->migration,
> + msg->common_caps, msg->num_common_caps,
> + msg->caps, msg->num_caps);
> free(msg->caps);
> free(msg->common_caps);
> }
More information about the Spice-devel
mailing list