private bool checkTemplates(PipelineContext ctx, String key, ref Object lastTemplate) { PipelineAction a = null; String templateExpr = null; int i; for (i = 0; i < templates.Count; i++) { lastTemplate = templates[i]; a = templates[i].OptCreateAction(ctx, key); if (a != null) { goto ADD_TEMPLATE; } } a = new PipelineNopAction(key); actions.Add(new ActionAdmin(a.Name, actions.Count, a)); prepareActions(); return(false); ADD_TEMPLATE: templateExpr = templates[i].Expr; missed[key] = templateExpr; while (true) { a.Start(ctx); actions.Add(new ActionAdmin(a.Name, actions.Count, a)); i++; if (i >= templates.Count) { break; } if (!templates[i].Expr.Equals(templateExpr, StringComparison.InvariantCultureIgnoreCase)) { break; } a = templates[i].OptCreateAction(ctx, key); if (a == null) { break; } } prepareActions(); return(true); }
public PipelineNopTemplate(Pipeline pipeline, XmlNode node) : base(pipeline, node) { template = new PipelineNopAction(pipeline, node); }
internal PipelineNopAction(PipelineNopAction template, String name, Regex regex) : base(template, name, regex) { }