legacy: Const-ify sdp callback with user data
Bug: 187830698
Tag: #refactor
Test: gd/cert/run
Change-Id: I6897ee83258c9784559f9bfadb9655f9359acda3
diff --git a/system/bta/gatt/bta_gattc_cache.cc b/system/bta/gatt/bta_gattc_cache.cc
index 6eeaa42..93d7d37 100644
--- a/system/bta/gatt/bta_gattc_cache.cc
+++ b/system/bta/gatt/bta_gattc_cache.cc
@@ -271,7 +271,7 @@
}
/* Process the discovery result from sdp */
-void bta_gattc_sdp_callback(tSDP_STATUS sdp_status, void* user_data) {
+void bta_gattc_sdp_callback(tSDP_STATUS sdp_status, const void* user_data) {
tBTA_GATTC_CB_DATA* cb_data = (tBTA_GATTC_CB_DATA*)user_data;
tBTA_GATTC_SERV* p_srvc_cb = bta_gattc_find_scb_by_cid(cb_data->sdp_conn_id);
@@ -357,9 +357,9 @@
SDP_InitDiscoveryDb(cb_data->p_sdp_db, BTA_GATT_SDP_DB_SIZE, 1, &uuid,
num_attrs, attr_list);
- if (!SDP_ServiceSearchAttributeRequest2(p_server_cb->server_bda,
- cb_data->p_sdp_db,
- &bta_gattc_sdp_callback, cb_data)) {
+ if (!SDP_ServiceSearchAttributeRequest2(
+ p_server_cb->server_bda, cb_data->p_sdp_db, &bta_gattc_sdp_callback,
+ const_cast<const void*>(static_cast<void*>(cb_data)))) {
osi_free(cb_data);
return GATT_ERROR;
}
diff --git a/system/bta/hf_client/bta_hf_client_sdp.cc b/system/bta/hf_client/bta_hf_client_sdp.cc
index db33481..96b7a6d 100755
--- a/system/bta/hf_client/bta_hf_client_sdp.cc
+++ b/system/bta/hf_client/bta_hf_client_sdp.cc
@@ -56,7 +56,7 @@
* Returns void
*
******************************************************************************/
-static void bta_hf_client_sdp_cback(tSDP_STATUS status, void* data) {
+static void bta_hf_client_sdp_cback(tSDP_STATUS status, const void* data) {
uint16_t event;
tBTA_HF_CLIENT_DISC_RESULT* p_buf = (tBTA_HF_CLIENT_DISC_RESULT*)osi_malloc(
sizeof(tBTA_HF_CLIENT_DISC_RESULT));
diff --git a/system/bta/jv/bta_jv_act.cc b/system/bta/jv/bta_jv_act.cc
index 8ccaada..b4e977d 100644
--- a/system/bta/jv/bta_jv_act.cc
+++ b/system/bta/jv/bta_jv_act.cc
@@ -721,9 +721,11 @@
* Returns void
*
******************************************************************************/
-static void bta_jv_start_discovery_cback(tSDP_RESULT result, void* user_data) {
+static void bta_jv_start_discovery_cback(tSDP_RESULT result,
+ const void* user_data) {
tBTA_JV_STATUS status;
- uint32_t* p_rfcomm_slot_id = static_cast<uint32_t*>(user_data);
+ uint32_t* p_rfcomm_slot_id =
+ static_cast<uint32_t*>(const_cast<void*>(user_data));
VLOG(2) << __func__ << ": res=" << loghex(static_cast<uint16_t>(result));
diff --git a/system/bta/sdp/bta_sdp_act.cc b/system/bta/sdp/bta_sdp_act.cc
index 296f84f..3c12e93 100644
--- a/system/bta/sdp/bta_sdp_act.cc
+++ b/system/bta/sdp/bta_sdp_act.cc
@@ -367,7 +367,7 @@
}
/** Callback from btm after search is completed */
-static void bta_sdp_search_cback(tSDP_RESULT result, void* user_data) {
+static void bta_sdp_search_cback(tSDP_RESULT result, const void* user_data) {
tBTA_SDP_STATUS status = BTA_SDP_FAILURE;
int count = 0;
APPL_TRACE_DEBUG("%s() - res: 0x%x", __func__, result);
@@ -376,7 +376,7 @@
if (bta_sdp_cb.p_dm_cback == NULL) return;
- Uuid& uuid = *(reinterpret_cast<Uuid*>(user_data));
+ Uuid& uuid = *(reinterpret_cast<Uuid*>(const_cast<void*>(user_data)));
tBTA_SDP_SEARCH_COMP evt_data;
memset(&evt_data, 0, sizeof(evt_data));
@@ -435,7 +435,8 @@
tBTA_SDP bta_sdp;
bta_sdp.sdp_search_comp = evt_data;
bta_sdp_cb.p_dm_cback(BTA_SDP_SEARCH_COMP_EVT, &bta_sdp, (void*)&uuid);
- osi_free(user_data); // We no longer need the user data to track the search
+ osi_free(const_cast<void*>(
+ user_data)); // We no longer need the user data to track the search
}
/*******************************************************************************
diff --git a/system/stack/include/sdp_api.h b/system/stack/include/sdp_api.h
index cf5b938..588e421 100644
--- a/system/stack/include/sdp_api.h
+++ b/system/stack/include/sdp_api.h
@@ -105,7 +105,7 @@
/* Define a callback function for when discovery is complete. */
typedef void(tSDP_DISC_CMPL_CB)(tSDP_RESULT result);
-typedef void(tSDP_DISC_CMPL_CB2)(tSDP_RESULT result, void* user_data);
+typedef void(tSDP_DISC_CMPL_CB2)(tSDP_RESULT result, const void* user_data);
typedef struct {
RawAddress peer_addr;
@@ -273,7 +273,7 @@
bool SDP_ServiceSearchAttributeRequest2(const RawAddress& p_bd_addr,
tSDP_DISCOVERY_DB* p_db,
tSDP_DISC_CMPL_CB2* p_cb,
- void* user_data);
+ const void* user_data);
/* API of utilities to find data in the local discovery database */
diff --git a/system/stack/sdp/sdp_api.cc b/system/stack/sdp/sdp_api.cc
index 853eb09..3732c54 100644
--- a/system/stack/sdp/sdp_api.cc
+++ b/system/stack/sdp/sdp_api.cc
@@ -193,7 +193,7 @@
bool SDP_ServiceSearchAttributeRequest2(const RawAddress& p_bd_addr,
tSDP_DISCOVERY_DB* p_db,
tSDP_DISC_CMPL_CB2* p_cb2,
- void* user_data) {
+ const void* user_data) {
tCONN_CB* p_ccb;
/* Specific BD address */
diff --git a/system/stack/sdp/sdpint.h b/system/stack/sdp/sdpint.h
index 7de3cf7..1a07d7d 100644
--- a/system/stack/sdp/sdpint.h
+++ b/system/stack/sdp/sdpint.h
@@ -146,7 +146,7 @@
tSDP_DISC_CMPL_CB* p_cb; /* Callback for discovery done */
tSDP_DISC_CMPL_CB2*
p_cb2; /* Callback for discovery done piggy back with the user data */
- void* user_data; /* piggy back user data */
+ const void* user_data; /* piggy back user data */
uint32_t
handles[SDP_MAX_DISC_SERVER_RECS]; /* Discovered server record handles */
uint16_t num_handles; /* Number of server handles */
diff --git a/system/stack/test/fuzzers/sdp/sdpFuzzHelpers.h b/system/stack/test/fuzzers/sdp/sdpFuzzHelpers.h
index 1bebb65..3c4786c 100644
--- a/system/stack/test/fuzzers/sdp/sdpFuzzHelpers.h
+++ b/system/stack/test/fuzzers/sdp/sdpFuzzHelpers.h
@@ -271,6 +271,6 @@
// Define our callback functions we'll be using within our functions
void sdp_disc_cmpl_cb(tSDP_STATUS result) {}
-void sdp_disc_cmpl_cb2(tSDP_STATUS result, void* user_data) {}
+void sdp_disc_cmpl_cb2(tSDP_STATUS result, const void* user_data) {}
#endif // FUZZER_SDP_HELPERS_H_
diff --git a/system/test/headless/sdp/sdp.cc b/system/test/headless/sdp/sdp.cc
index 135352e..5f2f32f 100644
--- a/system/test/headless/sdp/sdp.cc
+++ b/system/test/headless/sdp/sdp.cc
@@ -32,8 +32,9 @@
using namespace bluetooth::test::headless;
static void bta_jv_start_discovery_callback(tSDP_STATUS result,
- void* user_data) {
- auto promise = static_cast<std::promise<uint16_t>*>(user_data);
+ const void* user_data) {
+ auto promise =
+ static_cast<std::promise<uint16_t>*>(const_cast<void*>(user_data));
promise->set_value(result);
}
diff --git a/system/test/mock/mock_stack_sdp_api.cc b/system/test/mock/mock_stack_sdp_api.cc
index df0a5b3..8f77355 100644
--- a/system/test/mock/mock_stack_sdp_api.cc
+++ b/system/test/mock/mock_stack_sdp_api.cc
@@ -114,7 +114,7 @@
bool SDP_ServiceSearchAttributeRequest2(const RawAddress& p_bd_addr,
tSDP_DISCOVERY_DB* p_db,
tSDP_DISC_CMPL_CB2* p_cb2,
- void* user_data) {
+ const void* user_data) {
mock_function_count_map[__func__]++;
return test::mock::stack_sdp_api::SDP_ServiceSearchAttributeRequest2(
p_bd_addr, p_db, p_cb2, user_data);
diff --git a/system/test/mock/mock_stack_sdp_api.h b/system/test/mock/mock_stack_sdp_api.h
index 212ee2b..7633288 100644
--- a/system/test/mock/mock_stack_sdp_api.h
+++ b/system/test/mock/mock_stack_sdp_api.h
@@ -154,11 +154,12 @@
// tSDP_DISC_CMPL_CB2* p_cb2, void* user_data Returns: bool
struct SDP_ServiceSearchAttributeRequest2 {
std::function<bool(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
- tSDP_DISC_CMPL_CB2* p_cb2, void* user_data)>
+ tSDP_DISC_CMPL_CB2* p_cb2, const void* user_data)>
body{[](const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
- tSDP_DISC_CMPL_CB2* p_cb2, void* user_data) { return false; }};
+ tSDP_DISC_CMPL_CB2* p_cb2,
+ const void* user_data) { return false; }};
bool operator()(const RawAddress& p_bd_addr, tSDP_DISCOVERY_DB* p_db,
- tSDP_DISC_CMPL_CB2* p_cb2, void* user_data) {
+ tSDP_DISC_CMPL_CB2* p_cb2, const void* user_data) {
return body(p_bd_addr, p_db, p_cb2, user_data);
};
};