#ifndef MEDIA_MOJO_MOJOM_SPEECH_RECOGNITION_MOJOM_SHARED_H_
#define MEDIA_MOJO_MOJOM_SPEECH_RECOGNITION_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 "media/mojo/mojom/speech_recognition.mojom-shared-internal.h"
#include "media/mojo/mojom/audio_data.mojom-shared.h"
#include "media/mojo/mojom/speech_recognition_audio_forwarder.mojom-shared.h"
#include "media/mojo/mojom/speech_recognizer.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
namespace media::mojom {
class HypothesisPartsDataView;
class TimingInformationDataView;
class SpeechRecognitionResultDataView;
class LanguageIdentificationEventDataView;
class SpeechRecognitionSurfaceMetadataDataView;
class SpeechRecognitionOptionsDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::media::mojom::HypothesisPartsDataView> { … };
template <>
struct MojomTypeTraits<::media::mojom::TimingInformationDataView> { … };
template <>
struct MojomTypeTraits<::media::mojom::SpeechRecognitionResultDataView> { … };
template <>
struct MojomTypeTraits<::media::mojom::LanguageIdentificationEventDataView> { … };
template <>
struct MojomTypeTraits<::media::mojom::SpeechRecognitionSurfaceMetadataDataView> { … };
template <>
struct MojomTypeTraits<::media::mojom::SpeechRecognitionOptionsDataView> { … };
}
}
namespace media::mojom {
enum class ConfidenceLevel : int32_t { … };
std::ostream& operator<<(std::ostream& os, ConfidenceLevel value);
inline bool IsKnownEnumValue(ConfidenceLevel value) { … }
inline ConfidenceLevel ToKnownEnumValue(ConfidenceLevel value) { … }
enum class AsrSwitchResult : int32_t { … };
std::ostream& operator<<(std::ostream& os, AsrSwitchResult value);
inline bool IsKnownEnumValue(AsrSwitchResult value) { … }
inline AsrSwitchResult ToKnownEnumValue(AsrSwitchResult value) { … }
enum class SpeechRecognitionMode : int32_t { … };
std::ostream& operator<<(std::ostream& os, SpeechRecognitionMode value);
inline bool IsKnownEnumValue(SpeechRecognitionMode value) { … }
inline SpeechRecognitionMode ToKnownEnumValue(SpeechRecognitionMode value) { … }
enum class RecognizerClientType : int32_t { … };
std::ostream& operator<<(std::ostream& os, RecognizerClientType value);
inline bool IsKnownEnumValue(RecognizerClientType value) { … }
inline RecognizerClientType ToKnownEnumValue(RecognizerClientType value) { … }
class SpeechRecognitionContextInterfaceBase { … };
SpeechRecognitionContextPtrDataView;
SpeechRecognitionContextRequestDataView;
SpeechRecognitionContextAssociatedPtrInfoDataView;
SpeechRecognitionContextAssociatedRequestDataView;
class SpeechRecognitionRecognizerInterfaceBase { … };
SpeechRecognitionRecognizerPtrDataView;
SpeechRecognitionRecognizerRequestDataView;
SpeechRecognitionRecognizerAssociatedPtrInfoDataView;
SpeechRecognitionRecognizerAssociatedRequestDataView;
class SpeechRecognitionRecognizerClientInterfaceBase { … };
SpeechRecognitionRecognizerClientPtrDataView;
SpeechRecognitionRecognizerClientRequestDataView;
SpeechRecognitionRecognizerClientAssociatedPtrInfoDataView;
SpeechRecognitionRecognizerClientAssociatedRequestDataView;
class SpeechRecognitionBrowserObserverInterfaceBase { … };
SpeechRecognitionBrowserObserverPtrDataView;
SpeechRecognitionBrowserObserverRequestDataView;
SpeechRecognitionBrowserObserverAssociatedPtrInfoDataView;
SpeechRecognitionBrowserObserverAssociatedRequestDataView;
class SpeechRecognitionSurfaceInterfaceBase { … };
SpeechRecognitionSurfacePtrDataView;
SpeechRecognitionSurfaceRequestDataView;
SpeechRecognitionSurfaceAssociatedPtrInfoDataView;
SpeechRecognitionSurfaceAssociatedRequestDataView;
class SpeechRecognitionSurfaceClientInterfaceBase { … };
SpeechRecognitionSurfaceClientPtrDataView;
SpeechRecognitionSurfaceClientRequestDataView;
SpeechRecognitionSurfaceClientAssociatedPtrInfoDataView;
SpeechRecognitionSurfaceClientAssociatedRequestDataView;
class SpeechRecognitionClientBrowserInterfaceInterfaceBase { … };
SpeechRecognitionClientBrowserInterfacePtrDataView;
SpeechRecognitionClientBrowserInterfaceRequestDataView;
SpeechRecognitionClientBrowserInterfaceAssociatedPtrInfoDataView;
SpeechRecognitionClientBrowserInterfaceAssociatedRequestDataView;
class HypothesisPartsDataView { … };
class TimingInformationDataView { … };
class SpeechRecognitionResultDataView { … };
class LanguageIdentificationEventDataView { … };
class SpeechRecognitionSurfaceMetadataDataView { … };
class SpeechRecognitionOptionsDataView { … };
}
namespace std {
template <>
struct hash<::media::mojom::ConfidenceLevel>
: public mojo::internal::EnumHashImpl<::media::mojom::ConfidenceLevel> { … };
template <>
struct hash<::media::mojom::AsrSwitchResult>
: public mojo::internal::EnumHashImpl<::media::mojom::AsrSwitchResult> { … };
template <>
struct hash<::media::mojom::SpeechRecognitionMode>
: public mojo::internal::EnumHashImpl<::media::mojom::SpeechRecognitionMode> { … };
template <>
struct hash<::media::mojom::RecognizerClientType>
: public mojo::internal::EnumHashImpl<::media::mojom::RecognizerClientType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::media::mojom::ConfidenceLevel, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::AsrSwitchResult, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::SpeechRecognitionMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::RecognizerClientType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::HypothesisPartsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::TimingInformationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::SpeechRecognitionResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::LanguageIdentificationEventDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::SpeechRecognitionSurfaceMetadataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::media::mojom::SpeechRecognitionOptionsDataView, MaybeConstUserType>;
}
}
namespace media::mojom {
inline void HypothesisPartsDataView::GetTextDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void HypothesisPartsDataView::GetHypothesisPartOffsetDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void TimingInformationDataView::GetAudioStartTimeDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void TimingInformationDataView::GetAudioEndTimeDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void TimingInformationDataView::GetHypothesisPartsDataView(
mojo::ArrayDataView<HypothesisPartsDataView>* output) { … }
inline void SpeechRecognitionResultDataView::GetTranscriptionDataView(
mojo::StringDataView* output) { … }
inline void SpeechRecognitionResultDataView::GetTimingInformationDataView(
TimingInformationDataView* output) { … }
inline void LanguageIdentificationEventDataView::GetLanguageDataView(
mojo::StringDataView* output) { … }
inline void SpeechRecognitionSurfaceMetadataDataView::GetSessionIdDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void SpeechRecognitionOptionsDataView::GetLanguageDataView(
mojo::StringDataView* output) { … }
inline void SpeechRecognitionOptionsDataView::GetExperimentRecognizerRoutingKeyDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::media::mojom::ConfidenceLevel> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::media::mojom::AsrSwitchResult> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::media::mojom::SpeechRecognitionMode> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::media::mojom::RecognizerClientType> { … };
}
#endif