diff options
author | Frediano Ziglio <fziglio@redhat.com> | 2016-05-06 10:34:52 +0100 |
---|---|---|
committer | Jonathon Jongsma <jjongsma@redhat.com> | 2016-05-24 13:41:08 -0500 |
commit | e4a6a1477e23c213ed6bb9fab34e9d78710775bc (patch) | |
tree | 0e5a9ab3cf8e2745ad1eee85b31d0ab93bb01fb3 /server/main-channel-client.c | |
parent | 02adcf354eeec6a6a0400443d6d79d8f61ff0b8e (diff) |
move all item creation in main-channel-client.c
Move all core to create and destroy MainChannel pipe items in a single
place.
Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Diffstat (limited to 'server/main-channel-client.c')
-rw-r--r-- | server/main-channel-client.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/server/main-channel-client.c b/server/main-channel-client.c index 1e3c443f..4407e8b6 100644 --- a/server/main-channel-client.c +++ b/server/main-channel-client.c @@ -103,6 +103,17 @@ typedef struct RedNotifyPipeItem { char *msg; } RedNotifyPipeItem; +typedef struct RedMouseModePipeItem { + RedPipeItem base; + int current_mode; + int is_client_mouse_allowed; +} RedMouseModePipeItem; + +typedef struct RedMultiMediaTimePipeItem { + RedPipeItem base; + int time; +} RedMultiMediaTimePipeItem; + #define ZERO_BUF_SIZE 4096 static const uint8_t zero_page[ZERO_BUF_SIZE] = {0}; @@ -297,6 +308,29 @@ void main_channel_client_push_notify(MainChannelClient *mcc, const char *msg) red_channel_client_pipe_add_push(&mcc->base, item); } +RedPipeItem *main_mouse_mode_item_new(RedChannelClient *rcc, void *data, int num) +{ + RedMouseModePipeItem *item = spice_malloc(sizeof(RedMouseModePipeItem)); + MainMouseModeItemInfo *info = data; + + red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_MOUSE_MODE); + item->current_mode = info->current_mode; + item->is_client_mouse_allowed = info->is_client_mouse_allowed; + return &item->base; +} + +RedPipeItem *main_multi_media_time_item_new(RedChannelClient *rcc, + void *data, int num) +{ + MainMultiMediaTimeItemInfo *info = data; + RedMultiMediaTimePipeItem *item; + + item = spice_malloc(sizeof(RedMultiMediaTimePipeItem)); + red_pipe_item_init(&item->base, RED_PIPE_ITEM_TYPE_MAIN_MULTI_MEDIA_TIME); + item->time = info->time; + return &item->base; +} + void main_channel_client_handle_migrate_connected(MainChannelClient *mcc, int success, int seamless) |