On Thu, Jul 02, 2015 at 04:41:34PM +0300, Kirill Moizik wrote: > encapsulate preparations for win_usb_driver_uninstall in function to > prevent further code duplication "Move existing code doing XXX in a separate function in preparation for the next commit" ? ACK with an improved commit log. > > Signed-off-by: Kirill Moizik <kmoizik@xxxxxxxxxx> > --- > src/usb-device-manager.c | 58 +++++++++++++++++++++++++++--------------------- > 1 file changed, 33 insertions(+), 25 deletions(-) > > diff --git a/src/usb-device-manager.c b/src/usb-device-manager.c > index 2fde03a..db4944f 100644 > --- a/src/usb-device-manager.c > +++ b/src/usb-device-manager.c > @@ -1203,6 +1203,37 @@ static void spice_usb_device_manager_drv_uninstall_cb(GObject *gobject, > > #endif > > +#if defined(USE_USBREDIR) && defined(G_OS_WIN32) > +void spice_usb_device_manager_driver_uninstall_async(SpiceUsbDeviceManager *self, > + SpiceUsbDevice *device) > +{ > + > + SpiceWinUsbDriver *installer; > + UsbInstallCbInfo *cbinfo; > + guint8 state; > + > + g_warn_if_fail(device != NULL); > + g_return_if_fail(self->priv->installer); > + > + state = spice_usb_device_get_state(device); > + if ((state != SPICE_USB_DEVICE_STATE_INSTALLED) && > + (state != SPICE_USB_DEVICE_STATE_CONNECTED)) { > + return; > + } > + > + spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_UNINSTALLING); > + > + installer = self->priv->installer; > + cbinfo = g_new0(UsbInstallCbInfo, 1); > + cbinfo->manager = self; > + cbinfo->device = spice_usb_device_ref(device); > + cbinfo->installer = installer; > + spice_win_usb_driver_uninstall_async (installer, device, NULL, > + spice_usb_device_manager_drv_uninstall_cb, > + cbinfo); > +} > +#endif > + > /* ------------------------------------------------------------------ */ > /* private api */ > > @@ -1590,31 +1621,8 @@ void spice_usb_device_manager_disconnect_device(SpiceUsbDeviceManager *self, > spice_usbredir_channel_disconnect_device(channel); > > #ifdef G_OS_WIN32 > - if (self->priv->use_usbclerk) { > - SpiceWinUsbDriver *installer; > - UsbInstallCbInfo *cbinfo; > - guint8 state; > - > - g_warn_if_fail(device != NULL); > - g_return_if_fail(self->priv->installer); > - > - state = spice_usb_device_get_state(device); > - if ((state != SPICE_USB_DEVICE_STATE_INSTALLED) && > - (state != SPICE_USB_DEVICE_STATE_CONNECTED)) { > - return; > - } > - > - spice_usb_device_set_state(device, SPICE_USB_DEVICE_STATE_UNINSTALLING); > - > - installer = self->priv->installer; > - cbinfo = g_new0(UsbInstallCbInfo, 1); > - cbinfo->manager = self; > - cbinfo->device = spice_usb_device_ref(device); > - cbinfo->installer = installer; > - > - spice_win_usb_driver_uninstall_async (installer, device, NULL, > - spice_usb_device_manager_drv_uninstall_cb, > - cbinfo); > + if (self->priv->use_usbclerk) { > + spice_usb_device_manager_driver_uninstall_async(self,device); > } > #endif > > -- > 2.1.0 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
pgpF9yDPLCBw6.pgp
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel