【问题标题】:D-Bus list nameD-Bus 列表名称
【发布时间】:2012-09-04 21:26:33
【问题描述】:

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

我正在寻找与dbus.list_names python method 等效的C GIO

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

有一个名为 «qdbusviewer» 的应用程序可以做类似的事情

【问题讨论】:

    标签: c dbus gio


    【解决方案1】:

    关于接口名称、方法和参数的信息应该在introspection section 中。

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

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

    【讨论】:

    • 我不是在搜索方法、信号和属性名称,而是在搜索总线名称。我找到了«org.freedesktop.DBus.ListNames» 方法,它可以满足我的搜索需求
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-12-22
      • 2013-10-06
      • 1970-01-01
      • 2011-10-29
      • 2015-08-17
      • 2010-12-01
      • 2011-12-08
      • 1970-01-01
      • 2019-04-26
      相关资源
      最近更新 更多