Copy as Markdown
Other Tools
//
// Automatically generated by ipdlc.
// Edit at your own risk
//
#ifndef PTestDataStructuresParent_h
#define PTestDataStructuresParent_h
#include "mozilla/_ipdltest/PTestDataStructures.h"
#ifdef DEBUG
#include "prenv.h"
#endif // DEBUG
#include "mozilla/Tainting.h"
#include "mozilla/ipc/MessageChannel.h"
#include "mozilla/ipc/ProtocolUtils.h"
class nsIFile;
// Headers for things that cannot be forward declared
#include "nsRegion.h"
namespace mozilla {
namespace _ipdltest {
class PTestDataStructuresSubParent;
} // namespace _ipdltest
} // namespace mozilla
namespace mozilla {
namespace _ipdltest {
class PTestDataStructuresSubChild;
} // namespace _ipdltest
} // namespace mozilla
namespace mozilla {
namespace _ipdltest {
class PTestDataStructuresSubParent;
} // namespace _ipdltest
} // namespace mozilla
namespace mozilla {
struct null_t;
} // namespace mozilla
namespace mozilla {
namespace _ipdltest {
class PTestDataStructuresParent :
public mozilla::ipc::IToplevelProtocol
{
private:
friend class ::mozilla::_ipdltest::PTestDataStructuresSubParent;
public:
static constexpr ::mozilla::ipc::ProtocolId kProtocolId = PTestDataStructuresMsgStart;
protected:
typedef mozilla::ipc::ActorHandle ActorHandle;
typedef ::mozilla::_foo::ActorWrapper ActorWrapper;
typedef ::mozilla::_foo::Actors Actors;
typedef ::mozilla::_foo::Attrs Attrs;
typedef ::mozilla::_foo::BarAttrs BarAttrs;
typedef ::mozilla::ipc::ByteBuf ByteBuf;
typedef ::mozilla::_foo::CommonAttrs CommonAttrs;
typedef ::mozilla::_foo::Empty Empty;
template<class FooSide> using Endpoint = mozilla::ipc::Endpoint<FooSide>;
typedef ::mozilla::ipc::FileDescriptor FileDescriptor;
typedef ::mozilla::_foo::FooAttrs FooAttrs;
typedef ::mozilla::_foo::IntDouble IntDouble;
typedef ::mozilla::_foo::IntDoubleArrays IntDoubleArrays;
template<class FooSide> using ManagedEndpoint = mozilla::ipc::ManagedEndpoint<FooSide>;
typedef ::mozilla::_foo::Op Op;
typedef ::mozilla::_ipdltest::PTestDataStructuresSubChild PTestDataStructuresSubChild;
typedef ::mozilla::_ipdltest::PTestDataStructuresSubParent PTestDataStructuresSubParent;
typedef base::ProcessId ProcessId;
typedef mozilla::ipc::ProtocolId ProtocolId;
typedef mozilla::ipc::ResponseRejectReason ResponseRejectReason;
typedef ::mozilla::_foo::SActors SActors;
typedef ::mozilla::_foo::SIntDouble SIntDouble;
typedef ::mozilla::_foo::SIntDoubleArrays SIntDoubleArrays;
typedef ::mozilla::_foo::SetAttrs SetAttrs;
typedef ::mozilla::ipc::Shmem Shmem;
typedef ::mozilla::_foo::ShmemStruct ShmemStruct;
typedef ::mozilla::_foo::ShmemUnion ShmemUnion;
typedef ::mozilla::_foo::SpecificAttrs SpecificAttrs;
typedef ::mozilla::_foo::Structs Structs;
typedef ::mozilla::_foo::Unions Unions;
template<class T> using UniquePtr = mozilla::UniquePtr<T>;
typedef ::mozilla::_foo::WithStructs WithStructs;
typedef ::mozilla::_foo::WithUnions WithUnions;
typedef ::int16_t int16_t;
typedef ::int32_t int32_t;
typedef ::int64_t int64_t;
typedef ::int8_t int8_t;
typedef ::intptr_t intptr_t;
typedef ::nsCString nsCString;
typedef ::nsIntRegion nsIntRegion;
typedef ::nsString nsString;
typedef ::nsresult nsresult;
typedef ::mozilla::null_t null_t;
typedef ::uint16_t uint16_t;
typedef ::uint32_t uint32_t;
typedef ::uint64_t uint64_t;
typedef ::uint8_t uint8_t;
typedef ::uintptr_t uintptr_t;
protected:
virtual mozilla::ipc::IPCResult
Recv__delete__();
virtual mozilla::ipc::IPCResult
RecvTestArrayOfInt(
nsTArray<int>&& i1,
nsTArray<int>* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestArrayOfActor(
nsTArray<mozilla::NotNull<PTestDataStructuresSubParent*>>&& i1,
nsTArray<mozilla::NotNull<PTestDataStructuresSubParent*>>* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestUnion(
const IntDouble& i1,
const IntDouble& i2,
IntDouble* o1,
IntDouble* o2) = 0;
virtual mozilla::ipc::IPCResult
RecvTestArrayOfUnion(
nsTArray<IntDouble>&& i1,
nsTArray<IntDouble>* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestUnionWithArray(
const IntDoubleArrays& i1,
const IntDoubleArrays& i2,
const IntDoubleArrays& i3,
IntDoubleArrays* o1,
IntDoubleArrays* o2,
IntDoubleArrays* o3) = 0;
virtual mozilla::ipc::IPCResult
RecvTestArrayOfUnionWithArray(
nsTArray<IntDoubleArrays>&& i1,
nsTArray<IntDoubleArrays>* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestStructWithActor(
const ActorWrapper& a1,
ActorWrapper* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestUnionWithActors(
const Actors& i1,
const Actors& i2,
const Actors& i3,
Actors* o1,
Actors* o2,
Actors* o3) = 0;
virtual mozilla::ipc::IPCResult
RecvTestArrayOfUnionWithActors(
nsTArray<Actors>&& i1,
nsTArray<Actors>* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestUnions(
const Unions& i1,
const Unions& i2,
const Unions& i3,
const Unions& i4,
Unions* o1,
Unions* o2,
Unions* o3,
Unions* o4) = 0;
virtual mozilla::ipc::IPCResult
RecvTestArrayOfUnions(
nsTArray<Unions>&& i1,
nsTArray<Unions>* o1) = 0;
virtual mozilla::ipc::IPCResult
RecvTestStruct(
const SIntDouble& i,
SIntDouble* o) = 0;
virtual mozilla::ipc::IPCResult
RecvTestStructWithArrays(
const SIntDoubleArrays& i,
SIntDoubleArrays* o) = 0;
virtual mozilla::ipc::IPCResult
RecvTestStructWithActors(
const SActors& i,
SActors* o) = 0;
virtual mozilla::ipc::IPCResult
RecvTestStructs(
const Structs& i,
Structs* o) = 0;
virtual mozilla::ipc::IPCResult
RecvTestUnionWithStructs(
const WithStructs& i1,
const WithStructs& i2,
const WithStructs& i3,
const WithStructs& i4,
const WithStructs& i5,
WithStructs* o1,
WithStructs* o2,
WithStructs* o3,
WithStructs* o4,
WithStructs* o5) = 0;
virtual mozilla::ipc::IPCResult
RecvTestStructWithUnions(
const WithUnions& i,
WithUnions* o) = 0;
virtual mozilla::ipc::IPCResult
RecvTestUnionWithCxx(nsTArray<Op>&& ops) = 0;
virtual mozilla::ipc::IPCResult
RecvTestNsIntRegion(nsTArray<nsIntRegion>&& ops) = 0;
void
ProcessingError(
Result aCode,
const char* aReason) override;
bool
ShouldContinueFromReplyTimeout() override;
public:
typedef mozilla::ipc::IProtocol IProtocol;
typedef IPC::Message Message;
typedef base::ProcessHandle ProcessHandle;
typedef mozilla::ipc::MessageChannel MessageChannel;
typedef mozilla::ipc::SharedMemory SharedMemory;
public:
MOZ_IMPLICIT PTestDataStructuresParent();
virtual ~PTestDataStructuresParent();
protected:
void
ActorAlloc() final;
void
ActorDealloc() final;
public:
void
ManagedPTestDataStructuresSubParent(nsTArray<PTestDataStructuresSubParent*>& aArr) const;
const ManagedContainer<PTestDataStructuresSubParent>&
ManagedPTestDataStructuresSubParent() const;
mozilla::Span<mozilla::ipc::ProtocolId const>
ManagedProtocolIds() const final;
UntypedManagedContainer*
GetManagedActors(mozilla::ipc::ProtocolId aProtocol) final;
ManagedEndpoint<PTestDataStructuresSubChild>
OpenPTestDataStructuresSubEndpoint(PTestDataStructuresSubParent* aActor);
bool
BindPTestDataStructuresSubEndpoint(
ManagedEndpoint<PTestDataStructuresSubParent> aEndpoint,
PTestDataStructuresSubParent* aActor);
[[nodiscard]] PTestDataStructuresSubParent*
SendPTestDataStructuresSubConstructor(
PTestDataStructuresSubParent* actor,
const int& i);
[[nodiscard]] bool
SendStart();
void
DeallocManagee(
int32_t aProtocolId,
IProtocol* aListener) override;
Result
OnMessageReceived(const Message& msg__) override;
Result
OnMessageReceived(
const Message& msg__,
UniquePtr<Message>& reply__) override;
private:
ManagedContainer<PTestDataStructuresSubParent> mManagedPTestDataStructuresSubParent;
};
} // namespace _ipdltest
} // namespace mozilla
namespace IPC {
template<>
struct ParamTraits <::mozilla::_ipdltest::PTestDataStructuresParent*>
{
typedef ::mozilla::_ipdltest::PTestDataStructuresParent* paramType;
static void
Write(
IPC::MessageWriter* aWriter,
const paramType& aVar);
static IPC::ReadResult<paramType>
Read(IPC::MessageReader* aReader);
};
} // namespace IPC
#endif // ifndef PTestDataStructuresParent_h