public static CFFFileSpecification TraceFiles() { CFFFileSpecification ret = new CFFFileSpecification(); ret.Description = "Text files"; // StringBuilder extensions = new StringBuilder(); foreach (string extn in CISource.KExtensionsTrace) { extensions.Append("*" + extn + ";"); } // Remove last trailing semi-colon extensions.Remove(extensions.Length - 1, 1); ret.Extensions = extensions.ToString(); return(ret); }
public string GetSupportedCrashFileTypes() { StringBuilder ret = new StringBuilder(); // First get a list of all supported extensions List <CFFFileSpecification> initialList = new List <CFFFileSpecification>(); foreach (CFFPlugin plugin in this) { plugin.GetSupportedFileTypes(initialList); } // Identify duplicate entries and filter them out Dictionary <string, CFFFileSpecification> finalList = new Dictionary <string, CFFFileSpecification>(); foreach (CFFFileSpecification entry in initialList) { if (!finalList.ContainsKey(entry.Description)) { finalList.Add(entry.Description, entry); } } // Convert each entry into dialog-like format list specification. foreach (KeyValuePair <string, CFFFileSpecification> kvp in finalList) { CFFFileSpecification spec = kvp.Value; // ret.AppendFormat("{0} ({1})|{2}", spec.Description, spec.Extensions, spec.Extensions); ret.Append("|"); } // Remove last trailing pipe if (ret.Length > 0) { ret.Remove(ret.Length - 1, 1); } string finalVal = ret.ToString(); return(finalVal); }