namespace ThingsGateway.Gateway.Application; public interface INode { public TouchSocket.Core.ILog Logger { get; set; } string RulesEngineName { get; set; } } public interface IConditionNode : INode { public Task ExecuteAsync(NodeInput input, CancellationToken cancellationToken); } public interface IExpressionNode : INode { public Task> ExecuteAsync(NodeInput input, CancellationToken cancellationToken); } public interface IActuatorNode : INode { public Task> ExecuteAsync(NodeInput input, CancellationToken cancellationToken); } public interface ITriggerNode : INode { public Task StartAsync(Func func, CancellationToken cancellationToken); } public interface IExexcuteExpressionsBase { } public interface IExexcuteExpressions : IExexcuteExpressionsBase { public TouchSocket.Core.ILog Logger { get; set; } Task ExecuteAsync(NodeInput input, CancellationToken cancellationToken); }