private void Removed(CpDeviceRecogniserList aList, CpDeviceRecognised aDevice) { lock (iLock) { RemoveDevice(aDevice); aDevice.Changed -= Changed; iDeviceListRecognised.Remove(aDevice); } }
public MainPage(IInvoker aInvoker, NetworkAdapter aAdapter, Preferences aPreferences, IUpdateListener aUpdateListener, CpDeviceReprogramListRepeater aRepeater, string aId, string aViewId) : base(aId, aViewId) { iInvoker = aInvoker; iPreferences = aPreferences; iLock = new object(); iDeviceListRecognised = new List <CpDeviceRecognised>(); List <IRecogniser> recognisers = new List <IRecogniser>(); recognisers.Add(new RecogniserLinn()); recognisers.Add(new RecogniserSonos()); recognisers.Add(new RecogniserMediaServer()); iRecogniserList = new CpDeviceRecogniserList(recognisers, Added, Removed); }
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); } } }