我正在使用gdbus-codegen
为DBUS客户端生成代码。 我在第三方服务器DBUS <property name="someProperty" type="(iiii)" access="read"/>
Glib:DBUS属性中的NULL
当我调用自动生成的方法来获得属性值GVariant属性:
GVariant* data = interface_name_get_some_property(proxy);
有些时候数据是NULL
。在自动生成的代码中的注释内容指出:
返回:(传输无):属性值或NULL%如果不设置该属性。不要释放返回的值,它属于@object。
“未设定”是什么意思,我该如何处理这种情况? 我认为,默认情况下(如果选项G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES没有设置)glib加载所有属性,他们都应该被设置。
谢谢你的回复。我理解你所说的几乎全部。但是,这是“什么原因”?你能举个例子吗?当我实施DBUS服务器时,这种情况永远不会发生。此外,我在创建代理后很长时间请求属性值。 –