Loading system/btif/src/btif_ble_advertiser.cc +7 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,13 @@ class BleAdvertiserInterfaceImpl : public BleAdvertiserInterface { base::Unretained(BleAdvertisingManager::Get()), advertiser_id)); } void GetOwnAddress(uint8_t advertiser_id, GetAddressCallback cb) override { do_in_bta_thread(FROM_HERE, Bind(&BleAdvertisingManager::GetOwnAddress, base::Unretained(BleAdvertisingManager::Get()), advertiser_id, jni_thread_wrapper(FROM_HERE, cb))); } void SetParameters(uint8_t advertiser_id, AdvertiseParameters params, ParametersCallback cb) override { VLOG(1) << __func__; Loading system/service/test/low_energy_advertiser_unittest.cc +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ class MockAdvertiserHandler : public BleAdvertiserInterface { MOCK_METHOD1(RegisterAdvertiser, void(IdStatusCallback)); MOCK_METHOD1(Unregister, void(uint8_t)); MOCK_METHOD2(GetOwnAddress, void(uint8_t, GetAddressCallback)); MOCK_METHOD3(SetParameters, void(uint8_t, AdvertiseParameters, ParametersCallback)); MOCK_METHOD4(SetData, void(int, bool, std::vector<uint8_t>, StatusCallback)); Loading system/stack/btm/btm_ble_multi_adv.cc +6 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,12 @@ class BleAdvertisingManagerImpl ~BleAdvertisingManagerImpl() { adv_inst.clear(); } void GetOwnAddress(uint8_t inst_id, GetAddressCallback cb) override { bt_bdaddr_t addr; memcpy(addr.address, adv_inst[inst_id].own_address, BD_ADDR_LEN); cb.Run(adv_inst[inst_id].own_address_type, addr); } void ReadInstanceCountCb(uint8_t instance_count) { this->inst_count = instance_count; adv_inst.reserve(inst_count); Loading system/stack/include/ble_advertiser.h +4 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,10 @@ class BleAdvertisingManager { virtual void OnAdvertisingSetTerminated( uint8_t status, uint8_t advertising_handle, uint16_t connection_handle, uint8_t num_completed_extended_adv_events) = 0; using GetAddressCallback = base::Callback<void(uint8_t /* address_type*/, bt_bdaddr_t /*address*/)>; virtual void GetOwnAddress(uint8_t inst_id, GetAddressCallback cb) = 0; }; #endif // BLE_ADVERTISER_H Loading
system/btif/src/btif_ble_advertiser.cc +7 −0 Original line number Diff line number Diff line Loading @@ -107,6 +107,13 @@ class BleAdvertiserInterfaceImpl : public BleAdvertiserInterface { base::Unretained(BleAdvertisingManager::Get()), advertiser_id)); } void GetOwnAddress(uint8_t advertiser_id, GetAddressCallback cb) override { do_in_bta_thread(FROM_HERE, Bind(&BleAdvertisingManager::GetOwnAddress, base::Unretained(BleAdvertisingManager::Get()), advertiser_id, jni_thread_wrapper(FROM_HERE, cb))); } void SetParameters(uint8_t advertiser_id, AdvertiseParameters params, ParametersCallback cb) override { VLOG(1) << __func__; Loading
system/service/test/low_energy_advertiser_unittest.cc +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ class MockAdvertiserHandler : public BleAdvertiserInterface { MOCK_METHOD1(RegisterAdvertiser, void(IdStatusCallback)); MOCK_METHOD1(Unregister, void(uint8_t)); MOCK_METHOD2(GetOwnAddress, void(uint8_t, GetAddressCallback)); MOCK_METHOD3(SetParameters, void(uint8_t, AdvertiseParameters, ParametersCallback)); MOCK_METHOD4(SetData, void(int, bool, std::vector<uint8_t>, StatusCallback)); Loading
system/stack/btm/btm_ble_multi_adv.cc +6 −0 Original line number Diff line number Diff line Loading @@ -160,6 +160,12 @@ class BleAdvertisingManagerImpl ~BleAdvertisingManagerImpl() { adv_inst.clear(); } void GetOwnAddress(uint8_t inst_id, GetAddressCallback cb) override { bt_bdaddr_t addr; memcpy(addr.address, adv_inst[inst_id].own_address, BD_ADDR_LEN); cb.Run(adv_inst[inst_id].own_address_type, addr); } void ReadInstanceCountCb(uint8_t instance_count) { this->inst_count = instance_count; adv_inst.reserve(inst_count); Loading
system/stack/include/ble_advertiser.h +4 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,10 @@ class BleAdvertisingManager { virtual void OnAdvertisingSetTerminated( uint8_t status, uint8_t advertising_handle, uint16_t connection_handle, uint8_t num_completed_extended_adv_events) = 0; using GetAddressCallback = base::Callback<void(uint8_t /* address_type*/, bt_bdaddr_t /*address*/)>; virtual void GetOwnAddress(uint8_t inst_id, GetAddressCallback cb) = 0; }; #endif // BLE_ADVERTISER_H