1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_DEVICE_H_ 6 #define DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_DEVICE_H_ 7 8 #include <string> 9 10 #include "base/strings/string16.h" 11 #include "device/bluetooth/bluetooth_device.h" 12 #include "device/bluetooth/bluetooth_uuid.h" 13 #include "testing/gmock/include/gmock/gmock.h" 14 15 namespace device { 16 17 class MockBluetoothAdapter; 18 19 class MockBluetoothDevice : public BluetoothDevice { 20 public: 21 MockBluetoothDevice(MockBluetoothAdapter* adapter, 22 uint32 bluetooth_class, 23 const std::string& name, 24 const std::string& address, 25 bool paired, 26 bool connected); 27 virtual ~MockBluetoothDevice(); 28 29 MOCK_METHOD1(AddObserver, void(BluetoothDevice::Observer*)); 30 MOCK_METHOD1(RemoveObserver, void(BluetoothDevice::Observer*)); 31 MOCK_CONST_METHOD0(GetBluetoothClass, uint32()); 32 MOCK_CONST_METHOD0(GetDeviceName, std::string()); 33 MOCK_CONST_METHOD0(GetAddress, std::string()); 34 MOCK_CONST_METHOD0(GetVendorIDSource, BluetoothDevice::VendorIDSource()); 35 MOCK_CONST_METHOD0(GetVendorID, uint16()); 36 MOCK_CONST_METHOD0(GetProductID, uint16()); 37 MOCK_CONST_METHOD0(GetDeviceID, uint16()); 38 MOCK_CONST_METHOD0(GetName, base::string16()); 39 MOCK_CONST_METHOD0(GetDeviceType, BluetoothDevice::DeviceType()); 40 MOCK_CONST_METHOD0(GetRSSI, int()); 41 MOCK_CONST_METHOD0(GetCurrentHostTransmitPower, int()); 42 MOCK_CONST_METHOD0(GetMaximumHostTransmitPower, int()); 43 MOCK_CONST_METHOD0(IsPaired, bool()); 44 MOCK_CONST_METHOD0(IsConnected, bool()); 45 MOCK_CONST_METHOD0(IsConnectable, bool()); 46 MOCK_CONST_METHOD0(IsConnecting, bool()); 47 MOCK_CONST_METHOD0(GetUUIDs, UUIDList()); 48 MOCK_CONST_METHOD0(ExpectingPinCode, bool()); 49 MOCK_CONST_METHOD0(ExpectingPasskey, bool()); 50 MOCK_CONST_METHOD0(ExpectingConfirmation, bool()); 51 MOCK_METHOD3(Connect, 52 void(BluetoothDevice::PairingDelegate* pairing_delegate, 53 const base::Closure& callback, 54 const BluetoothDevice::ConnectErrorCallback& 55 error_callback)); 56 MOCK_METHOD1(SetPinCode, void(const std::string&)); 57 MOCK_METHOD1(SetPasskey, void(uint32)); 58 MOCK_METHOD0(ConfirmPairing, void()); 59 MOCK_METHOD0(RejectPairing, void()); 60 MOCK_METHOD0(CancelPairing, void()); 61 MOCK_METHOD2(Disconnect, 62 void(const base::Closure& callback, 63 const BluetoothDevice::ErrorCallback& error_callback)); 64 MOCK_METHOD1(Forget, void(const BluetoothDevice::ErrorCallback&)); 65 MOCK_METHOD3(ConnectToService, 66 void(const BluetoothUUID& uuid, 67 const ConnectToServiceCallback& callback, 68 const ConnectToServiceErrorCallback& error_callback)); 69 MOCK_METHOD2(CreateGattConnection, 70 void(const GattConnectionCallback& callback, 71 const ConnectErrorCallback& error_callback)); 72 73 MOCK_METHOD2(StartConnectionMonitor, 74 void(const base::Closure& callback, 75 const BluetoothDevice::ErrorCallback& error_callback)); 76 77 MOCK_CONST_METHOD0(GetGattServices, std::vector<BluetoothGattService*>()); 78 MOCK_CONST_METHOD1(GetGattService, BluetoothGattService*(const std::string&)); 79 80 private: 81 uint32 bluetooth_class_; 82 std::string name_; 83 std::string address_; 84 BluetoothDevice::UUIDList uuids_; 85 }; 86 87 } // namespace device 88 89 #endif // DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_DEVICE_H_ 90