Exemplo n.º 1
0
        private void LoadConfig()
        {
            m_Jobs.Clear();
            m_Tasks.Clear();
            m_Triggers.Clear();

            InitConfig();

            foreach (ConfigElement element in _ConfigSection.Tasks)
            {
                Type            taskType = Type.GetType(element.TypeName);
                ConstructorInfo ci       = taskType.GetConstructor(Type.EmptyTypes);
                ITask           task     = (ITask)ci.Invoke(new object[0]);

                ValuesCollection vc = ValuesCollection.FromString(element.Config);
                task.LoadValues(vc);

                m_Tasks.Add(task);
            }

            foreach (ConfigElement element in _ConfigSection.Jobs)
            {
                Type            jobType = Type.GetType(element.TypeName);
                ConstructorInfo ci      = jobType.GetConstructor(Type.EmptyTypes);
                IJob            job     = (IJob)ci.Invoke(new object[0]);

                ValuesCollection vc = ValuesCollection.FromString(element.Config);
                job.LoadValues(vc, this);

                m_Jobs.Add(job);
            }

            foreach (ConfigElement element in _ConfigSection.Triggers)
            {
                Type            triggerType = Type.GetType(element.TypeName);
                ConstructorInfo ci          = triggerType.GetConstructor(Type.EmptyTypes);
                ITrigger        trigger     = (ITrigger)ci.Invoke(new object[0]);

                ValuesCollection vc = ValuesCollection.FromString(element.Config);
                trigger.LoadValues(vc, this);

                m_Triggers.Add(trigger);
            }
        }