def create_typecode_inner_struct(): return dds.StructType( "InnerStruct", [ dds.Member("x", dds.Float64Type()), dds.Member("y", dds.Float64Type()) ], )
def get_keyed_string_dynamic_type(): keyed_string_struct = dds.StructType('DynamicKeyedString') keyed_string_struct.add_member( dds.Member('key', dds.StringType(100), is_key=True)) keyed_string_struct.add_member(dds.Member('value', dds.StringType(100))) return keyed_string_struct
def create_typecode_outer_struct(): outer_struct = dds.StructType("OuterStruct") outer_struct.add_member(dds.Member("inner", create_typecode_inner_struct())) return outer_struct
import rti.connextdds as dds import utils import pytest import pathlib import array FILE = str( pathlib.Path(__file__).parent.absolute()) + "/../xml/UnionWithEnum.xml" PROVIDER = dds.QosProvider(FILE) UNION = PROVIDER.type("TestUnionWithEnum") ENUM_TYPE = PROVIDER.type("TestEnum") UNION_DEFAULT_TYPE = PROVIDER.type("TestUnionWithDefault") PRIMITIVES = dds.StructType("Primitives") PRIMITIVES.add_member(dds.Member("myLong", dds.Int32Type())) PRIMITIVES.add_member(dds.Member("myDouble", dds.Float64Type())) COMPLEX = dds.StructType("Complex") COMPLEX.add_member( dds.Member("myLongSeq", dds.SequenceType(dds.Int32Type(), 10))) COMPLEX.add_member( dds.Member("myLongArray", dds.ArrayType(dds.Int32Type(), 10))) COMPLEX.add_member(dds.Member("myOptional", dds.Int32Type(), is_optional=True)) COMPLEX.add_member(dds.Member("myString", dds.StringType(100))) COMPLEX.add_member( dds.Member("myStringSeq", dds.SequenceType(dds.StringType(10), 10))) COMPLEX.add_member(dds.Member("myEnum", ENUM_TYPE)) COMPLEX.add_member(dds.Member("myEnumSeq", dds.SequenceType(ENUM_TYPE, 10))) COMPLEX.add_member( dds.Member("myMultiDimArray", dds.ArrayType(dds.Int32Type(), [2, 2, 2])))