问题标签 [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 回答
347 浏览

gdbus - 如何选择性地禁用 GDBus“PropertiesChanged”信号?

我正在使用gdbus- codegen 工具自动生成的 GDBus 工具为 C 中的应用程序构建MPRIS D-Bus 接口。

当一个属性被改变时,会自动生成一个“PropertiesChanged”信号,这在大多数情况下都很好,但是在 MPRIS 规范中,它规定当“Position”属性发生变化时,不应该发出“PropertiesChanged”信号

有什么好的方法可以防止信号被发送吗?

0 投票
2 回答
13313 浏览

dbus - 使用 dbus-send 设置/获取属性

我已经制作了下面的示例 xml,需要一些帮助来形成 dbus-send 命令来设置/获取属性“状态”。我知道如何调用方法,但无法使用 dbus-send 读取/写入属性。

xml:

0 投票
1 回答
1998 浏览

bluetooth - 无法通过 DBus 在 Bluez 中设置 SSP 模式

我需要以编程方式更改安全简单配对模式,但我不知道如何使用 DBus 命令在 Bluez 中打开或关闭 SSP 模式。

使用btmgmt实用程序,我只是这样做:

好的,但我需要的是可以包含在我的应用程序中的DBus 方法调用。

但是Bluez 文档似乎没有提到任何改变 SSP 模式的 DBus 方法。

有谁知道这是怎么做到的吗?(一个gdbus call或一个dbus-send例子会很棒)。

或者这是不可能的?

0 投票
1 回答
3798 浏览

c++ - 如何链接 glib-2.0 库以供 c/c++ 程序编译

我是使用 DBUS 的新手,想编译一个使用 glib-2.0 的程序。

但是我得到一个错误。这是我调用 make 的输出:

make: *** [main.o] 错误 1

我尝试按照 gnome.org https://developer.gnome.org/glib/stable/glib-compiling.html上的说明进行操作

这是我的制作文件:

这是我的主要内容:

为什么我会得到对这些调用的未定义引用?

0 投票
0 回答
636 浏览

bluez - 基本 Bluez BLE 客户端

为 Bluez BLE 编写 gdbus 客户端(5.48 版)

使用 gdbus-codegen 工具生成代理和骨架。XML 内容具有以下详细信息。

以上所有属性都从我的客户端分配给默认值。当我使用 d-feet 进行反省时。

但是 bluetoothctl 这些值没有分配给默认值。

我调试了

但是使用自动生成的代码,即使没有设置任何属性。g_dbus_proxy_get_property 能够获取其解析的所有属性和默认值。由于上述在启动广告时面临以下问题。1)超时默认值为零,它立即超时。2) 当设置了 include 属性时,即使没有设置 name 属性也会被解析。bluez 抛出错误“已包含本地名称”。

我们如何使用 gdbus 自动生成的代码做出与 bluetoothctl 相同的行为?

0 投票
1 回答
397 浏览

linux - 使用 gdbus-codegen 进行 dbus 方法调用,服务器端可以工作,但客户端的响应字符串始终为 NULL

使用 gdbus-codegen 进行 dbus 方法调用,服务器端可以工作,但客户端的响应字符串始终为 NULL。特别是调用中的缓冲区 new_cfg_gdbus_call_receive_new_config_sync(proxy, "new_cfg", buf, NULL, &error); 是 NULL,我不确定如何在服务器端填充它。

命令行:

XML:

客户:

服务器:

服务器端循环:

0 投票
0 回答
45 浏览

dbus - dbus 中的上下文切换

想了解发送 dbus 消息时发生的上下文切换吗?

0 投票
1 回答
905 浏览

linux - 无法从 ubuntu 中的服务连接到会话 dbus

我必须在 ubuntu 16.04 中将我的应用程序作为服务运行。我正在使用 systemd 使其在启动时作为服务运行。我的应用程序必须连接到会话 dbus 和系统 dbus。连接系统dbus成功。但是连接到会话 dbus 失败了。我尝试使用“systemctl start Myapplication”将我的应用程序作为服务运行,这一次它也没有连接到会话总线。但是,如果我从终端运行我的应用程序 "./Myapplication",它会成功连接到会话和系统 dbus。谁能帮我这个?

下面的代码是我的 .service 文件内容。



我正在使用GDBUS.

0 投票
1 回答
1130 浏览

c - Qtcreator 错误添加符号:命令行中缺少 DSO

我的具体错误是尝试从此处运行 GDBus 示例代码时:https ://developer.gnome.org/gio/2.30/GDBusConnection.html

错误如下所示:

0 投票
1 回答
419 浏览

c - 用于控制防火墙的 D-Bus API 或 C 库

我正在做一个项目,用 C 语言实现一切。作为项目的一部分,我们需要能够控制和配置firewalld当前系统的防火墙。

  • firewalld是用 Python 实现的,并且有一个接口可用。但是,我们不想从 C 进行 Python 调用,反之亦然。
  • 有命令行工具可以配置firewalld(例如firewall-cmd),但我们也不想从 C 中进行此类调用。

我最近开始工作firewalld,我不太了解它的内部结构。我读过它使用 D-Bus,我对 D-Bus 也不太了解。

  • Thomas Woerner 开发了一个 C 库:libfirewall. 但是,距离上次提交已经超过一年半,因此没有维护。除此之外libfirewall,我不知道 C 中的任何防火墙接口。
    • 我试libfirewall了一下。在编译和运行示例时,它给我带来了一些问题,我仍然有问题需要解决。值得继续libfirewall吗?我应该使用它吗?
    • 还有其他我不知道的界面吗?
  • 由于对 D-Bus 缺乏了解,可能是一个幼稚的问题:我想,也许,通过 D-Bus 接口,我可以向 firewalld 发出命令。可以做到吗?(即 D-Bus 是否像那样工作?)我们可以编写一个程序来模仿,比如说firewall-cmd,并以相同的方式与 D-Bus 交互并最终允许我们控制 firewalld 吗?
    • 如果这是可能的,该怎么做以及使用什么?libdbus并且GDBus有相对较好的文档,虽然libdbus需要大量的努力。他们甚至说“如果你直接使用这个低级 API,你注册会有些痛苦。” 在文档中。在任何情况下,我都需要示例或任何类型的文本来展示它们的用法。

我应该如何解决这个问题?