BT_EVENT_HF_CIEV_DEVICE_STATUS_CHANGED, /**< Audio - HF : device state changed callback */
#endif
BT_EVENT_MAP_CLIENT_LIST_FOLDERS, /**< MAP client - listFolders event*/
- BT_EVENT_MAP_CLIENT_111, /**< MAP client 111 */
+ BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS, /**< MAP - get filter field list callback */
BT_EVENT_MAP_CLIENT_222, /**< MAP client 222 */
BT_EVENT_MAP_CLIENT_333, /**< MAP client 333 */
BT_EVENT_MAP_CLIENT_444, /**< MAP client 444 */
*/
int bt_map_client_list_filter_fields(
bt_map_client_session_info_h handle,
- bt_map_client_list_filter_fields_cb callback
+ bt_map_client_list_filter_fields_cb callback,
+ void *user_data
);
/**
*/
int bt_map_client_list_filter_fields(
bt_map_client_session_info_h handle,
- bt_map_client_list_filter_fields_cb callback
+ bt_map_client_list_filter_fields_cb callback,
+ void *user_data
);
/**
if (device_addr != NULL)
free(device_addr);
break;
- /// TODO MAP place for your case 1
+
+ case BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE:
+ {
+ BT_INFO(" BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE event");
+ bt_map_list_filter_fields_info_t* fields_info = (bt_map_list_filter_fields_info_t*)(param->param_data);
+
+ ((bt_map_client_list_filter_fields_cb)bt_event_slot_container[event_index].callback)
+ (param->result, fields_info->fields, fields_info->size,
+ bt_event_slot_container[event_index].user_data);
+
+ if (device_addr != NULL)
+ free(device_addr);
+ }
+ break;
+
/// TODO MAP place for your case 2
/// TODO MAP place for your case 3
/// TODO MAP place for your case 4
return BT_EVENT_OPP_CLIENT_PUSH_FINISHED;
case BLUETOOTH_EVENT_MAP_LIST_FOLDERS_COMPLETE:
return BT_EVENT_MAP_CLIENT_LIST_FOLDERS;
- /// TODO MAP place for your case 1
+ case BLUETOOTH_EVENT_MAP_LIST_FILTER_FIELD_COMPLETE:
+ return BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS;
/// TODO MAP place for your case 2
/// TODO MAP place for your case 3
/// TODO MAP place for your case 4
int bt_map_client_list_filter_fields(
bt_map_client_session_info_h handle,
- bt_map_client_list_filter_fields_cb callback)
+ bt_map_client_list_filter_fields_cb callback,
+ void *user_data)
{
- /* TODO: MAP */
- return BT_ERROR_NONE;
+ int error_code = BT_ERROR_NONE;
+
+ //BT_CHECK_MAP_CLIENT_SUPPORT();
+ BT_CHECK_INIT_STATUS();
+ BT_CHECK_MAP_CLIENT_INIT_STATUS();
+ BT_CHECK_INPUT_PARAMETER(handle);
+
+ bt_map_client_session_info_s* session = (bt_map_client_session_info_s*) handle;
+
+ error_code = _bt_get_error_code(bluetooth_map_client_list_filter_fields(session));
+ if (error_code != BT_ERROR_NONE) {
+ BT_ERR("%s(0x%08x)", _bt_convert_error_to_string(error_code),
+ error_code);
+ } else {
+ _bt_set_cb(BT_EVENT_MAP_CLIENT_LIST_FILTER_FIELDS, callback, user_data);
+ }
+
+ return error_code;
}
int bt_map_client_list_messages(