1 /*
2 * Copyright 2021 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 /*
18 * Generated mock file from original source file
19 * Functions generated:66
20 */
21
22 #include <map>
23 #include <string>
24
25 extern std::map<std::string, int> mock_function_count_map;
26
27 #include <base/strings/stringprintf.h>
28 #include <frameworks/proto_logging/stats/enums/bluetooth/enums.pb.h>
29 #include <frameworks/proto_logging/stats/enums/bluetooth/hci/enums.pb.h>
30 #include <string.h>
31
32 #include "btif/include/btif_storage.h"
33 #include "common/metrics.h"
34 #include "common/time_util.h"
35 #include "device/include/controller.h"
36 #include "l2c_api.h"
37 #include "main/shim/btm_api.h"
38 #include "main/shim/dumpsys.h"
39 #include "main/shim/shim.h"
40 #include "osi/include/log.h"
41 #include "osi/include/osi.h"
42 #include "stack/btm/btm_dev.h"
43 #include "stack/btm/btm_sec.h"
44 #include "stack/include/acl_api.h"
45 #include "stack/include/acl_hci_link_interface.h"
46 #include "stack/include/btm_status.h"
47 #include "stack/include/l2cap_security_interface.h"
48 #include "stack/smp/smp_int.h"
49 #include "test/mock/mock_stack_btm_sec.h"
50 #include "types/raw_address.h"
51
52 #ifndef UNUSED_ATTR
53 #define UNUSED_ATTR
54 #endif
55
BTM_BothEndsSupportSecureConnections(const RawAddress & bd_addr)56 bool BTM_BothEndsSupportSecureConnections(const RawAddress& bd_addr) {
57 mock_function_count_map[__func__]++;
58 return false;
59 }
BTM_GetSecurityFlagsByTransport(const RawAddress & bd_addr,uint8_t * p_sec_flags,tBT_TRANSPORT transport)60 bool BTM_GetSecurityFlagsByTransport(const RawAddress& bd_addr,
61 uint8_t* p_sec_flags,
62 tBT_TRANSPORT transport) {
63 mock_function_count_map[__func__]++;
64 return false;
65 }
BTM_IsAuthenticated(const RawAddress & bd_addr,tBT_TRANSPORT transport)66 bool BTM_IsAuthenticated(const RawAddress& bd_addr, tBT_TRANSPORT transport) {
67 mock_function_count_map[__func__]++;
68 return false;
69 }
BTM_IsEncrypted(const RawAddress & bd_addr,tBT_TRANSPORT transport)70 bool BTM_IsEncrypted(const RawAddress& bd_addr, tBT_TRANSPORT transport) {
71 mock_function_count_map[__func__]++;
72 return false;
73 }
BTM_IsLinkKeyAuthed(const RawAddress & bd_addr,tBT_TRANSPORT transport)74 bool BTM_IsLinkKeyAuthed(const RawAddress& bd_addr, tBT_TRANSPORT transport) {
75 mock_function_count_map[__func__]++;
76 return false;
77 }
BTM_IsLinkKeyKnown(const RawAddress & bd_addr,tBT_TRANSPORT transport)78 bool BTM_IsLinkKeyKnown(const RawAddress& bd_addr, tBT_TRANSPORT transport) {
79 mock_function_count_map[__func__]++;
80 return false;
81 }
BTM_PeerSupportsSecureConnections(const RawAddress & bd_addr)82 bool BTM_PeerSupportsSecureConnections(const RawAddress& bd_addr) {
83 mock_function_count_map[__func__]++;
84 return false;
85 }
BTM_GetPeerDeviceTypeFromFeatures(const RawAddress & bd_addr)86 tBT_DEVICE_TYPE BTM_GetPeerDeviceTypeFromFeatures(const RawAddress& bd_addr) {
87 mock_function_count_map[__func__]++;
88 return BT_DEVICE_TYPE_BREDR;
89 }
BTM_SecAddRmtNameNotifyCallback(tBTM_RMT_NAME_CALLBACK * p_callback)90 bool BTM_SecAddRmtNameNotifyCallback(tBTM_RMT_NAME_CALLBACK* p_callback) {
91 mock_function_count_map[__func__]++;
92 return false;
93 }
BTM_SecDeleteRmtNameNotifyCallback(tBTM_RMT_NAME_CALLBACK * p_callback)94 bool BTM_SecDeleteRmtNameNotifyCallback(tBTM_RMT_NAME_CALLBACK* p_callback) {
95 mock_function_count_map[__func__]++;
96 return false;
97 }
BTM_SecIsSecurityPending(const RawAddress & bd_addr)98 bool BTM_SecIsSecurityPending(const RawAddress& bd_addr) {
99 mock_function_count_map[__func__]++;
100 return false;
101 }
BTM_SecRegister(const tBTM_APPL_INFO * p_cb_info)102 bool BTM_SecRegister(const tBTM_APPL_INFO* p_cb_info) {
103 mock_function_count_map[__func__]++;
104 return false;
105 }
BTM_SetSecurityLevel(bool is_originator,const char * p_name,uint8_t service_id,uint16_t sec_level,uint16_t psm,uint32_t mx_proto_id,uint32_t mx_chan_id)106 bool BTM_SetSecurityLevel(bool is_originator, const char* p_name,
107 uint8_t service_id, uint16_t sec_level, uint16_t psm,
108 uint32_t mx_proto_id, uint32_t mx_chan_id) {
109 mock_function_count_map[__func__]++;
110 return false;
111 }
btm_sec_is_a_bonded_dev(const RawAddress & bda)112 bool btm_sec_is_a_bonded_dev(const RawAddress& bda) {
113 mock_function_count_map[__func__]++;
114 return false;
115 }
is_sec_state_equal(void * data,void * context)116 bool is_sec_state_equal(void* data, void* context) {
117 mock_function_count_map[__func__]++;
118 return false;
119 }
is_state_getting_name(void * data,void * context)120 bool is_state_getting_name(void* data, void* context) {
121 mock_function_count_map[__func__]++;
122 return false;
123 }
btm_get_dev_class(const RawAddress & bda)124 const uint8_t* btm_get_dev_class(const RawAddress& bda) {
125 mock_function_count_map[__func__]++;
126 return nullptr;
127 }
BTM_SecGetDeviceLinkKeyType(const RawAddress & bd_addr)128 tBTM_LINK_KEY_TYPE BTM_SecGetDeviceLinkKeyType(const RawAddress& bd_addr) {
129 mock_function_count_map[__func__]++;
130 return 0;
131 }
btm_sec_find_dev_by_sec_state(uint8_t state)132 tBTM_SEC_DEV_REC* btm_sec_find_dev_by_sec_state(uint8_t state) {
133 mock_function_count_map[__func__]++;
134 return nullptr;
135 }
btm_sec_find_first_serv(bool is_originator,uint16_t psm)136 tBTM_SEC_SERV_REC* btm_sec_find_first_serv(bool is_originator, uint16_t psm) {
137 mock_function_count_map[__func__]++;
138 return nullptr;
139 }
BTM_SecBond(const RawAddress & bd_addr,tBLE_ADDR_TYPE addr_type,tBT_TRANSPORT transport,tBT_DEVICE_TYPE device_type,uint8_t pin_len,uint8_t * p_pin)140 tBTM_STATUS BTM_SecBond(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type,
141 tBT_TRANSPORT transport, tBT_DEVICE_TYPE device_type,
142 uint8_t pin_len, uint8_t* p_pin) {
143 mock_function_count_map[__func__]++;
144 return BTM_SUCCESS;
145 }
BTM_SecBondCancel(const RawAddress & bd_addr)146 tBTM_STATUS BTM_SecBondCancel(const RawAddress& bd_addr) {
147 mock_function_count_map[__func__]++;
148 return BTM_SUCCESS;
149 }
150 namespace test {
151 namespace mock {
152 namespace stack_btm_sec {
153
154 struct BTM_SetEncryption BTM_SetEncryption;
155
156 }
157 } // namespace mock
158 } // namespace test
159
BTM_SetEncryption(const RawAddress & bd_addr,tBT_TRANSPORT transport,tBTM_SEC_CALLBACK * p_callback,void * p_ref_data,tBTM_BLE_SEC_ACT sec_act)160 tBTM_STATUS BTM_SetEncryption(const RawAddress& bd_addr,
161 tBT_TRANSPORT transport,
162 tBTM_SEC_CALLBACK* p_callback, void* p_ref_data,
163 tBTM_BLE_SEC_ACT sec_act) {
164 mock_function_count_map[__func__]++;
165 if (test::mock::stack_btm_sec::BTM_SetEncryption.body) {
166 return test::mock::stack_btm_sec::BTM_SetEncryption.body(
167 bd_addr, transport, p_callback, p_ref_data, sec_act);
168 }
169 return BTM_SUCCESS;
170 }
btm_sec_bond_by_transport(const RawAddress & bd_addr,tBLE_ADDR_TYPE addr_type,tBT_TRANSPORT transport,uint8_t pin_len,uint8_t * p_pin)171 tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr,
172 tBLE_ADDR_TYPE addr_type,
173 tBT_TRANSPORT transport, uint8_t pin_len,
174 uint8_t* p_pin) {
175 mock_function_count_map[__func__]++;
176 return BTM_SUCCESS;
177 }
btm_sec_disconnect(uint16_t handle,tHCI_STATUS reason,std::string comment)178 tBTM_STATUS btm_sec_disconnect(uint16_t handle, tHCI_STATUS reason,
179 std::string comment) {
180 mock_function_count_map[__func__]++;
181 return BTM_SUCCESS;
182 }
btm_sec_execute_procedure(tBTM_SEC_DEV_REC * p_dev_rec)183 tBTM_STATUS btm_sec_execute_procedure(tBTM_SEC_DEV_REC* p_dev_rec) {
184 mock_function_count_map[__func__]++;
185 return BTM_SUCCESS;
186 }
btm_sec_l2cap_access_req(const RawAddress & bd_addr,uint16_t psm,bool is_originator,tBTM_SEC_CALLBACK * p_callback,void * p_ref_data)187 tBTM_STATUS btm_sec_l2cap_access_req(const RawAddress& bd_addr, uint16_t psm,
188 bool is_originator,
189 tBTM_SEC_CALLBACK* p_callback,
190 void* p_ref_data) {
191 mock_function_count_map[__func__]++;
192 return BTM_SUCCESS;
193 }
btm_sec_l2cap_access_req_by_requirement(const RawAddress & bd_addr,uint16_t security_required,bool is_originator,tBTM_SEC_CALLBACK * p_callback,void * p_ref_data)194 tBTM_STATUS btm_sec_l2cap_access_req_by_requirement(
195 const RawAddress& bd_addr, uint16_t security_required, bool is_originator,
196 tBTM_SEC_CALLBACK* p_callback, void* p_ref_data) {
197 mock_function_count_map[__func__]++;
198 return BTM_SUCCESS;
199 }
btm_sec_mx_access_request(const RawAddress & bd_addr,bool is_originator,uint16_t security_required,tBTM_SEC_CALLBACK * p_callback,void * p_ref_data)200 tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr,
201 bool is_originator,
202 uint16_t security_required,
203 tBTM_SEC_CALLBACK* p_callback,
204 void* p_ref_data) {
205 mock_function_count_map[__func__]++;
206 return BTM_SUCCESS;
207 }
BTM_GetClockOffset(const RawAddress & remote_bda)208 uint16_t BTM_GetClockOffset(const RawAddress& remote_bda) {
209 mock_function_count_map[__func__]++;
210 return 0;
211 }
BTM_SecClrService(uint8_t service_id)212 uint8_t BTM_SecClrService(uint8_t service_id) {
213 mock_function_count_map[__func__]++;
214 return 0;
215 }
BTM_SecClrServiceByPsm(uint16_t psm)216 uint8_t BTM_SecClrServiceByPsm(uint16_t psm) {
217 mock_function_count_map[__func__]++;
218 return 0;
219 }
BTM_ConfirmReqReply(tBTM_STATUS res,const RawAddress & bd_addr)220 void BTM_ConfirmReqReply(tBTM_STATUS res, const RawAddress& bd_addr) {
221 mock_function_count_map[__func__]++;
222 }
BTM_PINCodeReply(const RawAddress & bd_addr,tBTM_STATUS res,uint8_t pin_len,uint8_t * p_pin)223 void BTM_PINCodeReply(const RawAddress& bd_addr, tBTM_STATUS res,
224 uint8_t pin_len, uint8_t* p_pin) {
225 mock_function_count_map[__func__]++;
226 }
BTM_PasskeyReqReply(tBTM_STATUS res,const RawAddress & bd_addr,uint32_t passkey)227 void BTM_PasskeyReqReply(tBTM_STATUS res, const RawAddress& bd_addr,
228 uint32_t passkey) {
229 mock_function_count_map[__func__]++;
230 }
BTM_ReadLocalOobData(void)231 void BTM_ReadLocalOobData(void) { mock_function_count_map[__func__]++; }
BTM_RemoteOobDataReply(tBTM_STATUS res,const RawAddress & bd_addr,const Octet16 & c,const Octet16 & r)232 void BTM_RemoteOobDataReply(tBTM_STATUS res, const RawAddress& bd_addr,
233 const Octet16& c, const Octet16& r) {
234 mock_function_count_map[__func__]++;
235 }
BTM_SetPinType(uint8_t pin_type,PIN_CODE pin_code,uint8_t pin_code_len)236 void BTM_SetPinType(uint8_t pin_type, PIN_CODE pin_code, uint8_t pin_code_len) {
237 mock_function_count_map[__func__]++;
238 }
NotifyBondingCanceled(tBTM_STATUS btm_status)239 void NotifyBondingCanceled(tBTM_STATUS btm_status) {
240 mock_function_count_map[__func__]++;
241 }
btm_create_conn_cancel_complete(const uint8_t * p,uint16_t evt_len)242 void btm_create_conn_cancel_complete(const uint8_t* p, uint16_t evt_len) {
243 mock_function_count_map[__func__]++;
244 }
btm_io_capabilities_req(const RawAddress & p)245 void btm_io_capabilities_req(const RawAddress& p) {
246 mock_function_count_map[__func__]++;
247 }
btm_io_capabilities_rsp(const uint8_t * p)248 void btm_io_capabilities_rsp(const uint8_t* p) {
249 mock_function_count_map[__func__]++;
250 }
btm_proc_sp_req_evt(tBTM_SP_EVT event,const uint8_t * p)251 void btm_proc_sp_req_evt(tBTM_SP_EVT event, const uint8_t* p) {
252 mock_function_count_map[__func__]++;
253 }
btm_read_local_oob_complete(uint8_t * p,uint16_t evt_len)254 void btm_read_local_oob_complete(uint8_t* p, uint16_t evt_len) {
255 mock_function_count_map[__func__]++;
256 }
btm_rem_oob_req(const uint8_t * p)257 void btm_rem_oob_req(const uint8_t* p) { mock_function_count_map[__func__]++; }
btm_sec_abort_access_req(const RawAddress & bd_addr)258 void btm_sec_abort_access_req(const RawAddress& bd_addr) {
259 mock_function_count_map[__func__]++;
260 }
btm_sec_auth_complete(uint16_t handle,tHCI_STATUS status)261 void btm_sec_auth_complete(uint16_t handle, tHCI_STATUS status) {
262 mock_function_count_map[__func__]++;
263 }
btm_sec_check_pending_reqs(void)264 void btm_sec_check_pending_reqs(void) { mock_function_count_map[__func__]++; }
btm_sec_clear_ble_keys(tBTM_SEC_DEV_REC * p_dev_rec)265 void btm_sec_clear_ble_keys(tBTM_SEC_DEV_REC* p_dev_rec) {
266 mock_function_count_map[__func__]++;
267 }
btm_sec_conn_req(const RawAddress & bda,uint8_t * dc)268 void btm_sec_conn_req(const RawAddress& bda, uint8_t* dc) {
269 mock_function_count_map[__func__]++;
270 }
btm_sec_connected(const RawAddress & bda,uint16_t handle,tHCI_STATUS status,uint8_t enc_mode,tHCI_ROLE assigned_role)271 void btm_sec_connected(const RawAddress& bda, uint16_t handle,
272 tHCI_STATUS status, uint8_t enc_mode,
273 tHCI_ROLE assigned_role) {
274 mock_function_count_map[__func__]++;
275 }
btm_sec_dev_rec_cback_event(tBTM_SEC_DEV_REC * p_dev_rec,tBTM_STATUS btm_status,bool is_le_transport)276 void btm_sec_dev_rec_cback_event(tBTM_SEC_DEV_REC* p_dev_rec,
277 tBTM_STATUS btm_status, bool is_le_transport) {
278 mock_function_count_map[__func__]++;
279 }
btm_sec_dev_reset(void)280 void btm_sec_dev_reset(void) { mock_function_count_map[__func__]++; }
btm_sec_disconnected(uint16_t handle,tHCI_REASON reason,std::string comment)281 void btm_sec_disconnected(uint16_t handle, tHCI_REASON reason,
282 std::string comment) {
283 mock_function_count_map[__func__]++;
284 }
btm_sec_encrypt_change(uint16_t handle,tHCI_STATUS status,uint8_t encr_enable)285 void btm_sec_encrypt_change(uint16_t handle, tHCI_STATUS status,
286 uint8_t encr_enable) {
287 mock_function_count_map[__func__]++;
288 }
btm_sec_link_key_notification(const RawAddress & p_bda,const Octet16 & link_key,uint8_t key_type)289 void btm_sec_link_key_notification(const RawAddress& p_bda,
290 const Octet16& link_key, uint8_t key_type) {
291 mock_function_count_map[__func__]++;
292 }
btm_sec_link_key_request(const uint8_t * p_event)293 void btm_sec_link_key_request(const uint8_t* p_event) {
294 mock_function_count_map[__func__]++;
295 }
btm_sec_pin_code_request(const uint8_t * p_event)296 void btm_sec_pin_code_request(const uint8_t* p_event) {
297 mock_function_count_map[__func__]++;
298 }
btm_sec_rmt_host_support_feat_evt(const uint8_t * p)299 void btm_sec_rmt_host_support_feat_evt(const uint8_t* p) {
300 mock_function_count_map[__func__]++;
301 }
btm_sec_rmt_name_request_complete(const RawAddress * p_bd_addr,const uint8_t * p_bd_name,tHCI_STATUS status)302 void btm_sec_rmt_name_request_complete(const RawAddress* p_bd_addr,
303 const uint8_t* p_bd_name,
304 tHCI_STATUS status) {
305 mock_function_count_map[__func__]++;
306 }
btm_sec_set_peer_sec_caps(uint16_t hci_handle,bool ssp_supported,bool sc_supported,bool hci_role_switch_supported,bool br_edr_supported,bool le_supported)307 void btm_sec_set_peer_sec_caps(uint16_t hci_handle, bool ssp_supported,
308 bool sc_supported,
309 bool hci_role_switch_supported,
310 bool br_edr_supported, bool le_supported) {
311 mock_function_count_map[__func__]++;
312 }
btm_sec_update_clock_offset(uint16_t handle,uint16_t clock_offset)313 void btm_sec_update_clock_offset(uint16_t handle, uint16_t clock_offset) {
314 mock_function_count_map[__func__]++;
315 }
btm_simple_pair_complete(const uint8_t * p)316 void btm_simple_pair_complete(const uint8_t* p) {
317 mock_function_count_map[__func__]++;
318 }
319