namespace Pilz.Plugins.Advanced.UI;

public abstract class ControlListenerFeature : PluginFeature
{
    public string? ControlName { get; set;  }

    public bool ControlNameRegEx { get; set; }

    public ControlListenerFeature(string type, string identifier) : base(type, identifier)
    {
    }

    public ControlListenerFeature(string type, string identifier, string? name) : base(type, identifier, name)
    {
    }

    public abstract void Execute(Control control, ControlExecuteReason reason, PluginFunctionParameter? parameter);
}
