// // // // // $Revision$ // using System; using System.Xml; using ICSharpCode.SharpDevelop.Project; namespace CppBackendBinding { /// /// Represents a {Filter} element in the .vcproj file. /// sealed class FileGroup { public readonly CppProject Project; public readonly ItemType ItemType; public readonly string[] Extensions; public readonly XmlElement XmlElement; public FileGroup(CppProject project, XmlElement filterElement) { if (project == null) throw new ArgumentNullException("project"); if (filterElement == null) throw new ArgumentNullException("filterElement"); this.Project = project; this.XmlElement = filterElement; switch (filterElement.GetAttribute("UniqueIdentifier")) { case "{4FC737F1-C7A5-4376-A066-2A32D752A2FF}": ItemType = ItemType.Compile; break; case "{93995380-89BD-4b04-88EB-625FBE52EBFB}": ItemType = ItemType.Header; break; case "{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}": ItemType = ItemType.Resource; break; default: ItemType = new ItemType(filterElement.GetAttribute("Name")); break; } Extensions = filterElement.GetAttribute("Filter").Split(';'); } } }