summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathon Jongsma <jjongsma@redhat.com>2015-01-27 14:22:29 -0600
committerFabiano FidĂȘncio <fidencio@redhat.com>2015-02-23 23:00:45 +0100
commitb150570677c676181d5888eab219c796d1d3951c (patch)
treef9c16062f3baa38f3e484cf70ad6293ef3182b9b
parenta1315b170fcd756f4e419c885c915c348d312815 (diff)
downloadspice-b150570677c676181d5888eab219c796d1d3951c.tar.gz
spice-b150570677c676181d5888eab219c796d1d3951c.tar.xz
spice-b150570677c676181d5888eab219c796d1d3951c.zip
Move agent_file_xfer to RedsState struct
Removing more global variables
-rw-r--r--server/reds-private.h1
-rw-r--r--server/reds.c16
2 files changed, 9 insertions, 8 deletions
diff --git a/server/reds-private.h b/server/reds-private.h
index 32f3592d..de9f25a2 100644
--- a/server/reds-private.h
+++ b/server/reds-private.h
@@ -208,6 +208,7 @@ struct RedsState {
gboolean agent_mouse;
gboolean agent_copypaste;
+ gboolean agent_file_xfer;
};
#endif
diff --git a/server/reds.c b/server/reds.c
index 476c62d5..a2076c78 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -91,7 +91,6 @@ SpiceCoreInterface *core = NULL;
static pthread_mutex_t *lock_cs;
static long *lock_count;
-int agent_file_xfer = TRUE;
static bool exit_on_disconnect = FALSE;
RedsState *reds = NULL;
@@ -360,7 +359,7 @@ static void reds_reset_vdp(RedsState *reds)
}
/* Reset read filter to start with clean state when the agent reconnects */
agent_msg_filter_init(&state->read_filter, reds->agent_copypaste,
- agent_file_xfer, TRUE);
+ reds->agent_file_xfer, TRUE);
/* Throw away pending chunks from the current (if any) and future
* messages written by the client.
* TODO: client should clear its agent messages queue when the agent
@@ -474,7 +473,7 @@ void reds_client_disconnect(RedsState *reds, RedClient *client)
/* Reset write filter to start with clean state on client reconnect */
agent_msg_filter_init(&reds->agent_state.write_filter, reds->agent_copypaste,
- agent_file_xfer, TRUE);
+ reds->agent_file_xfer, TRUE);
/* Throw away pending chunks from the current (if any) and future
* messages read from the agent */
@@ -3187,9 +3186,9 @@ static void reds_init_vd_agent_resources(RedsState *reds)
ring_init(&state->read_bufs);
agent_msg_filter_init(&state->write_filter, reds->agent_copypaste,
- agent_file_xfer, TRUE);
+ reds->agent_file_xfer, TRUE);
agent_msg_filter_init(&state->read_filter, reds->agent_copypaste,
- agent_file_xfer, TRUE);
+ reds->agent_file_xfer, TRUE);
state->read_state = VDI_PORT_READ_STATE_READ_HEADER;
state->receive_pos = (uint8_t *)&state->vdi_chunk_header;
@@ -3319,6 +3318,7 @@ SPICE_GNUC_VISIBLE SpiceServer *spice_server_new(void)
reds->zlib_glz_state = SPICE_WAN_COMPRESSION_AUTO;
reds->agent_mouse = TRUE;
reds->agent_copypaste = TRUE;
+ reds->agent_file_xfer = TRUE;
return reds;
}
@@ -3698,9 +3698,9 @@ SPICE_GNUC_VISIBLE int spice_server_set_agent_copypaste(SpiceServer *s, int enab
SPICE_GNUC_VISIBLE int spice_server_set_agent_file_xfer(SpiceServer *s, int enable)
{
spice_assert(reds == s);
- agent_file_xfer = enable;
- reds->agent_state.write_filter.file_xfer_enabled = agent_file_xfer;
- reds->agent_state.read_filter.file_xfer_enabled = agent_file_xfer;
+ s->agent_file_xfer = enable;
+ reds->agent_state.write_filter.file_xfer_enabled = s->agent_file_xfer;
+ reds->agent_state.read_filter.file_xfer_enabled = s->agent_file_xfer;
return 0;
}