/// <summary> /// Returns the list with the keys of implemented structures. /// </summary> /// <value> /// List of structures implemented. /// </value> public static ReadOnlyCollection <SmbiosStructure> GetImplementedStructureKeys() { return (RawStructures .OrderBy(structure => structure.Key) .Select(rawStructure => rawStructure.Key) .ToList() .AsReadOnly()); }
/// <summary> /// Returns the structures grouped by unprocessed type. /// </summary> /// <param name="data">Structures not processed without grouping.</param> private static void ToRawStructures(IEnumerable <byte[]> data) { if (RawStructures.Count != 0) { RawStructures.Clear(); } foreach (byte[] rawTable in data) { SmbiosStructure structureType = (SmbiosStructure)rawTable[0]; if (RawStructures.ContainsKey(structureType)) { RawStructures[structureType].Add(rawTable); } else { RawStructures.Add(structureType, new List <byte[]> { rawTable }); } } }