public static void Write(System.IO.Stream stream, UsedToSaveProgramSet programSet) { IFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, VERSION); formatter.Serialize(stream, programSet); }
public static UsedToSaveProgramSet Read(System.IO.Stream stream) { IFormatter formatter = new BinaryFormatter(); int version = (Int32)formatter.Deserialize(stream); UsedToSaveProgramSet programSet = (UsedToSaveProgramSet)formatter.Deserialize(stream); return(programSet); }
public static UsedToSaveProgramSetv2 Read(System.IO.Stream stream) { IFormatter formatter = new BinaryFormatter(); int version = (Int32)formatter.Deserialize(stream); if (version == 1) { //This is a version 1 file Convert it to a Version 2 file UsedToSaveProgramSet prgramsetv1 = (UsedToSaveProgramSet)formatter.Deserialize(stream); List <KeyMap> TempKeys = new List <KeyMap>(); String[] TempMacros = new String[kMaxKeys]; UsedToSaveProgramSetv2 programset = new UsedToSaveProgramSetv2(TempKeys); for (int i = 0; i < kMaxKeys; i++) { //process each of the keys int offset = (i) * 3; KeyMap NewKey = new KeyMap(); NewKey.Dx1Key = (byte)(i + 1); offset++; NewKey.Type = prgramsetv1.keyMap[offset++]; NewKey.Action = prgramsetv1.keyMap[offset++]; if (NewKey.Action == (byte)0) { NewKey.Description = "Unassigned"; } else { NewKey.Description = "Keycode-" + NewKey.Action.ToString(); } programset.keyMaps.Add(NewKey); } TempMacros = prgramsetv1.macroMap; for (int i = 0; i < kMaxKeys; i++) { //Process each of the Macros into the corresponding key if (TempMacros[i] != null) { programset.keyMaps[i].MacroName = TempMacros[i]; } } return(programset); } UsedToSaveProgramSetv2 programSet = (UsedToSaveProgramSetv2)formatter.Deserialize(stream); return(programSet); }