Loading system/service/hal/bluetooth_gatt_interface.cpp +48 −2 Original line number Diff line number Diff line Loading @@ -83,6 +83,33 @@ void ScanResultCallback(bt_bdaddr_t* bda, int rssi, uint8_t* adv_data) { ScanResultCallback(g_interface, *bda, rssi, adv_data)); } void ConnectCallback(int conn_id, int status, int client_if, bt_bdaddr_t* bda) { lock_guard<mutex> lock(g_instance_lock); VERIFY_INTERFACE_OR_RETURN(); CHECK(bda); VLOG(2) << __func__ << " - status: " << status << " client_if: " << client_if << " - BD_ADDR: " << BtAddrString(bda) << " - conn_id: " << conn_id; FOR_EACH_CLIENT_OBSERVER( ConnectCallback(g_interface, conn_id, status, client_if, *bda)); } void DisconnectCallback(int conn_id, int status, int client_if, bt_bdaddr_t* bda) { lock_guard<mutex> lock(g_instance_lock); VERIFY_INTERFACE_OR_RETURN(); CHECK(bda); VLOG(2) << __func__ << " - conn_id: " << conn_id << " - status: " << status << " client_if: " << client_if << " - BD_ADDR: " << BtAddrString(bda); FOR_EACH_CLIENT_OBSERVER( DisconnectCallback(g_interface, conn_id, status, client_if, *bda)); } void ListenCallback(int status, int client_if) { lock_guard<mutex> lock(g_instance_lock); VLOG(2) << __func__ << " - status: " << status << " client_if: " << client_if; Loading Loading @@ -280,8 +307,8 @@ void IndicationSentCallback(int conn_id, int status) { const btgatt_client_callbacks_t gatt_client_callbacks = { RegisterClientCallback, ScanResultCallback, nullptr, // open_cb nullptr, // close_cb ConnectCallback, DisconnectCallback, nullptr, // search_complete_cb nullptr, // search_result_cb nullptr, // get_characteristic_cb Loading Loading @@ -478,6 +505,25 @@ void BluetoothGattInterface::ClientObserver::ScanResultCallback( uint8_t* /* adv_data */) { // Do Nothing. } void BluetoothGattInterface::ClientObserver::ConnectCallback( BluetoothGattInterface* /* gatt_iface */, int /* conn_id */, int /* status */, int /* client_if */, const bt_bdaddr_t& /* bda */) { // Do nothing } void BluetoothGattInterface::ClientObserver::DisconnectCallback( BluetoothGattInterface* /* gatt_iface */, int /* conn_id */, int /* status */, int /* client_if */, const bt_bdaddr_t& /* bda */) { // Do nothing } void BluetoothGattInterface::ClientObserver::ListenCallback( BluetoothGattInterface* /* gatt_iface */, int /* status */, Loading system/service/hal/bluetooth_gatt_interface.h +14 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,20 @@ class BluetoothGattInterface { const bt_bdaddr_t& bda, int rssi, uint8_t* adv_data); virtual void ConnectCallback( BluetoothGattInterface* gatt_iface, int conn_id, int status, int client_if, const bt_bdaddr_t& bda); virtual void DisconnectCallback( BluetoothGattInterface* gatt_iface, int conn_id, int status, int client_if, const bt_bdaddr_t& bda); virtual void ListenCallback( BluetoothGattInterface* gatt_iface, int status, int client_if); Loading system/service/hal/fake_bluetooth_gatt_interface.cpp +30 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,22 @@ bt_status_t FakeScan(bool start) { return BT_STATUS_FAIL; } bt_status_t FakeConnect(int client_if, const bt_bdaddr_t *bd_addr, bool is_direct, int transport) { if (g_client_handler) return g_client_handler->Connect(client_if, bd_addr, is_direct, transport); return BT_STATUS_FAIL; } bt_status_t FakeDisconnect(int client_if, const bt_bdaddr_t *bd_addr, int conn_id) { if (g_client_handler) return g_client_handler->Disconnect(client_if, bd_addr, conn_id); return BT_STATUS_FAIL; } bt_status_t FakeMultiAdvEnable( int client_if, int min_interval, int max_interval, int adv_type, int chnl_map, int tx_power, int timeout_s) { Loading Loading @@ -160,8 +176,8 @@ btgatt_client_interface_t fake_btgattc_iface = { FakeRegisterClient, FakeUnregisterClient, FakeScan, nullptr, // connect nullptr, // disconnect FakeConnect, FakeDisconnect, nullptr, // listen nullptr, // refresh nullptr, // search_service Loading Loading @@ -246,6 +262,18 @@ void FakeBluetoothGattInterface::NotifyRegisterClientCallback( RegisterClientCallback(this, status, client_if, app_uuid)); } void FakeBluetoothGattInterface::NotifyConnectCallback( int conn_id, int status, int client_if, const bt_bdaddr_t& bda) { FOR_EACH_OBSERVER(ClientObserver, client_observers_, ConnectCallback(this, conn_id, status, client_if, bda)); } void FakeBluetoothGattInterface::NotifyDisconnectCallback( int conn_id, int status, int client_if, const bt_bdaddr_t& bda) { FOR_EACH_OBSERVER(ClientObserver, client_observers_, DisconnectCallback(this, conn_id, status, client_if, bda)); } void FakeBluetoothGattInterface::NotifyScanResultCallback( const bt_bdaddr_t& bda, int rssi, uint8_t* adv_data) { FOR_EACH_OBSERVER(ClientObserver, client_observers_, Loading system/service/hal/fake_bluetooth_gatt_interface.h +8 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,10 @@ class FakeBluetoothGattInterface : public BluetoothGattInterface { virtual bt_status_t UnregisterClient(int client_if) = 0; virtual bt_status_t Scan(bool start) = 0; virtual bt_status_t Connect(int client_if, const bt_bdaddr_t *bd_addr, bool is_direct, int transport) = 0; virtual bt_status_t Disconnect(int client_if, const bt_bdaddr_t *bd_addr, int conn_id) = 0; virtual bt_status_t MultiAdvEnable( int client_if, int min_interval, int max_interval, int adv_type, Loading Loading @@ -90,6 +94,10 @@ class FakeBluetoothGattInterface : public BluetoothGattInterface { // Client callbacks: void NotifyRegisterClientCallback(int status, int client_if, const bt_uuid_t& app_uuid); void NotifyConnectCallback(int conn_id, int status, int client_if, const bt_bdaddr_t& bda); void NotifyDisconnectCallback(int conn_id, int status, int client_if, const bt_bdaddr_t& bda); void NotifyScanResultCallback(const bt_bdaddr_t& bda, int rssi, uint8_t* adv_data); void NotifyMultiAdvEnableCallback(int client_if, int status); Loading system/service/test/gatt_client_unittest.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ class MockGattHandler MOCK_METHOD1(RegisterClient, bt_status_t(bt_uuid_t*)); MOCK_METHOD1(UnregisterClient, bt_status_t(int)); MOCK_METHOD1(Scan, bt_status_t(bool)); MOCK_METHOD4(Connect, bt_status_t(int , const bt_bdaddr_t *, bool, int)); MOCK_METHOD3(Disconnect, bt_status_t(int , const bt_bdaddr_t *, int)); // Stub implementations for uninteresting TestClientHandler methods: bt_status_t MultiAdvEnable(int, int, int, int, int, int, int) override { Loading Loading
system/service/hal/bluetooth_gatt_interface.cpp +48 −2 Original line number Diff line number Diff line Loading @@ -83,6 +83,33 @@ void ScanResultCallback(bt_bdaddr_t* bda, int rssi, uint8_t* adv_data) { ScanResultCallback(g_interface, *bda, rssi, adv_data)); } void ConnectCallback(int conn_id, int status, int client_if, bt_bdaddr_t* bda) { lock_guard<mutex> lock(g_instance_lock); VERIFY_INTERFACE_OR_RETURN(); CHECK(bda); VLOG(2) << __func__ << " - status: " << status << " client_if: " << client_if << " - BD_ADDR: " << BtAddrString(bda) << " - conn_id: " << conn_id; FOR_EACH_CLIENT_OBSERVER( ConnectCallback(g_interface, conn_id, status, client_if, *bda)); } void DisconnectCallback(int conn_id, int status, int client_if, bt_bdaddr_t* bda) { lock_guard<mutex> lock(g_instance_lock); VERIFY_INTERFACE_OR_RETURN(); CHECK(bda); VLOG(2) << __func__ << " - conn_id: " << conn_id << " - status: " << status << " client_if: " << client_if << " - BD_ADDR: " << BtAddrString(bda); FOR_EACH_CLIENT_OBSERVER( DisconnectCallback(g_interface, conn_id, status, client_if, *bda)); } void ListenCallback(int status, int client_if) { lock_guard<mutex> lock(g_instance_lock); VLOG(2) << __func__ << " - status: " << status << " client_if: " << client_if; Loading Loading @@ -280,8 +307,8 @@ void IndicationSentCallback(int conn_id, int status) { const btgatt_client_callbacks_t gatt_client_callbacks = { RegisterClientCallback, ScanResultCallback, nullptr, // open_cb nullptr, // close_cb ConnectCallback, DisconnectCallback, nullptr, // search_complete_cb nullptr, // search_result_cb nullptr, // get_characteristic_cb Loading Loading @@ -478,6 +505,25 @@ void BluetoothGattInterface::ClientObserver::ScanResultCallback( uint8_t* /* adv_data */) { // Do Nothing. } void BluetoothGattInterface::ClientObserver::ConnectCallback( BluetoothGattInterface* /* gatt_iface */, int /* conn_id */, int /* status */, int /* client_if */, const bt_bdaddr_t& /* bda */) { // Do nothing } void BluetoothGattInterface::ClientObserver::DisconnectCallback( BluetoothGattInterface* /* gatt_iface */, int /* conn_id */, int /* status */, int /* client_if */, const bt_bdaddr_t& /* bda */) { // Do nothing } void BluetoothGattInterface::ClientObserver::ListenCallback( BluetoothGattInterface* /* gatt_iface */, int /* status */, Loading
system/service/hal/bluetooth_gatt_interface.h +14 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,20 @@ class BluetoothGattInterface { const bt_bdaddr_t& bda, int rssi, uint8_t* adv_data); virtual void ConnectCallback( BluetoothGattInterface* gatt_iface, int conn_id, int status, int client_if, const bt_bdaddr_t& bda); virtual void DisconnectCallback( BluetoothGattInterface* gatt_iface, int conn_id, int status, int client_if, const bt_bdaddr_t& bda); virtual void ListenCallback( BluetoothGattInterface* gatt_iface, int status, int client_if); Loading
system/service/hal/fake_bluetooth_gatt_interface.cpp +30 −2 Original line number Diff line number Diff line Loading @@ -47,6 +47,22 @@ bt_status_t FakeScan(bool start) { return BT_STATUS_FAIL; } bt_status_t FakeConnect(int client_if, const bt_bdaddr_t *bd_addr, bool is_direct, int transport) { if (g_client_handler) return g_client_handler->Connect(client_if, bd_addr, is_direct, transport); return BT_STATUS_FAIL; } bt_status_t FakeDisconnect(int client_if, const bt_bdaddr_t *bd_addr, int conn_id) { if (g_client_handler) return g_client_handler->Disconnect(client_if, bd_addr, conn_id); return BT_STATUS_FAIL; } bt_status_t FakeMultiAdvEnable( int client_if, int min_interval, int max_interval, int adv_type, int chnl_map, int tx_power, int timeout_s) { Loading Loading @@ -160,8 +176,8 @@ btgatt_client_interface_t fake_btgattc_iface = { FakeRegisterClient, FakeUnregisterClient, FakeScan, nullptr, // connect nullptr, // disconnect FakeConnect, FakeDisconnect, nullptr, // listen nullptr, // refresh nullptr, // search_service Loading Loading @@ -246,6 +262,18 @@ void FakeBluetoothGattInterface::NotifyRegisterClientCallback( RegisterClientCallback(this, status, client_if, app_uuid)); } void FakeBluetoothGattInterface::NotifyConnectCallback( int conn_id, int status, int client_if, const bt_bdaddr_t& bda) { FOR_EACH_OBSERVER(ClientObserver, client_observers_, ConnectCallback(this, conn_id, status, client_if, bda)); } void FakeBluetoothGattInterface::NotifyDisconnectCallback( int conn_id, int status, int client_if, const bt_bdaddr_t& bda) { FOR_EACH_OBSERVER(ClientObserver, client_observers_, DisconnectCallback(this, conn_id, status, client_if, bda)); } void FakeBluetoothGattInterface::NotifyScanResultCallback( const bt_bdaddr_t& bda, int rssi, uint8_t* adv_data) { FOR_EACH_OBSERVER(ClientObserver, client_observers_, Loading
system/service/hal/fake_bluetooth_gatt_interface.h +8 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,10 @@ class FakeBluetoothGattInterface : public BluetoothGattInterface { virtual bt_status_t UnregisterClient(int client_if) = 0; virtual bt_status_t Scan(bool start) = 0; virtual bt_status_t Connect(int client_if, const bt_bdaddr_t *bd_addr, bool is_direct, int transport) = 0; virtual bt_status_t Disconnect(int client_if, const bt_bdaddr_t *bd_addr, int conn_id) = 0; virtual bt_status_t MultiAdvEnable( int client_if, int min_interval, int max_interval, int adv_type, Loading Loading @@ -90,6 +94,10 @@ class FakeBluetoothGattInterface : public BluetoothGattInterface { // Client callbacks: void NotifyRegisterClientCallback(int status, int client_if, const bt_uuid_t& app_uuid); void NotifyConnectCallback(int conn_id, int status, int client_if, const bt_bdaddr_t& bda); void NotifyDisconnectCallback(int conn_id, int status, int client_if, const bt_bdaddr_t& bda); void NotifyScanResultCallback(const bt_bdaddr_t& bda, int rssi, uint8_t* adv_data); void NotifyMultiAdvEnableCallback(int client_if, int status); Loading
system/service/test/gatt_client_unittest.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -36,6 +36,8 @@ class MockGattHandler MOCK_METHOD1(RegisterClient, bt_status_t(bt_uuid_t*)); MOCK_METHOD1(UnregisterClient, bt_status_t(int)); MOCK_METHOD1(Scan, bt_status_t(bool)); MOCK_METHOD4(Connect, bt_status_t(int , const bt_bdaddr_t *, bool, int)); MOCK_METHOD3(Disconnect, bt_status_t(int , const bt_bdaddr_t *, int)); // Stub implementations for uninteresting TestClientHandler methods: bt_status_t MultiAdvEnable(int, int, int, int, int, int, int) override { Loading