1 /*
2 * Copyright 2020 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 #include <map>
18 #include <string>
19 #include <vector>
20 #include "stack/avdt/avdt_int.h"
21
22 extern std::map<std::string, int> mock_function_count_map;
23
24 /*
25 * TODO: This way of mocking is primitive.
26 * Need to consider more sophisticated existing methods.
27 */
28
29 static std::vector<uint8_t> _rsp_sig_ids{};
30
avdt_msg_send_rsp(AvdtpCcb * p_ccb,uint8_t sig_id,tAVDT_MSG * p_params)31 void avdt_msg_send_rsp(AvdtpCcb* p_ccb, uint8_t sig_id, tAVDT_MSG* p_params) {
32 mock_function_count_map[__func__]++;
33 _rsp_sig_ids.push_back(sig_id);
34 }
35
mock_avdt_msg_send_rsp_get_count(void)36 size_t mock_avdt_msg_send_rsp_get_count(void) {
37 return _rsp_sig_ids.size();
38 }
39
mock_avdt_msg_send_rsp_clear_history(void)40 void mock_avdt_msg_send_rsp_clear_history(void) {
41 _rsp_sig_ids.clear();
42 }
43
mock_avdt_msg_send_rsp_get_sig_id_at(size_t nth)44 uint8_t mock_avdt_msg_send_rsp_get_sig_id_at(size_t nth) {
45 return _rsp_sig_ids[nth];
46 }
47
avdt_msg_ind(AvdtpCcb * p_ccb,BT_HDR * p_buf)48 void avdt_msg_ind(AvdtpCcb* p_ccb, BT_HDR* p_buf) {
49 mock_function_count_map[__func__]++;
50 }
51
avdt_msg_send_rej(AvdtpCcb * p_ccb,uint8_t sig_id,tAVDT_MSG * p_params)52 void avdt_msg_send_rej(AvdtpCcb* p_ccb, uint8_t sig_id, tAVDT_MSG* p_params) {
53 mock_function_count_map[__func__]++;
54 }
55
56 static std::vector<uint8_t> _cmd_sig_ids{};
57
avdt_msg_send_cmd(AvdtpCcb * p_ccb,void * p_scb,uint8_t sig_id,tAVDT_MSG * p_params)58 void avdt_msg_send_cmd(AvdtpCcb* p_ccb, void* p_scb, uint8_t sig_id,
59 tAVDT_MSG* p_params) {
60 mock_function_count_map[__func__]++;
61 _cmd_sig_ids.push_back(sig_id);
62 }
63
mock_avdt_msg_send_cmd_get_count(void)64 size_t mock_avdt_msg_send_cmd_get_count(void) {
65 return _cmd_sig_ids.size();
66 }
67
mock_avdt_msg_send_cmd_clear_history(void)68 void mock_avdt_msg_send_cmd_clear_history(void) {
69 _cmd_sig_ids.clear();
70 }
71
mock_avdt_msg_send_cmd_get_sig_id_at(size_t nth)72 uint8_t mock_avdt_msg_send_cmd_get_sig_id_at(size_t nth) {
73 return _cmd_sig_ids[nth];
74 }
75
avdt_msg_send(AvdtpCcb * p_ccb,BT_HDR * p_msg)76 bool avdt_msg_send(AvdtpCcb* p_ccb, BT_HDR* p_msg) {
77 mock_function_count_map[__func__]++;
78 return true;
79 }
80
81 const uint8_t avdt_msg_rej_2_evt[AVDT_CCB_NUM_ACTIONS] = { };