using System.Threading;

namespace TeslaConsole;

public class AsyncDelegates<T>
{
	public T Worker;

	public SendOrPostCallback OnProgressReport;

	public SendOrPostCallback OnCompleted;

	public SendOrPostCallback CompletionMethod;

	public AsyncDelegates(SendOrPostCallback completed, SendOrPostCallback completionMethod)
		: this((SendOrPostCallback)null, completed, completionMethod)
	{
	}

	public AsyncDelegates(SendOrPostCallback progressReport, SendOrPostCallback completed, SendOrPostCallback completionMethod)
	{
		OnProgressReport = progressReport;
		OnCompleted = completed;
		CompletionMethod = completionMethod;
	}
}
