// GLib.Idle.cs - Idle class implementation // // Author: Mike Kestner // Rachel Hestilow // // (c) 2002 Mike Kestner, Rachel Hestilow namespace GLib { using System; using System.Runtime.InteropServices; /// /// IdleHandler Delegate /// /// /// /// Delegate used for idle handlerss in the GLib main loop. Return /// true to restart the idle. Returning false clears the /// idle. /// public delegate bool IdleHandler (); /// /// Idle Class /// /// /// /// Allows the installation of Idle Handlers on the GLib main /// loop. /// public class Idle { private Idle () { } [DllImport("libglib-2.0-0.dll")] static extern uint g_idle_add (IdleHandler d, IntPtr data); public static uint Add (IdleHandler hndlr) { return g_idle_add (hndlr, IntPtr.Zero); } [DllImport("libglib-2.0-0.dll")] static extern bool g_source_remove_by_funcs_user_data (IdleHandler d, IntPtr data); public static bool Remove (IdleHandler hndlr) { return g_source_remove_by_funcs_user_data (hndlr, IntPtr.Zero); } } }