GDBusProxy - 在就绪回调中获取输入参数
Posted
技术标签:
【中文标题】GDBusProxy - 在就绪回调中获取输入参数【英文标题】:GDBusProxy - Get input parameters in ready callback 【发布时间】:2017-09-18 07:51:51 【问题描述】:我正在使用gdbus-codegen
生成代码。但基本上我想在GAsyncReadyCallback callback
中获取传递给g_dbus_proxy_call() GVariant *parameters
的参数。
我不想为此使用 gpointer user_data
,因为我需要 this
指针。
我该怎么做?
https://developer.gnome.org/gio/stable/GDBusProxy.html#g-dbus-proxy-call
【问题讨论】:
【参考方案1】:你可以使用
struct CallbackArguments
YourClass *that;
GVariant *call_params;
并将CallbackArguments
传递为user_data
。
【讨论】:
您是否建议为 CallbackArguments 动态分配内存并在回调中销毁它?回调是否保证被调用? 标准的做法是动态分配这个闭包,是的;并在回调中销毁它。只要对GMainContext
进行了足够的迭代以完成操作,就可以保证只调用一次回调。这是可以处理所有使用GAsyncResult
的异步操作的惯用方式。以上是关于GDBusProxy - 在就绪回调中获取输入参数的主要内容,如果未能解决你的问题,请参考以下文章