Может ли информация о типе темы быть определена во время выполнения, учитывая имя темы DDS?

Я оцениваю RTI ConnextDDS, работаю в C ++. Во время выполнения, при чтении сообщения DDS и извлечении имени темы, существует ли API, который предоставляет информацию о типе времени выполнения, относящуюся к этой теме? То есть я могу получить название и тип каждого элемента в теме?

1

Решение

Да, это возможно, хотя и не так просто.

Выполнение этого полностью динамическим способом требует проверки так называемых встроенных разделов, которые содержат информацию о различных обнаруженных объектах DDS. Увидеть Глава 17 «Встроенные разделы» в Руководстве пользователя основных библиотек. Этот пример сообщества RTI на встроенных темах может также помочь.

В частности, PublicationBuiltinTopic и SubscriptionBuiltinTopic содержат поля type а также type_code, которые оба должны содержать описание типа, связанного с Topic для рассматриваемого DataWriter или DataReader. type поле имеет TypeObject который стандартизирован в Спецификация OMG DDS-XTypes. type_code Поле является закрытым форматом, как описано в Руководстве пользователя.

Прежде чем идти по этому пути, я бы хотел убедиться, что это то, что вы действительно хотите сделать, и почему? В идеале, инструмент, который поставляется с продуктом, должен предоставить вам всю необходимую информацию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector