我想创建一个对象并将其导出到D-Bus。更确切地说,我正在使用gdbus并使用gdbus-codegen生成对象的代码。
glib页面上的示例(动物和猫对象)仅显示如何使用objectmanager导出对象。只有在确实需要管理多个对象时,D-Bus规范才会建议使用ObjectManager。因为我只有一个对象,所以我不想使用ObjectManager的开销。
在我的应用程序(托管对象)中,我已经:
打开连接'g_bus_own_name'
获取总线获得的回调:'on_bus_acquired'
我现在该怎么做,创建和导出我的对象?
当我打电话给“... _skeleton_new()
”时,我想我正在创建一个新的“服务端”对象,这是正确的吗?
“g_dbus_connection_register_object
”是正确的方法吗?如果是,那么我必须通过的所有参数都有一个很好的例子吗?
我希望有人可以帮助我:)。
祝你好运 让 - 皮埃尔
答案 0 :(得分:2)
我认为对于回应来说太晚了,但可能对其他不想做的人有用
使用GDBusObjectManager
。
无需注册使用..._skeleton_new();
创建的界面对象,只需使用g_dbus_interface_skeleton_export();
我和你有同样的要求,并且与是否注册相混淆。
最后通过一些代码分析发现g_dbus_interface_skeleton_export()
在内部注册接口对象。
由于 AruN