#ifndef UI_BASE_IME_MOJOM_IME_TYPES_MOJOM_SHARED_H_
#define UI_BASE_IME_MOJOM_IME_TYPES_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 "ui/base/ime/mojom/ime_types.mojom-shared-internal.h"
namespace ui::mojom {
class ImeTextSpanDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::ui::mojom::ImeTextSpanDataView> { … };
}
}
namespace ui::mojom {
enum class TextInputMode : int32_t { … };
std::ostream& operator<<(std::ostream& os, TextInputMode value);
inline bool IsKnownEnumValue(TextInputMode value) { … }
enum class TextInputAction : int32_t { … };
std::ostream& operator<<(std::ostream& os, TextInputAction value);
inline bool IsKnownEnumValue(TextInputAction value) { … }
enum class TextInputType : int32_t { … };
std::ostream& operator<<(std::ostream& os, TextInputType value);
inline bool IsKnownEnumValue(TextInputType value) { … }
enum class ImeTextSpanType : int32_t { … };
std::ostream& operator<<(std::ostream& os, ImeTextSpanType value);
inline bool IsKnownEnumValue(ImeTextSpanType value) { … }
enum class ImeTextSpanThickness : int32_t { … };
std::ostream& operator<<(std::ostream& os, ImeTextSpanThickness value);
inline bool IsKnownEnumValue(ImeTextSpanThickness value) { … }
enum class ImeTextSpanUnderlineStyle : int32_t { … };
std::ostream& operator<<(std::ostream& os, ImeTextSpanUnderlineStyle value);
inline bool IsKnownEnumValue(ImeTextSpanUnderlineStyle value) { … }
class ImeTextSpanDataView { … };
}
namespace std {
template <>
struct hash<::ui::mojom::TextInputMode>
: public mojo::internal::EnumHashImpl<::ui::mojom::TextInputMode> { … };
template <>
struct hash<::ui::mojom::TextInputAction>
: public mojo::internal::EnumHashImpl<::ui::mojom::TextInputAction> { … };
template <>
struct hash<::ui::mojom::TextInputType>
: public mojo::internal::EnumHashImpl<::ui::mojom::TextInputType> { … };
template <>
struct hash<::ui::mojom::ImeTextSpanType>
: public mojo::internal::EnumHashImpl<::ui::mojom::ImeTextSpanType> { … };
template <>
struct hash<::ui::mojom::ImeTextSpanThickness>
: public mojo::internal::EnumHashImpl<::ui::mojom::ImeTextSpanThickness> { … };
template <>
struct hash<::ui::mojom::ImeTextSpanUnderlineStyle>
: public mojo::internal::EnumHashImpl<::ui::mojom::ImeTextSpanUnderlineStyle> { … };
}
namespace mojo {
namespace internal {
Serializer< ::ui::mojom::TextInputMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::ui::mojom::TextInputAction, MaybeConstUserType>;
}
namespace internal {
Serializer< ::ui::mojom::TextInputType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::ui::mojom::ImeTextSpanType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::ui::mojom::ImeTextSpanThickness, MaybeConstUserType>;
}
namespace internal {
Serializer< ::ui::mojom::ImeTextSpanUnderlineStyle, MaybeConstUserType>;
}
namespace internal {
Serializer< ::ui::mojom::ImeTextSpanDataView, MaybeConstUserType>;
}
}
namespace ui::mojom {
inline void ImeTextSpanDataView::GetSuggestionsDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::ui::mojom::TextInputMode> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::ui::mojom::TextInputAction> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::ui::mojom::TextInputType> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::ui::mojom::ImeTextSpanType> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::ui::mojom::ImeTextSpanThickness> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::ui::mojom::ImeTextSpanUnderlineStyle> { … };
}
#endif