Loading system/bta/csis/csis_client.cc +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <hardware/bt_gatt_types.h> #include <list> #include <mutex> #include <string> #include <vector> Loading Loading @@ -67,6 +68,7 @@ using bluetooth::groups::DeviceGroupsCallbacks; namespace { class CsisClientImpl; CsisClientImpl* instance; std::mutex instance_mutex; DeviceGroupsCallbacks* device_group_callbacks; /** Loading Loading @@ -2041,6 +2043,7 @@ DeviceGroupsCallbacksImpl deviceGroupsCallbacksImpl; void CsisClient::Initialize(bluetooth::csis::CsisClientCallbacks* callbacks, Closure initCb) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance) { LOG(ERROR) << __func__ << ": Already initialized!"; return; Loading Loading @@ -2079,6 +2082,7 @@ bool CsisClient::GetForStorage(const RawAddress& addr, } void CsisClient::CleanUp() { std::scoped_lock<std::mutex> lock(instance_mutex); CsisClientImpl* ptr = instance; instance = nullptr; Loading @@ -2089,6 +2093,7 @@ void CsisClient::CleanUp() { } void CsisClient::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Coordinated Set Service Client:\n"); if (instance) instance->Dump(fd); dprintf(fd, "\n"); Loading system/bta/groups/groups.cc +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <algorithm> #include <limits> #include <map> #include <mutex> #include <unordered_set> #include "bta_groups.h" Loading @@ -34,6 +35,7 @@ namespace groups { class DeviceGroupsImpl; DeviceGroupsImpl* instance; std::mutex instance_mutex; static constexpr int kMaxGroupId = 0xEF; class DeviceGroup { Loading Loading @@ -328,6 +330,7 @@ class DeviceGroupsImpl : public DeviceGroups { }; void DeviceGroups::Initialize(DeviceGroupsCallbacks* callbacks) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance == nullptr) { instance = new DeviceGroupsImpl(callbacks); return; Loading Loading @@ -357,6 +360,7 @@ bool DeviceGroups::GetForStorage(const RawAddress& addr, } void DeviceGroups::CleanUp(DeviceGroupsCallbacks* callbacks) { std::scoped_lock<std::mutex> lock(instance_mutex); if (!instance) return; if (instance->Clear(callbacks)) { Loading @@ -377,6 +381,7 @@ std::ostream& operator<<(std::ostream& out, } void DeviceGroups::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Device Groups Manager:\n"); if (instance) instance->Dump(fd); Loading system/bta/has/has_client.cc +5 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <list> #include <map> #include <mutex> #include <string> #include <vector> Loading Loading @@ -91,6 +92,7 @@ extern bool gatt_profile_get_eatt_support(const RawAddress& remote_bda); namespace { class HasClientImpl; HasClientImpl* instance; std::mutex instance_mutex; /** * ----------------------------------------------------------------------------- Loading Loading @@ -2112,6 +2114,7 @@ alarm_callback_t HasCtpGroupOpCoordinator::cb = [](void*) {}; void HasClient::Initialize(bluetooth::has::HasClientCallbacks* callbacks, base::Closure initCb) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance) { LOG(ERROR) << "Already initialized!"; return; Loading Loading @@ -2140,6 +2143,7 @@ void HasClient::AddFromStorage(const RawAddress& addr, uint8_t features, }; void HasClient::CleanUp() { std::scoped_lock<std::mutex> lock(instance_mutex); HasClientImpl* ptr = instance; instance = nullptr; Loading @@ -2152,6 +2156,7 @@ void HasClient::CleanUp() { }; void HasClient::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Hearing Access Service Client:\n"); if (instance) instance->Dump(fd); Loading system/bta/hearing_aid/hearing_aid.cc +5 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <base/strings/string_number_conversions.h> // HexEncode #include <cstdint> #include <mutex> #include <vector> #include "bta/include/bta_gatt_api.h" Loading Loading @@ -125,6 +126,7 @@ inline uint8_t* get_l2cap_sdu_start_ptr(BT_HDR* msg) { class HearingAidImpl; HearingAidImpl* instance; std::mutex instance_mutex; HearingAidAudioReceiver* audioReceiver; class HearingDevices { Loading Loading @@ -2018,6 +2020,7 @@ HearingAidAudioReceiverImpl audioReceiverImpl; void HearingAid::Initialize( bluetooth::hearing_aid::HearingAidCallbacks* callbacks, Closure initCb) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance) { LOG_ERROR("Already initialized!"); return; Loading Loading @@ -2081,6 +2084,7 @@ int HearingAid::GetDeviceCount() { } void HearingAid::CleanUp() { std::scoped_lock<std::mutex> lock(instance_mutex); // Must stop audio source to make sure it doesn't call any of callbacks on our // soon to be null instance HearingAidAudioSource::Stop(); Loading @@ -2095,6 +2099,7 @@ void HearingAid::CleanUp() { }; void HearingAid::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Hearing Aid Manager:\n"); if (instance) instance->Dump(fd); HearingAidAudioSource::DebugDump(fd); Loading system/bta/le_audio/broadcaster/broadcaster.cc +6 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ #include <base/functional/bind.h> #include <mutex> #include "bta/include/bta_le_audio_api.h" #include "bta/include/bta_le_audio_broadcaster_api.h" #include "bta/le_audio/broadcaster/state_machine.h" Loading Loading @@ -62,6 +64,7 @@ using le_audio::utils::GetAllowedAudioContextsFromSourceMetadata; namespace { class LeAudioBroadcasterImpl; LeAudioBroadcasterImpl* instance; std::mutex instance_mutex; /* Class definitions */ Loading Loading @@ -1019,6 +1022,7 @@ LeAudioBroadcasterImpl::LeAudioSourceCallbacksImpl void LeAudioBroadcaster::Initialize( bluetooth::le_audio::LeAudioBroadcasterCallbacks* callbacks, base::Callback<bool()> audio_hal_verifier) { std::scoped_lock<std::mutex> lock(instance_mutex); LOG_INFO(); if (instance) { LOG_ERROR("Already initialized"); Loading Loading @@ -1059,6 +1063,7 @@ void LeAudioBroadcaster::Stop(void) { } void LeAudioBroadcaster::Cleanup(void) { std::scoped_lock<std::mutex> lock(instance_mutex); LOG_INFO(); if (instance == nullptr) return; Loading @@ -1071,6 +1076,7 @@ void LeAudioBroadcaster::Cleanup(void) { } void LeAudioBroadcaster::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Le Audio Broadcaster:\n"); if (instance) instance->Dump(fd); dprintf(fd, "\n"); Loading Loading
system/bta/csis/csis_client.cc +5 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <hardware/bt_gatt_types.h> #include <list> #include <mutex> #include <string> #include <vector> Loading Loading @@ -67,6 +68,7 @@ using bluetooth::groups::DeviceGroupsCallbacks; namespace { class CsisClientImpl; CsisClientImpl* instance; std::mutex instance_mutex; DeviceGroupsCallbacks* device_group_callbacks; /** Loading Loading @@ -2041,6 +2043,7 @@ DeviceGroupsCallbacksImpl deviceGroupsCallbacksImpl; void CsisClient::Initialize(bluetooth::csis::CsisClientCallbacks* callbacks, Closure initCb) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance) { LOG(ERROR) << __func__ << ": Already initialized!"; return; Loading Loading @@ -2079,6 +2082,7 @@ bool CsisClient::GetForStorage(const RawAddress& addr, } void CsisClient::CleanUp() { std::scoped_lock<std::mutex> lock(instance_mutex); CsisClientImpl* ptr = instance; instance = nullptr; Loading @@ -2089,6 +2093,7 @@ void CsisClient::CleanUp() { } void CsisClient::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Coordinated Set Service Client:\n"); if (instance) instance->Dump(fd); dprintf(fd, "\n"); Loading
system/bta/groups/groups.cc +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <algorithm> #include <limits> #include <map> #include <mutex> #include <unordered_set> #include "bta_groups.h" Loading @@ -34,6 +35,7 @@ namespace groups { class DeviceGroupsImpl; DeviceGroupsImpl* instance; std::mutex instance_mutex; static constexpr int kMaxGroupId = 0xEF; class DeviceGroup { Loading Loading @@ -328,6 +330,7 @@ class DeviceGroupsImpl : public DeviceGroups { }; void DeviceGroups::Initialize(DeviceGroupsCallbacks* callbacks) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance == nullptr) { instance = new DeviceGroupsImpl(callbacks); return; Loading Loading @@ -357,6 +360,7 @@ bool DeviceGroups::GetForStorage(const RawAddress& addr, } void DeviceGroups::CleanUp(DeviceGroupsCallbacks* callbacks) { std::scoped_lock<std::mutex> lock(instance_mutex); if (!instance) return; if (instance->Clear(callbacks)) { Loading @@ -377,6 +381,7 @@ std::ostream& operator<<(std::ostream& out, } void DeviceGroups::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Device Groups Manager:\n"); if (instance) instance->Dump(fd); Loading
system/bta/has/has_client.cc +5 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <list> #include <map> #include <mutex> #include <string> #include <vector> Loading Loading @@ -91,6 +92,7 @@ extern bool gatt_profile_get_eatt_support(const RawAddress& remote_bda); namespace { class HasClientImpl; HasClientImpl* instance; std::mutex instance_mutex; /** * ----------------------------------------------------------------------------- Loading Loading @@ -2112,6 +2114,7 @@ alarm_callback_t HasCtpGroupOpCoordinator::cb = [](void*) {}; void HasClient::Initialize(bluetooth::has::HasClientCallbacks* callbacks, base::Closure initCb) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance) { LOG(ERROR) << "Already initialized!"; return; Loading Loading @@ -2140,6 +2143,7 @@ void HasClient::AddFromStorage(const RawAddress& addr, uint8_t features, }; void HasClient::CleanUp() { std::scoped_lock<std::mutex> lock(instance_mutex); HasClientImpl* ptr = instance; instance = nullptr; Loading @@ -2152,6 +2156,7 @@ void HasClient::CleanUp() { }; void HasClient::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Hearing Access Service Client:\n"); if (instance) instance->Dump(fd); Loading
system/bta/hearing_aid/hearing_aid.cc +5 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ #include <base/strings/string_number_conversions.h> // HexEncode #include <cstdint> #include <mutex> #include <vector> #include "bta/include/bta_gatt_api.h" Loading Loading @@ -125,6 +126,7 @@ inline uint8_t* get_l2cap_sdu_start_ptr(BT_HDR* msg) { class HearingAidImpl; HearingAidImpl* instance; std::mutex instance_mutex; HearingAidAudioReceiver* audioReceiver; class HearingDevices { Loading Loading @@ -2018,6 +2020,7 @@ HearingAidAudioReceiverImpl audioReceiverImpl; void HearingAid::Initialize( bluetooth::hearing_aid::HearingAidCallbacks* callbacks, Closure initCb) { std::scoped_lock<std::mutex> lock(instance_mutex); if (instance) { LOG_ERROR("Already initialized!"); return; Loading Loading @@ -2081,6 +2084,7 @@ int HearingAid::GetDeviceCount() { } void HearingAid::CleanUp() { std::scoped_lock<std::mutex> lock(instance_mutex); // Must stop audio source to make sure it doesn't call any of callbacks on our // soon to be null instance HearingAidAudioSource::Stop(); Loading @@ -2095,6 +2099,7 @@ void HearingAid::CleanUp() { }; void HearingAid::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Hearing Aid Manager:\n"); if (instance) instance->Dump(fd); HearingAidAudioSource::DebugDump(fd); Loading
system/bta/le_audio/broadcaster/broadcaster.cc +6 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ #include <base/functional/bind.h> #include <mutex> #include "bta/include/bta_le_audio_api.h" #include "bta/include/bta_le_audio_broadcaster_api.h" #include "bta/le_audio/broadcaster/state_machine.h" Loading Loading @@ -62,6 +64,7 @@ using le_audio::utils::GetAllowedAudioContextsFromSourceMetadata; namespace { class LeAudioBroadcasterImpl; LeAudioBroadcasterImpl* instance; std::mutex instance_mutex; /* Class definitions */ Loading Loading @@ -1019,6 +1022,7 @@ LeAudioBroadcasterImpl::LeAudioSourceCallbacksImpl void LeAudioBroadcaster::Initialize( bluetooth::le_audio::LeAudioBroadcasterCallbacks* callbacks, base::Callback<bool()> audio_hal_verifier) { std::scoped_lock<std::mutex> lock(instance_mutex); LOG_INFO(); if (instance) { LOG_ERROR("Already initialized"); Loading Loading @@ -1059,6 +1063,7 @@ void LeAudioBroadcaster::Stop(void) { } void LeAudioBroadcaster::Cleanup(void) { std::scoped_lock<std::mutex> lock(instance_mutex); LOG_INFO(); if (instance == nullptr) return; Loading @@ -1071,6 +1076,7 @@ void LeAudioBroadcaster::Cleanup(void) { } void LeAudioBroadcaster::DebugDump(int fd) { std::scoped_lock<std::mutex> lock(instance_mutex); dprintf(fd, "Le Audio Broadcaster:\n"); if (instance) instance->Dump(fd); dprintf(fd, "\n"); Loading