1// Copyright 2014 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_GATT_DESCRIPTOR_H_
6#define DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_GATT_DESCRIPTOR_H_
7
8#include <string>
9#include <vector>
10
11#include "base/basictypes.h"
12#include "base/callback.h"
13#include "device/bluetooth/bluetooth_gatt_characteristic.h"
14#include "device/bluetooth/bluetooth_gatt_descriptor.h"
15#include "device/bluetooth/bluetooth_uuid.h"
16#include "testing/gmock/include/gmock/gmock.h"
17
18namespace device {
19
20class MockBluetoothGattCharacteristic;
21
22class MockBluetoothGattDescriptor : public BluetoothGattDescriptor {
23 public:
24  MockBluetoothGattDescriptor(
25      MockBluetoothGattCharacteristic* characteristic,
26      const std::string& identifier,
27      const BluetoothUUID& uuid,
28      bool is_local,
29      BluetoothGattCharacteristic::Permissions permissions);
30  virtual ~MockBluetoothGattDescriptor();
31
32  MOCK_CONST_METHOD0(GetIdentifier, std::string());
33  MOCK_CONST_METHOD0(GetUUID, BluetoothUUID());
34  MOCK_CONST_METHOD0(IsLocal, bool());
35  MOCK_CONST_METHOD0(GetValue, const std::vector<uint8>&());
36  MOCK_CONST_METHOD0(GetCharacteristic, BluetoothGattCharacteristic*());
37  MOCK_CONST_METHOD0(GetPermissions,
38                     BluetoothGattCharacteristic::Permissions());
39  MOCK_METHOD2(ReadRemoteDescriptor,
40               void(const ValueCallback&, const ErrorCallback&));
41  MOCK_METHOD3(WriteRemoteDescriptor,
42               void(const std::vector<uint8>&,
43                    const base::Closure&,
44                    const ErrorCallback&));
45
46 private:
47  DISALLOW_COPY_AND_ASSIGN(MockBluetoothGattDescriptor);
48};
49
50}  // namespace device
51
52#endif  // DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_GATT_DESCRIPTOR_H_
53