/**@brief Setup of alert notifications in master. * * @details This function will be called when supported alert notification and * supported unread alert notifications has been fetched. * * @param[in] p_evt Event containing the response with supported alert types. */ static void setup_control_point(ble_ans_c_evt_t * p_evt) { uint32_t err_code; ble_ans_control_point_t setting; if (p_evt->uuid.uuid == BLE_UUID_SUPPORTED_UNREAD_ALERT_CATEGORY_CHAR) { if (p_evt->data.settings.ans_notification_call_support) { setting.command = ANS_ENABLE_UNREAD_CATEGORY_STATUS_NOTIFICATION; setting.category = ANS_TYPE_NOTIFICATION_CALL; } else if (p_evt->data.settings.ans_missed_call_support) { setting.command = ANS_ENABLE_UNREAD_CATEGORY_STATUS_NOTIFICATION; setting.category = ANS_TYPE_MISSED_CALL; } else { // Don't configure the control point if the above alerts types are not supported. return; } } else { return; } err_code = ble_ans_c_control_point_write(&m_ans_c, &setting); APP_ERROR_CHECK(err_code); }
uint32_t ble_ans_c_unread_alert_notify(const ble_ans_c_t * p_ans, ble_ans_category_id_t category_id) { ble_ans_control_point_t control_point; control_point.command = ANS_NOTIFY_UNREAD_CATEGORY_STATUS_IMMEDIATELY; control_point.category = category_id; return ble_ans_c_control_point_write(p_ans, &control_point); }
uint32_t ble_ans_c_new_alert_notify(const ble_ans_c_t * p_ans, ble_ans_category_id_t category_id) { ble_ans_control_point_t control_point; control_point.command = ANS_NOTIFY_NEW_INCOMING_ALERT_IMMEDIATELY; control_point.category = category_id; return ble_ans_c_control_point_write(p_ans, &control_point); }