protected virtual void OnPipelineModuleInitialized(PipelineModuleInitializedEventArgs e) { if (this.PipelineModuleInitialized != null) { this.PipelineModuleInitialized(this, e); } }
public TEvents Initialize() { TEvents pipelineEvents = new TEvents(); Definition.Pipeline pipeline = null; if (_Pipeline == null) { pipeline = GetPipelineDefinition(); } else { pipeline = _Pipeline; } foreach (Definition.Module moduleItem in pipeline.Modules) { PipelineModuleInitializingEventArgs beforeArgs = new PipelineModuleInitializingEventArgs(pipeline.Name, moduleItem.Name); OnPipelineModuleInitializing(beforeArgs); if (!beforeArgs.Cancel) { object obj = Activator.CreateInstance(Type.GetType(moduleItem.Type)); IPipelineModule module = (IPipelineModule)obj; if (module is IPipelineModuleBehavior) { IPipelineModuleBehavior behavior = module as IPipelineModuleBehavior; behavior.ModuleInitializing(beforeArgs); } if (!beforeArgs.Cancel) { object[] attributes = module.GetType().GetCustomAttributes(false); if (attributes != null) { foreach (object attribute in attributes) { if (attribute is IPipelineModuleBehavior) { if (!beforeArgs.Cancel) { IPipelineModuleBehavior behavior = attribute as IPipelineModuleBehavior; behavior.ModuleInitializing(beforeArgs); } } } } module.Initialize(pipelineEvents, moduleItem.Parameters); PipelineModuleInitializedEventArgs afterArgs = new PipelineModuleInitializedEventArgs(pipeline.Name, moduleItem.Name); OnPipelineModuleInitialized(afterArgs); if (module is IPipelineModuleBehavior) { IPipelineModuleBehavior behavior = module as IPipelineModuleBehavior; behavior.ModuleInitialized(afterArgs); } if (attributes != null) { foreach (object attribute in attributes) { if (attribute is IPipelineModuleBehavior) { IPipelineModuleBehavior behavior = attribute as IPipelineModuleBehavior; behavior.ModuleInitialized(afterArgs); } } } } } } return(pipelineEvents); }