set_meta_marshal


Description:

public void set_meta_marshal (void* marshal_data, ClosureMarshal meta_marshal)

Sets the meta marshaller of this.

A meta marshaller wraps the this's marshal and modifies the way it is called in some fashion. The most common use of this facility is for C callbacks.

The same marshallers (generated by glib-genmarshal), are used everywhere, but the way that we get the callback function differs. In most cases we want to use the this's callback, but in other cases we want to use some different technique to retrieve the callback function.

For example, class closures for signals (see g_signal_type_cclosure_new) retrieve the callback function from a fixed offset in the class structure. The meta marshaller retrieves the right callback and passes it to the marshaller as the marshal_data argument.

Parameters:

this

a Closure

marshal_data

context-dependent data to pass to meta_marshal

meta_marshal

a ClosureMarshal function