using Serein.Library;
using Serein.Library.Api;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.Services
{
#region 工作台事件
public delegate void PreviewlMethodInfoHandler(PreviewlMethodInfoEventArgs eventArgs);
#endregion
#region 工作台事件参数
public class PreviewlMethodInfoEventArgs(MethodDetailsInfo mdInfo) : EventArgs
{
///
/// 方法信息
///
public MethodDetailsInfo MethodDetailsInfo { get; } = mdInfo;
}
#endregion
///
/// 工作台事件管理
///
internal interface IWorkbenchEventService
{
///
/// 预览了某个方法信息(待创建)
///
event PreviewlMethodInfoHandler OnPreviewlMethodInfo;
///
/// 预览依赖方法信息
///
void PreviewLibraryMethodInfo(MethodDetailsInfo mdInfo);
}
///
/// 工作台事件的实现类
///
internal class WorkbenchEventService : IWorkbenchEventService
{
private readonly IFlowEnvironment flowEnvironment;
///
/// 管理工作台的事件
///
///
public WorkbenchEventService(IFlowEnvironment flowEnvironment)
{
this.flowEnvironment = flowEnvironment;
}
private void SubscribeEvents()
{
}
///
/// 预览了某个方法信息(待创建)
///
public event PreviewlMethodInfoHandler? OnPreviewlMethodInfo;
///
/// 预览依赖方法信息
///
public void PreviewLibraryMethodInfo(MethodDetailsInfo mdInfo)
{
OnPreviewlMethodInfo?.Invoke(new PreviewlMethodInfoEventArgs(mdInfo));
}
///
/// 需要放置节点控件
///
public void PlateNodeControl()
{
}
}
}