#ifndef DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_GATT_DESCRIPTOR_BLUEZ_H_
#define DEVICE_BLUETOOTH_BLUEZ_BLUETOOTH_GATT_DESCRIPTOR_BLUEZ_H_
#include <string>
#include "dbus/object_path.h"
#include "device/bluetooth/bluetooth_gatt_descriptor.h"
namespace bluez {
class BluetoothGattDescriptorBlueZ
: public virtual device::BluetoothGattDescriptor {
public:
BluetoothGattDescriptorBlueZ(const BluetoothGattDescriptorBlueZ&) = delete;
BluetoothGattDescriptorBlueZ& operator=(const BluetoothGattDescriptorBlueZ&) =
delete;
std::string GetIdentifier() const override;
const dbus::ObjectPath& object_path() const { return object_path_; }
protected:
explicit BluetoothGattDescriptorBlueZ(const dbus::ObjectPath& object_path);
~BluetoothGattDescriptorBlueZ() override;
private:
void OnError(ErrorCallback error_callback,
const std::string& error_name,
const std::string& error_message);
dbus::ObjectPath object_path_;
};
}
#endif