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

Commit 5c1e1a99 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Gd shim updates"

parents 7c5aa34e bad90728
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