Method

GObjectClosureset_meta_marshal

Declaration

void
g_closure_set_meta_marshal (
  GClosure* closure,
  gpointer marshal_data,
  GClosureMarshal meta_marshal
)

Description

Sets the meta marshaller of closure.

A meta marshaller wraps the closures 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][glib-genmarshal]), are used everywhere, but the way that we get the callback function differs. In most cases we want to use the closures 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.

This method is not directly available to language bindings.

Parameters

marshal_data

Type: gpointer

Context-dependent data to pass to meta_marshal.

The argument can be NULL.
The data is owned by the caller of the function.
meta_marshal

Type: GClosureMarshal

A GClosureMarshal function.

The argument can be NULL.