gpt4 book ai didi

c - 使用 gdbus 查找 D-Bus 唯一地址

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:58 26 4
gpt4 key购买 nike

我正在尝试找出使用 Linux 上的 GDBus 库获取 D-Bus 系统总线中对象的唯一 D-Bus 地址的最佳方法。

以下是我使用的库的版本号:

# ls /usr/lib |grep -e dbus -e glib -e gio
libdbus-1.so
libdbus-1.so.3
libdbus-1.so.3.14.11
libdbus-glib-1.so
libdbus-glib-1.so.2
libdbus-glib-1.so.2.3.3
libgio-2.0.so
libgio-2.0.so.0
libgio-2.0.so.0.5000.3
libglib-2.0.so
libglib-2.0.so.0
libglib-2.0.so.0.5000.3

基本上,我想知道使用 gdbus 库位于系统总线上的对象 /org/bluez/hci0 的唯一名称/地址。有没有人有我如何使用 C 库执行此操作的示例?

现在我可以使用命令了

# dbus-monitor --system

求出我需要的地址是:1.22。我几乎可以肯定,有一种更好的方法来查找地址然后解析该命令的文本输出。

谢谢!

最佳答案

为什么不使用众所周知的服务名称来查找它(如果您想跟踪当前的唯一所有者,请使用 g_bus_watch_name() 来获取它)。

事实上,对于 bluez,我认为没有理由搜索“/org/bluez/hci0”,因为您应该使用 D-Bus ObjectManager API 来查找 bluez 的对象/接口(interface)服务导出。

关于c - 使用 gdbus 查找 D-Bus 唯一地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45112892/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com