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; }
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; }