方法
GNome类型系统Closureset_meta_marshal
声明 [源]
void
g_closure_set_meta_marshal (
GClosure* closure,
gpointer marshal_data,
GClosureMarshal meta_marshal
)
描述 [源]
设置 closure 的元序列化器。
元序列化器封装 closure 的序列化操作,并以某种方式修改调用的方式。这个功能的最常见用途是 C回调。
相同的序列化器(由[glib-genmarshal][glib-genmarshal]生成)在所有地方都使用,但获取回调函数的方式不同。在大多数情况下,我们想使用 closure 的回调,但在其他情况下,我们想使用不同的技术来获取回调函数。
例如,对于信号的类 closure(见g_signal_type_cclosure_new()),从类结构的固定偏移处获取回调函数。元序列化器检索正确的回调并将其作为 mashal_data 参数传递给序列化器。
该方法不对语言绑定直接可用。
参数
marshal_data
-
类型:
gpointer
传递给 meta_marshal 的上下文相关数据。
该参数可以为 NULL。 数据由方法调用者拥有。 meta_marshal
-
类型:
GClosureMarshal
一个
GClosureMarshal
函数。该参数可以为 NULL。