#ifndef DEVICE_BLUETOOTH_PUBLIC_MOJOM_DEVICE_MOJOM_SHARED_H_
#define DEVICE_BLUETOOTH_PUBLIC_MOJOM_DEVICE_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "device/bluetooth/public/mojom/device.mojom-shared-internal.h"
#include "device/bluetooth/public/mojom/uuid.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace bluetooth::mojom {
class RSSIWrapperDataView;
class DeviceInfoDataView;
class ServiceInfoDataView;
class CharacteristicInfoDataView;
class DescriptorInfoDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::bluetooth::mojom::RSSIWrapperDataView> { … };
template <>
struct MojomTypeTraits<::bluetooth::mojom::DeviceInfoDataView> { … };
template <>
struct MojomTypeTraits<::bluetooth::mojom::ServiceInfoDataView> { … };
template <>
struct MojomTypeTraits<::bluetooth::mojom::CharacteristicInfoDataView> { … };
template <>
struct MojomTypeTraits<::bluetooth::mojom::DescriptorInfoDataView> { … };
}
}
namespace bluetooth::mojom {
enum class Property : int32_t { … };
std::ostream& operator<<(std::ostream& os, Property value);
inline bool IsKnownEnumValue(Property value) { … }
enum class GattResult : int32_t { … };
std::ostream& operator<<(std::ostream& os, GattResult value);
inline bool IsKnownEnumValue(GattResult value) { … }
class DeviceInterfaceBase { … };
DevicePtrDataView;
DeviceRequestDataView;
DeviceAssociatedPtrInfoDataView;
DeviceAssociatedRequestDataView;
class RSSIWrapperDataView { … };
class DeviceInfoDataView { … };
class ServiceInfoDataView { … };
class CharacteristicInfoDataView { … };
class DescriptorInfoDataView { … };
}
namespace std {
template <>
struct hash<::bluetooth::mojom::Property>
: public mojo::internal::EnumHashImpl<::bluetooth::mojom::Property> { … };
template <>
struct hash<::bluetooth::mojom::GattResult>
: public mojo::internal::EnumHashImpl<::bluetooth::mojom::GattResult> { … };
}
namespace mojo {
namespace internal {
Serializer< ::bluetooth::mojom::Property, MaybeConstUserType>;
}
namespace internal {
Serializer< ::bluetooth::mojom::GattResult, MaybeConstUserType>;
}
namespace internal {
Serializer< ::bluetooth::mojom::RSSIWrapperDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::bluetooth::mojom::DeviceInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::bluetooth::mojom::ServiceInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::bluetooth::mojom::CharacteristicInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::bluetooth::mojom::DescriptorInfoDataView, MaybeConstUserType>;
}
}
namespace bluetooth::mojom {
inline void DeviceInfoDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void DeviceInfoDataView::GetNameForDisplayDataView(
mojo::StringDataView* output) { … }
inline void DeviceInfoDataView::GetAddressDataView(
mojo::StringDataView* output) { … }
inline void DeviceInfoDataView::GetRssiDataView(
RSSIWrapperDataView* output) { … }
inline void DeviceInfoDataView::GetServiceUuidsDataView(
mojo::ArrayDataView<::bluetooth::mojom::UUIDDataView>* output) { … }
inline void DeviceInfoDataView::GetManufacturerDataMapDataView(
mojo::MapDataView<uint16_t, mojo::ArrayDataView<uint8_t>>* output) { … }
inline void DeviceInfoDataView::GetServiceDataMapDataView(
mojo::MapDataView<::bluetooth::mojom::UUIDDataView, mojo::ArrayDataView<uint8_t>>* output) { … }
inline void ServiceInfoDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void ServiceInfoDataView::GetUuidDataView(
::bluetooth::mojom::UUIDDataView* output) { … }
inline void CharacteristicInfoDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void CharacteristicInfoDataView::GetUuidDataView(
::bluetooth::mojom::UUIDDataView* output) { … }
inline void CharacteristicInfoDataView::GetLastKnownValueDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void DescriptorInfoDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void DescriptorInfoDataView::GetUuidDataView(
::bluetooth::mojom::UUIDDataView* output) { … }
inline void DescriptorInfoDataView::GetLastKnownValueDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::bluetooth::mojom::Property> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::bluetooth::mojom::GattResult> { … };
}
#endif