private void ReprogrammableAdded(CpDeviceVolkano aDevice) { UserLog.WriteLine(DateTime.Now + ": CpDeviceReprogramList: DeviceVolkano+ Udn{" + aDevice.Udn + "}, MacAddress{" + aDevice.MacAddress + "}"); CpDeviceReprogrammable device = null; lock (iLock) { if (iDisposed) { aDevice.Dispose(); return; } iDeviceListPending.Remove(aDevice); if (iDeviceListReprogrammable.ContainsKey(aDevice.MacAddress)) { iDeviceListReprogrammable[aDevice.MacAddress].SetDevice(aDevice); } else { device = new CpDeviceReprogrammable(aDevice); iDeviceListReprogrammable.Add(aDevice.MacAddress, device); } } if (device != null) { if (iAdded != null) { iAdded(this, device); } } }
private void Removed(CpDeviceReprogramList aList, CpDeviceReprogrammable aDevice) { CpDeviceFacDef device = null; lock (iLock) { if (iDisposed) { return; } foreach (CpDeviceFacDef d in iDeviceFacDefList) { if (d.MacAddress == aDevice.MacAddress) { UserLog.WriteLine(DateTime.Now + ": CpDeviceUpdateList: DeviceUpdateable- MacAddress{" + aDevice.MacAddress + "}"); device = d; iDeviceFacDefList.Remove(d); break; } } } if (device != null) { if (iRemoved != null) { iRemoved(this, device); } device.Dispose(); } }
private void Added(CpDeviceReprogramList aList, CpDeviceReprogrammable aDevice) { CpDeviceFacDef device = null; lock (iLock) { if (iDisposed) { return; } UserLog.WriteLine(DateTime.Now + ": CpDeviceUpdateList: DeviceUpdateable+ MacAddress{" + aDevice.MacAddress + "}"); device = new CpDeviceFacDef(aDevice, iAdapterAddress, iUpdateListener); iDeviceFacDefList.Add(device); aDevice.Changed += HandleChanged; } if (device != null) { if (iAdded != null) { iAdded(this, device); } } }
private void HandleChanged(object sender, EventArgs e) { CpDeviceReprogrammable device = sender as CpDeviceReprogrammable; CpDeviceUpdate removedDevice = null; CpDeviceUpdate addedDevice = null; Firmware firmware = CheckForSoftwareUpdate(device); lock (iLock) { foreach (CpDeviceUpdate d in iDeviceUpdateList) { if (d.MacAddress == device.MacAddress) { if ((firmware == null || d.Status == CpDeviceReprogrammable.EStatus.eOff) && !d.Updating) { UserLog.WriteLine(DateTime.Now + ": CpDeviceUpdateList: DeviceUpdateable- MacAddress{" + device.MacAddress + "}"); removedDevice = d; iDeviceUpdateList.Remove(removedDevice); break; } else { return; } } } if (removedDevice == null && firmware != null && device.Status != CpDeviceReprogrammable.EStatus.eOff) { UserLog.WriteLine(DateTime.Now + ": CpDeviceUpdateList: DeviceUpdateable+ MacAddress{" + device.MacAddress + "}"); addedDevice = new CpDeviceUpdate(device, firmware, iCache, iAdapterAddress, iUpdateListener); iDeviceUpdateList.Add(addedDevice); } } if (removedDevice != null) { if (iRemoved != null) { iRemoved(this, removedDevice); } removedDevice.Dispose(); } if (addedDevice != null) { if (iAdded != null) { iAdded(this, addedDevice); } } }
private void HandleChanged(object sender, EventArgs e) { CpDeviceReprogrammable device = sender as CpDeviceReprogrammable; CpDeviceAdvanced removedDevice = null; CpDeviceAdvanced addedDevice = null; lock (iLock) { foreach (CpDeviceAdvanced d in iDeviceListAdvanced) { if (d.MacAddress == device.MacAddress) { if (d.Status == CpDeviceReprogrammable.EStatus.eOff && !d.Updating) { UserLog.WriteLine(DateTime.Now + ": CpDeviceAdvancedList: DeviceAdvanced- MacAddress{" + device.MacAddress + "}"); removedDevice = d; iDeviceListAdvanced.Remove(removedDevice); break; } else { return; } } } if (removedDevice == null && device.Status != CpDeviceReprogrammable.EStatus.eOff) { UserLog.WriteLine(DateTime.Now + ": CpDeviceAdvancedList: DeviceAdvanced+ MacAddress{" + device.MacAddress + "}"); addedDevice = new CpDeviceAdvanced(device, iVersionReader.GetDeviceVariant(device.PcbNumberList), iAdapterAddress, iUpdateListener); iDeviceListAdvanced.Add(addedDevice); } } if (removedDevice != null) { if (iRemoved != null) { iRemoved(this, removedDevice); } removedDevice.Dispose(); } if (addedDevice != null) { if (iAdded != null) { iAdded(this, addedDevice); } } }
public CpDeviceFacDef(CpDeviceReprogrammable aDevice, IPAddress aAdapterAddress, IUpdateListener aUpdateListener) { iLock = new object(); iAdapterAddress = aAdapterAddress; iDevice = aDevice; iDevice.Changed += HandleChanged; iUpdateListener = aUpdateListener; iUglyname = string.Format("linn-{0}", aDevice.MacAddress.Replace(":", "").Substring(6, 6)); }
private Firmware CheckForSoftwareUpdate(CpDeviceReprogrammable aDevice) { Firmware firmware = iVersionReader.GetFirmware(aDevice.Model, aDevice.PcbNumberList); if (firmware != null) { if (aDevice.IsFallback || firmware.CompareTo(aDevice.SoftwareVersion) > 0 || aDevice.SoftwareVersion.CompareTo(firmware.Version) > 0) { return(firmware); } } return(null); }
//private void Removed(CpDeviceReprogramList aList, CpDeviceReprogrammable aDevice) private void Removed(object sender, CpDeviceReprogramListRepeater.CpDeviceReprogrammableEventArgs e) { CpDeviceReprogrammable aDevice = e.Device; CpDeviceUpdate device = null; lock (iLock) { if (iDisposed) { return; } foreach (CpDeviceReprogrammable d in iPendingList) { if (d.Udn == aDevice.Udn) { iPendingList.Remove(d); aDevice.Changed -= HandleChanged; break; } } foreach (CpDeviceUpdate d in iDeviceUpdateList) { if (d.MacAddress == aDevice.MacAddress) { UserLog.WriteLine(DateTime.Now + ": CpDeviceUpdateList: DeviceUpdateable- MacAddress{" + aDevice.MacAddress + "}"); device = d; iDeviceUpdateList.Remove(d); break; } } } if (device != null) { if (iRemoved != null) { iRemoved(this, device); } device.Dispose(); } }
private void RemovedHandler(CpDeviceReprogramList aList, CpDeviceReprogrammable aDevice) { lock (iLock) { if (iDisposed) { return; } } if (Removed != null) { Removed(this, new CpDeviceReprogrammableEventArgs(aDevice)); } }
public CpDeviceAdvanced(CpDeviceReprogrammable aDevice, string aVariant, IPAddress aAdapterAddress, IUpdateListener aUpdateListener) { iLock = new object(); iDisposed = false; iDevice = aDevice; iDevice.Changed += HandleChanged; iDevice.ProgressChanged += HandleProgressChanged; iDevice.MessageChanged += HandleMessageChanged; iVariant = aVariant; iAdapterAddress = aAdapterAddress; iUpdateListener = aUpdateListener; iUglyname = string.Format("linn-{0}", aDevice.MacAddress.Replace(":", "").Substring(6, 6)); }
public CpDeviceUpdate(CpDeviceReprogrammable aDevice, Firmware aFirmware, IFirmwareManager aFirmwareManager, IPAddress aAdapterAddress, IUpdateListener aUpdateListener) { iLock = new object(); iDisposed = false; iAdapterAddress = aAdapterAddress; iDevice = aDevice; iDevice.Changed += HandleChanged; iDevice.ProgressChanged += HandleProgressChanged; iDevice.MessageChanged += HandleMessageChanged; iUpdateListener = aUpdateListener; iUglyname = string.Format("linn-{0}", aDevice.MacAddress.Replace(":", "").Substring(6, 6)); iFirmware = aFirmware; iFirmwareManager = aFirmwareManager; }
//private void Added(CpDeviceReprogramList aList, CpDeviceReprogrammable aDevice) private void Added(object sender, CpDeviceReprogramListRepeater.CpDeviceReprogrammableEventArgs e) { CpDeviceReprogrammable aDevice = e.Device; CpDeviceUpdate device = null; lock (iLock) { if (iDisposed) { return; } if (iVersionInfoAvailable) { Firmware firmware = CheckForSoftwareUpdate(aDevice); if (firmware != null) { UserLog.WriteLine(DateTime.Now + ": CpDeviceUpdateList: DeviceUpdateable+ MacAddress{" + aDevice.MacAddress + "}"); device = new CpDeviceUpdate(aDevice, firmware, iCache, iAdapterAddress, iUpdateListener); iDeviceUpdateList.Add(device); } } iPendingList.Add(aDevice); aDevice.Changed += HandleChanged; } if (device != null) { if (iAdded != null) { iAdded(this, device); } } }
public CpDeviceReprogrammableEventArgs(CpDeviceReprogrammable aDevice) { iDevice = aDevice; }