Как использовать IDL в C ++ для объединения системных сообщений

По сути, на моем предприятии кипят две группы сообщений (по сути, через DDS). Одна группа — это необработанные системные данные, а другая — сложные визуальные данные.

У меня есть приложение, которое может создавать издателей и подписчиков для большинства этих сообщений.

Как я могу написать файл .idl таким образом, чтобы он мог захватывать системные экземпляры данных (несколько), объединять их, возможно, с небольшим математическим добавлением, а затем публиковать их как одно визуальное сообщение данных?

Ожидается, что это приложение будет перекомпилировано с добавлением сгенерированного .IDL.

То, что я ищу, это примеры:

  • как мне написать .idl для обработки этого преобразования
  • как выставить подписчиков системных сообщений для использования в сгенерированной логике .idl
  • Точно так же, как я могу предоставить визуальным издателям доступ к логике .idl?

пожалуйста помоги. Примеры будут отличными, и / или будут приветствоваться конкретные ссылки.

0

Решение

Язык определения интерфейса (IDL) — это язык, который описывает типы данных и интерфейсы. Это не «язык программирования» в том смысле, что он не описывает исполняемый код; и, следовательно, он не предоставляет механизм для работы с данными. В частности, он не позволяет вам «захватывать системные данные … и публиковать их» — эти задачи являются частью приложения.

[Существует много доступных компиляторов для «компиляции» определенных типов IDL и интерфейсов в стандартные языки программирования. Любая доступная реализация DDS или CORBA, вероятно, будет включать такой компилятор IDL.]

Итак, чтобы достичь своей цели, вам нужно сделать что-то вроде этого:

  1. определите желаемый тип данных [s] в IDL и скомпилируйте его в целевой язык программирования
  2. написать код для сбора системных данных в произвольном формате
  3. написать код, чтобы назначить системные данные для IDL указанного типа данных [s]
  4. написать код для публикации типа данных [s] через промежуточное ПО (например, Служба распространения данных (DDS))
1

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

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

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