方法

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。