コード例 #1
0
ファイル: caedrclient.c プロジェクト: darcyg/iotivity-1
CAResult_t CAEDRClientSetCallbacks(void)
{
    OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "IN");

    // Register for discovery and rfcomm socket connection callbacks
    bt_adapter_set_device_discovery_state_changed_cb(CAEDRDeviceDiscoveryCallback, NULL);
    bt_device_set_service_searched_cb(CAEDRServiceSearchedCallback, NULL);
    bt_socket_set_connection_state_changed_cb(CAEDRSocketConnectionStateCallback, NULL);
    bt_socket_set_data_received_cb(CAEDRDataRecvCallback, NULL);

    // Start device discovery
    CAResult_t result = CAEDRStartDeviceDiscovery();
    if(CA_STATUS_OK != result)
    {
        OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "Failed to Start Device discovery");
        return CA_STATUS_FAILED;
    }

    OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT");
    return CA_STATUS_OK;
}
コード例 #2
0
bool CProximity::GetRSSI(CbleDevice *pdevice)
{
#if __INTERNAL_DEBUG_
    DBG("Enter");
#endif
    if ( num_set_rssi == 0 && get_rssi_cnt == 0)
        map_rssi.clear();

    num_set_rssi = 0;
    get_rssi_cnt++;

    for ( int i = 0; i < pdevice->size(); i++ )
        pdevice->setRSSI( (pdevice->getNext(i))->remote_address, 0);

    BT_ERROR_CHECK( bt_adapter_set_device_discovery_state_changed_cb(
                        CProximity::CB_discover_state_change, pdevice) );

    BT_ERROR_CHECK( bt_adapter_start_device_discovery() );

    return true;

BT_ERROR:
    return false;
}