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

Commit f96f0332 authored by Chris Manton's avatar Chris Manton Committed by android-build-merger
Browse files

Merge "Standardize l2cap shim naming" am: 2461fd9c

am: b1921a4e

Change-Id: I4b9112b475ec418fb136315f68cc8498f06fff54
parents 0bc1f23a b1921a4e
Loading
Loading
Loading
Loading
+10 −7
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@
#pragma once
#pragma once


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


using OnReadDataReady = std::function<void(uint16_t cid, std::vector<const uint8_t> data)>;
using ConnectionClosedCallback = std::function<void(uint16_t cid, int error_code)>;
using OnClose = std::function<void(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 {
struct IL2cap {
  virtual void RegisterService(uint16_t psm, bool snoop_enabled, std::promise<void> completed) = 0;
  virtual void RegisterService(uint16_t psm, ConnectionOpenCallback on_open, std::promise<void> completed) = 0;
  virtual void Connect(uint16_t psm, const std::string address, std::promise<uint16_t> 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 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 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 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 bool IsCongested(uint16_t cid) = 0;
  virtual ~IL2cap() {}
  virtual ~IL2cap() {}
};
};
+164 −109

File changed.

Preview size limit exceeded, changes collapsed.

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


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


class L2cap : public bluetooth::Module, public bluetooth::shim::IL2cap {
class L2cap : public bluetooth::Module, public bluetooth::shim::IL2cap {
 public:
 public:
  void RegisterService(uint16_t psm, bool snoop_enabled, std::promise<void> register_completed) override;
  void RegisterService(uint16_t psm, ConnectionOpenCallback on_open, std::promise<void> completed) override;
  void Connect(uint16_t psm, const std::string address, std::promise<uint16_t> connect_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 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 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;
  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;
  bool IsCongested(uint16_t cid) override;


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


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


/**
/**
 * Classic Service Registration APIs
 * 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,
  LOG_INFO(LOG_TAG, "%s classic client_psm:%hd psm:%hd", __func__, client_psm,
           psm);
           psm);


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


  return client_psm;
  return client_psm;
}
}
@@ -116,7 +116,7 @@ uint16_t bluetooth::shim::L2CA_ErtmConnectReq(uint16_t psm,
                                              tL2CAP_ERTM_INFO* p_ertm_info) {
                                              tL2CAP_ERTM_INFO* p_ertm_info) {
  CHECK(p_ertm_info == nullptr)
  CHECK(p_ertm_info == nullptr)
      << "UNIMPLEMENTED set enhanced retransmission mode config";
      << "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,
uint16_t bluetooth::shim::L2CA_ConnectReq(uint16_t psm,
+165 −51

File changed.

Preview size limit exceeded, changes collapsed.

Loading