From 12b08f2c3e07cea617255bedfd97b2eedf0f180f Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 19 Jul 2010 14:10:16 +0200 Subject: codegen: Various cleanups Remove all uses of @end in the marshaller, instead just using the C struct array-at-end-of-struct. To make this work we also remove all use of @end for switches (making them C unions). We drop the zero member of the notify message so that we can avoid this use of @end for a primitive in the marshaller (plus its useless to send over the wire). We change the offsets and stuff in the migration messages to real pointers. --- client/tunnel_channel.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) (limited to 'client/tunnel_channel.cpp') diff --git a/client/tunnel_channel.cpp b/client/tunnel_channel.cpp index 7047d461..52587422 100644 --- a/client/tunnel_channel.cpp +++ b/client/tunnel_channel.cpp @@ -287,25 +287,20 @@ void TunnelChannel::send_service(TunnelService& service) } Message* service_msg = new Message(SPICE_MSGC_TUNNEL_SERVICE_ADD); - SpiceMsgcTunnelAddPrintService add; + SpiceMsgcTunnelAddGenericService add; SpiceMarshaller *name_out, *description_out; - add.base.id = service.id; - add.base.group = service.group; - add.base.type = service.type; - add.base.port = service.port; + add.id = service.id; + add.group = service.group; + add.type = service.type; + add.port = service.port; if (service.type == SPICE_TUNNEL_SERVICE_TYPE_IPP) { - add.ip.type = SPICE_TUNNEL_IP_TYPE_IPv4; + add.u.ip.type = SPICE_TUNNEL_IP_TYPE_IPv4; } - _marshallers->msgc_tunnel_service_add(service_msg->marshaller(), &add.base, + _marshallers->msgc_tunnel_service_add(service_msg->marshaller(), &add, &name_out, &description_out); - if (service.type == SPICE_TUNNEL_SERVICE_TYPE_IPP) { - spice_marshaller_add(service_msg->marshaller(), (uint8_t *)&(service.ip.s_addr), - sizeof(SpiceTunnelIPv4)); - } - spice_marshaller_add(name_out, (uint8_t *)service.name.c_str(), service.name.length() + 1); spice_marshaller_add(description_out, (uint8_t *)service.description.c_str(), service.description.length() + 1); -- cgit