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

Commit 392ed658 authored by Chris Manton's avatar Chris Manton
Browse files

IA2: Expose legacy device and service discovery API

Bug: 305236827
Test: m .

Change-Id: I8e2e9a1bf80d1d52cf1c2bbaeea56ceae51815f2
parent 5363aef5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <vector>

#include "bt_target.h"  // Must be first to define build configuration
#include "bta/dm/bta_dm_disc.h"
#include "bta/dm/bta_dm_int.h"
#include "osi/include/allocator.h"
#include "osi/include/compat.h"
+2 −2
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <cstdint>

#include "bt_trace.h"
#include "bta/dm/bta_dm_disc.h"
#include "bta/dm/bta_dm_int.h"
#include "bta/include/bta_api.h"
#include "bta/include/bta_gatt_api.h"
@@ -81,7 +82,6 @@ static void bta_dm_sdp_callback(const RawAddress& bd_addr,
                                tSDP_STATUS sdp_status);

static void bta_dm_search_timer_cback(void* data);
static const char* bta_dm_get_remname(void);
static bool bta_dm_read_remote_device_name(const RawAddress& bd_addr,
                                           tBT_TRANSPORT transport);
static void bta_dm_discover_device(const RawAddress& remote_bd_addr);
@@ -1637,7 +1637,7 @@ static void bta_dm_remname_cback(const tBTM_REMOTE_DEV_NAME* p_remote_name) {
 *
 * Returns          char * - Pointer to the remote device name
 ******************************************************************************/
static const char* bta_dm_get_remname(void) {
const char* bta_dm_get_remname(void) {
  const char* p_name = (const char*)bta_dm_search_cb.peer_name;

  /* If the name isn't already stored, try retrieving from BTM */
+33 −0
Original line number Diff line number Diff line
@@ -16,4 +16,37 @@

#pragma once

#include "bta/include/bta_api.h"  // tBTA_DM_SEARCH_CBACK
#include "stack/include/bt_hdr.h"
#include "types/raw_address.h"

// Bta subsystem entrypoint and lifecycle
bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg);
void bta_dm_search_sm_disable();
void bta_dm_disc_disable_search_and_disc();

// Return most recent remote name
const char* bta_dm_get_remname(void);

// LE observe and scan interface
void bta_dm_ble_observe(bool start, uint8_t duration,
                        tBTA_DM_SEARCH_CBACK* p_cback);
void bta_dm_ble_scan(bool start, uint8_t duration_sec, bool low_latency_scan);
void bta_dm_ble_csis_observe(bool observe, tBTA_DM_SEARCH_CBACK* p_cback);

// Checks if there is a device discovery request queued
bool bta_dm_is_search_request_queued();

// Proceed to execute service discovery on next device in queue
void bta_dm_disc_discover_next_device();

// GATT service discovery
void bta_dm_disc_gattc_register();
void bta_dm_disc_gatt_cancel_open(const RawAddress& bd_addr);
void bta_dm_disc_gatt_refresh(const RawAddress& bd_addr);

// Stop service discovery procedure, if any, for removed device
void bta_dm_disc_remove_device(const RawAddress& bd_addr);

// Provide data for the dumpsys procedure
void DumpsysBtaDmDisc(int fd);
+0 −7
Original line number Diff line number Diff line
@@ -522,9 +522,6 @@ extern tBTA_DM_SEARCH_CB bta_dm_search_cb;
/* DI control block */
extern tBTA_DM_DI_CB bta_dm_di_cb;

bool bta_dm_search_sm_execute(const BT_HDR_RIGID* p_msg);
void bta_dm_search_sm_disable(void);

void bta_dm_enable(tBTA_DM_SEC_CBACK*);
void bta_dm_disable();
void bta_dm_ble_sirk_sec_cb_register(tBTA_DM_SEC_CBACK*);
@@ -552,9 +549,6 @@ void bta_dm_ble_passkey_reply(const RawAddress& bd_addr, bool accept,
void bta_dm_ble_confirm_reply(const RawAddress&, bool);
void bta_dm_ble_set_conn_params(const RawAddress&, uint16_t, uint16_t, uint16_t,
                                uint16_t);
void bta_dm_ble_observe(bool, uint8_t, tBTA_DM_SEARCH_CBACK*);
void bta_dm_ble_scan(bool, uint8_t, bool);
void bta_dm_ble_csis_observe(bool, tBTA_DM_SEARCH_CBACK*);
void bta_dm_ble_update_conn_params(const RawAddress&, uint16_t, uint16_t,
                                   uint16_t, uint16_t, uint16_t, uint16_t);
void bta_dm_ble_config_local_privacy(bool);
@@ -573,7 +567,6 @@ void bta_dm_init_pm(void);
void bta_dm_disable_pm(void);

uint8_t bta_dm_get_av_count(void);
bool bta_dm_is_search_request_queued();
tBTA_DM_PEER_DEVICE* bta_dm_find_peer_device(const RawAddress& peer_addr);

void bta_dm_clear_event_filter(void);
+1 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@
#include <optional>

#include "advertise_data_parser.h"
#include "bta/dm/bta_dm_disc.h"
#include "bta/include/bta_api.h"
#include "bta_csis_api.h"
#include "bta_dm_int.h"