str2bt_bdaddr_t(adv_info->addr, &bd_addr);
if (bt_gatt_callbacks->client->scan_result_cb)
bt_gatt_callbacks->client->scan_result_cb(
- &bd_addr, adv_info->rssi,
+ &bd_addr, adv_info->addr_type, adv_info->rssi,
adv_info->adv_data, adv_info->adv_data_len,
adv_info->scan_rsp_data, adv_info->scan_rsp_data_len);
}
bt_uuid_t *app_uuid);
/** Callback for scan results */
-typedef void (*scan_result_callback)(bt_bdaddr_t* bda, int rssi,
+typedef void (*scan_result_callback)(bt_bdaddr_t* bda, uint8_t addr_type, int rssi,
uint8_t* adv_data, int adv_dat_len, uint8_t *scan_rsp_data, int scan_rsp_data_len);
/** GATT open callback invoked in response to open */
/* Forward declaration for GATT client callbacks */
static void cb_gattc_register_app(int status, int clientIf, bt_uuid_t *app_uuid);
-static void cb_gattc_scan_result(bt_bdaddr_t* bdaddress, int rssi,
+static void cb_gattc_scan_result(bt_bdaddr_t* bdaddress, uint8_t addr_type, int rssi,
uint8_t *adv_data, int adv_data_len, uint8_t *scan_rsp_data, int scan_rsp_data_len);
static void cb_gattc_connection(int conn_id, int status, int client_if, bt_bdaddr_t* bda);
static void cb_gattc_disconnect(int conn_id, int status, int client_if, bt_bdaddr_t* bda);
send_event(OAL_EVENT_GATTC_REGISTRATION, event, sizeof(event_gattc_register_t));
}
-static void cb_gattc_scan_result(bt_bdaddr_t* bdaddress, int rssi,
+static void cb_gattc_scan_result(bt_bdaddr_t* bdaddress, uint8_t addr_type, int rssi,
uint8_t *adv_data, int adv_data_len, uint8_t *scan_rsp_data, int scan_rsp_data_len)
{
event_ble_scan_result_info *event;
event = g_new0(event_ble_scan_result_info, 1);
+ event->addr_type = addr_type;
event->rssi = rssi;
memcpy(event->address.addr, bdaddress->address, BT_ADDRESS_BYTES_NUM);
memcpy(event->adv_data, adv_data, BLE_ADV_DATA_LENGTH);
int result = BLUETOOTH_ERROR_NONE;
bt_adapter_le_scanner_t *scanner = NULL;
char address[BT_ADDRESS_STRING_SIZE];
- int addr_type = 0x01; /* TODO: Need to get correct address type */
unsigned char adv_ind_data[BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX];
unsigned char scan_resp_data[BLUETOOTH_SCAN_RESP_DATA_LENGTH_MAX];
int adv_ind_len = 0;
param = g_variant_new("(isnnn@ayn@ay)",
result, address,
- addr_type, scan_result->rssi,
+ scan_result->addr_type, scan_result->rssi,
adv_ind_len, adv_data_param,
scan_resp_len, scan_data_param);