问题标签 [dbus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
434 浏览

python - D-Bus 和 HAL 的单元测试?

如何测试一种与本地 D-Bus 进行交互(访问 HAL 对象)的方法?

测试的结果会因运行测试的系统而异,所以我不知道如何提供方法可靠的输入。

顺便说一句,我正在使用 Python。

0 投票
2 回答
1147 浏览

java - java中的freedesktop.org通知

有一个使用 DBUS 的 freedesktop.org 通知系统。看起来很简单,但我就是不知道如何在 Java 中使用它。

有人可以指出一些示例代码来显示一条简单的消息吗?

谢谢!:)

0 投票
2 回答
1226 浏览

c++ - QDBusAbstractAdaptor 与 QDBusAbstractInterface

当使用 Qt D-Bus 绑定向 D-Bus 公开一些代码时,什么时候应该使用 Qt 适配器而不是 Qt 接口?我很难理解它们到底有什么不同,因为它们似乎提供了相同的功能。

0 投票
3 回答
11327 浏览

python - DBus 接口属性

如何获取可用 DBus 接口属性的列表?

我正在编写一个脚本来跟踪特定类型的 USB 设备连接。我猜想将要跟踪的连接与所有 USB 连接区分开来的一种方法是检查 DBus 在 USB 连接上发送的信号接口的属性。我想获取所有此类属性的列表以选择相关的。

我的代码是:

0 投票
2 回答
557 浏览

python - 根据 /dev 节点路径查找 HAL 对象

python-dbus用来与 HAL 交互,我需要根据它在/dev层次结构中的路径找到设备的 UDI。

所以给定一个路径,例如/dev/sdb,我想得到一个值回来/org/freedesktop/Hal/devices/usb_device_10

0 投票
2 回答
293 浏览

c++ - 如何将 8 字节数组中的信息传递到可变位大小的数据容器中?

我有一个 8 字节的消息,其中消息的不同块映射到不同类型的数据(int、bool 等),并且它们的位大小不同(消息中的 int 值是 12 位等)。我只想传递与数据相关的位,但我不确定是否有更好的方法。我目前的想法是创建一个带有向量后端的位数组类型,并有一个模板化的访问器来获取包含在指定类型中的值。虽然当我输入这个时,我开始认为所有可能类型的一个很大的联合可以传递给每个数据。

编辑:

这些消息包含不同类型的数据。例如,一条消息包含一个 8 位整数和 5 个 1 位布尔值,而另一条消息包含一个 16 位时间戳(我自己的类)和一个 8 位整数。

0 投票
1 回答
603 浏览

python - Python线程问题 - 将控制权返回给父级

基本上,我有一个 python 程序来监听 DeviceAdded DBus 事件(例如,当有人插入 USB 驱动器时),当事件发生时,我想创建一个线程来收集新连接设备上的元数据。但是,我想异步执行此操作 - 也就是说,允许一个线程继续收集设备上的元数据,同时将控制权返回给可以继续侦听这些事件的父级。目前,我的线程阻塞,直到收集完成。这是我的代码示例:

任何想法将不胜感激:) 我已排除导入列表以节省空间

0 投票
5 回答
2112 浏览

python - 我试图弄清楚如何将 dbus 与 pidgin 一起使用

我的问题是我不确定如何连接它们。我是否需要以特定方式安装 pidgin 以便 dbus 与之交互?如果不是,是否必须运行 pidgin gui 才能让 dbus 使用它?

0 投票
1 回答
429 浏览

python - SimpleXMLRPC 和 DBusGMainLoop 同时工作有什么问题

在 python 中,我尝试创建一个服务来维护 SflPhone(dbus 服务)和外部应用程序之间的调用事件,当我启动 SimpleXMLRPCServer 时,我的服务不再响应任何调用事件,例如未调用 on_call_state_changed 函数。

当我注释掉thread.start_new_thread(start_server(s,)) 一切正常时。我不知道如何使这两个东西一起工作。有人可以帮忙吗?感谢。

0 投票
2 回答
5773 浏览

c++ - 等待 DBus 服务在 Qt 中可用

使用基于 QDbusAbstractInterface 构建的 Qt DBus 代理(通过 qdbusxml2cpp),处理您想要接口的服务/对象在启动时不可用的最佳方法是什么?注意:我对简单地了解它不感兴趣(您可以使用 BlahService.isValid() 来找出它);我希望能够知道它是否有效,并知道它何时有效,以便我可以更改状态(并用信号广播该状态更改),并在该状态更改上做其他事情。相反,我想知道由于类似原因它何时不再有效。

在不跟踪服务状态的情况下:

可能我们需要观察 DBus 连接对象上的 NameOwnerChanged - 除非 QT 的 dbus 代码为我们执行此操作 - 然后当我们获得该信号更改状态时,如果需要连接或断开来自对象的信号。

我发现的所有示例要么忽略该问题,要么在服务器对象不存在时直接退出,并且不处理它消失。Car/Controller Qt 示例至少注意到服务器是否离开并在使用期间 isValid() 变为 false 时打印“Disconnected”,但它正在轮询 isValid()。

添加:

请注意,QtDbusAbtractInterface 注册服务器所有权的更改 (NameOwnerChanged),并在更改发生时更新 isValid()。因此,我怀疑您可以直接连接到该 serverOwnerChanged 信号以了解所有权更改并将其用作再试一次的指标 - 尽管您将无法信任 isValid 因为它可能会在您收到信号之前或之后更新。

或者(丑陋)您可以设置一个计时器并轮询isValid()。