diff options
Diffstat (limited to 'device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h')
-rw-r--r-- | device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h b/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h new file mode 100644 index 0000000..675eba9 --- /dev/null +++ b/device/bluetooth/dbus/fake_bluetooth_gatt_characteristic_service_provider.h @@ -0,0 +1,67 @@ +// Copyright 2014 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_DBUS_FAKE_BLUETOOTH_GATT_CHARACTERISTIC_SERVICE_PROVIDER_H_ +#define DEVICE_BLUETOOTH_DBUS_FAKE_BLUETOOTH_GATT_CHARACTERISTIC_SERVICE_PROVIDER_H_ + +#include <string> +#include <vector> + +#include "base/macros.h" +#include "dbus/object_path.h" +#include "device/bluetooth/bluetooth_export.h" +#include "device/bluetooth/dbus/bluetooth_gatt_characteristic_service_provider.h" + +namespace bluez { + +// FakeBluetoothGattCharacteristicServiceProvider simulates behavior of a local +// GATT characteristic object and is used both in test cases in place of a mock +// and on the Linux desktop. +class DEVICE_BLUETOOTH_EXPORT FakeBluetoothGattCharacteristicServiceProvider + : public BluetoothGattCharacteristicServiceProvider { + public: + FakeBluetoothGattCharacteristicServiceProvider( + const dbus::ObjectPath& object_path, + Delegate* delegate, + const std::string& uuid, + const std::vector<std::string>& flags, + const std::vector<std::string>& permissions, + const dbus::ObjectPath& service_path); + ~FakeBluetoothGattCharacteristicServiceProvider() override; + + // BluetoothGattCharacteristicServiceProvider override. + void SendValueChanged(const std::vector<uint8>& value) override; + + // Methods to simulate value get/set requests issued from a remote device. The + // methods do nothing, if the associated service was not registered with the + // GATT manager. + void GetValue(const Delegate::ValueCallback& callback, + const Delegate::ErrorCallback& error_callback); + void SetValue(const std::vector<uint8>& value, + const base::Closure& callback, + const Delegate::ErrorCallback& error_callback); + + const dbus::ObjectPath& object_path() const { return object_path_; } + const std::string& uuid() const { return uuid_; } + const dbus::ObjectPath& service_path() const { return service_path_; } + + private: + // D-Bus object path of the fake GATT characteristic. + dbus::ObjectPath object_path_; + + // 128-bit GATT characteristic UUID. + std::string uuid_; + + // Object path of the service that this characteristic belongs to. + dbus::ObjectPath service_path_; + + // The delegate that method calls are passed on to. + Delegate* delegate_; + + DISALLOW_COPY_AND_ASSIGN(FakeBluetoothGattCharacteristicServiceProvider); +}; + +} // namespace bluez + +#endif // DEVICE_BLUETOOTH_DBUS_FAKE_BLUETOOTH_GATT_CHARACTERISTIC_SERVICE_PROVIDER_H_ |