chromium/device/bluetooth/gatt_service.h

// Copyright 2024 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_GATT_SERVICE_H_
#define DEVICE_BLUETOOTH_GATT_SERVICE_H_

#include "device/bluetooth/bluetooth_local_gatt_service.h"
#include "device/bluetooth/public/mojom/adapter.mojom.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"

namespace device {
class BluetoothLocalGattService;
class BluetoothLocalGattCharacteristic;
class BluetoothAdapter;
}  // namespace device

namespace bluetooth {

// Implementation of Mojo GattService in
// device/bluetooth/public/mojom/adapter.mojom.
// Uses the platform abstraction of //device/bluetooth.
//
// TODO(b/322381543): Re-evaluate the directory of `GattService`.
class GattService : public mojom::GattService,
                    public device::BluetoothLocalGattService::Delegate {};

}  // namespace bluetooth

#endif  // DEVICE_BLUETOOTH_GATT_SERVICE_H_