[Spice-devel] [PATCH 11/26] server/red_channel (all): pass header in channel_send_pipe_item_proc

Alon Levy alevy at redhat.com
Fri Feb 11 09:48:56 PST 2011


---
 server/inputs_channel.c    |    3 ++-
 server/main_channel.c      |    3 ++-
 server/red_channel.c       |    2 +-
 server/red_channel.h       |    3 ++-
 server/red_tunnel_worker.c |    3 ++-
 server/red_worker.c        |    6 ++++--
 server/smartcard.c         |    3 ++-
 7 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/server/inputs_channel.c b/server/inputs_channel.c
index 459f8f6..772b9d7 100644
--- a/server/inputs_channel.c
+++ b/server/inputs_channel.c
@@ -252,7 +252,8 @@ static void inputs_channel_release_pipe_item(RedChannel *channel,
     free(base);
 }
 
-static void inputs_channel_send_item(RedChannel *channel, SpiceMarshaller *m, PipeItem *base)
+static void inputs_channel_send_item(RedChannel *channel, SpiceDataHeader *header,
+                                     SpiceMarshaller *m, PipeItem *base)
 {
     red_channel_init_send_data(channel, base->type, base);
     switch (base->type) {
diff --git a/server/main_channel.c b/server/main_channel.c
index 9809fc8..ecb3b4a 100644
--- a/server/main_channel.c
+++ b/server/main_channel.c
@@ -597,7 +597,8 @@ static void main_channel_marshall_multi_media_time(SpiceMarshaller *m,
     spice_marshall_msg_main_multi_media_time(m, &time_mes);
 }
 
-static void main_channel_send_item(RedChannel *channel, SpiceMarshaller *m, PipeItem *base)
+static void main_channel_send_item(RedChannel *channel, SpiceDataHeader *header,
+                                   SpiceMarshaller *m, PipeItem *base)
 {
     MainChannel *main_chan = SPICE_CONTAINEROF(channel, MainChannel, base);
 
diff --git a/server/red_channel.c b/server/red_channel.c
index 44dd99e..fc25ebe 100644
--- a/server/red_channel.c
+++ b/server/red_channel.c
@@ -280,7 +280,7 @@ static void red_channel_send_item(RedChannel *channel, PipeItem *item)
             return;
     }
     /* only reached if not handled here */
-    channel->send_item(channel, channel->send_data.marshaller, item);
+    channel->send_item(channel, channel->send_data.header, channel->send_data.marshaller, item);
 }
 
 static void red_channel_release_item(RedChannel *channel, PipeItem *item, int item_pushed)
diff --git a/server/red_channel.h b/server/red_channel.h
index e3f4f8e..2c2c231 100644
--- a/server/red_channel.h
+++ b/server/red_channel.h
@@ -116,7 +116,8 @@ typedef void (*channel_release_msg_recv_buf_proc)(RedChannel *channel,
                                                   SpiceDataHeader *msg_header, uint8_t *msg);
 typedef void (*channel_disconnect_proc)(RedChannel *channel);
 typedef int (*channel_configure_socket_proc)(RedChannel *channel, RedsStreamContext *peer);
-typedef void (*channel_send_pipe_item_proc)(RedChannel *channel, SpiceMarshaller *m, PipeItem *item);
+typedef void (*channel_send_pipe_item_proc)(RedChannel *channel, SpiceDataHeader *header,
+                                            SpiceMarshaller *m, PipeItem *item);
 typedef void (*channel_hold_pipe_item_proc)(RedChannel *channel, PipeItem *item);
 typedef void (*channel_release_pipe_item_proc)(RedChannel *channel,
                                                PipeItem *item, int item_pushed);
diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c
index 7018849..1e66358 100644
--- a/server/red_tunnel_worker.c
+++ b/server/red_tunnel_worker.c
@@ -2787,7 +2787,8 @@ static void tunnel_worker_release_socket_out_data(TunnelWorker *worker, PipeItem
     }
 }
 
-static void tunnel_channel_send_item(RedChannel *channel, SpiceMarshaller *m, PipeItem *item)
+static void tunnel_channel_send_item(RedChannel *channel, SpiceDataHeader *header,
+                                     SpiceMarshaller *m, PipeItem *item)
 {
     TunnelChannel *tunnel_channel = (TunnelChannel *)channel;
 
diff --git a/server/red_worker.c b/server/red_worker.c
index d7fab60..cac3e12 100644
--- a/server/red_worker.c
+++ b/server/red_worker.c
@@ -8094,7 +8094,8 @@ static void red_send_surface_destroy(DisplayChannel *display,
     red_channel_begin_send_message(channel);
 }
 
-static void display_channel_send_item(RedChannel *base, SpiceMarshaller *m, PipeItem *pipe_item)
+static void display_channel_send_item(RedChannel *base, SpiceDataHeader *header,
+                                      SpiceMarshaller *m, PipeItem *pipe_item)
 {
     DisplayChannel *display_channel = (DisplayChannel *)red_ref_channel(base);
     RedWorker *worker = display_channel->common.worker;
@@ -8183,7 +8184,8 @@ static void display_channel_send_item(RedChannel *base, SpiceMarshaller *m, Pipe
     red_unref_channel(&display_channel->common.base);
 }
 
-static void cursor_channel_send_item(RedChannel *channel, SpiceMarshaller *m, PipeItem *pipe_item)
+static void cursor_channel_send_item(RedChannel *channel, SpiceDataHeader *header,
+                                     SpiceMarshaller *m, PipeItem *pipe_item)
 {
     CursorChannel *cursor_channel = SPICE_CONTAINEROF(channel, CursorChannel, common.base);
 
diff --git a/server/smartcard.c b/server/smartcard.c
index 4fafc8b..5eb4abd 100644
--- a/server/smartcard.c
+++ b/server/smartcard.c
@@ -306,7 +306,8 @@ static void smartcard_channel_send_msg(
     smartcard_channel_send_data(&smartcard_channel->base, m, item, msg_item->vheader);
 }
 
-static void smartcard_channel_send_item(RedChannel *channel, SpiceMarshaller *m, PipeItem *item)
+static void smartcard_channel_send_item(RedChannel *channel, SpiceDataHeader *header,
+                                        SpiceMarshaller *m, PipeItem *item)
 {
     SmartCardChannel *smartcard_channel = (SmartCardChannel *)channel;
 
-- 
1.7.4



More information about the Spice-devel mailing list