示例#1
0
        private static void StaticCallback(IntPtr loop, IntPtr watcher, EventTypes revents)
        {
            UnmanagedTimerWatcher iow = (UnmanagedTimerWatcher)Marshal.PtrToStructure(watcher, typeof(UnmanagedTimerWatcher));

            GCHandle     gchandle = GCHandle.FromIntPtr(iow.data);
            TimerWatcher w        = (TimerWatcher)gchandle.Target;

            w.callback(w.Loop, w, revents);
        }
示例#2
0
        public TimerWatcher(TimeSpan after, TimeSpan repeat, Loop loop, TimerWatcherCallback callback) : base(loop)
        {
            this.callback = callback;

            unmanaged_watcher = new UnmanagedTimerWatcher();

            unmanaged_watcher.callback = unmanaged_callback_ptr;
            unmanaged_watcher.after    = after.TotalSeconds;
            unmanaged_watcher.repeat   = repeat.TotalSeconds;

            InitializeUnmanagedWatcher(unmanaged_watcher);
        }
示例#3
0
        public TimerWatcher(TimeSpan after, TimeSpan repeat, Loop loop, TimerWatcherCallback callback)
            : base(loop)
        {
            this.callback = callback;

            unmanaged_watcher = new UnmanagedTimerWatcher ();

            unmanaged_watcher.callback = CallbackFunctionPtr;
            unmanaged_watcher.after = after.TotalSeconds;
            unmanaged_watcher.repeat = after.TotalSeconds;

            InitializeUnmanagedWatcher (unmanaged_watcher);
        }