Copy as Markdown

Other Tools

//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#include "mozilla/PRemoteSandboxBroker.h"
#include "mozilla/PRemoteSandboxBrokerParent.h"
#include "mozilla/PRemoteSandboxBrokerChild.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 PRemoteSandboxBroker {
nsresult
CreateEndpoints(
base::ProcessId aParentDestPid,
base::ProcessId aChildDestPid,
mozilla::ipc::Endpoint<::mozilla::PRemoteSandboxBrokerParent>* aParent,
mozilla::ipc::Endpoint<::mozilla::PRemoteSandboxBrokerChild>* aChild)
{
return mozilla::ipc::CreateEndpoints(
mozilla::ipc::PrivateIPDLInterface(),
aParentDestPid, aChildDestPid, aParent, aChild);
}
mozilla::UniquePtr<IPC::Message>
Msg_InitCrashReporter(int32_t routingId)
{
return IPC::Message::IPDLMessage(routingId, Msg_InitCrashReporter__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_LaunchApp(int32_t routingId)
{
return IPC::Message::IPDLMessage(routingId, Msg_LaunchApp__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NESTED_INSIDE_SYNC, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::SYNC, IPC::Message::NOT_REPLY));
}
mozilla::UniquePtr<IPC::Message>
Reply_LaunchApp(int32_t routingId)
{
return IPC::Message::IPDLMessage(routingId, Reply_LaunchApp__ID, 0, IPC::Message::HeaderFlags(IPC::Message::NESTED_INSIDE_SYNC, IPC::Message::NORMAL_PRIORITY, IPC::Message::COMPRESSION_NONE, IPC::Message::EAGER_SEND, IPC::Message::NOT_CONSTRUCTOR, IPC::Message::SYNC, IPC::Message::REPLY));
}
} // namespace PRemoteSandboxBroker
} // namespace mozilla
//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct EnvVar|
//
namespace mozilla {
} // namespace mozilla
namespace IPC {
auto ParamTraits<::mozilla::EnvVar>::Write(
IPC::MessageWriter* aWriter,
const paramType& aVar) -> void
{
IPC::WriteParam(aWriter, (aVar).name());
// Sentinel = 'name'
(aWriter)->WriteSentinel(69075362);
IPC::WriteParam(aWriter, (aVar).value());
// Sentinel = 'value'
(aWriter)->WriteSentinel(107610654);
}
auto ParamTraits<::mozilla::EnvVar>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult<paramType>
{
auto maybe___name = IPC::ReadParam<::nsString>(aReader);
if (!maybe___name) {
aReader->FatalError("Error deserializing 'name' (nsString) member of 'EnvVar'");
return {};
}
auto& _name = *maybe___name;
// Sentinel = 'name'
if ((!((aReader)->ReadSentinel(69075362)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'name' (nsString) member of 'EnvVar'");
return {};
}
auto maybe___value = IPC::ReadParam<::nsString>(aReader);
if (!maybe___value) {
aReader->FatalError("Error deserializing 'value' (nsString) member of 'EnvVar'");
return {};
}
auto& _value = *maybe___value;
// Sentinel = 'value'
if ((!((aReader)->ReadSentinel(107610654)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'value' (nsString) member of 'EnvVar'");
return {};
}
IPC::ReadResult<paramType> result__{
std::in_place,
std::move(_name),
std::move(_value)};
return result__;
}
} // namespace IPC
//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |struct LaunchParameters|
//
namespace mozilla {
auto LaunchParameters::StaticAssertions() const -> void
{
static_assert(
(offsetof(LaunchParameters, sandboxLevel_) - offsetof(LaunchParameters, processType_)) == 4,
"Bad assumptions about field layout!");
}
} // namespace mozilla
namespace IPC {
auto ParamTraits<::mozilla::LaunchParameters>::Write(
IPC::MessageWriter* aWriter,
const paramType& aVar) -> void
{
IPC::WriteParam(aWriter, (aVar).path());
// Sentinel = 'path'
(aWriter)->WriteSentinel(70713774);
IPC::WriteParam(aWriter, (aVar).args());
// Sentinel = 'args'
(aWriter)->WriteSentinel(69140910);
IPC::WriteParam(aWriter, (aVar).env());
// Sentinel = 'env'
(aWriter)->WriteSentinel(42205514);
IPC::WriteParam(aWriter, (aVar).allowedReadFiles());
// Sentinel = 'allowedReadFiles'
(aWriter)->WriteSentinel(912131672);
IPC::WriteParam(aWriter, (aVar).shareHandles());
// Sentinel = 'shareHandles'
(aWriter)->WriteSentinel(525403347);
IPC::WriteParam(aWriter, (aVar).enableLogging());
// Sentinel = 'enableLogging'
(aWriter)->WriteSentinel(605291823);
(aWriter)->WriteBytes((&((aVar).processType())), 8);
// Sentinel = 'processType | sandboxLevel'
(aWriter)->WriteSentinel(2344094277);
}
auto ParamTraits<::mozilla::LaunchParameters>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult<paramType>
{
auto maybe___path = IPC::ReadParam<::nsString>(aReader);
if (!maybe___path) {
aReader->FatalError("Error deserializing 'path' (nsString) member of 'LaunchParameters'");
return {};
}
auto& _path = *maybe___path;
// Sentinel = 'path'
if ((!((aReader)->ReadSentinel(70713774)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'path' (nsString) member of 'LaunchParameters'");
return {};
}
auto maybe___args = IPC::ReadParam<::nsString>(aReader);
if (!maybe___args) {
aReader->FatalError("Error deserializing 'args' (nsString) member of 'LaunchParameters'");
return {};
}
auto& _args = *maybe___args;
// Sentinel = 'args'
if ((!((aReader)->ReadSentinel(69140910)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'args' (nsString) member of 'LaunchParameters'");
return {};
}
auto maybe___env = IPC::ReadParam<nsTArray<::mozilla::EnvVar>>(aReader);
if (!maybe___env) {
aReader->FatalError("Error deserializing 'env' (EnvVar[]) member of 'LaunchParameters'");
return {};
}
auto& _env = *maybe___env;
// Sentinel = 'env'
if ((!((aReader)->ReadSentinel(42205514)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'env' (EnvVar[]) member of 'LaunchParameters'");
return {};
}
auto maybe___allowedReadFiles = IPC::ReadParam<nsTArray<::nsString>>(aReader);
if (!maybe___allowedReadFiles) {
aReader->FatalError("Error deserializing 'allowedReadFiles' (nsString[]) member of 'LaunchParameters'");
return {};
}
auto& _allowedReadFiles = *maybe___allowedReadFiles;
// Sentinel = 'allowedReadFiles'
if ((!((aReader)->ReadSentinel(912131672)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'allowedReadFiles' (nsString[]) member of 'LaunchParameters'");
return {};
}
auto maybe___shareHandles = IPC::ReadParam<nsTArray<::uint64_t>>(aReader);
if (!maybe___shareHandles) {
aReader->FatalError("Error deserializing 'shareHandles' (uint64_t[]) member of 'LaunchParameters'");
return {};
}
auto& _shareHandles = *maybe___shareHandles;
// Sentinel = 'shareHandles'
if ((!((aReader)->ReadSentinel(525403347)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'shareHandles' (uint64_t[]) member of 'LaunchParameters'");
return {};
}
auto maybe___enableLogging = IPC::ReadParam<bool>(aReader);
if (!maybe___enableLogging) {
aReader->FatalError("Error deserializing 'enableLogging' (bool) member of 'LaunchParameters'");
return {};
}
auto& _enableLogging = *maybe___enableLogging;
// Sentinel = 'enableLogging'
if ((!((aReader)->ReadSentinel(605291823)))) {
mozilla::ipc::SentinelReadError("Error deserializing 'enableLogging' (bool) member of 'LaunchParameters'");
return {};
}
IPC::ReadResult<paramType> result__{
std::in_place,
std::move(_path),
std::move(_args),
std::move(_env),
::uint32_t{0},
::uint32_t{0},
std::move(_allowedReadFiles),
std::move(_shareHandles),
std::move(_enableLogging)};
if ((!((aReader)->ReadBytesInto((&((result__)->processType())), 8)))) {
aReader->FatalError("Error bulk reading fields from uint32_t");
return {};
}
// Sentinel = 'processType | sandboxLevel'
if ((!((aReader)->ReadSentinel(2344094277)))) {
mozilla::ipc::SentinelReadError("Error bulk reading fields from uint32_t");
return {};
}
return result__;
}
} // namespace IPC