#ifndef EXTENSIONS_BROWSER_API_BLUETOOTH_LOW_ENERGY_BLUETOOTH_LOW_ENERGY_API_H_
#define EXTENSIONS_BROWSER_API_BLUETOOTH_LOW_ENERGY_BLUETOOTH_LOW_ENERGY_API_H_
#include <memory>
#include <optional>
#include <string>
#include <unordered_set>
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "build/build_config.h"
#include "content/public/browser/browser_context.h"
#include "device/bluetooth/bluetooth_advertisement.h"
#include "extensions/browser/api/api_resource_manager.h"
#include "extensions/browser/api/bluetooth_low_energy/bluetooth_api_advertisement.h"
#include "extensions/browser/api/bluetooth_low_energy/bluetooth_low_energy_event_router.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
#include "extensions/browser/extension_function.h"
#include "extensions/browser/extension_function_histogram_value.h"
#include "extensions/common/api/bluetooth_low_energy.h"
namespace extensions {
class BluetoothApiAdvertisement;
class BluetoothLowEnergyEventRouter;
class BluetoothLowEnergyAPI : public BrowserContextKeyedAPI { … };
namespace api {
class BluetoothLowEnergyExtensionFunction : public ExtensionFunction { … };
class BLEPeripheralExtensionFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyConnectFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyDisconnectFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetServiceFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetServicesFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetCharacteristicFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetCharacteristicsFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetIncludedServicesFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetDescriptorFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyGetDescriptorsFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyReadCharacteristicValueFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyWriteCharacteristicValueFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyStartCharacteristicNotificationsFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyStopCharacteristicNotificationsFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyReadDescriptorValueFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyWriteDescriptorValueFunction
: public BluetoothLowEnergyExtensionFunction { … };
class BluetoothLowEnergyAdvertisementFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyRegisterAdvertisementFunction
: public BluetoothLowEnergyAdvertisementFunction { … };
class BluetoothLowEnergyUnregisterAdvertisementFunction
: public BluetoothLowEnergyAdvertisementFunction { … };
class BluetoothLowEnergyResetAdvertisingFunction
: public BluetoothLowEnergyAdvertisementFunction { … };
class BluetoothLowEnergySetAdvertisingIntervalFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyCreateServiceFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyCreateCharacteristicFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyNotifyCharacteristicValueChangedFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyCreateDescriptorFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyRegisterServiceFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyUnregisterServiceFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergyRemoveServiceFunction
: public BLEPeripheralExtensionFunction { … };
class BluetoothLowEnergySendRequestResponseFunction
: public BLEPeripheralExtensionFunction { … };
}
}
#endif