/// <summary> /// Initializes a new instance of the <see cref="PrototypeBackend.BoardConfiguration"/> class. /// </summary> /// <param name="info">Info.</param> /// <param name="context">Context.</param> public BoardConfiguration(SerializationInfo info, StreamingContext context) { OnPinsUpdated = null; OnBoardUpdated = null; OnSequencesUpdated = null; OnSignalsUpdated = null; board = new Board (); Pins = new List<IPin> (); MeasurementCombinations = new List<MeasurementCombination> (); Sequences = new List<Sequence> (); board = (Board)info.GetValue ("Board", board.GetType ()); Pins = (List<IPin>)info.GetValue ("Pins", Pins.GetType ()); MeasurementCombinations = (List<MeasurementCombination>)info.GetValue ("MeasurementCombinations", MeasurementCombinations.GetType ()); Sequences = (List<Sequence>)info.GetValue ("Sequences", Sequences.GetType ()); ConfigSavePath = info.GetString ("ConfigSavePath"); CSVSaveFolderPath = info.GetString ("CSVSaveFolderPath"); UseMarker = info.GetBoolean ("UseMarker"); LogRAWValues = info.GetBoolean ("LogRAWValues"); Separator = info.GetString ("CSVSeparator"); EmptyValueFilling = info.GetString ("EmptyValueFilling"); UTCTimestamp = info.GetBoolean ("UTCTimestamp"); LocalTimestamp = info.GetBoolean ("LocalTimestamp"); TimeFormat = info.GetString ("TimeFormat"); FileNameConvention = ((List<string>)info.GetValue ("FileNameConvention", new List<string> ().GetType ())).ToArray<string> (); FileNameTimeFormat = info.GetString ("FileNameTimeFormat"); FileNameDateFormat = info.GetString ("FileNameDateFormat"); ValueFormatCultur = info.GetString ("ValueFormatCultur"); }
/// <summary> /// Initializes a new instance of the <see cref="PrototypeBackend.Sequence"/> class. /// </summary> /// <param name="info">Info.</param> /// <param name="context">Context.</param> public Sequence(SerializationInfo info, StreamingContext context) { Pin = new DPin (); Pin = (DPin)info.GetValue ("Pin", Pin.GetType ()); Name = info.GetString ("Name"); GroupName = info.GetString ("GroupName"); Chain = new List<SequenceOperation> (); Chain = (List<SequenceOperation>)info.GetValue ("Chain", Chain.GetType ()); Repetitions = info.GetInt32 ("Repetitions"); Color = new Gdk.Color (info.GetByte ("RED"), info.GetByte ("GREEN"), info.GetByte ("BLUE")); }
/// <summary> /// Initializes a new instance of the <see cref="PrototypeBackend.MeasurementCombination"/> class. /// </summary> /// <param name="info">Info.</param> /// <param name="context">Context.</param> public MeasurementCombination(SerializationInfo info, StreamingContext context) { Pins = new List<APin> (); Pins = (List<APin>)info.GetValue ("Pins", Pins.GetType ()); Name = info.GetString ("Name"); Unit = info.GetString ("Unit"); Color = new Gdk.Color (info.GetByte ("RED"), info.GetByte ("GREEN"), info.GetByte ("BLUE")); MeanValuesCount = info.GetInt32 ("Interval"); OperationString = info.GetString ("OperationString"); if (!string.IsNullOrEmpty (OperationString) && Pins.Count > 0 && Pins.All (o => o != null)) { try { Operation = OperationCompiler.CompileOperation (OperationString, Pins.Select (o => o.DisplayNumberShort).ToArray<string> ()); } catch (Exception e) { throw e; } } Values = new List<DateTimeValue> (); }