2 using System.Collections.Generic;
5 namespace SysGen.RBuild.Framework
7 public class ModulePreferenceComparer : IComparer<RBuildModule>
9 public int Compare(RBuildModule x, RBuildModule y)
14 if (x.Type == ModuleType.BuildTool)
21 public class RBuildModuleCollection : List<RBuildModule>
23 public event EventHandler OnModuleAdded;
25 public void Add(RBuildModuleCollection modules)
27 foreach (RBuildModule module in modules)
33 public new void Add(RBuildModule module)
36 throw new Exception("Could not add a null instance");
38 if (GetByName(module.Name) == null)
43 if (OnModuleAdded != null)
44 OnModuleAdded(this, EventArgs.Empty);
47 public void Add(string moduleName)
49 RBuildModule module = GetByName(moduleName);
52 throw new Exception(string.Format("Unknown '{0}' module", moduleName));
57 public void Add(int index, RBuildModule moduleName)
59 base.Insert(index, moduleName);
62 public void DisableAll()
64 foreach (RBuildModule module in this)
67 module.Enabled = false;
71 public RBuildModule GetByName(string name)
73 foreach (RBuildModule module in this)
75 if (module.Name == name)