首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gdbus属性集窗体客户端无法工作

Gdbus属性集窗体客户端无法工作
EN

Stack Overflow用户
提问于 2022-01-06 13:49:22
回答 1查看 67关注 0票数 0

基于fatmimin示例,我向接口添加了一个属性:

代码语言:javascript
复制
        <property name="Sputulant" type="i" access="readwrite"/>

使gen做它的事情,导致两个功能被称为:

代码语言:javascript
复制
min_min_bus_gdbus_set_sputulant()
min_min_bus_gdbus_get_sputulant()

我没有在server.c中添加任何代码来“连接”这个属性(按照Hello方法的方式,使用g_signal_connect())

当从客户端调用这些函数时,只有get函数工作。我不能设定价值。

但是,使用gdbus工具确实有效:

代码语言:javascript
复制
gdbus call -e -d com.fatminmin -o /com/fatminmin/GDBUS -m org.freedesktop.DBus.Properties.Set "com.fatminmin.GDBUS" "Sputulant" "<123>"

我已经深入研究了几天了,找不到任何关于属性的示例代码或任何其他建议,那么我在这里做错了什么呢?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-13 08:15:23

好的,原因是您不能使用用于执行get属性的代理句柄来执行set属性。

所以,

代码语言:javascript
复制
proxy = lkbr_bus_gdbus_proxy_new_for_bus_sync(G_BUS_TYPE_SESSION, G_DBUS_PROXY_FLAGS_NONE,
"com.lkbr", "/com/lkbr/GDBUS", NULL, &error);

lkbr_bus_gdbus_set_sputulant(proxy,  235);
g_object_unref(proxy);

工作,创建一个新的代理,并取消它,因为每个调用似乎都是要走的路。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70608112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档