using System;
using System.Threading.Tasks;
namespace TinaX.UIKit.Pipelines.OpenUI
{
///
/// 通用 OpenUI管线处理器(异步)
///
public class GeneralOpenUIAsyncHandler : IOpenUIAsyncHandler
{
public delegate Task DoOpenUIAsyncDelegate(OpenUIPayload payload, IOpenUIAsyncHandler next);
public string HandlerName { get; private set; }
public DoOpenUIAsyncDelegate DoOpenUIAsync { get; private set; }
public GeneralOpenUIAsyncHandler(string name, DoOpenUIAsyncDelegate func)
{
this.HandlerName = name ?? throw new ArgumentNullException(nameof(name));
this.DoOpenUIAsync = func ?? throw new ArgumentNullException(nameof(func));
}
public Task OpenUIAsync(OpenUIPayload payload, IOpenUIAsyncHandler next)
{
return DoOpenUIAsync(payload, next);
}
}
}