On Fri, 2016-05-13 at 10:16 +0100, Frediano Ziglio wrote: > The existence of this class can be hidden to user of CursorChannel class > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/cursor-channel.c | 15 +++++++++++---- > server/cursor-channel.h | 7 ++----- > server/red-worker.c | 4 ++-- > 3 files changed, 15 insertions(+), 11 deletions(-) > > diff --git a/server/cursor-channel.c b/server/cursor-channel.c > index 66f0181..688bab4 100644 > --- a/server/cursor-channel.c > +++ b/server/cursor-channel.c > @@ -31,6 +31,8 @@ > #define CURSOR_CACHE_HASH_MASK (CURSOR_CACHE_HASH_SIZE - 1) > #define CURSOR_CACHE_HASH_KEY(id) ((id) & CURSOR_CACHE_HASH_MASK) > > +typedef struct CursorChannelClient CursorChannelClient; > + > enum { > RED_PIPE_ITEM_TYPE_CURSOR = RED_PIPE_ITEM_TYPE_COMMON_LAST, > RED_PIPE_ITEM_TYPE_CURSOR_INIT, > @@ -439,9 +441,9 @@ CursorChannel* cursor_channel_new(RedWorker *worker) > return cursor_channel; > } > > -void cursor_channel_client_migrate(CursorChannelClient* client) > +void cursor_channel_client_migrate(RedChannelClient *rcc) > { > - RedChannelClient *rcc; > + CursorChannelClient* client = (CursorChannelClient*)rcc; > > spice_return_if_fail(client); > rcc = RED_CHANNEL_CLIENT(client); > @@ -548,7 +550,7 @@ void cursor_channel_reset(CursorChannel *cursor) > } > } > > -void cursor_channel_init(CursorChannel *cursor, CursorChannelClient *client) > +static void cursor_channel_init_client(CursorChannel *cursor, > CursorChannelClient *client) > { > spice_return_if_fail(cursor); > > @@ -565,6 +567,11 @@ void cursor_channel_init(CursorChannel *cursor, > CursorChannelClient *client) > red_channel_pipes_add_type(RED_CHANNEL(cursor), > RED_PIPE_ITEM_TYPE_CURSOR_INIT); > } > > +void cursor_channel_init(CursorChannel *cursor) > +{ > + cursor_channel_init_client(cursor, NULL); > +} > + > void cursor_channel_set_mouse_mode(CursorChannel *cursor, uint32_t mode) > { > spice_return_if_fail(cursor); > @@ -592,5 +599,5 @@ void cursor_channel_connect(CursorChannel *cursor, > RedClient *client, RedsStream > red_channel_client_ack_zero_messages_window(rcc); > red_channel_client_push_set_ack(rcc); > > - cursor_channel_init(cursor, ccc); > + cursor_channel_init_client(cursor, ccc); > } > diff --git a/server/cursor-channel.h b/server/cursor-channel.h > index 6bba822..6c89bc3 100644 > --- a/server/cursor-channel.h > +++ b/server/cursor-channel.h > @@ -24,14 +24,11 @@ > #include "red-parse-qxl.h" > > typedef struct CursorChannel CursorChannel; > -typedef struct CursorChannelClient CursorChannelClient; > - > -#define CURSOR_CHANNEL_CLIENT(Client) ((CursorChannelClient*)(Client)) > > CursorChannel* cursor_channel_new (RedWorker *worker); > void cursor_channel_disconnect (CursorChannel > *cursor_channel); > void cursor_channel_reset (CursorChannel *cursor); > -void cursor_channel_init (CursorChannel *cursor, > CursorChannelClient* client); > +void cursor_channel_init (CursorChannel *cursor); > 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, > @@ -40,6 +37,6 @@ void cursor_channel_connect > (CursorChannel *cursor, RedClien > uint32_t *common_caps, int > num_common_caps, > uint32_t *caps, int > num_caps); > > -void cursor_channel_client_migrate(CursorChannelClient* > client); > +void cursor_channel_client_migrate(RedChannelClient *client); Seems like this may be a potential future RedChannelClient vfunc? Not really relevant to this patch though. > > #endif /* CURSOR_CHANNEL_H_ */ > diff --git a/server/red-worker.c b/server/red-worker.c > index f6d626b..ce65444 100644 > --- a/server/red-worker.c > +++ b/server/red-worker.c > @@ -687,7 +687,7 @@ static void dev_create_primary_surface(RedWorker *worker, > uint32_t surface_id, > red_channel_push(&worker->display_channel->common.base); > } > > - cursor_channel_init(worker->cursor_channel, NULL); > + cursor_channel_init(worker->cursor_channel); > } > > static void handle_dev_create_primary_surface(void *opaque, void *payload) > @@ -1000,7 +1000,7 @@ static void handle_dev_cursor_migrate(void *opaque, void > *payload) > RedChannelClient *rcc = msg->rcc; > > spice_info("migrate cursor client"); > - cursor_channel_client_migrate(CURSOR_CHANNEL_CLIENT(rcc)); > + cursor_channel_client_migrate(rcc); > } > > static void handle_dev_set_compression(void *opaque, void *payload) Acked-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx> _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel