static void on_whitelist_req(void)
{
ret_code_t err_code;
// Whitelist buffers.
ble_gap_addr_t whitelist_addrs[8];
ble_gap_irk_t whitelist_irks[8];
memset(whitelist_addrs, 0x00, sizeof(whitelist_addrs));
memset(whitelist_irks, 0x00, sizeof(whitelist_irks));
uint32_t addr_cnt = (sizeof(whitelist_addrs) / sizeof(ble_gap_addr_t));
uint32_t irk_cnt = (sizeof(whitelist_irks) / sizeof(ble_gap_irk_t));
// Reload the whitelist and whitelist all peers.
whitelist_load();
// Get the whitelist previously set using pm_whitelist_set().
err_code = pm_whitelist_get(whitelist_addrs, &addr_cnt,
whitelist_irks, &irk_cnt);
if (((addr_cnt == 0) && (irk_cnt == 0)) ||
(m_whitelist_disabled))
{
// Don't use whitelist.
err_code = nrf_ble_scan_params_set(&m_scan, NULL);
APP_ERROR_CHECK(err_code);
}
}