Copy as Markdown

Other Tools

//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#include "mozilla/GfxMessageUtils.h"
#include "mozilla/widget/PlatformWidgetTypes.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"
//-----------------------------------------------------------------------------
// Method definitions for the IPDL type |union CompositorWidgetInitData|
//
namespace mozilla {
namespace widget {
auto CompositorWidgetInitData::MaybeDestroy() -> void
{
if ((mType) == (T__None)) {
return;
}
switch (mType) {
case THeadlessCompositorWidgetInitData:
{
(ptr_HeadlessCompositorWidgetInitData())->~HeadlessCompositorWidgetInitData__tdef();
break;
}
default:
{
mozilla::ipc::LogicError("not reached");
break;
}
}
}
MOZ_IMPLICIT CompositorWidgetInitData::CompositorWidgetInitData(const HeadlessCompositorWidgetInitData& aOther)
{
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData(aOther);
mType = THeadlessCompositorWidgetInitData;
}
MOZ_IMPLICIT CompositorWidgetInitData::CompositorWidgetInitData(HeadlessCompositorWidgetInitData&& aOther)
{
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData(std::move(aOther));
mType = THeadlessCompositorWidgetInitData;
}
MOZ_IMPLICIT CompositorWidgetInitData::CompositorWidgetInitData(const CompositorWidgetInitData& aOther)
{
(aOther).AssertSanity();
switch ((aOther).type()) {
case THeadlessCompositorWidgetInitData:
{
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData((aOther).get_HeadlessCompositorWidgetInitData());
break;
}
case T__None:
{
break;
}
default:
{
mozilla::ipc::LogicError("unreached");
return;
}
}
mType = (aOther).type();
}
MOZ_IMPLICIT CompositorWidgetInitData::CompositorWidgetInitData(CompositorWidgetInitData&& aOther)
{
(aOther).AssertSanity();
Type t = (aOther).type();
switch (t) {
case THeadlessCompositorWidgetInitData:
{
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData(std::move((aOther).get_HeadlessCompositorWidgetInitData()));
(aOther).MaybeDestroy();
break;
}
case T__None:
{
break;
}
default:
{
mozilla::ipc::LogicError("unreached");
return;
}
}
(aOther).mType = T__None;
mType = t;
}
CompositorWidgetInitData::~CompositorWidgetInitData()
{
MaybeDestroy();
}
auto CompositorWidgetInitData::operator=(const HeadlessCompositorWidgetInitData& aRhs) -> CompositorWidgetInitData&
{
MaybeDestroy();
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData(aRhs);
mType = THeadlessCompositorWidgetInitData;
return (*(this));
}
auto CompositorWidgetInitData::operator=(HeadlessCompositorWidgetInitData&& aRhs) -> CompositorWidgetInitData&
{
MaybeDestroy();
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData(std::move(aRhs));
mType = THeadlessCompositorWidgetInitData;
return (*(this));
}
auto CompositorWidgetInitData::operator=(const CompositorWidgetInitData& aRhs) -> CompositorWidgetInitData&
{
(aRhs).AssertSanity();
Type t = (aRhs).type();
switch (t) {
case THeadlessCompositorWidgetInitData:
{
MaybeDestroy();
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData((aRhs).get_HeadlessCompositorWidgetInitData());
break;
}
case T__None:
{
MaybeDestroy();
break;
}
default:
{
mozilla::ipc::LogicError("unreached");
break;
}
}
mType = t;
return (*(this));
}
auto CompositorWidgetInitData::operator=(CompositorWidgetInitData&& aRhs) -> CompositorWidgetInitData&
{
(aRhs).AssertSanity();
Type t = (aRhs).type();
switch (t) {
case THeadlessCompositorWidgetInitData:
{
MaybeDestroy();
new (mozilla::KnownNotNull, ptr_HeadlessCompositorWidgetInitData()) HeadlessCompositorWidgetInitData(std::move((aRhs).get_HeadlessCompositorWidgetInitData()));
(aRhs).MaybeDestroy();
break;
}
case T__None:
{
MaybeDestroy();
break;
}
default:
{
mozilla::ipc::LogicError("unreached");
break;
}
}
(aRhs).mType = T__None;
mType = t;
return (*(this));
}
} // namespace widget
} // namespace mozilla
namespace IPC {
auto ParamTraits<::mozilla::widget::CompositorWidgetInitData>::Write(
IPC::MessageWriter* aWriter,
const paramType& aVar) -> void
{
typedef ::mozilla::widget::CompositorWidgetInitData union__;
int type = (aVar).type();
IPC::WriteParam(aWriter, type);
// Sentinel = 'CompositorWidgetInitData'
(aWriter)->WriteSentinel(2039089570);
switch (type) {
case union__::THeadlessCompositorWidgetInitData:
{
IPC::WriteParam(aWriter, (aVar).get_HeadlessCompositorWidgetInitData());
// Sentinel = 'THeadlessCompositorWidgetInitData'
(aWriter)->WriteSentinel(3719564575);
return;
}
default:
{
aWriter->FatalError("unknown variant of union CompositorWidgetInitData");
return;
}
}
}
auto ParamTraits<::mozilla::widget::CompositorWidgetInitData>::Read(IPC::MessageReader* aReader) -> IPC::ReadResult<paramType>
{
typedef ::mozilla::widget::CompositorWidgetInitData union__;
auto maybe__type = IPC::ReadParam<int>(aReader);
if (!maybe__type) {
aReader->FatalError("Error deserializing type of union CompositorWidgetInitData");
return {};
}
auto& type = *maybe__type;
// Sentinel = 'CompositorWidgetInitData'
if ((!((aReader)->ReadSentinel(2039089570)))) {
mozilla::ipc::SentinelReadError("Error deserializing type of union CompositorWidgetInitData");
return {};
}
switch (type) {
case union__::THeadlessCompositorWidgetInitData:
{
auto maybe__tmp = IPC::ReadParam<::mozilla::widget::HeadlessCompositorWidgetInitData>(aReader);
if (!maybe__tmp) {
aReader->FatalError("Error deserializing variant THeadlessCompositorWidgetInitData of union CompositorWidgetInitData");
return {};
}
auto& tmp = *maybe__tmp;
// Sentinel = 'THeadlessCompositorWidgetInitData'
if ((!((aReader)->ReadSentinel(3719564575)))) {
mozilla::ipc::SentinelReadError("Error deserializing variant THeadlessCompositorWidgetInitData of union CompositorWidgetInitData");
return {};
}
return std::move(tmp);
}
default:
{
aReader->FatalError("unknown variant of union CompositorWidgetInitData");
return {};
}
}
}
} // namespace IPC