set_callback


Description:

[ 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 [func@GLib.SOURCE_FUNC] to avoid warnings about incompatible function types.

See [main loop memory management](main-loop.html#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 [func@GLib.idle_add] or [ func@GLib.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.

Note that [method@GLib.Source.destroy] for a currently attached source has the effect of also unsetting the callback.

Parameters:

this

the source

func

a callback function

data

the data to pass to callback function

notify

a function to call when data is no longer in use