给定DDS主题名称,可以在运行时确定主题类型信息

Given a DDS topic name, can the topic type information be determined at run-time?

本文关键字:运行时 类型 信息 DDS 给定      更新时间:2023-10-16

我正在评估rti connextdds,在C 工作。在运行时,在阅读DDS消息并提取主题名称时,是否有API提供有关该主题的运行时类型信息?那是我可以在主题中获取每个元素的名称和类型吗?

是的,这是可能的,尽管并不简单。

以一种完全动态的方式进行此操作,需要检查所谓的内置主题,其中包含有关发现的不同DDS实体的信息。请参阅《核心库用户手册》中第17章"内置主题"。这个关于内置主题的RTI社区示例也可能会有所帮助。

特别是,PublicationBuiltinTopicSubscriptionBuiltinTopic包含typetype_code字段,这些字段均旨在包含有关DataWriter或所讨论的与Topic相关的类型的描述。type字段是TypeObject,该字段在OMG DDS-XTYPES规范中标准化。type_code字段是一种专有格式,如用户手册中所述。

在沿着整个路径走之前,我会确保这是您实际想做的事情,为什么?理想情况下,产品随附的工具应为您提供所需的所有信息。