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