// Copyright 2015 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_ADAPTER_PROFILE_BLUEZ_H_ #define DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_ADAPTER_PROFILE_BLUEZ_H_ #include <stddef.h> #include <memory> #include "base/memory/raw_ref.h" #include "base/memory/weak_ptr.h" #include "device/bluetooth/bluetooth_export.h" #include "device/bluetooth/bluez/bluetooth_adapter_bluez.h" #include "device/bluetooth/dbus/bluetooth_profile_manager_client.h" #include "device/bluetooth/dbus/bluetooth_profile_service_provider.h" namespace device { class BluetoothUUID; } // namespace device namespace bluez { // The BluetoothAdapterProfileBlueZ class implements a multiplexing // profile for custom Bluetooth services managed by a BluetoothAdapter. // Maintains a list of delegates which may serve the profile. // One delegate is allowed for each device. // // This class is not thread-safe, but is only called from the dbus origin // thread. // // BluetoothAdapterProfileBlueZ objects are owned by the // BluetoothAdapterBlueZ and allocated through Register() class DEVICE_BLUETOOTH_EXPORT BluetoothAdapterProfileBlueZ : public bluez::BluetoothProfileServiceProvider::Delegate { … }; } // namespace bluez #endif // DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_ADAPTER_PROFILE_BLUEZ_H_