public IdleWatcher(Loop loop, IdleWatcherCallback callback) : base(loop) { this.callback = callback; unmanaged_watcher = new UnmanagedIdleWatcher(); unmanaged_watcher.callback = CallbackFunctionPtr; InitializeUnmanagedWatcher(unmanaged_watcher); }
private static void StaticCallback(IntPtr loop, IntPtr watcher, EventTypes revents) { UnmanagedIdleWatcher iow = (UnmanagedIdleWatcher)Marshal.PtrToStructure(watcher, typeof(UnmanagedIdleWatcher)); GCHandle gchandle = GCHandle.FromIntPtr(iow.data); IdleWatcher w = (IdleWatcher)gchandle.Target; w.callback(w.Loop, w, revents); }
public IdleWatcher(Loop loop, IdleWatcherCallback callback) : base(loop) { this.callback = callback; unmanaged_watcher = new UnmanagedIdleWatcher (); unmanaged_watcher.callback = unmanaged_callback_ptr; InitializeUnmanagedWatcher (unmanaged_watcher); }