Использование python для динамического определения содержимого интерфейса CORBA (omniORB) - PullRequest
1 голос
/ 12 января 2012

Я пытаюсь написать инструмент для самостоятельного тестирования, который можно использовать из командной строки на сервере через CORBA (omniORB).Для начала я был бы рад инструменту, который мог бы описать интерфейс (ы), который реализует сервер (например, по существу, регенерировать IDL, который определил интерфейсы для начала).Оттуда я превратился бы во что-то, что могло бы принимать параметры, делать вызов CORBA и печатать результаты.

Я знаю, что у python есть самоанализ, который должен позволить не писать (много)код каждый раз, когда изменяется аргумент или добавляется новый метод.Но я не понимаю достаточно привязки python для omniORB (или достаточного количества python), чтобы знать, как это легко сделать (или существует ли уже инфраструктура для этого).

Я унаследовал некоторый код, которыйЯ пытаюсь превратиться в свой тестовый инструмент.Проблема в том, что я не знаю, сколько стоит что-то, что является стандартной поддержкой omniORB python, и сколько стоит homebrew.

Из того, что я вижу, похоже, что интерфейс omniORB CORBA появляется в python каккласс (эта часть, скорее всего, стандартная).Методы указанного интерфейса отображаются как члены этого класса - каждый из них является кортежем с именами, которые, по-видимому, являются именами методов из IDL с префиксом _d_.Входные параметры для данного метода интерфейса описываются первым элементом кортежа упомянутого метода;второй элемент описывает возвращаемые значения.Каждый элемент - это другой набор кортежей, каждый из которых описывает последовательный параметр.

Я надеюсь, что это отражает реализацию omniORBpy.Предполагая, что это так, существуют ли четко определенные процедуры для опроса / манипулирования этими объектами класса интерфейса?

...