コード例 #1
0
ファイル: device.c プロジェクト: padelt/bluez
static int dev_connect(struct input_device *idev)
{
    GError *err = NULL;
    GIOChannel *io;

    if (idev->disable_sdp)
        bt_clear_cached_session(&idev->src, &idev->dst);

    io = bt_io_connect(control_connect_cb, idev,
                       NULL, &err,
                       BT_IO_OPT_SOURCE_BDADDR, &idev->src,
                       BT_IO_OPT_DEST_BDADDR, &idev->dst,
                       BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
                       BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
                       BT_IO_OPT_INVALID);
    idev->ctrl_io = io;

    if (err == NULL)
        return 0;

    error("%s", err->message);
    g_error_free(err);

    return -EIO;
}
コード例 #2
0
ファイル: device.c プロジェクト: blammit/bluez
static void dev_connect(struct input_device *idev,
			struct input_conn *iconn,
			GError **err)
{
	struct fake_input *fake;

	DBG("");

	fake = iconn->fake;

	if (fake) {
		/* Fake input device */
		if (fake->connect(iconn, err))
			fake->flags |= FI_FLAG_CONNECTED;
	} else {
		/* HID devices */
		GIOChannel *io;

		if (idev->disable_sdp)
			bt_clear_cached_session(&idev->src, &idev->dst);

		io = bt_io_connect(BT_IO_L2CAP, control_connect_cb, iconn,
					NULL, err,
					BT_IO_OPT_SOURCE_BDADDR, &idev->src,
					BT_IO_OPT_DEST_BDADDR, &idev->dst,
					BT_IO_OPT_PSM, L2CAP_PSM_HIDP_CTRL,
					BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_LOW,
					BT_IO_OPT_INVALID);
		iconn->ctrl_io = io;
	}

}