//
// Automatically generated by ipdlc.
// Edit at your own risk
//


#include "mozilla/ipc/TransportSecurityInfoUtils.h"
#include "mozilla/net/NeckoMessageUtils.h"
#include "mozilla/net/ClassOfService.h"
#include "mozilla/net/PSocketProcessParent.h"
#include "mozilla/net/PSocketProcessChild.h"
#include "mozilla/net/PInputChannelThrottleQueueParent.h"
#include "mozilla/net/PInputChannelThrottleQueueChild.h"
#include "mozilla/dom/DomSecurityIPCUtils.h"
#include "mozilla/dom/FetchIPCTypes.h"
#include "mozilla/dom/FeaturePolicyUtils.h"
#include "mozilla/dom/NavigationAPIIPCUtils.h"
#include "mozilla/dom/PropertyBagUtils.h"
#include "mozilla/dom/ReferrerInfoUtils.h"
#include "mozilla/ipc/URIUtils.h"
#include "mozilla/net/CacheInfoIPCTypes.h"
#include "mozilla/AntiTrackingIPCUtils.h"
#include "mozilla/net/ClassOfService.h"
#include "mozilla/net/PHttpTransaction.h"
#include "mozilla/net/PHttpTransactionParent.h"
#include "mozilla/net/PHttpTransactionChild.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 net {
namespace PHttpTransaction {

nsresult
CreateEndpoints(
        mozilla::ipc::EndpointProcInfo aParentDestInfo,
        mozilla::ipc::EndpointProcInfo aChildDestInfo,
        mozilla::ipc::Endpoint<::mozilla::net::PHttpTransactionParent>* aParent,
        mozilla::ipc::Endpoint<::mozilla::net::PHttpTransactionChild>* aChild)
{
    return mozilla::ipc::CreateEndpoints(
        mozilla::ipc::PrivateIPDLInterface(),
        aParentDestInfo, aChildDestInfo, aParent, aChild);
}
mozilla::UniquePtr<IPC::Message>
Msg_OnStartRequest(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_OnStartRequest__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_OnTransportStatus(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_OnTransportStatus__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_OnDataAvailable(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_OnDataAvailable__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_OnStopRequest(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_OnStopRequest__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_OnInitFailed(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_OnInitFailed__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_EarlyHint(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_EarlyHint__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg___delete__(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg___delete____ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Reply___delete__(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Reply___delete____ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_Init(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_Init__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_CancelPump(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_CancelPump__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_SuspendPump(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_SuspendPump__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_ResumePump(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_ResumePump__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_SetDNSWasRefreshed(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_SetDNSWasRefreshed__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_DontReuseConnection(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_DontReuseConnection__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Msg_SetH2WSConnRefTaken(IPC::Message::routeid_t routingId)
{
    return IPC::Message::IPDLMessage(routingId, Msg_SetH2WSConnRefTaken__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NOT_NESTED, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::ASYNC, IPC::Message::NOT_REPLY));
}

} // namespace PHttpTransaction
} // namespace net
} // namespace mozilla

//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct NetworkAddressArg|
//
namespace mozilla {
namespace net {
} // namespace net
} // namespace mozilla

namespace IPC {
auto ParamTraits<::mozilla::net::NetworkAddressArg>::Write(
        IPC::MessageWriter* aWriter,
        const paramType& aVar) -> void
{
    IPC::WriteParam(aWriter, (aVar).selfAddr());
    // Sentinel = 'selfAddr'
    (aWriter)->WriteSentinel(240321318);
    IPC::WriteParam(aWriter, (aVar).peerAddr());
    // Sentinel = 'peerAddr'
    (aWriter)->WriteSentinel(239928104);
    IPC::WriteParam(aWriter, (aVar).resolvedByTRR());
    // Sentinel = 'resolvedByTRR'
    (aWriter)->WriteSentinel(630261016);
    IPC::WriteParam(aWriter, (aVar).mode());
    // Sentinel = 'mode'
    (aWriter)->WriteSentinel(70386086);
    IPC::WriteParam(aWriter, (aVar).trrSkipReason());
    // Sentinel = 'trrSkipReason'
    (aWriter)->WriteSentinel(630588760);
    IPC::WriteParam(aWriter, (aVar).echConfigUsed());
    // Sentinel = 'echConfigUsed'
    (aWriter)->WriteSentinel(593298712);
}

auto ParamTraits<::mozilla::net::NetworkAddressArg>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult<paramType>
{
    auto maybe___selfAddr = IPC::ReadParam<::mozilla::net::NetAddr>(aReader);
    if (!maybe___selfAddr) {
        aReader->FatalError("Error deserializing 'selfAddr' (NetAddr) member of 'NetworkAddressArg'");
        return {};

    }
    auto& _selfAddr = *maybe___selfAddr;
    // Sentinel = 'selfAddr'
    if ((!((aReader)->ReadSentinel(240321318)))) {
        mozilla::ipc::SentinelReadError("Error deserializing 'selfAddr' (NetAddr) member of 'NetworkAddressArg'");
        return {};
    }
    auto maybe___peerAddr = IPC::ReadParam<::mozilla::net::NetAddr>(aReader);
    if (!maybe___peerAddr) {
        aReader->FatalError("Error deserializing 'peerAddr' (NetAddr) member of 'NetworkAddressArg'");
        return {};

    }
    auto& _peerAddr = *maybe___peerAddr;
    // Sentinel = 'peerAddr'
    if ((!((aReader)->ReadSentinel(239928104)))) {
        mozilla::ipc::SentinelReadError("Error deserializing 'peerAddr' (NetAddr) member of 'NetworkAddressArg'");
        return {};
    }
    auto maybe___resolvedByTRR = IPC::ReadParam<bool>(aReader);
    if (!maybe___resolvedByTRR) {
        aReader->FatalError("Error deserializing 'resolvedByTRR' (bool) member of 'NetworkAddressArg'");
        return {};

    }
    auto& _resolvedByTRR = *maybe___resolvedByTRR;
    // Sentinel = 'resolvedByTRR'
    if ((!((aReader)->ReadSentinel(630261016)))) {
        mozilla::ipc::SentinelReadError("Error deserializing 'resolvedByTRR' (bool) member of 'NetworkAddressArg'");
        return {};
    }
    auto maybe___mode = IPC::ReadParam<::nsIRequest::TRRMode>(aReader);
    if (!maybe___mode) {
        aReader->FatalError("Error deserializing 'mode' (TRRMode) member of 'NetworkAddressArg'");
        return {};

    }
    auto& _mode = *maybe___mode;
    // Sentinel = 'mode'
    if ((!((aReader)->ReadSentinel(70386086)))) {
        mozilla::ipc::SentinelReadError("Error deserializing 'mode' (TRRMode) member of 'NetworkAddressArg'");
        return {};
    }
    auto maybe___trrSkipReason = IPC::ReadParam<::mozilla::net::TRRSkippedReason>(aReader);
    if (!maybe___trrSkipReason) {
        aReader->FatalError("Error deserializing 'trrSkipReason' (TRRSkippedReason) member of 'NetworkAddressArg'");
        return {};

    }
    auto& _trrSkipReason = *maybe___trrSkipReason;
    // Sentinel = 'trrSkipReason'
    if ((!((aReader)->ReadSentinel(630588760)))) {
        mozilla::ipc::SentinelReadError("Error deserializing 'trrSkipReason' (TRRSkippedReason) member of 'NetworkAddressArg'");
        return {};
    }
    auto maybe___echConfigUsed = IPC::ReadParam<bool>(aReader);
    if (!maybe___echConfigUsed) {
        aReader->FatalError("Error deserializing 'echConfigUsed' (bool) member of 'NetworkAddressArg'");
        return {};

    }
    auto& _echConfigUsed = *maybe___echConfigUsed;
    // Sentinel = 'echConfigUsed'
    if ((!((aReader)->ReadSentinel(593298712)))) {
        mozilla::ipc::SentinelReadError("Error deserializing 'echConfigUsed' (bool) member of 'NetworkAddressArg'");
        return {};
    }
    IPC::ReadResult<paramType> result__{
            std::in_place,
            std::move(_selfAddr),
            std::move(_peerAddr),
            std::move(_resolvedByTRR),
            std::move(_mode),
            std::move(_trrSkipReason),
            std::move(_echConfigUsed)};
    return result__;
}

} // namespace IPC
