Loading system/gd/hci/controller.cc +32 −0 Original line number Diff line number Diff line Loading @@ -149,6 +149,9 @@ struct Controller::impl { uint16_t handle = completed_packets.connection_handle_; uint16_t credits = completed_packets.host_num_of_completed_packets_; acl_credits_callback_.Invoke(handle, credits); if (!acl_monitor_credits_callback_.IsEmpty()) { acl_monitor_credits_callback_.Invoke(handle, credits); } } } Loading @@ -162,6 +165,26 @@ struct Controller::impl { acl_credits_callback_ = {}; } void register_completed_monitor_acl_packets_callback(CompletedAclPacketsCallback callback) { ASSERT(acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = callback; } void unregister_completed_monitor_acl_packets_callback() { ASSERT(!acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = {}; } void register_monitor_completed_acl_packets_callback(CompletedAclPacketsCallback callback) { ASSERT(acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = callback; } void unregister_monitor_completed_acl_packets_callback() { ASSERT(!acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = {}; } void read_local_name_complete_handler(CommandCompleteView view) { auto complete_view = ReadLocalNameCompleteView::Create(view); ASSERT(complete_view.IsValid()); Loading Loading @@ -777,6 +800,7 @@ struct Controller::impl { HciLayer* hci_; CompletedAclPacketsCallback acl_credits_callback_{}; CompletedAclPacketsCallback acl_monitor_credits_callback_{}; LocalVersionInformation local_version_information_; std::array<uint8_t, 64> local_supported_commands_; uint8_t maximum_page_number_; Loading Loading @@ -813,6 +837,14 @@ void Controller::UnregisterCompletedAclPacketsCallback() { CallOn(impl_.get(), &impl::unregister_completed_acl_packets_callback); } void Controller::RegisterCompletedMonitorAclPacketsCallback(CompletedAclPacketsCallback cb) { CallOn(impl_.get(), &impl::register_completed_monitor_acl_packets_callback, cb); } void Controller::UnregisterCompletedMonitorAclPacketsCallback() { CallOn(impl_.get(), &impl::unregister_completed_monitor_acl_packets_callback); } std::string Controller::GetLocalName() const { return impl_->local_name_; } Loading system/gd/hci/controller.h +3 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,9 @@ class Controller : public Module { virtual void UnregisterCompletedAclPacketsCallback(); virtual void RegisterCompletedMonitorAclPacketsCallback(CompletedAclPacketsCallback cb); virtual void UnregisterCompletedMonitorAclPacketsCallback(); virtual std::string GetLocalName() const; virtual LocalVersionInformation GetLocalVersionInformation() const; Loading Loading
system/gd/hci/controller.cc +32 −0 Original line number Diff line number Diff line Loading @@ -149,6 +149,9 @@ struct Controller::impl { uint16_t handle = completed_packets.connection_handle_; uint16_t credits = completed_packets.host_num_of_completed_packets_; acl_credits_callback_.Invoke(handle, credits); if (!acl_monitor_credits_callback_.IsEmpty()) { acl_monitor_credits_callback_.Invoke(handle, credits); } } } Loading @@ -162,6 +165,26 @@ struct Controller::impl { acl_credits_callback_ = {}; } void register_completed_monitor_acl_packets_callback(CompletedAclPacketsCallback callback) { ASSERT(acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = callback; } void unregister_completed_monitor_acl_packets_callback() { ASSERT(!acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = {}; } void register_monitor_completed_acl_packets_callback(CompletedAclPacketsCallback callback) { ASSERT(acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = callback; } void unregister_monitor_completed_acl_packets_callback() { ASSERT(!acl_monitor_credits_callback_.IsEmpty()); acl_monitor_credits_callback_ = {}; } void read_local_name_complete_handler(CommandCompleteView view) { auto complete_view = ReadLocalNameCompleteView::Create(view); ASSERT(complete_view.IsValid()); Loading Loading @@ -777,6 +800,7 @@ struct Controller::impl { HciLayer* hci_; CompletedAclPacketsCallback acl_credits_callback_{}; CompletedAclPacketsCallback acl_monitor_credits_callback_{}; LocalVersionInformation local_version_information_; std::array<uint8_t, 64> local_supported_commands_; uint8_t maximum_page_number_; Loading Loading @@ -813,6 +837,14 @@ void Controller::UnregisterCompletedAclPacketsCallback() { CallOn(impl_.get(), &impl::unregister_completed_acl_packets_callback); } void Controller::RegisterCompletedMonitorAclPacketsCallback(CompletedAclPacketsCallback cb) { CallOn(impl_.get(), &impl::register_completed_monitor_acl_packets_callback, cb); } void Controller::UnregisterCompletedMonitorAclPacketsCallback() { CallOn(impl_.get(), &impl::unregister_completed_monitor_acl_packets_callback); } std::string Controller::GetLocalName() const { return impl_->local_name_; } Loading
system/gd/hci/controller.h +3 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,9 @@ class Controller : public Module { virtual void UnregisterCompletedAclPacketsCallback(); virtual void RegisterCompletedMonitorAclPacketsCallback(CompletedAclPacketsCallback cb); virtual void UnregisterCompletedMonitorAclPacketsCallback(); virtual std::string GetLocalName() const; virtual LocalVersionInformation GetLocalVersionInformation() const; Loading