Пример #1
0
BtStatus FMP_Close(FmpChannel *channel)
{
    BtStatus status = BT_STATUS_FAILED;

    /* Validate parameters */
    CheckUnlockedParm(BT_STATUS_INVALID_PARM, channel != 0);

    OS_LockStack();

    CheckLockedParm(BT_STATUS_NOT_FOUND, 
                    IsNodeOnList(&FMP(dev_list), &(channel->node)));

    // check state
    if (channel->state == FMP_STATE_OPEN)
    {
        status = GattDisconnect(channel->link);
    }

    if (status == BT_STATUS_SUCCESS)
    {
        FmpClearConnection(channel, status);
    }


    OS_UnlockStack();
    return status;
}
Пример #2
0
BtStatus time_gatt_disconnect_service(TimeCTransport *pChnl) {
	BtStatus status;
	TIMEASSERT(pChnl->check_byte == TIME_CHECK_BYTE);

	status = GattDisconnect(pChnl->handler.remDev);

	OS_Report("[Time] %s(), result: %d", __FUNCTION__, status);
	return status;
}
Пример #3
0
BtStatus time_gatt_server_disconnect(TimeSTransport *pChnl) {
	BtStatus status;
	status = GattDisconnect(pChnl->handler.remDev);
	OS_Report("[Time] GattDisconnect() returns %d", status);
	return status;
}