Exemplo n.º 1
0
        protected virtual void OnStatusChangedHandler(object sender, GroupStatusChangedEventArgs e)
        {
            lock (sync) {
                if (!cancelRequested)
                {
                    EventHandler <GroupStatusChangedEventArgs> handler = StatusChanged;

                    if (handler != null)
                    {
                        commandQueue.Register(
                            new EventWrapper <GroupStatusChangedEventArgs> (
                                handler, this, e
                                )
                            );
                    }
                }
            }
        }
Exemplo n.º 2
0
        protected virtual void OnTaskCompleted(TaskCompletedEventArgs e)
        {
            AsyncCommandQueue queue = commandQueue;
            EventHandler <TaskCompletedEventArgs> handler = Completed;

            if (queue != null)
            {
                queue.Register(new CommandWrapper(delegate {
                    if (handler != null)
                    {
                        handler(this, e);
                    }
                }));
            }
            else if (handler != null)
            {
                ThreadPool.QueueUserWorkItem(delegate {
                    handler(this, e);
                });
            }
        }
Exemplo n.º 3
0
        protected virtual void OnStatusChanged(TaskStatusChangedInfo tsci)
        {
            AsyncCommandQueue queue = commandQueue;
            EventHandler <TaskStatusChangedEventArgs> handler = StatusChanged;

            if (queue != null)
            {
                queue.Register(new CommandWrapper(delegate {
                    TaskStatusChangedEventArgs e = new TaskStatusChangedEventArgs(tsci);
                    if (handler != null)
                    {
                        handler(this, e);
                    }
                }));
            }
            else if (handler != null)
            {
                ThreadPool.QueueUserWorkItem(delegate {
                    handler(this, new TaskStatusChangedEventArgs(tsci));
                });
            }
        }