| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROMECAST_DEVICE_BLUETOOTH_LE_MOCK_GATT_CLIENT_MANAGER_H_ |
| #define CHROMECAST_DEVICE_BLUETOOTH_LE_MOCK_GATT_CLIENT_MANAGER_H_ |
| |
| #include <vector> |
| |
| #include "base/memory/scoped_refptr.h" |
| #include "base/observer_list.h" |
| #include "base/single_thread_task_runner.h" |
| #include "chromecast/device/bluetooth/le/gatt_client_manager.h" |
| #include "chromecast/device/bluetooth/le/mock_remote_device.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| |
| namespace chromecast { |
| namespace bluetooth { |
| |
| class MockGattClientManager : public GattClientManager { |
| public: |
| MockGattClientManager(); |
| ~MockGattClientManager() override; |
| |
| void AddObserver(Observer* o) override { observers_.AddObserver(o); } |
| void RemoveObserver(Observer* o) override { observers_.RemoveObserver(o); } |
| |
| MOCK_METHOD(scoped_refptr<RemoteDevice>, |
| GetDevice, |
| (const bluetooth_v2_shlib::Addr& addr)); |
| void GetDevice( |
| const bluetooth_v2_shlib::Addr& addr, |
| base::OnceCallback<void(scoped_refptr<RemoteDevice>)> cb) override { |
| std::move(cb).Run(GetDevice(addr)); |
| } |
| |
| MOCK_METHOD(scoped_refptr<RemoteDevice>, |
| GetDeviceSync, |
| (const bluetooth_v2_shlib::Addr& addr), |
| (override)); |
| |
| MOCK_METHOD(std::vector<scoped_refptr<RemoteDevice>>, |
| GetConnectedDevices, |
| ()); |
| void GetConnectedDevices(GetConnectDevicesCallback cb) { |
| std::move(cb).Run(GetConnectedDevices()); |
| } |
| |
| MOCK_METHOD(void, |
| Initialize, |
| (scoped_refptr<base::SingleThreadTaskRunner> io_task_runner), |
| (override)); |
| MOCK_METHOD(void, Finalize, (), (override)); |
| MOCK_METHOD(void, |
| GetNumConnected, |
| (base::OnceCallback<void(size_t)> cb), |
| (const, override)); |
| MOCK_METHOD(void, |
| NotifyConnect, |
| (const bluetooth_v2_shlib::Addr& addr), |
| (override)); |
| MOCK_METHOD(void, |
| NotifyBonded, |
| (const bluetooth_v2_shlib::Addr& addr), |
| (override)); |
| MOCK_METHOD(scoped_refptr<base::SingleThreadTaskRunner>, |
| task_runner, |
| (), |
| (override)); |
| MOCK_METHOD(bool, |
| IsConnectedLeDevice, |
| (const bluetooth_v2_shlib::Addr& addr), |
| (override)); |
| MOCK_METHOD(bool, SetGattClientConnectable, (bool connectable), (override)); |
| MOCK_METHOD(void, DisconnectAll, (StatusCallback cb), (override)); |
| |
| base::ObserverList<Observer>::Unchecked observers_; |
| }; |
| |
| } // namespace bluetooth |
| } // namespace chromecast |
| |
| #endif // CHROMECAST_DEVICE_BLUETOOTH_LE_MOCK_GATT_CLIENT_MANAGER_H_ |