Написание сервиса D-Bus с pygobject? - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь написать сервис D-Bus.Но я запутался насчет пакетов python pygobject и dbus-python .

Можно ли написатьсервис D-Bus только с pygobject (без использования dbus-python)?Насколько я понимаю, pygobject предоставляет все, что делает dbus-python.Это правильно?Или мне нужен dbus-python?

Мне удалось вызвать методы других программ через D-Bus, просто используя pygobject.Но как мне предоставить свой собственный интерфейс и собственные методы в качестве службы в D-Bus?Насколько я понимаю, я должен унаследовать свой интерфейсный класс от Gio.DBusInterfaceSkeleton [1].Но как мне экспортировать мои собственные методы?

[1] https://lazka.github.io/pgi-docs/Gio-2.0/classes/DBusInterfaceSkeleton.html

1 Ответ

0 голосов
/ 08 февраля 2019

В настоящее время невозможно написать сервисы D-Bus в pygobject, потому что стабильные версии gobject-introspection , похоже, неправильно определяют все виртуальные методы, в частности метод get_vtable. Вы заметите, что do_get_vtable отсутствует в сгенерированных документах API . Я попытался создать gobject-introspection 1.59.4, и он может извлечь правильную информацию о typelib из glib 2.58.1, так что, возможно, есть надежда на будущее.

...