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

Commit 2461fd9c authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Standardize l2cap shim naming"

parents acf01af5 71f3f59f
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#pragma once

#include <cstdint>
#include <functional>
#include <future>
#include <string>
#include <vector>
@@ -26,20 +27,22 @@
namespace bluetooth {
namespace shim {

using OnReadDataReady = std::function<void(uint16_t cid, std::vector<const uint8_t> data)>;
using OnClose = std::function<void(int error_code)>;
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 ReadDataReadyCallback = std::function<void(uint16_t cid, std::vector<const uint8_t> data)>;

struct IL2cap {
  virtual void RegisterService(uint16_t psm, bool snoop_enabled, std::promise<void> completed) = 0;
  virtual void Connect(uint16_t psm, const std::string address, std::promise<uint16_t> completed) = 0;
  virtual void RegisterService(uint16_t psm, ConnectionOpenCallback on_open, std::promise<void> completed) = 0;
  virtual void CreateConnection(uint16_t psm, const std::string address, std::promise<uint16_t> completed) = 0;

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

  virtual void SetOnReadDataReady(uint16_t cid, OnReadDataReady on_data_ready) = 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 SetOnClose(uint16_t cid, OnClose on_close) = 0;

  virtual bool IsCongested(uint16_t cid) = 0;
  virtual ~IL2cap() {}
};
+164 −109

File changed.

Preview size limit exceeded, changes collapsed.

+6 −5
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#pragma once

#include <cstdint>
#include <functional>
#include <future>
#include <memory>
#include <string>
@@ -28,16 +29,16 @@ namespace shim {

class L2cap : public bluetooth::Module, public bluetooth::shim::IL2cap {
 public:
  void RegisterService(uint16_t psm, bool snoop_enabled, std::promise<void> register_completed) override;
  void Connect(uint16_t psm, const std::string address, std::promise<uint16_t> connect_completed) override;
  void RegisterService(uint16_t psm, ConnectionOpenCallback on_open, std::promise<void> completed) override;
  void CreateConnection(uint16_t psm, const std::string address, std::promise<uint16_t> completed) override;

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

  void SetOnReadDataReady(uint16_t cid, OnReadDataReady on_data_ready) 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;

  virtual void SetOnClose(uint16_t cid, OnClose on_close) override;

  bool IsCongested(uint16_t cid) override;

  L2cap() = default;
+3 −3
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#include "main/shim/shim.h"
#include "osi/include/log.h"

static bluetooth::shim::L2cap shim_l2cap;
static bluetooth::legacy::shim::L2cap shim_l2cap;

/**
 * Classic Service Registration APIs
@@ -60,7 +60,7 @@ uint16_t bluetooth::shim::L2CA_Register(uint16_t client_psm,
  LOG_INFO(LOG_TAG, "%s classic client_psm:%hd psm:%hd", __func__, client_psm,
           psm);

  shim_l2cap.Register(psm, callbacks, enable_snoop);
  shim_l2cap.RegisterService(psm, callbacks, enable_snoop);

  return client_psm;
}
@@ -116,7 +116,7 @@ uint16_t bluetooth::shim::L2CA_ErtmConnectReq(uint16_t psm,
                                              tL2CAP_ERTM_INFO* p_ertm_info) {
  CHECK(p_ertm_info == nullptr)
      << "UNIMPLEMENTED set enhanced retransmission mode config";
  return shim_l2cap.Connect(psm, raw_address);
  return shim_l2cap.CreateConnection(psm, raw_address);
}

uint16_t bluetooth::shim::L2CA_ConnectReq(uint16_t psm,
+165 −51

File changed.

Preview size limit exceeded, changes collapsed.

Loading