//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#include "mozilla/hwinference/PSpeechRecognitionParent.h"
#include "mozilla/ProfilerLabels.h"
#include "mozilla/TimeStamp.h"
#include "mozilla/hwinference/SpeechRecognitionParent.h"
#include "ipc/IPCMessageUtils.h"
#include "ipc/IPCMessageUtilsSpecializations.h"
#include "nsIFile.h"
#include "mozilla/ipc/Endpoint.h"
#include "mozilla/ipc/ProtocolMessageUtils.h"
#include "mozilla/ipc/ProtocolUtils.h"
#include "mozilla/ipc/ShmemMessageUtils.h"
#include "mozilla/ipc/TaintingIPCUtils.h"
namespace mozilla {
namespace hwinference {
auto PSpeechRecognitionParent::ProcessingError(
Result aCode,
const char* aReason) -> void
{
}
auto PSpeechRecognitionParent::ShouldContinueFromReplyTimeout() -> bool
{
return true;
}
MOZ_IMPLICIT PSpeechRecognitionParent::PSpeechRecognitionParent() :
mozilla::ipc::IToplevelProtocol("PSpeechRecognitionParent", kProtocolId, mozilla::ipc::ParentSide)
{
MOZ_COUNT_CTOR(PSpeechRecognitionParent);
}
PSpeechRecognitionParent::~PSpeechRecognitionParent()
{
MOZ_COUNT_DTOR(PSpeechRecognitionParent);
}
auto PSpeechRecognitionParent::ActorAlloc() -> void
{
MOZ_RELEASE_ASSERT(XRE_IsUtilityProcess(), "Invalid process for `PSpeechRecognitionParent'");
AddRef();
}
auto PSpeechRecognitionParent::ActorDealloc() -> void
{
Release();
}
auto PSpeechRecognitionParent::ManagedProtocolIds() const -> mozilla::Span<mozilla::ipc::ProtocolId const>
{
return {};
}
auto PSpeechRecognitionParent::GetManagedActors(mozilla::ipc::ProtocolId aProtocol) -> UntypedManagedContainer*
{
switch (aProtocol) {
default:
return nullptr;
}
}
auto PSpeechRecognitionParent::RejectPendingResponses(ResponseRejectReason aReason) -> void
{
mAsyncCallbacks.RejectPendingResponses(aReason);
}
auto PSpeechRecognitionParent::SendOnRecognitionResult(
const nsACString& transcript,
const bool& isFinal,
const float& confidence,
const TimeStamp& eventTime) -> bool
{
UniquePtr<IPC::Message> msg__ = PSpeechRecognition::Msg_OnRecognitionResult(MSG_ROUTING_CONTROL);
IPC::MessageWriter writer__{
(*(msg__)),
this};
IPC::WriteParam((&(writer__)), transcript);
// Sentinel = 'transcript'
((&(writer__)))->WriteSentinel(395707467);
IPC::WriteParam((&(writer__)), isFinal);
// Sentinel = 'isFinal'
((&(writer__)))->WriteSentinel(185729735);
IPC::WriteParam((&(writer__)), confidence);
// Sentinel = 'confidence'
((&(writer__)))->WriteSentinel(377226255);
IPC::WriteParam((&(writer__)), eventTime);
// Sentinel = 'eventTime'
((&(writer__)))->WriteSentinel(313197490);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending ",
msg__->type(),
mozilla::ipc::MessageDirection::eSending);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_OnRecognitionResult", OTHER);
bool sendok__ = ChannelSend(std::move(msg__));
return sendok__;
}
auto PSpeechRecognitionParent::SendOnRecognitionError(const nsACString& error) -> bool
{
UniquePtr<IPC::Message> msg__ = PSpeechRecognition::Msg_OnRecognitionError(MSG_ROUTING_CONTROL);
IPC::MessageWriter writer__{
(*(msg__)),
this};
IPC::WriteParam((&(writer__)), error);
// Sentinel = 'error'
((&(writer__)))->WriteSentinel(107741739);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending ",
msg__->type(),
mozilla::ipc::MessageDirection::eSending);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_OnRecognitionError", OTHER);
bool sendok__ = ChannelSend(std::move(msg__));
return sendok__;
}
auto PSpeechRecognitionParent::SendOnSpeechChange(
const bool& speechDetected,
const TimeStamp& eventTime) -> bool
{
UniquePtr<IPC::Message> msg__ = PSpeechRecognition::Msg_OnSpeechChange(MSG_ROUTING_CONTROL);
IPC::MessageWriter writer__{
(*(msg__)),
this};
IPC::WriteParam((&(writer__)), speechDetected);
// Sentinel = 'speechDetected'
((&(writer__)))->WriteSentinel(709559707);
IPC::WriteParam((&(writer__)), eventTime);
// Sentinel = 'eventTime'
((&(writer__)))->WriteSentinel(313197490);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending ",
msg__->type(),
mozilla::ipc::MessageDirection::eSending);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_OnSpeechChange", OTHER);
bool sendok__ = ChannelSend(std::move(msg__));
return sendok__;
}
auto PSpeechRecognitionParent::DeallocManagee(
mozilla::ipc::ProtocolId aProtocolId,
IProtocol* aListener) -> void
{
FatalError("unreached");
return;
}
auto PSpeechRecognitionParent::OnMessageReceived(const Message& msg__) -> PSpeechRecognitionParent::Result
{
if (!CanSend()) {
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Ignored message for dead actor",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eSending);
}
return MsgProcessed;
}
switch (msg__.type()) {
case PSpeechRecognition::Msg_IsModelAvailable__ID:
{
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Received ",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eReceiving);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_IsModelAvailable", OTHER);
IPC::MessageReader reader__{
msg__,
this};
auto maybe__languages = IPC::ReadParam<nsTArray<nsCString>>((&(reader__)));
if (!maybe__languages) {
FatalError("Error deserializing 'nsCString[]'");
return MsgValueError;
}
auto& languages = *maybe__languages;
// Sentinel = 'languages'
if ((!(((&(reader__)))->ReadSentinel(310903736)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'nsCString[]'");
return MsgValueError;
}
reader__.EndRead();
mozilla::ipc::ActorId id__ = MSG_ROUTING_CONTROL;
UniquePtr<IPC::Message> reply__(PSpeechRecognition::Reply_IsModelAvailable(id__));
reply__->set_seqno(msg__.seqno());
RefPtr<mozilla::ipc::IPDLResolverInner> resolver__ =
new mozilla::ipc::IPDLResolverInner(std::move(reply__), this);
IsModelAvailableResolver resolver = [resolver__ = std::move(resolver__)](const bool& aParam) {
resolver__->Resolve([&] (IPC::Message* reply__, IProtocol* self__) {
IPC::MessageWriter writer__(*reply__, self__);
IPC::WriteParam((&(writer__)), aParam);
// Sentinel = 'available'
((&(writer__)))->WriteSentinel(306316194);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
self__->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending reply ",
reply__->type(),
mozilla::ipc::MessageDirection::eSending);
}
});
};
mozilla::ipc::IPCResult __ok = (static_cast<::mozilla::hwinference::SpeechRecognitionParent*>(this))->RecvIsModelAvailable(std::move(languages), std::move(resolver));
if ((!(__ok))) {
mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
// Error handled in mozilla::ipc::IPCResult
return MsgProcessingError;
}
return MsgProcessed;
}
case PSpeechRecognition::Msg_IsModelInstalled__ID:
{
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Received ",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eReceiving);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_IsModelInstalled", OTHER);
IPC::MessageReader reader__{
msg__,
this};
auto maybe__languages = IPC::ReadParam<nsTArray<nsCString>>((&(reader__)));
if (!maybe__languages) {
FatalError("Error deserializing 'nsCString[]'");
return MsgValueError;
}
auto& languages = *maybe__languages;
// Sentinel = 'languages'
if ((!(((&(reader__)))->ReadSentinel(310903736)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'nsCString[]'");
return MsgValueError;
}
reader__.EndRead();
mozilla::ipc::ActorId id__ = MSG_ROUTING_CONTROL;
UniquePtr<IPC::Message> reply__(PSpeechRecognition::Reply_IsModelInstalled(id__));
reply__->set_seqno(msg__.seqno());
RefPtr<mozilla::ipc::IPDLResolverInner> resolver__ =
new mozilla::ipc::IPDLResolverInner(std::move(reply__), this);
IsModelInstalledResolver resolver = [resolver__ = std::move(resolver__)](const bool& aParam) {
resolver__->Resolve([&] (IPC::Message* reply__, IProtocol* self__) {
IPC::MessageWriter writer__(*reply__, self__);
IPC::WriteParam((&(writer__)), aParam);
// Sentinel = 'installed'
((&(writer__)))->WriteSentinel(319685569);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
self__->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending reply ",
reply__->type(),
mozilla::ipc::MessageDirection::eSending);
}
});
};
mozilla::ipc::IPCResult __ok = (static_cast<::mozilla::hwinference::SpeechRecognitionParent*>(this))->RecvIsModelInstalled(std::move(languages), std::move(resolver));
if ((!(__ok))) {
mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
// Error handled in mozilla::ipc::IPCResult
return MsgProcessingError;
}
return MsgProcessed;
}
case PSpeechRecognition::Msg_InstallModels__ID:
{
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Received ",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eReceiving);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_InstallModels", OTHER);
IPC::MessageReader reader__{
msg__,
this};
auto maybe__languages = IPC::ReadParam<nsTArray<nsCString>>((&(reader__)));
if (!maybe__languages) {
FatalError("Error deserializing 'nsCString[]'");
return MsgValueError;
}
auto& languages = *maybe__languages;
// Sentinel = 'languages'
if ((!(((&(reader__)))->ReadSentinel(310903736)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'nsCString[]'");
return MsgValueError;
}
auto maybe__innerWindowId = IPC::ReadParam<uint64_t>((&(reader__)));
if (!maybe__innerWindowId) {
FatalError("Error deserializing 'uint64_t'");
return MsgValueError;
}
auto& innerWindowId = *maybe__innerWindowId;
// Sentinel = 'innerWindowId'
if ((!(((&(reader__)))->ReadSentinel(627967298)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'uint64_t'");
return MsgValueError;
}
reader__.EndRead();
mozilla::ipc::ActorId id__ = MSG_ROUTING_CONTROL;
UniquePtr<IPC::Message> reply__(PSpeechRecognition::Reply_InstallModels(id__));
reply__->set_seqno(msg__.seqno());
RefPtr<mozilla::ipc::IPDLResolverInner> resolver__ =
new mozilla::ipc::IPDLResolverInner(std::move(reply__), this);
InstallModelsResolver resolver = [resolver__ = std::move(resolver__)](const bool& aParam) {
resolver__->Resolve([&] (IPC::Message* reply__, IProtocol* self__) {
IPC::MessageWriter writer__(*reply__, self__);
IPC::WriteParam((&(writer__)), aParam);
// Sentinel = 'success'
((&(writer__)))->WriteSentinel(200082170);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
self__->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending reply ",
reply__->type(),
mozilla::ipc::MessageDirection::eSending);
}
});
};
mozilla::ipc::IPCResult __ok = (static_cast<::mozilla::hwinference::SpeechRecognitionParent*>(this))->RecvInstallModels(std::move(languages), std::move(innerWindowId), std::move(resolver));
if ((!(__ok))) {
mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
// Error handled in mozilla::ipc::IPCResult
return MsgProcessingError;
}
return MsgProcessed;
}
case PSpeechRecognition::Msg_Init__ID:
{
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Received ",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eReceiving);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_Init", OTHER);
IPC::MessageReader reader__{
msg__,
this};
auto maybe__engineId = IPC::ReadParam<nsCString>((&(reader__)));
if (!maybe__engineId) {
FatalError("Error deserializing 'nsCString'");
return MsgValueError;
}
auto& engineId = *maybe__engineId;
// Sentinel = 'engineId'
if ((!(((&(reader__)))->ReadSentinel(243663652)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'nsCString'");
return MsgValueError;
}
auto maybe__language = IPC::ReadParam<nsCString>((&(reader__)));
if (!maybe__language) {
FatalError("Error deserializing 'nsCString'");
return MsgValueError;
}
auto& language = *maybe__language;
// Sentinel = 'language'
if ((!(((&(reader__)))->ReadSentinel(248513349)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'nsCString'");
return MsgValueError;
}
auto maybe__phrases = IPC::ReadParam<nsTArray<nsString>>((&(reader__)));
if (!maybe__phrases) {
FatalError("Error deserializing 'nsString[]'");
return MsgValueError;
}
auto& phrases = *maybe__phrases;
// Sentinel = 'phrases'
if ((!(((&(reader__)))->ReadSentinel(198902519)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'nsString[]'");
return MsgValueError;
}
reader__.EndRead();
mozilla::ipc::ActorId id__ = MSG_ROUTING_CONTROL;
UniquePtr<IPC::Message> reply__(PSpeechRecognition::Reply_Init(id__));
reply__->set_seqno(msg__.seqno());
RefPtr<mozilla::ipc::IPDLResolverInner> resolver__ =
new mozilla::ipc::IPDLResolverInner(std::move(reply__), this);
InitResolver resolver = [resolver__ = std::move(resolver__)](const nsACString& aParam) {
resolver__->Resolve([&] (IPC::Message* reply__, IProtocol* self__) {
IPC::MessageWriter writer__(*reply__, self__);
IPC::WriteParam((&(writer__)), aParam);
// Sentinel = 'error'
((&(writer__)))->WriteSentinel(107741739);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
self__->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending reply ",
reply__->type(),
mozilla::ipc::MessageDirection::eSending);
}
});
};
mozilla::ipc::IPCResult __ok = (static_cast<::mozilla::hwinference::SpeechRecognitionParent*>(this))->RecvInit(std::move(engineId), std::move(language), std::move(phrases), std::move(resolver));
if ((!(__ok))) {
mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
// Error handled in mozilla::ipc::IPCResult
return MsgProcessingError;
}
return MsgProcessed;
}
case PSpeechRecognition::Msg_ProcessAudioData__ID:
{
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Received ",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eReceiving);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_ProcessAudioData", OTHER);
IPC::MessageReader reader__{
msg__,
this};
auto maybe__audioData = IPC::ReadParam<nsTArray<float>>((&(reader__)));
if (!maybe__audioData) {
FatalError("Error deserializing 'float[]'");
return MsgValueError;
}
auto& audioData = *maybe__audioData;
// Sentinel = 'audioData'
if ((!(((&(reader__)))->ReadSentinel(301138829)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'float[]'");
return MsgValueError;
}
auto maybe__captureEndTime = IPC::ReadParam<TimeStamp>((&(reader__)));
if (!maybe__captureEndTime) {
FatalError("Error deserializing 'TimeStamp'");
return MsgValueError;
}
auto& captureEndTime = *maybe__captureEndTime;
// Sentinel = 'captureEndTime'
if ((!(((&(reader__)))->ReadSentinel(714212763)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'TimeStamp'");
return MsgValueError;
}
reader__.EndRead();
mozilla::ipc::IPCResult __ok = (static_cast<::mozilla::hwinference::SpeechRecognitionParent*>(this))->RecvProcessAudioData(std::move(audioData), std::move(captureEndTime));
if ((!(__ok))) {
mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
// Error handled in mozilla::ipc::IPCResult
return MsgProcessingError;
}
return MsgProcessed;
}
case PSpeechRecognition::Msg_Stop__ID:
{
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
this->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Received ",
(&(msg__))->type(),
mozilla::ipc::MessageDirection::eReceiving);
}
AUTO_PROFILER_LABEL("PSpeechRecognition::Msg_Stop", OTHER);
mozilla::ipc::ActorId id__ = MSG_ROUTING_CONTROL;
UniquePtr<IPC::Message> reply__(PSpeechRecognition::Reply_Stop(id__));
reply__->set_seqno(msg__.seqno());
RefPtr<mozilla::ipc::IPDLResolverInner> resolver__ =
new mozilla::ipc::IPDLResolverInner(std::move(reply__), this);
StopResolver resolver = [resolver__ = std::move(resolver__)](const bool& aParam) {
resolver__->Resolve([&] (IPC::Message* reply__, IProtocol* self__) {
IPC::MessageWriter writer__(*reply__, self__);
IPC::WriteParam((&(writer__)), aParam);
// Sentinel = 'anyFinalResult'
((&(writer__)))->WriteSentinel(703595954);
if (mozilla::ipc::LoggingEnabledFor("PSpeechRecognition", mozilla::ipc::ParentSide)) {
mozilla::ipc::LogMessageForProtocol(
"PSpeechRecognitionParent",
self__->ToplevelProtocol()->OtherPidMaybeInvalid(),
"Sending reply ",
reply__->type(),
mozilla::ipc::MessageDirection::eSending);
}
});
};
mozilla::ipc::IPCResult __ok = (static_cast<::mozilla::hwinference::SpeechRecognitionParent*>(this))->RecvStop(std::move(resolver));
if ((!(__ok))) {
mozilla::ipc::ProtocolErrorBreakpoint("Handler returned error code!");
// Error handled in mozilla::ipc::IPCResult
return MsgProcessingError;
}
return MsgProcessed;
}
default:
return MsgNotKnown;
case SHMEM_CREATED_MESSAGE_TYPE:
{
if (!ShmemCreated(msg__)) {
return MsgPayloadError;
}
return MsgProcessed;
}
case SHMEM_DESTROYED_MESSAGE_TYPE:
{
if (!ShmemDestroyed(msg__)) {
return MsgPayloadError;
}
return MsgProcessed;
}
}
}
auto PSpeechRecognitionParent::OnMessageReceived(
const Message& msg__,
UniquePtr<Message>& reply__) -> PSpeechRecognitionParent::Result
{
if (!CanSend()) {
return MsgDropped;
}
MOZ_ASSERT_UNREACHABLE("message protocol not supported");
return MsgNotKnown;
}
} // namespace hwinference
} // namespace mozilla