'Returns a list of DeviceInfo objects: one for each connected,
unpaired device accepted by the plugin.'

def unpaired_device_infos(self, handler, plugin, devices=None):

    if (devices is None):
        devices = self.scan_devices()
    devices = [dev for dev in devices if (not self.xpub_by_id(dev.id_))]
    infos = []
    for device in devices:
        if (not (device.product_key in plugin.DEVICE_IDS)):
            continue
        client = self.create_client(device, handler, plugin)
        if (not client):
            continue
        infos.append(DeviceInfo(device, client.label(), client.is_initialized()))
    return infos
