| // 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. |
| |
| #include "device/bluetooth/dbus/fake_bluetooth_gatt_application_service_provider.h" |
| |
| #include <string> |
| |
| #include "base/logging.h" |
| #include "device/bluetooth/dbus/bluez_dbus_manager.h" |
| #include "device/bluetooth/dbus/fake_bluetooth_gatt_manager_client.h" |
| |
| namespace bluez { |
| |
| FakeBluetoothGattApplicationServiceProvider:: |
| FakeBluetoothGattApplicationServiceProvider( |
| const dbus::ObjectPath& object_path, |
| const std::map<dbus::ObjectPath, BluetoothLocalGattServiceBlueZ*>& |
| services) |
| : object_path_(object_path) { |
| VLOG(1) << "Creating Bluetooth GATT application: " << object_path_.value(); |
| |
| FakeBluetoothGattManagerClient* fake_bluetooth_gatt_manager_client = |
| static_cast<FakeBluetoothGattManagerClient*>( |
| bluez::BluezDBusManager::Get()->GetBluetoothGattManagerClient()); |
| fake_bluetooth_gatt_manager_client->RegisterApplicationServiceProvider(this); |
| |
| BluetoothGattApplicationServiceProvider::CreateAttributeServiceProviders( |
| nullptr, services); |
| } |
| |
| FakeBluetoothGattApplicationServiceProvider:: |
| ~FakeBluetoothGattApplicationServiceProvider() { |
| VLOG(1) << "Cleaning up Bluetooth GATT application: " << object_path_.value(); |
| |
| FakeBluetoothGattManagerClient* fake_bluetooth_gatt_manager_client = |
| static_cast<FakeBluetoothGattManagerClient*>( |
| bluez::BluezDBusManager::Get()->GetBluetoothGattManagerClient()); |
| fake_bluetooth_gatt_manager_client->UnregisterApplicationServiceProvider( |
| this); |
| } |
| |
| } // namespace bluez |