diff options
-rw-r--r-- | client/Makefile.am | 10 | ||||
-rw-r--r-- | client/display_channel.cpp | 3 | ||||
-rw-r--r-- | client/inputs_channel.cpp | 29 | ||||
-rw-r--r-- | client/inputs_channel.h | 4 | ||||
-rw-r--r-- | client/marshallers.h | 60 | ||||
-rw-r--r-- | client/record_channel.cpp | 7 | ||||
-rw-r--r-- | client/red_channel.cpp | 6 | ||||
-rw-r--r-- | client/red_channel.h | 3 | ||||
-rw-r--r-- | client/red_client.cpp | 8 | ||||
-rw-r--r-- | client/tunnel_channel.cpp | 33 | ||||
-rw-r--r-- | client/x11/Makefile.am | 2 |
11 files changed, 113 insertions, 52 deletions
diff --git a/client/Makefile.am b/client/Makefile.am index fb69ce64..5c0ec8d2 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -3,17 +3,13 @@ NULL = SUBDIRS = . $(red_target) DIST_SUBDIRS = x11 #windows -spice_built_sources = generated_demarshallers.cpp generated_marshallers.cpp generated_marshallers.h +spice_built_sources = generated_demarshallers.cpp generated_marshallers.cpp generated_demarshallers.cpp: $(top_srcdir)/spice.proto $(PYTHON) $(top_srcdir)/spice_codegen.py --generate-demarshallers --client --include common.h --include messages.h $(top_srcdir)/spice.proto generated_demarshallers.cpp -STRUCTS= generated_marshallers.cpp: $(top_srcdir)/spice.proto - $(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --include messages.h --client $(top_srcdir)/spice.proto generated_marshallers.cpp - -generated_marshallers.h: $(top_srcdir)/spice.proto - $(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers $(STRUCTS) --client -H $(top_srcdir)/spice.proto generated_marshallers.h + $(PYTHON) $(top_srcdir)/spice_codegen.py --generate-marshallers -P --include messages.h --include marshallers.h --client $(top_srcdir)/spice.proto generated_marshallers.cpp if SUPPORT_GL GL_SRCS = \ @@ -46,10 +42,10 @@ RED_COMMON_SRCS = \ cmd_line_parser.h \ common.h \ demarshallers.h \ + marshallers.h \ generated_demarshallers.cpp \ marshaller.cpp \ generated_marshallers.cpp \ - generated_marshallers.h \ cursor_channel.cpp \ cursor_channel.h \ cursor.cpp \ diff --git a/client/display_channel.cpp b/client/display_channel.cpp index 5286aed1..67c3083e 100644 --- a/client/display_channel.cpp +++ b/client/display_channel.cpp @@ -42,7 +42,6 @@ #include "inputs_channel.h" #include "cursor_channel.h" #include "mjpeg_decoder.h" -#include "generated_marshallers.h" class CreatePrimarySurfaceEvent: public SyncEvent { public: @@ -1029,7 +1028,7 @@ void DisplayChannel::on_connect() init.pixmap_cache_size = get_client().get_pixmap_cache_size(); init.glz_dictionary_id = 1; init.glz_dictionary_window_size = get_client().get_glz_window_size(); - spice_marshall_msgc_display_init(message->marshaller(), &init); + _marshallers->msgc_display_init(message->marshaller(), &init); post_message(message); AutoRef<AttachChannelsEvent> attach_channels(new AttachChannelsEvent(*this)); get_client().push_event(*attach_channels); diff --git a/client/inputs_channel.cpp b/client/inputs_channel.cpp index 6fd0b4fd..09fc9e17 100644 --- a/client/inputs_channel.cpp +++ b/client/inputs_channel.cpp @@ -22,7 +22,6 @@ #include "red_client.h" #include "application.h" #include "display_channel.h" -#include "generated_marshallers.h" #define SYNC_REMOTH_MODIFIRES @@ -127,10 +126,8 @@ void MotionMessage::release() RedPeer::OutMessage& MotionMessage::peer_message() { - SpiceMsgcMouseMotion motion; - _channel.set_motion_event(motion); - spice_marshall_msgc_inputs_mouse_motion(_marshaller, &motion); + _channel.marshall_motion_event(_marshaller); return *this; } @@ -159,9 +156,7 @@ void PositionMessage::release() RedPeer::OutMessage& PositionMessage::peer_message() { - SpiceMsgcMousePosition pos; - _channel.set_position_event(pos); - spice_marshall_msgc_inputs_mouse_position(_marshaller, &pos); + _channel.marshall_position_event(_marshaller); return *this; } @@ -260,18 +255,23 @@ void InputsChannel::handle_motion_ack(RedPeer::InMessage* message) } } -void InputsChannel::set_motion_event(SpiceMsgcMouseMotion& motion) +void InputsChannel::marshall_motion_event(SpiceMarshaller *marshaller) { + SpiceMsgcMouseMotion motion; + Lock lock(_motion_lock); motion.buttons_state = _mouse_buttons_state; motion.dx = _mouse_dx; motion.dy = _mouse_dy; _mouse_dx = _mouse_dy = 0; _active_motion = false; + + _marshallers->msgc_inputs_mouse_motion(marshaller, &motion); } -void InputsChannel::set_position_event(SpiceMsgcMousePosition& position) +void InputsChannel::marshall_position_event(SpiceMarshaller *marshaller) { + SpiceMsgcMousePosition position; Lock lock(_motion_lock); position.buttons_state = _mouse_buttons_state; position.x = _mouse_x; @@ -280,6 +280,7 @@ void InputsChannel::set_position_event(SpiceMsgcMousePosition& position) _mouse_x = _mouse_y = ~0; _display_id = -1; _active_motion = false; + _marshallers->msgc_inputs_mouse_position(marshaller, &position); } void InputsChannel::on_mouse_motion(int dx, int dy, int buttons_state) @@ -322,7 +323,7 @@ void InputsChannel::on_mouse_down(int button, int buttons_state) SpiceMsgcMousePress event; event.button = button; event.buttons_state = buttons_state; - spice_marshall_msgc_inputs_mouse_press(message->marshaller(), &event); + _marshallers->msgc_inputs_mouse_press(message->marshaller(), &event); post_message(message); } @@ -335,7 +336,7 @@ void InputsChannel::on_mouse_up(int button, int buttons_state) SpiceMsgcMouseRelease event; event.button = button; event.buttons_state = buttons_state; - spice_marshall_msgc_inputs_mouse_release(message->marshaller(), &event); + _marshallers->msgc_inputs_mouse_release(message->marshaller(), &event); post_message(message); } @@ -362,7 +363,7 @@ void InputsChannel::on_key_down(RedKey key) Message* message = new Message(SPICE_MSGC_INPUTS_KEY_DOWN); SpiceMsgcKeyDown event; event.code = scan_code; - spice_marshall_msgc_inputs_key_down(message->marshaller(), &event); + _marshallers->msgc_inputs_key_down(message->marshaller(), &event); post_message(message); } @@ -378,7 +379,7 @@ void InputsChannel::on_key_up(RedKey key) Message* message = new Message(SPICE_MSGC_INPUTS_KEY_UP); SpiceMsgcKeyUp event; event.code = scan_code; - spice_marshall_msgc_inputs_key_up(message->marshaller(), &event); + _marshallers->msgc_inputs_key_up(message->marshaller(), &event); post_message(message); } @@ -407,7 +408,7 @@ void InputsChannel::on_focus_in() Message* message = new Message(SPICE_MSGC_INPUTS_KEY_MODIFIERS); SpiceMsgcKeyModifiers modifiers; modifiers.modifiers = Platform::get_keyboard_lock_modifiers(); - spice_marshall_msgc_inputs_key_modifiers(message->marshaller(), &modifiers); + _marshallers->msgc_inputs_key_modifiers(message->marshaller(), &modifiers); post_message(message); #else set_local_modifiers(); diff --git a/client/inputs_channel.h b/client/inputs_channel.h index 59a79236..9a0e8ff3 100644 --- a/client/inputs_channel.h +++ b/client/inputs_channel.h @@ -45,8 +45,8 @@ protected: virtual void on_migrate(); private: - void set_motion_event(SpiceMsgcMouseMotion& motion_event); - void set_position_event(SpiceMsgcMousePosition& position_event); + void marshall_motion_event(SpiceMarshaller *marshaller); + void marshall_position_event(SpiceMarshaller *marshaller); void set_local_modifiers(); void handle_init(RedPeer::InMessage* message); diff --git a/client/marshallers.h b/client/marshallers.h new file mode 100644 index 00000000..7806f295 --- /dev/null +++ b/client/marshallers.h @@ -0,0 +1,60 @@ +/* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */ +/* + Copyright (C) 2010 Red Hat, Inc. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef _H_MARSHALLERS +#define _H_MARSHALLERS + +#include <spice/protocol.h> +#include <marshaller.h> +#include <messages.h> + +typedef struct { + void (*SpiceMsgEmpty)(SpiceMarshaller *m, SpiceMsgEmpty *msg); + void (*SpiceMsgData)(SpiceMarshaller *m, SpiceMsgData *msg); + void (*msgc_ack_sync)(SpiceMarshaller *m, SpiceMsgcAckSync *msg); + void (*msgc_pong)(SpiceMarshaller *m, SpiceMsgPing *msg); + void (*msgc_disconnecting)(SpiceMarshaller *m, SpiceMsgDisconnect *msg); + void (*msgc_main_client_info)(SpiceMarshaller *m, SpiceMsgcClientInfo *msg); + void (*msgc_main_mouse_mode_request)(SpiceMarshaller *m, SpiceMsgcMainMouseModeRequest *msg); + void (*msgc_main_agent_start)(SpiceMarshaller *m, SpiceMsgcMainAgentStart *msg); + void (*msgc_main_agent_token)(SpiceMarshaller *m, SpiceMsgcMainAgentTokens *msg); + void (*msgc_display_init)(SpiceMarshaller *m, SpiceMsgcDisplayInit *msg); + void (*msgc_inputs_key_down)(SpiceMarshaller *m, SpiceMsgcKeyDown *msg); + void (*msgc_inputs_key_up)(SpiceMarshaller *m, SpiceMsgcKeyUp *msg); + void (*msgc_inputs_key_modifiers)(SpiceMarshaller *m, SpiceMsgcKeyModifiers *msg); + void (*msgc_inputs_mouse_motion)(SpiceMarshaller *m, SpiceMsgcMouseMotion *msg); + void (*msgc_inputs_mouse_position)(SpiceMarshaller *m, SpiceMsgcMousePosition *msg); + void (*msgc_inputs_mouse_press)(SpiceMarshaller *m, SpiceMsgcMousePress *msg); + void (*msgc_inputs_mouse_release)(SpiceMarshaller *m, SpiceMsgcMouseRelease *msg); + void (*msgc_record_data)(SpiceMarshaller *m, SpiceMsgcRecordPacket *msg); + void (*msgc_record_mode)(SpiceMarshaller *m, SpiceMsgcRecordMode *msg); + void (*msgc_record_start_mark)(SpiceMarshaller *m, SpiceMsgcRecordStartMark *msg); + void (*msgc_tunnel_service_add)(SpiceMarshaller *m, SpiceMsgcTunnelAddGenericService *msg, SpiceMarshaller **name_out, SpiceMarshaller **description_out); + void (*msgc_tunnel_service_remove)(SpiceMarshaller *m, SpiceMsgcTunnelRemoveService *msg); + void (*msgc_tunnel_socket_open_ack)(SpiceMarshaller *m, SpiceMsgcTunnelSocketOpenAck *msg); + void (*msgc_tunnel_socket_open_nack)(SpiceMarshaller *m, SpiceMsgcTunnelSocketOpenNack *msg); + void (*msgc_tunnel_socket_fin)(SpiceMarshaller *m, SpiceMsgcTunnelSocketFin *msg); + void (*msgc_tunnel_socket_closed)(SpiceMarshaller *m, SpiceMsgcTunnelSocketClosed *msg); + void (*msgc_tunnel_socket_closed_ack)(SpiceMarshaller *m, SpiceMsgcTunnelSocketClosedAck *msg); + void (*msgc_tunnel_socket_data)(SpiceMarshaller *m, SpiceMsgcTunnelSocketData *msg); + void (*msgc_tunnel_socket_token)(SpiceMarshaller *m, SpiceMsgcTunnelSocketTokens *msg); +} SpiceMessageMarshallers; + +SpiceMessageMarshallers *spice_message_marshallers_get(void); + +#endif diff --git a/client/record_channel.cpp b/client/record_channel.cpp index 155e8d98..084866cc 100644 --- a/client/record_channel.cpp +++ b/client/record_channel.cpp @@ -19,7 +19,6 @@ #include "red_client.h" #include "audio_channels.h" #include "audio_devices.h" -#include "generated_marshallers.h" #define NUM_SAMPLES_MESSAGES 4 @@ -122,7 +121,7 @@ void RecordChannel::on_connect() mode.mode = _mode = test_capability(SPICE_RECORD_CAP_CELT_0_5_1) ? RecordChannel::data_mode : SPICE_AUDIO_DATA_MODE_RAW; - spice_marshall_msgc_record_mode(message->marshaller(), &mode); + _marshallers->msgc_record_mode(message->marshaller(), &mode); post_message(message); } @@ -131,7 +130,7 @@ void RecordChannel::send_start_mark() Message* message = new Message(SPICE_MSGC_RECORD_START_MARK); SpiceMsgcRecordStartMark start_mark; start_mark.time = get_mm_time(); - spice_marshall_msgc_record_start_mark(message->marshaller(), &start_mark); + _marshallers->msgc_record_start_mark(message->marshaller(), &start_mark); post_message(message); } @@ -260,7 +259,7 @@ void RecordChannel::push_frame(uint8_t *frame) peer_message.reset(SPICE_MSGC_RECORD_DATA); SpiceMsgcRecordPacket packet; packet.time = get_mm_time(); - spice_marshall_msgc_record_data(peer_message.marshaller(), &packet); + _marshallers->msgc_record_data(peer_message.marshaller(), &packet); spice_marshaller_add(peer_message.marshaller(), frame, n); post_message(message); } diff --git a/client/red_channel.cpp b/client/red_channel.cpp index 7065b0a6..a65917a7 100644 --- a/client/red_channel.cpp +++ b/client/red_channel.cpp @@ -21,7 +21,6 @@ #include "application.h" #include "debug.h" #include "utils.h" -#include "generated_marshallers.h" #include "openssl/rsa.h" #include "openssl/evp.h" @@ -258,6 +257,7 @@ RedChannel::RedChannel(RedClient& client, uint8_t type, uint8_t id, { _loop.add_trigger(_send_trigger); _loop.add_trigger(_abort_trigger); + _marshallers = spice_message_marshallers_get(); } RedChannel::~RedChannel() @@ -646,7 +646,7 @@ void RedChannel::handle_set_ack(RedPeer::InMessage* message) Message *response = new Message(SPICE_MSGC_ACK_SYNC); SpiceMsgcAckSync sync; sync.generation = ack->generation; - spice_marshall_msgc_ack_sync(response->marshaller(), &sync); + _marshallers->msgc_ack_sync(response->marshaller(), &sync); post_message(response); } @@ -654,7 +654,7 @@ void RedChannel::handle_ping(RedPeer::InMessage* message) { SpiceMsgPing *ping = (SpiceMsgPing *)message->data(); Message *pong = new Message(SPICE_MSGC_PONG); - spice_marshall_msgc_pong(pong->marshaller(), ping); + _marshallers->msgc_pong(pong->marshaller(), ping); post_message(pong); } diff --git a/client/red_channel.h b/client/red_channel.h index c2528abe..d973a455 100644 --- a/client/red_channel.h +++ b/client/red_channel.h @@ -25,6 +25,7 @@ #include "platform.h" #include "process_loop.h" #include "demarshallers.h" +#include "marshallers.h" enum { PASSIVE_STATE, @@ -144,6 +145,8 @@ protected: void handle_disconnect(RedPeer::InMessage* message); void handle_notify(RedPeer::InMessage* message); + SpiceMessageMarshallers *_marshallers; + private: void set_state(int state); void run(); diff --git a/client/red_client.cpp b/client/red_client.cpp index c079f3d4..f5b52d64 100644 --- a/client/red_client.cpp +++ b/client/red_client.cpp @@ -22,7 +22,7 @@ #include "process_loop.h" #include "utils.h" #include "debug.h" -#include "generated_marshallers.h" +#include "marshallers.h" #ifdef __GNUC__ typedef struct __attribute__ ((__packed__)) OldRedMigrationBegin { @@ -701,7 +701,7 @@ void RedClient::set_mouse_mode(uint32_t supported_modes, uint32_t current_mode) Message* message = new Message(SPICE_MSGC_MAIN_MOUSE_MODE_REQUEST); SpiceMsgcMainMouseModeRequest mouse_mode_request; mouse_mode_request.mode = SPICE_MOUSE_MODE_CLIENT; - spice_marshall_msgc_main_mouse_mode_request(message->marshaller(), + _marshallers->msgc_main_mouse_mode_request(message->marshaller(), &mouse_mode_request); post_message(message); @@ -722,7 +722,7 @@ void RedClient::handle_init(RedPeer::InMessage* message) Message* msg = new Message(SPICE_MSGC_MAIN_AGENT_START); SpiceMsgcMainAgentStart agent_start; agent_start.num_tokens = ~0; - spice_marshall_msgc_main_agent_start(msg->marshaller(), &agent_start); + _marshallers->msgc_main_agent_start(msg->marshaller(), &agent_start); post_message(msg); } if (_auto_display_res) { @@ -763,7 +763,7 @@ void RedClient::handle_agent_connected(RedPeer::InMessage* message) Message* msg = new Message(SPICE_MSGC_MAIN_AGENT_START); SpiceMsgcMainAgentStart agent_start; agent_start.num_tokens = ~0; - spice_marshall_msgc_main_agent_start(msg->marshaller(), &agent_start); + _marshallers->msgc_main_agent_start(msg->marshaller(), &agent_start); post_message(msg); if (_auto_display_res && !_agent_mon_config_sent) { send_agent_monitors_config(); diff --git a/client/tunnel_channel.cpp b/client/tunnel_channel.cpp index 1464b1da..0b55afff 100644 --- a/client/tunnel_channel.cpp +++ b/client/tunnel_channel.cpp @@ -21,7 +21,6 @@ #include "common.h" #include "tunnel_channel.h" -#include "generated_marshallers.h" #include <spice/protocol.h> #define SOCKET_WINDOW_SIZE 60 @@ -100,7 +99,8 @@ public: virtual void release_buf(); static void init(uint32_t max_data_size); - static OutSocketMessage& alloc_message(uint16_t id); + static OutSocketMessage& alloc_message(uint16_t id, SpiceMessageMarshallers *marshallers); + static void clear_free_messages(); protected: @@ -143,7 +143,7 @@ void OutSocketMessage::init(uint32_t max_data_size) _max_data_size = max_data_size; } -OutSocketMessage& OutSocketMessage::alloc_message(uint16_t id) +OutSocketMessage& OutSocketMessage::alloc_message(uint16_t id, SpiceMessageMarshallers *marshallers) { OutSocketMessage* ret; if (!_free_messages.empty()) { @@ -156,7 +156,7 @@ OutSocketMessage& OutSocketMessage::alloc_message(uint16_t id) SpiceMsgcTunnelSocketData data; data.connection_id = id; - spice_marshall_msgc_tunnel_socket_data(ret->marshaller(), &data); + marshallers->msgc_tunnel_socket_data(ret->marshaller(), &data); ret->_the_buf = spice_marshaller_reserve_space(ret->marshaller(), _max_data_size); return *ret; @@ -189,7 +189,7 @@ struct TunnelService { class TunnelChannel::TunnelSocket: public ClientNetSocket { public: TunnelSocket(uint16_t id, TunnelService& dst_service, ProcessLoop& process_loop, - EventHandler & event_handler); + EventHandler & event_handler, SpiceMessageMarshallers *marshallers); virtual ~TunnelSocket() {} void set_num_tokens(uint32_t tokens) {_num_tokens = tokens;} @@ -201,24 +201,27 @@ public: bool get_guest_closed() {return _guest_closed;} protected: - virtual ReceiveBuffer& alloc_receive_buffer() {return OutSocketMessage::alloc_message(id());} + virtual ReceiveBuffer& alloc_receive_buffer() {return OutSocketMessage::alloc_message(id(), _marshallers);} private: uint32_t _num_tokens; uint32_t _server_num_tokens; uint32_t _service_id; bool _guest_closed; + SpiceMessageMarshallers *_marshallers; }; TunnelChannel::TunnelSocket::TunnelSocket(uint16_t id, TunnelService& dst_service, ProcessLoop& process_loop, - ClientNetSocket::EventHandler& event_handler) + ClientNetSocket::EventHandler& event_handler, + SpiceMessageMarshallers *marshallers) : ClientNetSocket(id, dst_service.ip, htons((uint16_t)dst_service.port), process_loop, event_handler) , _num_tokens (0) , _server_num_tokens (0) , _service_id (dst_service.id) , _guest_closed (false) + , _marshallers(marshallers) { } @@ -295,7 +298,7 @@ void TunnelChannel::send_service(TunnelService& service) add.ip.type = SPICE_TUNNEL_IP_TYPE_IPv4; } - spice_marshall_msgc_tunnel_service_add(service_msg->marshaller(), &add.base, + _marshallers->msgc_tunnel_service_add(service_msg->marshaller(), &add.base, &name_out, &description_out); if (service.type == SPICE_TUNNEL_SERVICE_TYPE_IPP) { @@ -348,7 +351,7 @@ void TunnelChannel::handle_socket_open(RedPeer::InMessage* message) open_msg->service_id); } - sckt = new TunnelSocket(open_msg->connection_id, *service, get_process_loop(), *this); + sckt = new TunnelSocket(open_msg->connection_id, *service, get_process_loop(), *this, _marshallers); if (sckt->connect(open_msg->tokens)) { _sockets[open_msg->connection_id] = sckt; @@ -358,12 +361,12 @@ void TunnelChannel::handle_socket_open(RedPeer::InMessage* message) SpiceMsgcTunnelSocketOpenAck ack; ack.connection_id = open_msg->connection_id; ack.tokens = SOCKET_WINDOW_SIZE; - spice_marshall_msgc_tunnel_socket_open_ack(out_msg->marshaller(), &ack); + _marshallers->msgc_tunnel_socket_open_ack(out_msg->marshaller(), &ack); } else { out_msg = new Message(SPICE_MSGC_TUNNEL_SOCKET_OPEN_NACK); SpiceMsgcTunnelSocketOpenNack nack; nack.connection_id = open_msg->connection_id; - spice_marshall_msgc_tunnel_socket_open_nack(out_msg->marshaller(), &nack); + _marshallers->msgc_tunnel_socket_open_nack(out_msg->marshaller(), &nack); delete sckt; } @@ -486,7 +489,7 @@ void TunnelChannel::on_socket_fin_recv(ClientNetSocket& sckt) DBG(0, "FIN from client coonection id=%d", tunnel_sckt->id()); SpiceMsgcTunnelSocketFin fin; fin.connection_id = tunnel_sckt->id(); - spice_marshall_msgc_tunnel_socket_fin(out_msg->marshaller(), &fin); + _marshallers->msgc_tunnel_socket_fin(out_msg->marshaller(), &fin); post_message(out_msg); } @@ -500,7 +503,7 @@ void TunnelChannel::on_socket_disconnect(ClientNetSocket& sckt) out_msg = new Message(SPICE_MSGC_TUNNEL_SOCKET_CLOSED_ACK); SpiceMsgcTunnelSocketClosedAck ack; ack.connection_id = tunnel_sckt->id(); - spice_marshall_msgc_tunnel_socket_closed_ack(out_msg->marshaller(), &ack); + _marshallers->msgc_tunnel_socket_closed_ack(out_msg->marshaller(), &ack); _sockets[tunnel_sckt->id()] = NULL; delete &sckt; } else { // close initiated by client @@ -508,7 +511,7 @@ void TunnelChannel::on_socket_disconnect(ClientNetSocket& sckt) out_msg = new Message(SPICE_MSGC_TUNNEL_SOCKET_CLOSED); SpiceMsgcTunnelSocketClosed closed; closed.connection_id = tunnel_sckt->id(); - spice_marshall_msgc_tunnel_socket_closed(out_msg->marshaller(), &closed); + _marshallers->msgc_tunnel_socket_closed(out_msg->marshaller(), &closed); } post_message(out_msg); @@ -525,7 +528,7 @@ void TunnelChannel::on_socket_message_send_done(ClientNetSocket& sckt) SpiceMsgcTunnelSocketTokens tokens_msg; tokens_msg.connection_id = tunnel_sckt->id(); tokens_msg.num_tokens = num_tokens; - spice_marshall_msgc_tunnel_socket_token(out_msg->marshaller(), &tokens_msg); + _marshallers->msgc_tunnel_socket_token(out_msg->marshaller(), &tokens_msg); post_message(out_msg); tunnel_sckt->set_num_tokens(0); diff --git a/client/x11/Makefile.am b/client/x11/Makefile.am index 81036fb3..394eed07 100644 --- a/client/x11/Makefile.am +++ b/client/x11/Makefile.am @@ -39,7 +39,7 @@ RED_COMMON_SRCS = \ $(CLIENT_DIR)/demarshallers.h \ $(CLIENT_DIR)/generated_demarshallers.cpp \ $(CLIENT_DIR)/marshaller.cpp \ - $(CLIENT_DIR)/generated_marshallers.h \ + $(CLIENT_DIR)/marshallers.h \ $(CLIENT_DIR)/generated_marshallers.cpp \ $(CLIENT_DIR)/sw_canvas.cpp \ $(CLIENT_DIR)/canvas.cpp \ |