public FakeObject ParseAddress(string address) { if (!address.StartsWith("F;")) return null; var fakeObject = new FakeObject { Address = address }; foreach (var addressPart in address.ToLower().Split(';')) { var partValues = GetAddressPartValues(addressPart); if (addressPart.StartsWith("d") && partValues.Count == 3) { fakeObject.MinValue = partValues[0]; fakeObject.MaxValue = partValues[1]; fakeObject.ValueChangeInterval = TimeSpan.FromSeconds(partValues[2]); } if (addressPart.StartsWith("a") && partValues.Count == 3) { fakeObject.MinAlarmValue = partValues[0]; fakeObject.MaxAlarmValue = partValues[1]; fakeObject.AlarmValueInterval = (int)partValues[2]; } if (addressPart.StartsWith("w") && partValues.Count == 1) { fakeObject.IsWriteable = true; fakeObject.Value = partValues[0].ToString(); } } return fakeObject; }
private void Unsubscribe(FakeObject fake) { fake.Stop(); fake.FakeValueChangedEvent -= OnFakeValueChanged; Debug.WriteLine("unsubscribed from " + fake.Address); }