gecko-dev/ipc/ipdl/test/cxx/PTestDataStructuresCommon.i...

108 строки
1.5 KiB
Plaintext

include protocol PTestDataStructuresSub;
using struct mozilla::null_t from "ipc/IPCMessageUtils.h";
using nsIntRegion from "nsRegion.h";
namespace mozilla {
namespace _foo {
union IntDouble {
int;
double;
};
struct SIntDouble {
int i;
double d;
};
union IntDoubleArrays {
int;
int[];
double[];
};
struct SIntDoubleArrays {
int i;
int[] ai;
double[] ad;
};
struct ActorWrapper {
PTestDataStructuresSub actor;
};
union Actors {
int;
int[];
PTestDataStructuresSub[];
};
struct SActors {
int i;
int[] ai;
PTestDataStructuresSub[] ap;
};
union Unions {
int;
int[];
PTestDataStructuresSub[];
Actors[];
};
struct Structs {
int i;
int[] ai;
PTestDataStructuresSub[] ap;
SActors[] aa;
};
union WithStructs {
int;
int[];
PTestDataStructuresSub[];
SActors[];
Structs[];
};
struct WithUnions {
int i;
int[] ai;
PTestDataStructuresSub[] ap;
Actors[] aa;
Unions[] au;
};
struct CommonAttrs { bool dummy; };
struct FooAttrs { int dummy; };
struct BarAttrs { float dummy; };
union SpecificAttrs {
FooAttrs;
BarAttrs;
};
struct Attrs {
CommonAttrs common;
SpecificAttrs specific;
};
struct SetAttrs {
PTestDataStructuresSub x;
Attrs attrs;
};
union Op { null_t; SetAttrs; };
struct ShmemStruct {
int i;
Shmem mem;
};
union ShmemUnion {
int;
Shmem;
};
struct Empty { };
} // namespace _foo
} // namespace mozilla