• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 #include "bta_hearing_aid_api.h"
23 #include "btif/include/btif_profile_storage.h"
24 #include "btif/include/btif_storage.h"
25 
26 using namespace bluetooth;
27 
28 static bluetooth::storage::MockBtifStorageInterface* btif_storage_interface = nullptr;
29 
SetMockBtifStorageInterface(MockBtifStorageInterface * mock_btif_storage_interface)30 void bluetooth::storage::SetMockBtifStorageInterface(
31         MockBtifStorageInterface* mock_btif_storage_interface) {
32   btif_storage_interface = mock_btif_storage_interface;
33 }
34 
btif_storage_set_leaudio_autoconnect(RawAddress const & addr,bool autoconnect)35 void btif_storage_set_leaudio_autoconnect(RawAddress const& addr, bool autoconnect) {
36   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
37   btif_storage_interface->AddLeaudioAutoconnect(addr, autoconnect);
38 }
39 
btif_storage_leaudio_update_pacs_bin(const RawAddress & addr)40 void btif_storage_leaudio_update_pacs_bin(const RawAddress& addr) {
41   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
42   btif_storage_interface->LeAudioUpdatePacs(addr);
43 }
44 
45 /** Store GMAP information */
btif_storage_leaudio_update_gmap_bin(const RawAddress & addr)46 void btif_storage_leaudio_update_gmap_bin(const RawAddress& addr) {
47   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
48   btif_storage_interface->LeAudioUpdateGmap(addr);
49 }
50 
btif_storage_leaudio_update_ase_bin(const RawAddress & addr)51 void btif_storage_leaudio_update_ase_bin(const RawAddress& addr) {
52   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
53   btif_storage_interface->LeAudioUpdateAses(addr);
54 }
55 
btif_storage_leaudio_update_handles_bin(const RawAddress & addr)56 void btif_storage_leaudio_update_handles_bin(const RawAddress& addr) {
57   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
58   btif_storage_interface->LeAudioUpdateHandles(addr);
59 }
60 
btif_storage_set_leaudio_sink_audio_location(const RawAddress & addr,uint32_t sink_location)61 void btif_storage_set_leaudio_sink_audio_location(const RawAddress& addr, uint32_t sink_location) {
62   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
63   btif_storage_interface->SetLeAudioSinkLocations(addr, sink_location);
64 }
65 
btif_storage_set_leaudio_source_audio_location(const RawAddress & addr,uint32_t source_location)66 void btif_storage_set_leaudio_source_audio_location(const RawAddress& addr,
67                                                     uint32_t source_location) {
68   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
69   btif_storage_interface->SetLeAudioSourceLocations(addr, source_location);
70 }
71 
btif_storage_set_leaudio_supported_context_types(const RawAddress & addr,uint16_t sink_supported_context_type,uint16_t source_supported_context_type)72 void btif_storage_set_leaudio_supported_context_types(const RawAddress& addr,
73                                                       uint16_t sink_supported_context_type,
74                                                       uint16_t source_supported_context_type) {
75   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
76   btif_storage_interface->SetLeAudioContexts(addr, sink_supported_context_type,
77                                              source_supported_context_type);
78 }
79 
btif_storage_leaudio_clear_service_data(RawAddress const & addr)80 void btif_storage_leaudio_clear_service_data(RawAddress const& addr) {
81   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
82   btif_storage_interface->ClearLeAudioServiceData(addr);
83 }
84 
btif_storage_remove_leaudio(RawAddress const & addr)85 void btif_storage_remove_leaudio(RawAddress const& addr) {
86   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
87   btif_storage_interface->RemoveLeaudio(addr);
88 }
89 
btif_storage_add_leaudio_has_device(const RawAddress & address,std::vector<uint8_t> presets_bin,uint8_t features,uint8_t active_preset)90 void btif_storage_add_leaudio_has_device(const RawAddress& address,
91                                          std::vector<uint8_t> presets_bin, uint8_t features,
92                                          uint8_t active_preset) {
93   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
94   btif_storage_interface->AddLeaudioHasDevice(address, presets_bin, features, active_preset);
95 }
96 
btif_storage_get_leaudio_has_presets(const RawAddress & address,std::vector<uint8_t> & presets_bin,uint8_t & active_preset)97 bool btif_storage_get_leaudio_has_presets(const RawAddress& address,
98                                           std::vector<uint8_t>& presets_bin,
99                                           uint8_t& active_preset) {
100   if (btif_storage_interface) {
101     return btif_storage_interface->GetLeaudioHasPresets(address, presets_bin, active_preset);
102   }
103 
104   return false;
105 }
106 
btif_storage_set_leaudio_has_presets(const RawAddress & address,std::vector<uint8_t> presets_bin)107 void btif_storage_set_leaudio_has_presets(const RawAddress& address,
108                                           std::vector<uint8_t> presets_bin) {
109   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
110   btif_storage_interface->SetLeaudioHasPresets(address, presets_bin);
111 }
112 
btif_storage_get_leaudio_has_features(const RawAddress & address,uint8_t & features)113 bool btif_storage_get_leaudio_has_features(const RawAddress& address, uint8_t& features) {
114   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
115   return btif_storage_interface->GetLeaudioHasFeatures(address, features);
116 }
117 
btif_storage_set_leaudio_has_features(const RawAddress & address,uint8_t features)118 void btif_storage_set_leaudio_has_features(const RawAddress& address, uint8_t features) {
119   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
120   btif_storage_interface->SetLeaudioHasFeatures(address, features);
121 }
122 
btif_storage_set_leaudio_has_active_preset(const RawAddress & address,uint8_t active_preset)123 void btif_storage_set_leaudio_has_active_preset(const RawAddress& address, uint8_t active_preset) {
124   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
125   btif_storage_interface->SetLeaudioHasActivePreset(address, active_preset);
126 }
127 
btif_storage_remove_leaudio_has(const RawAddress & address)128 void btif_storage_remove_leaudio_has(const RawAddress& address) {
129   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
130   btif_storage_interface->RemoveLeaudioHas(address);
131 }
132 
btif_storage_get_remote_device_property(const RawAddress * address,bt_property_t * property)133 bt_status_t btif_storage_get_remote_device_property(const RawAddress* address,
134                                                     bt_property_t* property) {
135   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
136   return btif_storage_interface->GetRemoteDeviceProperty(address, property);
137 }
138 
139 /** Get the hearing aid device properties. */
btif_storage_get_hearing_aid_prop(const RawAddress & address,uint8_t * capabilities,uint64_t * hi_sync_id,uint16_t * render_delay,uint16_t * preparation_delay,uint16_t * codecs)140 bool btif_storage_get_hearing_aid_prop(const RawAddress& address, uint8_t* capabilities,
141                                        uint64_t* hi_sync_id, uint16_t* render_delay,
142                                        uint16_t* preparation_delay, uint16_t* codecs) {
143   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
144   return btif_storage_interface->GetHearingAidProp(address, capabilities, hi_sync_id, render_delay,
145                                                    preparation_delay, codecs);
146 }
147 
btif_storage_add_hearing_aid(const HearingDevice & dev_info)148 void btif_storage_add_hearing_aid(const HearingDevice& dev_info) {
149   log::assert_that(btif_storage_interface != nullptr, "Mock storage module not set!");
150   return btif_storage_interface->AddHearingAid(&dev_info);
151 }
152