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 "btif_storage_mock.h"
19
20 #include <bluetooth/log.h>
21
22 // TODO(b/369381361) Enfore -Wmissing-prototypes
23 #pragma GCC diagnostic ignored "-Wmissing-prototypes"
24
25 using namespace bluetooth;
26
27 static bluetooth::storage::MockBtifStorageInterface* btif_storage_interface = nullptr;
28
SetMockBtifStorageInterface(MockBtifStorageInterface * mock_btif_storage_interface)29 void bluetooth::storage::SetMockBtifStorageInterface(
30 MockBtifStorageInterface* mock_btif_storage_interface) {
31 btif_storage_interface = mock_btif_storage_interface;
32 }
33
btif_storage_set_leaudio_autoconnect(RawAddress const & addr,bool autoconnect)34 void btif_storage_set_leaudio_autoconnect(RawAddress const& addr, bool autoconnect) {
35 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
36 btif_storage_interface->AddLeaudioAutoconnect(addr, autoconnect);
37 }
38
btif_storage_leaudio_update_pacs_bin(const RawAddress & addr)39 void btif_storage_leaudio_update_pacs_bin(const RawAddress& addr) {
40 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
41 btif_storage_interface->LeAudioUpdatePacs(addr);
42 }
43
btif_storage_leaudio_update_ase_bin(const RawAddress & addr)44 void btif_storage_leaudio_update_ase_bin(const RawAddress& addr) {
45 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
46 btif_storage_interface->LeAudioUpdateAses(addr);
47 }
48
btif_storage_leaudio_update_handles_bin(const RawAddress & addr)49 void btif_storage_leaudio_update_handles_bin(const RawAddress& addr) {
50 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
51 btif_storage_interface->LeAudioUpdateHandles(addr);
52 }
53
btif_storage_set_leaudio_audio_location(const RawAddress & addr,uint32_t sink_location,uint32_t source_location)54 void btif_storage_set_leaudio_audio_location(const RawAddress& addr, uint32_t sink_location,
55 uint32_t source_location) {
56 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
57 btif_storage_interface->SetLeAudioLocations(addr, sink_location, source_location);
58 }
59
btif_storage_set_leaudio_supported_context_types(const RawAddress & addr,uint16_t sink_supported_context_type,uint16_t source_supported_context_type)60 void btif_storage_set_leaudio_supported_context_types(const RawAddress& addr,
61 uint16_t sink_supported_context_type,
62 uint16_t source_supported_context_type) {
63 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
64 btif_storage_interface->SetLeAudioContexts(addr, sink_supported_context_type,
65 source_supported_context_type);
66 }
67
btif_storage_leaudio_clear_service_data(RawAddress const & addr)68 void btif_storage_leaudio_clear_service_data(RawAddress const& addr) {
69 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
70 btif_storage_interface->ClearLeAudioServiceData(addr);
71 }
72
btif_storage_remove_leaudio(RawAddress const & addr)73 void btif_storage_remove_leaudio(RawAddress const& addr) {
74 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
75 btif_storage_interface->RemoveLeaudio(addr);
76 }
77
btif_storage_add_leaudio_has_device(const RawAddress & address,std::vector<uint8_t> presets_bin,uint8_t features,uint8_t active_preset)78 void btif_storage_add_leaudio_has_device(const RawAddress& address,
79 std::vector<uint8_t> presets_bin, uint8_t features,
80 uint8_t active_preset) {
81 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
82 btif_storage_interface->AddLeaudioHasDevice(address, presets_bin, features, active_preset);
83 }
84
btif_storage_get_leaudio_has_presets(const RawAddress & address,std::vector<uint8_t> & presets_bin,uint8_t & active_preset)85 bool btif_storage_get_leaudio_has_presets(const RawAddress& address,
86 std::vector<uint8_t>& presets_bin,
87 uint8_t& active_preset) {
88 if (btif_storage_interface) {
89 return btif_storage_interface->GetLeaudioHasPresets(address, presets_bin, active_preset);
90 }
91
92 return false;
93 }
94
btif_storage_set_leaudio_has_presets(const RawAddress & address,std::vector<uint8_t> presets_bin)95 void btif_storage_set_leaudio_has_presets(const RawAddress& address,
96 std::vector<uint8_t> presets_bin) {
97 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
98 btif_storage_interface->SetLeaudioHasPresets(address, presets_bin);
99 }
100
btif_storage_get_leaudio_has_features(const RawAddress & address,uint8_t & features)101 bool btif_storage_get_leaudio_has_features(const RawAddress& address, uint8_t& features) {
102 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
103 return btif_storage_interface->GetLeaudioHasFeatures(address, features);
104 }
105
btif_storage_set_leaudio_has_features(const RawAddress & address,uint8_t features)106 void btif_storage_set_leaudio_has_features(const RawAddress& address, uint8_t features) {
107 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
108 btif_storage_interface->SetLeaudioHasFeatures(address, features);
109 }
110
btif_storage_set_leaudio_has_active_preset(const RawAddress & address,uint8_t active_preset)111 void btif_storage_set_leaudio_has_active_preset(const RawAddress& address, uint8_t active_preset) {
112 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
113 btif_storage_interface->SetLeaudioHasActivePreset(address, active_preset);
114 }
115
btif_storage_remove_leaudio_has(const RawAddress & address)116 void btif_storage_remove_leaudio_has(const RawAddress& address) {
117 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
118 btif_storage_interface->RemoveLeaudioHas(address);
119 }
120
btif_storage_get_remote_device_property(const RawAddress * address,bt_property_t * property)121 bt_status_t btif_storage_get_remote_device_property(const RawAddress* address,
122 bt_property_t* property) {
123 log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
124 return btif_storage_interface->GetRemoteDeviceProperty(address, property);
125 }
126