blob: 96b176939f5ca418f8887dbf5dbc1587ae913c53 [file] [log] [blame]
// Copyright 2016 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 DEVICE_BLUETOOTH_TEST_TEST_BLUETOOTH_LOCAL_GATT_SERVICE_DELEGATE_H_
#define DEVICE_BLUETOOTH_TEST_TEST_BLUETOOTH_LOCAL_GATT_SERVICE_DELEGATE_H_
#include <cstdint>
#include <vector>
#include "base/callback_forward.h"
#include "base/macros.h"
#include "device/bluetooth/bluetooth_local_gatt_characteristic.h"
#include "device/bluetooth/bluetooth_local_gatt_descriptor.h"
#include "device/bluetooth/bluetooth_local_gatt_service.h"
namespace device {
class TestBluetoothLocalGattServiceDelegate
: public BluetoothLocalGattService::Delegate {
public:
TestBluetoothLocalGattServiceDelegate();
virtual ~TestBluetoothLocalGattServiceDelegate();
// BluetoothLocalGattService::Delegate overrides:
void OnCharacteristicReadRequest(
const BluetoothDevice* device,
const BluetoothLocalGattCharacteristic* characteristic,
int offset,
const ValueCallback& callback,
const ErrorCallback& error_callback) override;
void OnCharacteristicWriteRequest(
const BluetoothDevice* device,
const BluetoothLocalGattCharacteristic* characteristic,
const std::vector<uint8_t>& value,
int offset,
const base::Closure& callback,
const ErrorCallback& error_callback) override;
void OnDescriptorReadRequest(const BluetoothDevice* device,
const BluetoothLocalGattDescriptor* descriptor,
int offset,
const ValueCallback& callback,
const ErrorCallback& error_callback) override;
void OnDescriptorWriteRequest(const BluetoothDevice* device,
const BluetoothLocalGattDescriptor* descriptor,
const std::vector<uint8_t>& value,
int offset,
const base::Closure& callback,
const ErrorCallback& error_callback) override;
void OnNotificationsStart(
const BluetoothDevice* device,
const BluetoothLocalGattCharacteristic* characteristic) override;
void OnNotificationsStop(
const BluetoothDevice* device,
const BluetoothLocalGattCharacteristic* characteristic) override;
bool NotificationStatusForCharacteristic(
BluetoothLocalGattCharacteristic* characteristic);
void set_expected_service(BluetoothLocalGattService* service) {
expected_service_ = service;
}
void set_expected_characteristic(
BluetoothLocalGattCharacteristic* characteristic) {
expected_characteristic_ = characteristic;
}
void set_expected_descriptor(BluetoothLocalGattDescriptor* descriptor) {
expected_descriptor_ = descriptor;
}
bool should_fail_;
uint64_t last_written_value_;
uint64_t value_to_write_;
std::string last_seen_device_;
private:
BluetoothLocalGattService* expected_service_;
BluetoothLocalGattCharacteristic* expected_characteristic_;
BluetoothLocalGattDescriptor* expected_descriptor_;
std::map<std::string, bool> notifications_started_for_characteristic_;
DISALLOW_COPY_AND_ASSIGN(TestBluetoothLocalGattServiceDelegate);
};
} // namespace device
#endif // DEVICE_BLUETOOTH_TEST_TEST_BLUETOOTH_LOCAL_GATT_SERVICE_DELEGATE_H_