Example #1
0
        private bool ShouldBeStarted(IModuleDependency plugin)
        {
            var conf   = _config.GetOrCreate(plugin.RepresentedModule.Name);
            var result = conf.StartBehaviour == ModuleStartBehaviour.Auto || plugin.Dependends.Any(ShouldBeStarted);

            return(result);
        }
Example #2
0
 private void ConvertBranch(IModuleDependency branch)
 {
     foreach (var dependend in branch.Dependends.Where(ShouldBeStarted))
     {
         AddWaitingService(branch.RepresentedModule, dependend.RepresentedModule);
         ConvertBranch(dependend);
     }
 }
Example #3
0
        private int CalculateTreeDepth(int currentLevel, IModuleDependency branch)
        {
            var childLevel = currentLevel + 1;

            return(branch.Dependends.Any() ? branch.Dependends.Max(dependency => CalculateTreeDepth(childLevel, dependency)) : currentLevel);
        }