/** Start primary service discovery */
tGATT_STATUS bta_gattc_discover_pri_service(uint16_t conn_id,
tBTA_GATTC_SERV* p_server_cb,
- uint8_t disc_type) {
+ tGATT_DISC_TYPE disc_type) {
tBTA_GATTC_CLCB* p_clcb = bta_gattc_find_clcb_by_conn_id(conn_id);
if (!p_clcb) return GATT_ERROR;
case GATT_DISC_CHAR_DSCPT:
p_srvc_cb->pending_discovery.AddDescriptor(p_data->handle, p_data->type);
break;
+
+ case GATT_DISC_MAX:
+ default:
+ LOG_ERROR("Received illegal discovery item");
+ break;
}
}
/* start discovering next characteristic for char descriptor */
bta_gattc_start_disc_char_dscp(conn_id, p_srvc_cb);
break;
+
+ case GATT_DISC_MAX:
+ default:
+ LOG_ERROR("Received illegal discovery item");
+ break;
}
}
tGATT_STATUS status);
extern tGATT_STATUS bta_gattc_discover_pri_service(uint16_t conn_id,
tBTA_GATTC_SERV* p_server_cb,
- uint8_t disc_type);
+ tGATT_DISC_TYPE disc_type);
extern void bta_gattc_search_service(tBTA_GATTC_CLCB* p_clcb,
bluetooth::Uuid* p_uuid);
extern const std::list<gatt::Service>* bta_gattc_get_services(uint16_t conn_id);
case GATT_DISC_CHAR_DSCPT:
LOG_INFO(" Descriptor UUID: %s", p_data->type.ToString().c_str());
break;
+ case GATT_DISC_MAX:
+ LOG_ERROR(" Unknown discovery item");
+ break;
}
LOG_INFO("-----------------------------------------------------------");
LOG_INFO("%s: DISCOVER (%s), conn_id=%d, uuid=%s, handles=0x%04x-0x%04x",
__func__, disc_name[params->u1], test_cb.conn_id,
params->uuid1->ToString().c_str(), params->u2, params->u3);
- GATTC_Discover(test_cb.conn_id, params->u1, params->u2, params->u3,
- *params->uuid1);
+ GATTC_Discover(test_cb.conn_id, static_cast<tGATT_DISC_TYPE>(params->u1),
+ params->u2, params->u3, *params->uuid1);
break;
}
p_clcb->ccc_result++;
}
break;
+
+ case GATT_DISC_SRVC_ALL:
+ case GATT_DISC_INC_SRVC:
+ case GATT_DISC_MAX:
+ LOG_ERROR("Illegal discovery item handled");
+ break;
}
}
len -= 4;
if (p_clcb->p_reg->app_cb.p_disc_res_cb)
- (*p_clcb->p_reg->app_cb.p_disc_res_cb)(p_clcb->conn_id,
- p_clcb->op_subtype, &result);
+ (*p_clcb->p_reg->app_cb.p_disc_res_cb)(
+ p_clcb->conn_id, static_cast<tGATT_DISC_TYPE>(p_clcb->op_subtype),
+ &result);
}
/* last handle + 1 */
len -= (uuid_len + 2);
if (p_clcb->p_reg->app_cb.p_disc_res_cb)
- (*p_clcb->p_reg->app_cb.p_disc_res_cb)(p_clcb->conn_id,
- p_clcb->op_subtype, &result);
+ (*p_clcb->p_reg->app_cb.p_disc_res_cb)(
+ p_clcb->conn_id, static_cast<tGATT_DISC_TYPE>(p_clcb->op_subtype),
+ &result);
}
p_clcb->s_handle = (result.handle == 0) ? 0 : (result.handle + 1);
/* send callback if is discover procedure */
if (p_clcb->operation == GATTC_OPTYPE_DISCOVERY &&
p_clcb->p_reg->app_cb.p_disc_res_cb)
- (*p_clcb->p_reg->app_cb.p_disc_res_cb)(p_clcb->conn_id,
- p_clcb->op_subtype, &result);
+ (*p_clcb->p_reg->app_cb.p_disc_res_cb)(
+ p_clcb->conn_id, static_cast<tGATT_DISC_TYPE>(p_clcb->op_subtype),
+ &result);
}
p_clcb->s_handle = (handle == 0) ? 0 : (handle + 1);
p_clcb->read_uuid128.result.value.incl_service.service_type =
bluetooth::Uuid::From128BitLE(p);
if (p_clcb->p_reg->app_cb.p_disc_res_cb)
- (*p_clcb->p_reg->app_cb.p_disc_res_cb)(p_clcb->conn_id,
- p_clcb->op_subtype,
- &p_clcb->read_uuid128.result);
+ (*p_clcb->p_reg->app_cb.p_disc_res_cb)(
+ p_clcb->conn_id, static_cast<tGATT_DISC_TYPE>(p_clcb->op_subtype),
+ &p_clcb->read_uuid128.result);
gatt_act_discovery(p_clcb);
} else {
gatt_end_operation(p_clcb, GATT_INVALID_PDU, (void*)p);
tGATT_CL_COMPLETE cb_data;
tGATT_CMPL_CBACK* p_cmpl_cb =
(p_clcb->p_reg) ? p_clcb->p_reg->app_cb.p_cmpl_cb : NULL;
- uint8_t op = p_clcb->operation, disc_type = GATT_DISC_MAX;
+ uint8_t op = p_clcb->operation;
+ tGATT_DISC_TYPE disc_type = GATT_DISC_MAX;
tGATT_DISC_CMPL_CB* p_disc_cmpl_cb =
(p_clcb->p_reg) ? p_clcb->p_reg->app_cb.p_disc_cmpl_cb : NULL;
uint16_t conn_id;
cb_data.mtu = p_clcb->p_tcb->payload_size;
if (p_clcb->operation == GATTC_OPTYPE_DISCOVERY) {
- disc_type = p_clcb->op_subtype;
+ disc_type = static_cast<tGATT_DISC_TYPE>(p_clcb->op_subtype);
}
}
/* Client Used Data Structure
*/
/* definition of different discovery types */
-enum {
+typedef enum : uint8_t {
GATT_DISC_SRVC_ALL = 1, /* discover all services */
GATT_DISC_SRVC_BY_UUID, /* discover service of a special type */
GATT_DISC_INC_SRVC, /* discover the included service within a service */
requirement */
GATT_DISC_CHAR_DSCPT, /* discover characteristic descriptors of a character */
GATT_DISC_MAX /* maximnun discover type */
-};
-typedef uint8_t tGATT_DISC_TYPE;
+} tGATT_DISC_TYPE;
/* GATT read type enumeration
*/