protected static void StaticRegisterJobStep(StepID CurrentStep, IIgorModule Module, IgorRuntimeUtils.JobStepFunc StepFunction) { List <JobStep> NewSteps = new List <JobStep>(); StepID Priority = new StepID(); foreach (KeyValuePair <StepID, List <JobStep> > CurrentPriority in JobSteps) { if (CurrentPriority.Key.StepPriority == CurrentStep.StepPriority) { NewSteps = CurrentPriority.Value; Priority = CurrentPriority.Key; break; } } NewSteps.Add(new JobStep(Module, StepFunction)); if (JobSteps.ContainsKey(Priority)) { JobSteps[Priority] = NewSteps; } else { JobSteps.Add(CurrentStep, NewSteps); } }
public virtual void RegisterJobStep(StepID CurrentStep, IIgorModule Module, IgorRuntimeUtils.JobStepFunc StepFunction) { StaticRegisterJobStep(CurrentStep, Module, StepFunction); }