Function

GLibidle_add_full

Declaration [src]

guint
g_idle_add_full (
  gint priority,
  GSourceFunc function,
  gpointer data,
  GDestroyNotify notify
)

Description [src]

Adds a function to be called whenever there are no higher priority events pending.

If the function returns G_SOURCE_REMOVE or FALSE it is automatically removed from the list of event sources and will not be called again.

See mainloop memory management for details on how to handle the return value and memory management of data.

This internally creates a main loop source using g_idle_source_new() and attaches it to the global GMainContext using g_source_attach(), so the callback will be invoked in whichever thread is running that main context. You can do these steps manually if you need greater control or to use a custom main context.

This function is renamed to g_idle_add() in language bindings.

Parameters

priority

Type: gint

The priority of the idle source. Typically this will be in the range between G_PRIORITY_DEFAULT_IDLE and G_PRIORITY_HIGH_IDLE.

function

Type: GSourceFunc

Function to call.

data

Type: gpointer

Data to pass to function.

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

Type: GDestroyNotify

Function to call when the idle is removed, or NULL.

The argument can be NULL.

Return value

Type: guint

The ID (greater than 0) of the event source.