给定DDS主题名称,可以在运行时确定主题类型信息
Given a DDS topic name, can the topic type information be determined at run-time?
我正在评估rti connextdds,在C 工作。在运行时,在阅读DDS消息并提取主题名称时,是否有API提供有关该主题的运行时类型信息?那是我可以在主题中获取每个元素的名称和类型吗?
是的,这是可能的,尽管并不简单。
以一种完全动态的方式进行此操作,需要检查所谓的内置主题,其中包含有关发现的不同DDS实体的信息。请参阅《核心库用户手册》中第17章"内置主题"。这个关于内置主题的RTI社区示例也可能会有所帮助。
特别是,PublicationBuiltinTopic
和SubscriptionBuiltinTopic
包含type
和type_code
字段,这些字段均旨在包含有关DataWriter或所讨论的与Topic
相关的类型的描述。type
字段是TypeObject
,该字段在OMG DDS-XTYPES规范中标准化。type_code
字段是一种专有格式,如用户手册中所述。
在沿着整个路径走之前,我会确保这是您实际想做的事情,为什么?理想情况下,产品随附的工具应为您提供所需的所有信息。
相关文章:
- 通过switch和static_cast访问多态对象的运行时类型
- 如何在void*指针下检查运行时类型(允许简单类型,没有基类)?
- 获取派生模板实例化的运行时类型
- 运行时类型推断和代码重复
- UWP,加载窗口运行时组件 == 请求的窗口运行时类型 "..." 未注册
- 为什么C++不按运行时类型销毁对象?
- 运行时类型定义
- 在C++中如何将运行时类型鉴别器映射到模板实例(无需手动枚举所有实例)
- 编译器不可知的运行时类型信息
- C++中高效的运行时类型检查
- 运行时类型信息的奇怪行为
- 运行时类型信息(为什么此代码不起作用)
- 运行时类型检查
- C++基于运行时类型实现强制转换
- C++运行时类型与 Python 模块不匹配
- 循环unique_ptrs的向量,并为运行时类型调用正确的重载
- 处理运行时类型未知的模板
- 自定义C++的运行时类型系统/库
- 基于运行时类型实例化构造函数
- 运行时类型在c++中的转换,如何