1

如何使用 C 列出 D-Bus sessionBus 中的所有名称?

我正在寻找dbus.list_names python 方法的C GIO等效项

我想列出 «org.mpris.MediaPlayer2» 中的所有名称,例如 «org.mpris.MediaPlayer2.clementine, org.mpris.MediaPlayer2.someotherplayer, ...»

有一个名为 «qdbusviewer» 的应用程序执行类似的操作

4

2 回答 2

1

关于接口名称、方法和参数的信息应该在introspection 部分

org.mpris.MediaPlayer2您可以使用g_dbus_node_info_lookup_interface ()方法请求有关接口的信息(例如) ,您可以为其提供一个GDBusNodeInfo参数,该参数应包含您要查询的 dbus 对象的路径。

通过这个调用,您可以返回一个GDBusInterfaceInfo对象,该对象包含有关所请求接口的方法和参数的信息。

于 2012-09-12T06:50:42.593 回答
1

此任务没有特定的 GIO 方法,

总线名称可以通过调用 « org.freedesktop.DBus.ListNames » 来列出,过滤必须稍后完成。

可以使用自省方法获取有关总线的信息。

于 2012-09-14T23:40:28.120 回答