// Copyright 2016 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_BLUETOOTH_LOCAL_GATT_CHARACTERISTIC_H_ #define DEVICE_BLUETOOTH_BLUETOOTH_LOCAL_GATT_CHARACTERISTIC_H_ #include <stdint.h> #include <vector> #include "device/bluetooth/bluetooth_export.h" #include "device/bluetooth/bluetooth_gatt_characteristic.h" #include "device/bluetooth/bluetooth_local_gatt_service.h" #include "device/bluetooth/public/cpp/bluetooth_uuid.h" namespace device { // BluetoothLocalGattCharacteristic represents a local GATT characteristic. This // class is used to represent GATT characteristics that belong to a locally // hosted service. To achieve this, users need to specify the instance of the // GATT service that contains this characteristic during construction. // // Note: We use virtual inheritance on the GATT characteristic since it will be // inherited by platform specific versions of the GATT characteristic classes // also. The platform specific remote GATT characteristic classes will inherit // both this class and their GATT characteristic class, hence causing an // inheritance diamond. class DEVICE_BLUETOOTH_EXPORT BluetoothLocalGattCharacteristic : public virtual BluetoothGattCharacteristic { … }; } // namespace device #endif // DEVICE_BLUETOOTH_BLUETOOTH_LOCAL_GATT_CHARACTERISTIC_H_