private void Added(CpDeviceList aList, CpDevice aDevice) { UserLog.WriteLine(DateTime.Now + ": CpDeviceRecogniserList: Device+ Udn{" + aDevice.Udn() + "}"); lock (iLock) { if (iDisposed) { return; } foreach (IRecogniser r in iRecognisers) { CpDeviceRecognised recognisedDevice = r.Recognise(aDevice, RecogniserAdded); if (recognisedDevice != null) { // check to see if device has been added immediately if (!iDeviceListRecognised.Contains(recognisedDevice)) { iDeviceListPending.Add(recognisedDevice); } return; } } } UserLog.WriteLine(DateTime.Now + ": CpDeviceRecogniserList: Device not recognised Udn{" + aDevice.Udn() + "}"); }
private void Removed(CpDeviceRecogniserList aList, CpDeviceRecognised aDevice) { lock (iLock) { RemoveDevice(aDevice); aDevice.Changed -= Changed; iDeviceListRecognised.Remove(aDevice); } }
private void AddDevice(CpDeviceRecognised aDevice, int aIndex) { JsonObject info = new JsonObject(); info.Add("Index", new JsonValueInt(aIndex)); info.Add("Type", new JsonValueString(aDevice.Type.ToString())); info.Add("Udn", new JsonValueString(aDevice.Udn)); info.Add("PresentationUri", new JsonValueString(aDevice.PresentationUri)); info.Add("Description", aDevice.Json); Send("RecognisedDeviceAdded", info); }
private void Changed(object sender, EventArgs e) { lock (iLock) { CpDeviceRecognised d = sender as CpDeviceRecognised; if (d != null) { Removed(null, d); Added(null, d); } } }
private void Removed(CpDeviceList aList, CpDevice aDevice) { UserLog.WriteLine(DateTime.Now + ": CpDeviceRecogniserList: Device- Udn{" + aDevice.Udn() + "}"); CpDeviceRecognised removedDevice = null; lock (iLock) { if (iDisposed) { return; } foreach (CpDeviceRecognised d in iDeviceListPending) { if (d.Udn == aDevice.Udn()) { iDeviceListPending.Remove(d); d.Dispose(); return; } } foreach (CpDeviceRecognised d in iDeviceListRecognised) { if (d.Udn == aDevice.Udn()) { removedDevice = d; iDeviceListRecognised.Remove(d); break; } } } if (removedDevice != null) { if (iRemoved != null) { iRemoved(this, removedDevice); } removedDevice.Dispose(); } }
private void Added(CpDeviceRecogniserList aList, CpDeviceRecognised aDevice) { lock (iLock) { iDeviceListRecognised.Add(aDevice); iDeviceListRecognised.Sort(); int index = iDeviceListRecognised.IndexOf(aDevice); AddDevice(aDevice, index); aDevice.Changed += Changed; string udn = iPreferences.SelectedProductUdn; if ((aDevice.Udn == udn) || (string.IsNullOrEmpty(udn) && aDevice is CpDeviceRecognisedLinn)) { Send("SelectProductUdn", udn); } } }
private void RecogniserAdded(CpDeviceRecognised aDevice) { UserLog.WriteLine(DateTime.Now + ": CpDeviceRecogniserList: DeviceRecognised+ Udn{" + aDevice.Udn + "}"); lock (iLock) { if (iDisposed) { aDevice.Dispose(); return; } iDeviceListPending.Remove(aDevice); iDeviceListRecognised.Add(aDevice); } if (iAdded != null) { iAdded(this, aDevice); } }
private void RemoveDevice(CpDeviceRecognised aDevice) { Send("RecognisedDeviceRemoved", aDevice.Udn); }