147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Copyright 2014 The Chromium Authors. All rights reserved. 247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Use of this source code is governed by a BSD-style license that can be 347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// found in the LICENSE file. 447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#ifndef CHROMEOS_DBUS_FAKE_BLUETOOTH_SERVICE_SERVICE_PROVIDER_H_ 647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#define CHROMEOS_DBUS_FAKE_BLUETOOTH_SERVICE_SERVICE_PROVIDER_H_ 747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include <string> 947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include <vector> 1047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 1147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "chromeos/chromeos_export.h" 1247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "chromeos/dbus/bluetooth_gatt_service_service_provider.h" 1347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "dbus/object_path.h" 1447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 1547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgnamespace chromeos { 1647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 1747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// FakeBluetoothGattServiceServiceProvider simulates behavior of a local GATT 1847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// service object and is used both in test cases in place of a mock and on the 1947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Linux desktop. 2047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgclass CHROMEOS_EXPORT FakeBluetoothGattServiceServiceProvider 2147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org : public BluetoothGattServiceServiceProvider { 2247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org public: 2347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org FakeBluetoothGattServiceServiceProvider( 2447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org const dbus::ObjectPath& object_path, 2547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org const std::string& uuid, 2647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org const std::vector<dbus::ObjectPath>& includes); 2747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org virtual ~FakeBluetoothGattServiceServiceProvider(); 2847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 2947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org const dbus::ObjectPath& object_path() const { return object_path_; } 3047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org const std::string& uuid() const { return uuid_; } 3147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 3247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org private: 3347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org // D-Bus object path of the fake GATT service. 3447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org dbus::ObjectPath object_path_; 3547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 3647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org // 128-bit GATT service UUID. 3747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org std::string uuid_; 3847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 3947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org // List of included GATT services. 4047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org std::vector<dbus::ObjectPath> includes_; 4147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 4247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org DISALLOW_COPY_AND_ASSIGN(FakeBluetoothGattServiceServiceProvider); 4347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}; 4447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 4547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org} // namespace chromeos 4647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org 4747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#endif // CHROMEOS_DBUS_FAKE_BLUETOOTH_SERVICE_SERVICE_PROVIDER_H_ 4847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org