2015-10-22 3 views
1

С gdbus CodeGen, на структуру/объект определяется как полный типа в XML, как показано нижеgdbus типа присвоения имен структур

<method name="GetInfo"> 
<arg direction="out" type="(sib)" name="info"/> 
</method> 

Однако, если же структура используется в нескольких местах, повторяя определение типа немного больно, особенно когда подпись меняется позже.

<method name="GetInfoList"> 
<arg direction="out" type="a(sib)" name="info_list"/> 
</method> 

Итак, есть ли способ определить псевдоним или что-то для структур, которые мы не должны поддерживать то же самое в нескольких местах? О, и использование привязок Qt в данном случае не является вариантом.

С уважением,

ответ

0

Итак, есть ли способ определить псевдоним или что-то для структур, которые мы не должны поддерживать то же самое в нескольких местах?

Нет, не существует. Это один из недостатков использования gdbus-codegen. Если вы хотите определить структуру для каждого типа D-Bus в вашем API, вам необходимо реализовать свой сервис/клиент вручную, без gdbus-codegen, используя такие функции, как g_dbus_connection_register_object().