【发布时间】:2011-09-21 22:46:15
【问题描述】:
我正在 linux 上开发一个使用 c++ 语言的应用程序。我想这样发送信号:
<signal name="EmitSignal">
<arg type="(u(i)uussssu)" name="t_struct_of_signal" direction="out" />
</signal>
type="(u(i)uussssu)" 中的第二个参数是枚举类型。
我正在尝试注册一个结构
#define STRUCT_OF_SIGNAL (dbus_g_type_get_struct ("GValueArray", \
G_TYPE_UINT, \
G_TYPE_POINTER, \
G_TYPE_UINT, \
G_TYPE_UINT, \
G_TYPE_STRING, \
G_TYPE_STRING, \
G_TYPE_STRING, \
G_TYPE_STRING, \
G_TYPE_UINT, \
G_TYPE_INVALID))
但我有一些错误:
** (process:21792): WARNING **: No marshaller registered for type "gpointer"
** (process:21792): WARNING **: failed to marshal parameter 1 for signal EmitSignal
有人可以帮我吗?
非常感谢
【问题讨论】:
标签: c++ send signals glib dbus