gpt4 book ai didi

glib - 在 dbus-glib 服务器中传递数组

转载 作者:行者123 更新时间:2023-12-05 00:40:17 28 4
gpt4 key购买 nike

我有一些使用 dbus-glib 通过 dbus 编写服务器导出和接口(interface)。

我正在尝试编写一个将字节数组作为输入的方法,但是我很难确定在我的方法参数中使用什么类型。

例如,如果我有一个在 XML 定义中看起来像这样的方法:

<method name="SetData">
<arg type="ay" name="data" direction="in" />
</method>

我原以为我需要这样的方法:
gboolean set_data(MyObj *obj, GArray *arr, GError **error);

如果我看一下直接调用该方法的生成的编码代码,它期望这样的函数签名:
  typedef gboolean (*GMarshalFunc_BOOLEAN__BOXED_POINTER) (gpointer     data1,
gpointer arg_1,
gpointer arg_2,
gpointer data2)

data1 和 data2 匹配 *obj 和 **error,因此它们之间的 arg_1 和 arg_2 大概与数组有关。这大概是一个长度和值,但在这种情况下,为什么它们都是指针?或者它是一个 GArray 和一些类型信息还是什么?

我知道我可能应该改用 GDBus,但这是我目前所坚持的。

最佳答案

编码代码似乎是一条红鲱鱼,我想多了。

实验表明,简单的 GArray* 是传递数组的预期类型。

关于glib - 在 dbus-glib 服务器中传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271402/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com