summaryrefslogtreecommitdiffstats
path: root/client/tunnel_channel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/tunnel_channel.cpp')
-rw-r--r--client/tunnel_channel.cpp19
1 files changed, 7 insertions, 12 deletions
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);