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 JobStep(IIgorModule Module, IgorRuntimeUtils.JobStepFunc Function) { ModuleInst = Module; StepFunction = Function; }
public virtual void RegisterJobStep(StepID CurrentStep, IIgorModule Module, IgorRuntimeUtils.JobStepFunc StepFunction) { StaticRegisterJobStep(CurrentStep, Module, StepFunction); }