问题标签 [gdbus]

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 投票
1 回答
207 浏览

glib - 如何通过 D-Bus 发送 Vala ArrayList?

尝试将数据从服务器发送到客户端并收到此错误:

0 投票
1 回答
2685 浏览

linux - 如何使 D-Bus 服务器端调用异步?

对于我的项目,我使用 DBUS 作为 IPC 在 QT 应用程序(客户端)和我的服务守护程序(服务器端 - GIO / GDBUS)之间进行交互。在客户端,使用 QDBusPendingCallWatcher 异步调用方法。

但是在服务器端,如何使方法调用异步?. 据我了解,“g_dbus_method_invocation_return_value”将返回响应,输出参数使方法调用同步。

我能想到的一种方法是使用 g_dbus_method_invocation_return_value 返回中间响应,然后在收到最终响应后将最终响应作为信号发出。

示例代码:-

请让我知道这是正确的方法还是有更好的方法来实现上述情况的异步调用?

0 投票
1 回答
1008 浏览

c++ - 如何使用 gdbus-codegen 生成的类型?

我正在实现一个 dbus 服务器,为了简化事情,我决定使用gdbus-codegen.

这个 hello world 示例及其存储库将生成头文件和源文件。然后它将信号连接到函数:

接下来是我的问题:

  • 该功能GType min_min_bus_gdbus_get_type (void)应该做什么?它已声明,但未在生成的文件中定义。
  • 而不是将信号连接到回调函数(如上所述),我可以以某种方式使用struct MinMinBusGDBUSIface在生成的标头中声明的 , 吗?

我在网上找到的任何示例都具有这两件事(*_get_type (void)函数声明,并struct *Iface在生成的标头中声明。如何使用它们?

0 投票
1 回答
339 浏览

c - QDBus 与我的服务器一起用作客户端,但不适用于 GDbus

我使用 Qt 的 QDBus 在 Linux 中编写了一个简单的 DBus 服务器。这是一个非常少量的代码,它的核心在这里:

然后我在 Linux 中也使用 Qt 的 QDBus 编写了一个小型 DBus 客户端。它工作得很好,我可以成功地从这个客户端通信到我的服务器。客户端代码:

不,我正在尝试使用 GDBus 来实现客户端。到目前为止,我有这个:

当我运行此代码时,它不像 QDBus 那样工作,它会出现以下错误:

所以 QDBus 与服务器一起工作,但 GDBus 不。我究竟做错了什么?谢谢。

0 投票
2 回答
2353 浏览

dbus - 用于在 Ubuntu 上接收带有接口名称的网络接口启动/关闭通知的 C++ 库

这篇文章有两个问题。1. 特定网络设备上的网络接口启动/关闭通知 2. 列出网络设备。

以下是我提供的答案。(感谢 Velkan 帮助我解决了这个问题

我正在寻找一个 c++ 库,它在 Ubuntu 机器上接收带有接口名称的网络接口启动/关闭事件通知。我的同事要求我使用 dbus 接口。同样使用下面的链接,它只是通知任何没有接口名称的接口启动/关闭事件。

https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/examples/C/glib/monitor-nm-state-gdbus.c

我在谷歌上搜索了很长一段时间,我找不到正确的例子,甚至 dbus 文档也不是直截了当的,或者没有提供我正在寻找的信息。

对此的任何帮助都会非常有帮助。

提前致谢

0 投票
2 回答
2075 浏览

dbus - c++ gdbus - 如何使用 gdbus 库获取接口的属性?

我想知道使用 c++ 代码片段从 dbus 接口获取属性的方法/代码片段。

我尝试了以下错误方法。

方法#1使用 g_dbus_proxy_get_cached_property但它总是返回 null

方法#2 g_dbus_proxy_call_sync -这个说“org.freedesktop.networkmanager”未导出(或可能不存在),无法访问属性“接口”

0 投票
2 回答
2657 浏览

yocto - 如何在启动时执行“export $(dbus-launch)”

我正在使用 GDbus 并进行 dbus 通信。它使用会话总线。

问题是 dbus 启动。

我在 Yocto 中使用 c++11 运行 dbus。而且,我必须导出 $(dbus-launch)。

但是,我想在启动时导出 $(dbus-launch) 或相同的东西。因为 dbus 是由 systemd 启动的。

0 投票
0 回答
112 浏览

python-3.x - 我的程序没有以 systemd 开始的通知

我在 Python3 中开发了一个小程序来测试我的电池电量并在超过阈值时发送通知。

这是我的代码:

当我在本地运行时,没关系。我为 systemd 创建了一个脚本 .service 以在我登录会话时启动它。

这是我的脚本.service:

没关系,我可以毫无问题地开始。一旦他发送通知,它就不会显示,我有这些错误:

我不知道如何解决我的问题,一个想法?

0 投票
1 回答
1189 浏览

linux - 使用 gdbus 实用程序将对象作为参数传递

我想调用方法RegisterAgentgdbus但找不到合适的语法。

/org/bluez使用此命令进行自省

表明RegisterAgent接口org.bluez.AgentManager1上的方法具有以下签名:

但我在gdbus 参考文档中找不到任何示例来说明如何将对象传递给方法,在 Internet 上找到的众多示例中也找不到。

所以我不知道如何将代理作为第一个参数传递,例如我想选择KeyboardOnly作为代理,但是怎么做呢?

随着dbus-send,这给出:

但是我找不到如何通过gdbus调用来做到这一点。任何想法?

0 投票
1 回答
212 浏览

c - 可以重复使用我的 GCancellable 实例吗?

在通过 gdbus 触发代理调用之前,我想取消此 dbus 方法上任何可能的挂起调用。我的第一次尝试是这样的:

那没有成功,因为使用相同的可取消实例也会取消任何未来的调用。看起来我不能使用g_cancellable_reset,因为文档统计如下:

如果可取消操作当前正在被任何可取消操作使用,则此函数的行为未定义。

是否可以检查我的 GCancellable 的使用状态?它会帮助我吗?

对我来说已经很好的是为每个呼叫创建一个新的可取消:

是否保存到 unref my_cancellable,考虑到有待处理的呼叫?这一定是一个标准的用例..我想知道是否没有更好的解决方案。