diff options
author | Yonit Halperin <yhalperi@redhat.com> | 2011-08-03 15:43:02 +0300 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2011-08-23 18:23:46 +0300 |
commit | 812d01c06090f14ccb65e9a3b81df311c51e4b26 (patch) | |
tree | 673f86f7619dca9f611ac038e45e488ba7f97ee8 /server/main_channel.c | |
parent | 67671b26097a0d629a42356b22690c8b34db51a5 (diff) | |
download | spice-812d01c06090f14ccb65e9a3b81df311c51e4b26.tar.gz spice-812d01c06090f14ccb65e9a3b81df311c51e4b26.tar.xz spice-812d01c06090f14ccb65e9a3b81df311c51e4b26.zip |
server/red_channel.c: pack all channel callbacks to ChannelCbs
Diffstat (limited to 'server/main_channel.c')
-rw-r--r-- | server/main_channel.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/server/main_channel.c b/server/main_channel.c index 3337c469..54b3dff4 100644 --- a/server/main_channel.c +++ b/server/main_channel.c @@ -937,23 +937,27 @@ MainChannelClient *main_channel_link(Channel *channel, RedClient *client, MainChannelClient *mcc; if (channel->data == NULL) { + ChannelCbs channel_cbs; + + channel_cbs.config_socket = main_channel_config_socket; + channel_cbs.disconnect = main_channel_client_disconnect; + channel_cbs.send_item = main_channel_send_item; + channel_cbs.hold_item = main_channel_hold_pipe_item; + channel_cbs.release_item = main_channel_release_pipe_item; + channel_cbs.alloc_recv_buf = main_channel_alloc_msg_rcv_buf; + channel_cbs.release_recv_buf = main_channel_release_msg_rcv_buf; + channel_cbs.handle_migrate_flush_mark = main_channel_handle_migrate_flush_mark; + channel_cbs.handle_migrate_data = main_channel_handle_migrate_data; + channel_cbs.handle_migrate_data_get_serial = main_channel_handle_migrate_data_get_serial; + red_printf("create main channel"); channel->data = red_channel_create_parser( sizeof(MainChannel), core, migration, FALSE /* handle_acks */ - ,main_channel_config_socket - ,main_channel_client_disconnect ,spice_get_client_channel_parser(SPICE_CHANNEL_MAIN, NULL) ,main_channel_handle_parsed - ,main_channel_alloc_msg_rcv_buf - ,main_channel_release_msg_rcv_buf - ,main_channel_hold_pipe_item - ,main_channel_send_item - ,main_channel_release_pipe_item ,main_channel_on_error ,main_channel_on_error - ,main_channel_handle_migrate_flush_mark - ,main_channel_handle_migrate_data - ,main_channel_handle_migrate_data_get_serial); + ,&channel_cbs); ASSERT(channel->data); } // TODO - migration - I removed it from channel creation, now put it |