summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathon Jongsma <jjongsma@redhat.com>2015-01-30 16:32:02 -0600
committerFabiano FidĂȘncio <fidencio@redhat.com>2015-02-23 23:00:46 +0100
commit277de49ac8be832627421ef7d4d01c93ae29895c (patch)
tree2a0c68518848e3bca611672a65dfb5e7d67664ad
parent71cdbbf231b250ee9e46928845fdcf54ea297187 (diff)
downloadspice-277de49ac8be832627421ef7d4d01c93ae29895c.tar.gz
spice-277de49ac8be832627421ef7d4d01c93ae29895c.tar.xz
spice-277de49ac8be832627421ef7d4d01c93ae29895c.zip
Add RedsState arg to spicevmc_device_connect|disconnect()
-rw-r--r--server/char-device.h6
-rw-r--r--server/reds.c8
-rw-r--r--server/spicevmc.c5
3 files changed, 11 insertions, 8 deletions
diff --git a/server/char-device.h b/server/char-device.h
index 349dc808..a2e7402f 100644
--- a/server/char-device.h
+++ b/server/char-device.h
@@ -195,8 +195,10 @@ void spice_char_device_write_buffer_release(SpiceCharDeviceState *dev,
/* api for specific char devices */
-SpiceCharDeviceState *spicevmc_device_connect(SpiceCharDeviceInstance *sin,
+SpiceCharDeviceState *spicevmc_device_connect(RedsState *reds,
+ SpiceCharDeviceInstance *sin,
uint8_t channel_type);
-void spicevmc_device_disconnect(SpiceCharDeviceInstance *char_device);
+void spicevmc_device_disconnect(RedsState *reds,
+ SpiceCharDeviceInstance *char_device);
#endif // __CHAR_DEVICE_H__
diff --git a/server/reds.c b/server/reds.c
index 16676cda..6241c174 100644
--- a/server/reds.c
+++ b/server/reds.c
@@ -2990,13 +2990,13 @@ static int spice_server_char_device_add_interface(SpiceServer *s,
}
#endif
else if (strcmp(char_device->subtype, SUBTYPE_USBREDIR) == 0) {
- dev_state = spicevmc_device_connect(char_device, SPICE_CHANNEL_USBREDIR);
+ dev_state = spicevmc_device_connect(s, char_device, SPICE_CHANNEL_USBREDIR);
}
else if (strcmp(char_device->subtype, SUBTYPE_PORT) == 0) {
if (strcmp(char_device->portname, "org.spice-space.webdav.0") == 0) {
- dev_state = spicevmc_device_connect(char_device, SPICE_CHANNEL_WEBDAV);
+ dev_state = spicevmc_device_connect(s, char_device, SPICE_CHANNEL_WEBDAV);
} else {
- dev_state = spicevmc_device_connect(char_device, SPICE_CHANNEL_PORT);
+ dev_state = spicevmc_device_connect(s, char_device, SPICE_CHANNEL_PORT);
}
}
@@ -3034,7 +3034,7 @@ static void spice_server_char_device_remove_interface(RedsState *reds, SpiceBase
#endif
else if (strcmp(char_device->subtype, SUBTYPE_USBREDIR) == 0 ||
strcmp(char_device->subtype, SUBTYPE_PORT) == 0) {
- spicevmc_device_disconnect(char_device);
+ spicevmc_device_disconnect(reds, char_device);
} else {
spice_warning("failed to remove char device %s", char_device->subtype);
}
diff --git a/server/spicevmc.c b/server/spicevmc.c
index c717cd9b..bc3d0321 100644
--- a/server/spicevmc.c
+++ b/server/spicevmc.c
@@ -499,7 +499,8 @@ static void spicevmc_connect(RedChannel *channel, RedClient *client,
}
}
-SpiceCharDeviceState *spicevmc_device_connect(SpiceCharDeviceInstance *sin,
+SpiceCharDeviceState *spicevmc_device_connect(RedsState *reds,
+ SpiceCharDeviceInstance *sin,
uint8_t channel_type)
{
static uint8_t id[256] = { 0, };
@@ -549,7 +550,7 @@ SpiceCharDeviceState *spicevmc_device_connect(SpiceCharDeviceInstance *sin,
}
/* Must be called from RedClient handling thread. */
-void spicevmc_device_disconnect(SpiceCharDeviceInstance *sin)
+void spicevmc_device_disconnect(RedsState *reds, SpiceCharDeviceInstance *sin)
{
SpiceVmcState *state;