2012-02-29 2 views
2

Я хочу создать объект и экспортировать его на D-Bus. Точнее, я использую gdbus и генерирую код объекта с помощью gdbus-codegen.D-Bus: экспортировать объект без ObjectManager

Пример на странице glib (объекты животных и кошек) показывает только, как объект экспортируется с помощью объекта-объекта. Спецификация D-Bus предлагает использовать ObjectManager только в том случае, если для управления действительно существует несколько объектов. Поскольку у меня есть только один объект, я не хочу использовать служебные данные ObjectManager.

В моем приложении (на котором размещены объекты) Я уже:

  1. Открыть подключения 'g_bus_own_name'

  2. Получить автобус приобрел обратный вызов: 'on_bus_acquired'

Что мне теперь делать, создавать и экспортировать мой объект? Когда я звоню '... _skeleton_new()' Я думаю, что создаю новый 'служебный объект', это правильно? Is 'g_dbus_connection_register_object' правильный путь? Если да, то есть хороший пример, где ко всем параметрам я должен пройти?

Я надеюсь, что кто-то может помочь мне :)

С наилучшими пожеланиями Жан-Пьер

+0

Я думаю, что я нашел то, что искал. Функция, которую я не видел, это «g_dbus_interface_skeleton_export»! Теперь я снова счастлив :) – user1226105

+1

вы можете ответить на свой вопрос и даже одобрить его. – xtofl

ответ

2

Я думаю, что его слишком поздно для ответа, но может быть полезным для кого-то, кто не хочет использовать GDBusObjectManager ,

Нет необходимости зарегистрировать объект интерфейса, созданный с помощью ..._skeleton_new();, просто экспортировать его с помощью g_dbus_interface_skeleton_export();

у меня был тот же требование, что и вы, и запутался с регистрации или нет.

Наконец, с некоторым анализом кода установлено, что g_dbus_interface_skeleton_export() внутренне регистрирует объект интерфейса.

Благодаря Arun

+0

Я был немного смущен вашим ответом, чтобы разъяснить всем остальным. Создайте свой объект с помощью '..._ skeleton_new();' и затем экспортируйте его через 'g_dbus_interface_skeleton_export()' – grim

Смежные вопросы