[Spice-devel] [PATCH 4/5] UsbDeviceManager: expose spice_usb_device_manager_driver_uninstall_async
Igor Derzhavets
igord at daynix.com
Thu Jul 2 11:04:50 PDT 2015
+1
On Thu, Jul 2, 2015 at 4:41 PM, Kirill Moizik <kirill at daynix.com> wrote:
> encapsulate preparations for win_usb_driver_uninstall in function to
> prevent further code duplication
>
> Signed-off-by: Kirill Moizik <kmoizik at redhat.com>
> ---
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20150702/47972078/attachment-0001.html>
More information about the Spice-devel
mailing list