1 /*
2  * Copyright 2021 HIMSA II K/S - www.himsa.com.
3  * Represented by EHIMA - www.ehima.com
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #include "bta_gatt_queue_mock.h"
19 
20 #include <bluetooth/log.h>
21 
22 static gatt::MockBtaGattQueue* gatt_queue = nullptr;
23 
SetMockBtaGattQueue(MockBtaGattQueue * mock_bta_gatt_queue)24 void gatt::SetMockBtaGattQueue(MockBtaGattQueue* mock_bta_gatt_queue) {
25   gatt_queue = mock_bta_gatt_queue;
26 }
27 
Clean(uint16_t conn_id)28 void BtaGattQueue::Clean(uint16_t conn_id) { gatt_queue->Clean(conn_id); }
29 
ReadCharacteristic(uint16_t conn_id,uint16_t handle,GATT_READ_OP_CB cb,void * cb_data)30 void BtaGattQueue::ReadCharacteristic(uint16_t conn_id, uint16_t handle,
31                                       GATT_READ_OP_CB cb, void* cb_data) {
32   gatt_queue->ReadCharacteristic(conn_id, handle, cb, cb_data);
33 }
34 
WriteCharacteristic(uint16_t conn_id,uint16_t handle,std::vector<uint8_t> value,tGATT_WRITE_TYPE write_type,GATT_WRITE_OP_CB cb,void * cb_data)35 void BtaGattQueue::WriteCharacteristic(uint16_t conn_id, uint16_t handle,
36                                        std::vector<uint8_t> value,
37                                        tGATT_WRITE_TYPE write_type,
38                                        GATT_WRITE_OP_CB cb, void* cb_data) {
39   gatt_queue->WriteCharacteristic(conn_id, handle, value, write_type, cb,
40                                   cb_data);
41 }
42 
WriteDescriptor(uint16_t conn_id,uint16_t handle,std::vector<uint8_t> value,tGATT_WRITE_TYPE write_type,GATT_WRITE_OP_CB cb,void * cb_data)43 void BtaGattQueue::WriteDescriptor(uint16_t conn_id, uint16_t handle,
44                                    std::vector<uint8_t> value,
45                                    tGATT_WRITE_TYPE write_type,
46                                    GATT_WRITE_OP_CB cb, void* cb_data) {
47   gatt_queue->WriteDescriptor(conn_id, handle, value, write_type, cb, cb_data);
48 }
49 
ConfigureMtu(uint16_t conn_id,uint16_t mtu)50 void BtaGattQueue::ConfigureMtu(uint16_t conn_id, uint16_t mtu) {
51   bluetooth::log::assert_that(gatt_queue, "Mock GATT queue not set!");
52   gatt_queue->ConfigureMtu(conn_id, mtu);
53 }
54 
ReadMultiCharacteristic(uint16_t conn_id,tBTA_GATTC_MULTI & p_read_multi,bool variable_len,GATT_READ_MULTI_OP_CB cb,void * cb_data)55 void BtaGattQueue::ReadMultiCharacteristic(uint16_t conn_id,
56                                            tBTA_GATTC_MULTI& p_read_multi,
57                                            bool variable_len,
58                                            GATT_READ_MULTI_OP_CB cb,
59                                            void* cb_data) {
60   bluetooth::log::assert_that(gatt_queue, "Mock GATT queue not set!");
61   gatt_queue->ReadMultiCharacteristic(conn_id, p_read_multi, variable_len, cb,
62                                       cb_data);
63 }
64