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

Commit 2f6f42fe authored by Chris Manton's avatar Chris Manton
Browse files

gd: Add le read_remote_version_info

This command may be executed on both le and classic links

Bug: 171568335
Test: Paired phones on le link
Tag: #refactor

Change-Id: I573ec222ff96761704a080148b06fada37afc835
parent 73669695
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@ class AclConnection {
    return handle_;
  }

  virtual bool ReadRemoteVersionInformation() = 0;

  using Queue = common::BidiQueue<PacketView<kLittleEndian>, BasePacketBuilder>;
  using QueueUpEnd = common::BidiQueueEnd<BasePacketBuilder, PacketView<kLittleEndian>>;
  using QueueDownEnd = common::BidiQueueEnd<PacketView<kLittleEndian>, BasePacketBuilder>;
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ class ClassicAclConnection : public AclConnection {
  virtual bool ReadAfhChannelMap();
  virtual bool ReadRssi();
  virtual bool ReadClock(WhichClock which_clock);
  virtual bool ReadRemoteVersionInformation();
  virtual bool ReadRemoteVersionInformation() override;
  virtual bool ReadRemoteSupportedFeatures();
  virtual bool ReadRemoteExtendedFeatures(uint8_t page_number);

+4 −0
Original line number Diff line number Diff line
@@ -132,6 +132,10 @@ bool LeAclConnection::LeConnectionUpdate(uint16_t conn_interval_min, uint16_t co
  return true;
}

bool LeAclConnection::ReadRemoteVersionInformation() {
  return false;
}

bool LeAclConnection::check_connection_parameters(
    uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency, uint16_t supervision_timeout) {
  if (conn_interval_min < 0x0006 || conn_interval_min > 0x0C80 || conn_interval_max < 0x0006 ||
+3 −0
Original line number Diff line number Diff line
@@ -55,6 +55,9 @@ class LeAclConnection : public AclConnection {

  virtual bool LeConnectionUpdate(uint16_t conn_interval_min, uint16_t conn_interval_max, uint16_t conn_latency,
                                  uint16_t supervision_timeout, uint16_t min_ce_length, uint16_t max_ce_length);

  virtual bool ReadRemoteVersionInformation() override;

  // TODO implement LeRemoteConnectionParameterRequestReply, LeRemoteConnectionParameterRequestNegativeReply

  // Called once before passing the connection to the client