Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cca1041e authored by Hansong Zhang's avatar Hansong Zhang Committed by android-build-merger
Browse files

Merge "L2cap dynamic channel and service" am: 307de677 am: 123a04ad

am: 4a6c0a6a

Change-Id: Id5332708527454b24c0d8fdf3d1617084eabe0e0
parents 50aab20d 4a6c0a6a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -11,8 +11,10 @@ filegroup {
        "classic_fixed_channel_service.cc",
        "internal/classic_dynamic_channel_allocator.cc",
        "internal/classic_dynamic_channel_impl.cc",
        "internal/classic_dynamic_channel_service_manager_impl.cc",
        "internal/classic_fixed_channel_impl.cc",
        "internal/classic_fixed_channel_service_manager_impl.cc",
        "internal/classic_link.cc",
        "internal/classic_link_manager.cc",
        "internal/le_fixed_channel_impl.cc",
        "internal/le_fixed_channel_service_manager_impl.cc",
@@ -30,6 +32,7 @@ filegroup {
        "l2cap_packet_test.cc",
        "internal/classic_dynamic_channel_allocator_test.cc",
        "internal/classic_dynamic_channel_impl_test.cc",
        "internal/classic_dynamic_channel_service_manager_test.cc",
        "internal/classic_fixed_channel_impl_test.cc",
        "internal/classic_fixed_channel_service_manager_test.cc",
        "internal/classic_link_manager_test.cc",
+12 −0
Original line number Diff line number Diff line
@@ -9,6 +9,8 @@ service L2capModuleCert {
  rpc SendL2capPacket(L2capPacket) returns (google.protobuf.Empty) {}
  rpc FetchL2capData(facade.EventStreamRequest) returns (stream L2capPacket) {}
  rpc FetchConnectionComplete(facade.EventStreamRequest) returns (stream ConnectionCompleteEvent) {}
  rpc DisconnectLink(DisconnectLinkRequest) returns (google.protobuf.Empty) {}
  rpc SendConnectionRequest(ConnectionRequest) returns (google.protobuf.Empty) {}
}

message L2capPacket {
@@ -20,3 +22,13 @@ message L2capPacket {
message ConnectionCompleteEvent {
  facade.BluetoothAddress remote = 1;
}

message DisconnectLinkRequest {
  facade.BluetoothAddress remote = 1;
}

message ConnectionRequest {
  facade.BluetoothAddress remote = 1;
  uint32 dcid = 2;
  uint32 scid = 3;
}
+10 −4
Original line number Diff line number Diff line
@@ -16,22 +16,28 @@

#include "l2cap/classic_dynamic_channel.h"
#include "common/bind.h"
#include "l2cap/internal/classic_dynamic_channel_impl.h"

namespace bluetooth {
namespace l2cap {

hci::Address ClassicDynamicChannel::GetDevice() const {
  return {};
  return impl_->GetDevice();
}

void ClassicDynamicChannel::RegisterOnCloseCallback(os::Handler* user_handler,
                                                    ClassicDynamicChannel::OnCloseCallback on_close_callback) {}
                                                    ClassicDynamicChannel::OnCloseCallback on_close_callback) {
  l2cap_handler_->Post(common::BindOnce(&internal::ClassicDynamicChannelImpl::RegisterOnCloseCallback, impl_,
                                        user_handler, std::move(on_close_callback)));
}

void ClassicDynamicChannel::Close() {}
void ClassicDynamicChannel::Close() {
  l2cap_handler_->Post(common::BindOnce(&internal::ClassicDynamicChannelImpl::Close, impl_));
}

common::BidiQueueEnd<packet::BasePacketBuilder, packet::PacketView<packet::kLittleEndian>>*
ClassicDynamicChannel::GetQueueUpEnd() const {
  return nullptr;
  return impl_->GetQueueUpEnd();
}
}  // namespace l2cap
}  // namespace bluetooth
 No newline at end of file
+11 −1
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */

#include "l2cap/classic_dynamic_channel_manager.h"
#include "l2cap/internal/classic_dynamic_channel_service_impl.h"
#include "l2cap/internal/classic_dynamic_channel_service_manager_impl.h"
#include "l2cap/internal/classic_link_manager.h"

namespace bluetooth {
@@ -30,7 +32,15 @@ bool ClassicDynamicChannelManager::ConnectChannel(hci::Address device, Psm psm,
bool ClassicDynamicChannelManager::RegisterService(Psm psm, const SecurityPolicy& security_policy,
                                                   OnRegistrationCompleteCallback on_registration_complete,
                                                   OnConnectionOpenCallback on_connection_open, os::Handler* handler) {
  return false;
  internal::ClassicDynamicChannelServiceImpl::PendingRegistration pending_registration{
      .user_handler_ = handler,
      .on_registration_complete_callback_ = std::move(on_registration_complete),
      .on_connection_open_callback_ = std::move(on_connection_open)};
  l2cap_layer_handler_->Post(common::BindOnce(&internal::ClassicDynamicChannelServiceManagerImpl::Register,
                                              common::Unretained(service_manager_), psm,
                                              std::move(pending_registration)));

  return true;
}

}  // namespace l2cap
+7 −1
Original line number Diff line number Diff line
@@ -16,12 +16,18 @@

#include "l2cap/classic_dynamic_channel_service.h"
#include "common/bind.h"
#include "l2cap/internal/classic_dynamic_channel_service_manager_impl.h"

namespace bluetooth {
namespace l2cap {

void ClassicDynamicChannelService::Unregister(OnUnregisteredCallback on_unregistered,
                                              os::Handler* on_unregistered_handler) {}
                                              os::Handler* on_unregistered_handler) {
  ASSERT_LOG(manager_ != nullptr, "this service is invalid");
  l2cap_layer_handler_->Post(common::BindOnce(&internal::ClassicDynamicChannelServiceManagerImpl::Unregister,
                                              common::Unretained(manager_), psm_, std::move(on_unregistered),
                                              on_unregistered_handler));
}

}  // namespace l2cap
}  // namespace bluetooth
Loading