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

Commit bad90728 authored by Chris Manton's avatar Chris Manton
Browse files

Gd shim updates

Bug: 144170407
Test: CtsVerifier with rfcomm client server test
Change-Id: Ie04664c8d6acb7b2c2e41006ed897eb85f4566b4
parent 4c57064c
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -28,25 +28,25 @@ namespace bluetooth {
namespace shim {

using ConnectionClosedCallback = std::function<void(uint16_t cid, int error_code)>;
using Postable = std::function<void(std::function<void(uint16_t cid)>)>;
using ConnectionOpenCallback = std::function<void(uint16_t psm, uint16_t cid, Postable postable)>;
using ConnectionOpenCallback = std::function<void(std::string string_address, uint16_t psm, uint16_t cid)>;
using ReadDataReadyCallback = std::function<void(uint16_t cid, std::vector<const uint8_t> data)>;

struct IL2cap {
  virtual void RegisterService(uint16_t psm, ConnectionOpenCallback on_open, std::promise<void> completed) = 0;
  virtual void UnregisterService(uint16_t psm) = 0;

  virtual void CreateConnection(uint16_t psm, const std::string address, std::promise<uint16_t> completed) = 0;
  virtual void CreateConnection(uint16_t psm, const std::string address, ConnectionOpenCallback on_open,
                                std::promise<uint16_t> completed) = 0;
  virtual void CloseConnection(uint16_t cid) = 0;

  virtual void SetReadDataReadyCallback(uint16_t cid, ReadDataReadyCallback on_data_ready) = 0;
  virtual void SetConnectionClosedCallback(uint16_t cid, ConnectionClosedCallback on_closed) = 0;

  virtual bool Write(uint16_t cid, const uint8_t* data, size_t len) = 0;
  virtual bool WriteFlushable(uint16_t cid, const uint8_t* data, size_t len) = 0;
  virtual bool WriteNonFlushable(uint16_t cid, const uint8_t* data, size_t len) = 0;
  virtual void Write(uint16_t cid, const uint8_t* data, size_t len) = 0;
  virtual void WriteFlushable(uint16_t cid, const uint8_t* data, size_t len) = 0;
  virtual void WriteNonFlushable(uint16_t cid, const uint8_t* data, size_t len) = 0;

  virtual bool IsCongested(uint16_t cid) = 0;
  virtual void SendLoopbackResponse(std::function<void()>) = 0;
  virtual ~IL2cap() {}
};

+155 −142

File changed.

Preview size limit exceeded, changes collapsed.

+6 −5
Original line number Diff line number Diff line
@@ -32,17 +32,18 @@ class L2cap : public bluetooth::Module, public bluetooth::shim::IL2cap {
  void RegisterService(uint16_t psm, ConnectionOpenCallback on_open, std::promise<void> completed) override;
  void UnregisterService(uint16_t psm) override;

  void CreateConnection(uint16_t psm, const std::string address, std::promise<uint16_t> completed) override;
  void CreateConnection(uint16_t psm, const std::string address_string, ConnectionOpenCallback on_open,
                        std::promise<uint16_t> completed) override;
  void CloseConnection(uint16_t cid) override;

  void SetReadDataReadyCallback(uint16_t cid, ReadDataReadyCallback on_data_ready) override;
  void SetConnectionClosedCallback(uint16_t cid, ConnectionClosedCallback on_closed) override;

  bool Write(uint16_t cid, const uint8_t* data, size_t len) override;
  bool WriteFlushable(uint16_t cid, const uint8_t* data, size_t len) override;
  bool WriteNonFlushable(uint16_t cid, const uint8_t* data, size_t len) override;
  void Write(uint16_t cid, const uint8_t* data, size_t len) override;
  void WriteFlushable(uint16_t cid, const uint8_t* data, size_t len) override;
  void WriteNonFlushable(uint16_t cid, const uint8_t* data, size_t len) override;

  bool IsCongested(uint16_t cid) override;
  void SendLoopbackResponse(std::function<void()>) override;

  L2cap() = default;
  ~L2cap() = default;
+13 −15

File changed.

Preview size limit exceeded, changes collapsed.

+2 −3
Original line number Diff line number Diff line
@@ -54,9 +54,8 @@ class L2cap {
                       bool enable_snoop);
  void UnregisterService(uint16_t psm);
  uint16_t CreateConnection(uint16_t psm, const RawAddress& raw_address);
  void OnConnectionReady(
      uint16_t psm, uint16_t cid,
      std::function<void(std::function<void(uint16_t cid)>)> func);
  void OnConnectionReady(std::string address_string, uint16_t psm,
                         uint16_t cid);

  bool Write(uint16_t cid, BT_HDR* bt_hdr);
  bool WriteFlushable(uint16_t cid, BT_HDR* bt_hdr);
Loading