rtps-fpga/src/Tests/Type2.idl

62 lines
1.1 KiB
Plaintext

@extensibility(FINAL) @nested
union TestUnion_t switch (char) {
case 'a':
long LongU;
default:
octet OctetU;
};
@bit_bound(9)
bitmask TestBitmask_t {
@position(0) POS1,
@position(3) POS3,
@position(4) POS4
};
@bit_bound(7)
enum TestEnum_t {
A,
B,
C,
D
};
typedef octet TestArray_t[5];
@extensibility(FINAL) @nested
struct NestedStruct_t {
@key TestArray_t TestArray;
char TestChar;
wchar TestWChar;
long long TestLongLong;
@optional long double TestLongDouble;
};
typedef sequence<NestedStruct_t, 4> TestSequence_t;
typedef string<12> TestString_t;
typedef TestMap_t map<octet, short, 4>;
@extensibility(FINAL) @topic
struct Type2 {
@key long id;
@key TestSequence_t TestSequence;
TestMap_t TestMap;
TestEnum_t TestEnum;
@optional TestUnion_t TestUnion;
TestBitmask_t TestBitmask;
TestString_t TestString;
};
@final
struct NestedStruct_tKeyHolder {
TestArray_t TestArray;
};
typedef sequence<NestedStruct_tKeyHolder, 4> TestSequence_tKeyHolder;
@final
struct Type2KeyHolder {
long id;
TestSequence_tKeyHolder TestSequence;
};