[ CCode ( cname = "g_source_set_callback" ) ]
public void set_callback (owned IOFunc func)

Sets the callback function for a source.

The callback for a source is called from the source's dispatch function.

The exact type of func depends on the type of source; ie. you should not count on func being called with data as its first parameter. Cast func with G_SOURCE_FUNC to avoid warnings about incompatible function types.

See memory management of sources for details on how to handle memory management of data.

Typically, you won't use this function. Instead use functions specific to the type of source you are using, such as g_idle_add or g_timeout_add.

It is safe to call this function multiple times on a source which has already been attached to a context. The changes will take effect for the next time the source is dispatched after this call returns.



the source


a callback function


the data to pass to callback function


a function to call when data is no longer in use, or null.