### Class

# SpiceClientGLib UsbDeviceManager

#### Description [src]

    class SpiceClientGLib.UsbDeviceManager : GObject.Object
      implements Gio.Initable {
      /* No available fields */
    }

The `SpiceUsbDeviceManager` struct is opaque and should not be accessed directly.

#### Ancestors

- GObject

#### Implements

- GInitable

#### Functions

###### spice_usb_device_manager_get

Gets the `SpiceUsbDeviceManager` associated with the passed in `SpiceSession`. A new `SpiceUsbDeviceManager` instance will be created the first time this function is called for a certain `SpiceSession`.

#### Instance methods

###### spice_usb_device_manager_allocate_device_for_file_descriptor

Allocates a SpiceUsbDevice instance for the specified file descriptor.

since: 0.40

###### spice_usb_device_manager_can_redirect_device

Checks whether it is possible to redirect the `device`.

###### spice_usb_device_manager_connect_device_async

Asynchronously connects the `device`. When completed, `callback` will be called. Then it is possible to call `spice_usb_device_manager_connect_device_finish()` to get the result of the operation.

###### spice_usb_device_manager_connect_device_finish

Finishes an async operation. See spice_usb_device_manager_connect_device_async().

###### spice_usb_device_manager_create_shared_cd_device

Creates a new shared CD device based on a disk image file or a physical CD device.

###### spice_usb_device_manager_disconnect_device

Disconnects the `device`.

###### spice_usb_device_manager_disconnect_device_async

Asynchronously disconnects the `device`. When completed, `callback` will be called. Then it is possible to call `spice_usb_device_manager_disconnect_device_finish()` to get the result of the operation.

since: 0.32

###### spice_usb_device_manager_disconnect_device_finish

Finishes an async operation. See spice_usb_device_manager_disconnect_device_async().

###### spice_usb_device_manager_get_devices

Finds devices associated with the `manager`.

###### spice_usb_device_manager_get_devices_with_filter

Finds devices associated with the `manager` complying with the `filter`.

since: 0.20

###### spice_usb_device_manager_is_device_connected

Finds if the `device` is connected.

###### spice_usb_device_manager_is_device_shared_cd

Checks whether a device is shared CD.

###### spice_usb_device_manager_is_redirecting

Checks whether a device is being redirected.

since: 0.32

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

#### Properties

###### SpiceClientGLib.UsbDeviceManager:auto-connect

Set this to TRUE to automatically redirect newly plugged in device.

###### SpiceClientGLib.UsbDeviceManager:auto-connect-filter

Set a string specifying a filter to use to determine which USB devices to autoconnect when plugged in, a filter consists of one or more rules. Where each rule has the form of:.

###### SpiceClientGLib.UsbDeviceManager:free-channels

Get the number of available channels for redirecting USB devices.

since: 0.31

###### SpiceClientGLib.UsbDeviceManager:redirect-on-connect

Set a string specifying a filter selecting USB devices to automatically redirect after a Spice connection has been established.

###### SpiceClientGLib.UsbDeviceManager:session

`SpiceSession` this `SpiceUsbDeviceManager` is associated with.

#### Signals

###### SpiceClientGLib.UsbDeviceManager::auto-connect-failed

The `SpiceUsbDeviceManager::auto-connect-failed` signal is emitted whenever the auto-connect property is true, and a newly plugged in device could not be auto-connected.

###### SpiceClientGLib.UsbDeviceManager::device-added

The `SpiceUsbDeviceManager::device-added` signal is emitted whenever a new USB device has been plugged in.

###### SpiceClientGLib.UsbDeviceManager::device-error

The `SpiceUsbDeviceManager::device-error` signal is emitted whenever an error happens which causes a device to no longer be available to the guest.

###### SpiceClientGLib.UsbDeviceManager::device-removed

The `SpiceUsbDeviceManager::device-removed` signal is emitted whenever an USB device has been removed.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct SpiceClientGLibUsbDeviceManagerClass {
      GObjectClass parent_class;
      void (* device_added) (
        SpiceUsbDeviceManager* manager,
        SpiceUsbDevice* device
      );
      void (* device_removed) (
        SpiceUsbDeviceManager* manager,
        SpiceUsbDevice* device
      );
      void (* auto_connect_failed) (
        SpiceUsbDeviceManager* manager,
        SpiceUsbDevice* device,
        GError* error
      );
      void (* device_error) (
        SpiceUsbDeviceManager* manager,
        SpiceUsbDevice* device,
        GError* error
      );

    }

Class structure for `SpiceUsbDeviceManager`.

###### Class members

`parent_class: GObjectClass`

  Parent class.

`device_added: void (* device_added) ( SpiceUsbDeviceManager* manager, SpiceUsbDevice* device )`

  Signal class handler for the `SpiceUsbDeviceManager::device-added` signal.

`device_removed: void (* device_removed) ( SpiceUsbDeviceManager* manager, SpiceUsbDevice* device )`

  Signal class handler for the `SpiceUsbDeviceManager::device-removed` signal.

`auto_connect_failed: void (* auto_connect_failed) ( SpiceUsbDeviceManager* manager, SpiceUsbDevice* device, GError* error )`

  Signal class handler for the `SpiceUsbDeviceManager::auto-connect-failed` signal.

`device_error: void (* device_error) ( SpiceUsbDeviceManager* manager, SpiceUsbDevice* device, GError* error )`

  Signal class handler for the `SpiceUsbDeviceManager::device_error` signal.

#### Virtual methods

###### SpiceClientGLib.UsbDeviceManagerClass.auto_connect_failed

Signal class handler for the `SpiceUsbDeviceManager::auto-connect-failed` signal.

###### SpiceClientGLib.UsbDeviceManagerClass.device_added

Signal class handler for the `SpiceUsbDeviceManager::device-added` signal.

###### SpiceClientGLib.UsbDeviceManagerClass.device_error

Signal class handler for the `SpiceUsbDeviceManager::device_error` signal.

###### SpiceClientGLib.UsbDeviceManagerClass.device_removed

Signal class handler for the `SpiceUsbDeviceManager::device-removed` signal.