#region CPL License /* Nuclex Framework Copyright (C) 2002-2017 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as published by the IBM Corporation; either version 1.0 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the IBM Common Public License for more details. You should have received a copy of the IBM Common Public License along with this library */ #endregion using System; namespace Framework.Async { /// Provides the status of an public class AsyncStatusEventArgs : EventArgs { /// Reusable container that communicates that a task wasn't run public static readonly AsyncStatusEventArgs NotStarted = new AsyncStatusEventArgs( AsyncStatus.NotStarted ); /// Reusable container that communicates that a task is waiting to run public static readonly AsyncStatusEventArgs Pending = new AsyncStatusEventArgs( AsyncStatus.Pending ); /// Reusable container that communicates that a task is running public static readonly AsyncStatusEventArgs Running = new AsyncStatusEventArgs( AsyncStatus.Running ); /// Reusable container that communicates success public static readonly AsyncStatusEventArgs Success = new AsyncStatusEventArgs( AsyncStatus.Succeeded ); /// Reusable container that communicates a failure public static readonly AsyncStatusEventArgs Failure = new AsyncStatusEventArgs( AsyncStatus.Failed ); /// Reusable container that communicates a cancellation public static readonly AsyncStatusEventArgs Cancel = new AsyncStatusEventArgs( AsyncStatus.Cancelled ); /// Initializes a new outcome container /// Outcome the container will provide public AsyncStatusEventArgs(AsyncStatus status) { this.status = status; } /// The status of the public AsyncStatus Status { get { return this.status; } } /// status stored by the container private AsyncStatus status; } } // namespace Framework.Async