class Integer(IdlStruct): seq: int keyval: int key("seq") key("keyval") @classmethod def postfix(cls): return "integer"
class IntSequence(IdlStruct): seq: int keyval: sequence[int] key("seq") key("keyval") @classmethod def postfix(cls): return "int_sequence"
class String(IdlStruct): seq: int keyval: str key("seq") key("keyval") @classmethod def postfix(cls): return "string"
class StrSequence(IdlStruct): seq: int keyval: sequence[str, 100] # max 100 string elements key("seq") key("keyval") @classmethod def postfix(cls): return "str_sequence"
class StrArray(IdlStruct): seq: int keyval: array[str, 5] key("seq") key("keyval") @staticmethod def size(): return 5 @classmethod def postfix(cls): return "str_array"
class IntArray(IdlStruct): seq: int keyval: array[int, 3] key("seq") key("keyval") @staticmethod def size(): return 3 @classmethod def postfix(cls): return "int_array"
class SingleEnum(IdlStruct): value: BasicEnum key("value")
class SingleBool(IdlStruct): value: bool key("value")
class SingleFloat(IdlStruct): value: float key("value")
class SingleInt(IdlStruct): value: int key("value")
class XStruct(IdlStruct): A: XUnion k: int key('k')
class SingleString(IdlStruct): value: str key("value")
class Keyed2(IdlStruct): a: int key("a") b: int
class SingleSequence(IdlStruct): value: pt.sequence[int] key("value")
class SingleBoundedString(IdlStruct): value: pt.bounded_str[10] key("value")
class SingleBoundedSequence(IdlStruct): value: pt.sequence[int, 3] key("value")
class SingleUint16(IdlStruct): value: pt.uint16 key("value")
class SingleArray(IdlStruct): value: pt.array[pt.uint16, 3] key("value")
class SingleNested(IdlStruct): value: SingleInt key("value")
class SingleUnion(IdlStruct): value: EasyUnion key("value")