예제 #1
0
        public ConfigurationFactory()
        {
            try
            {
                var config = ConfigurationManager.GetSection("WebHook") as WebHookConfigSection;
                if (config == null)
                {
                    throw new NullReferenceException("WebHook  config section cannot be null");
                }

                events           = new PipelineEvents();
                moduleCollection = new List <string>();

                log.Info("Searching for modules...");
                var count = 0;

                foreach (ProviderSettings item in config.Modules)
                {
                    var aType = Type.GetType(item.Type);
                    if (aType == null)
                    {
                        continue;
                    }

                    var module = Activator.CreateInstance(aType) as IPipelineModule;
                    module?.Init(events, item.Parameters);
                    moduleCollection.Add(item.Name);

                    count++;
                    log.Info("Found module {0}", item.Name);
                }

                log.Info("{0} modules installed", count);
            }
            catch (Exception ex)
            {
                log.Fatal(ex.Message);
            }
        }
 void IPipelineModule.Initialize(PipelineEvents events, NameValueCollection parameters)
 {
     Initialize((T)events, parameters);
 }
예제 #3
0
 public HookPipeline(IConfigurationFactory configurationFactory)
 {
     events           = configurationFactory.GetEvents();
     moduleCollection = configurationFactory.GetModules();
 }
예제 #4
0
 public void Init(PipelineEvents events, NameValueCollection configElement)
 {
     events.OnFireUrl += OnFireUrl;
 }