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_SERVICE_H_
6#define DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_GATT_SERVICE_H_
7
8#include <string>
9#include <vector>
10
11#include "device/bluetooth/bluetooth_gatt_service.h"
12#include "device/bluetooth/bluetooth_uuid.h"
13#include "testing/gmock/include/gmock/gmock.h"
14
15namespace device {
16
17class BluetoothGattCharacteristic;
18class MockBluetoothDevice;
19
20class MockBluetoothGattService : public BluetoothGattService {
21 public:
22  MockBluetoothGattService(MockBluetoothDevice* device,
23                           const std::string& identifier,
24                           const BluetoothUUID& uuid,
25                           bool is_primary,
26                           bool is_local);
27  virtual ~MockBluetoothGattService();
28
29  MOCK_CONST_METHOD0(GetIdentifier, std::string());
30  MOCK_CONST_METHOD0(GetUUID, BluetoothUUID());
31  MOCK_CONST_METHOD0(IsLocal, bool());
32  MOCK_CONST_METHOD0(IsPrimary, bool());
33  MOCK_CONST_METHOD0(GetDevice, BluetoothDevice*());
34  MOCK_CONST_METHOD0(GetCharacteristics,
35                     std::vector<BluetoothGattCharacteristic*>());
36  MOCK_CONST_METHOD0(GetIncludedServices, std::vector<BluetoothGattService*>());
37  MOCK_CONST_METHOD1(GetCharacteristic,
38                     BluetoothGattCharacteristic*(const std::string&));
39  MOCK_METHOD1(AddCharacteristic, bool(BluetoothGattCharacteristic*));
40  MOCK_METHOD1(AddIncludedService, bool(BluetoothGattService*));
41  MOCK_METHOD2(Register, void(const base::Closure&, const ErrorCallback&));
42  MOCK_METHOD2(Unregister, void(const base::Closure&, const ErrorCallback&));
43
44 private:
45  DISALLOW_COPY_AND_ASSIGN(MockBluetoothGattService);
46};
47
48}  // namespace device
49
50#endif  // DEVICE_BLUETOOTH_TEST_MOCK_BLUETOOTH_GATT_SERVICE_H_
51