private void ProductAdded(object obj, Layer0.EventArgsDevice e) { Trace.WriteLine(Trace.kTopology, "Layer1 Product+ " + e.Device); Product product; lock (iProductList) { iProductList.TryGetValue(e.Device.Udn, out product); if (product == null && iRunning) { try { product = new Product(this, e.Device); product.EventSubscriptionError += EventSubscriptionErrorHandler; iProductList.Add(e.Device.Udn, product); product.Open(); } catch (ServiceException ex) { Trace.WriteLine(Trace.kTopology, "Add device failed: " + e.Device + ", \n" + ex.Message + "\n" + ex.StackTrace); UserLog.WriteLine("Add device failed: " + e.Device); } } } }
private void EventSubscriptionErrorHandler(object sender, Layer0.EventArgsDevice e) { string message = String.Format("{0}: Removing disconnected device: {1}", DateTime.Now, e.Device.Udn); UserLog.WriteLine(message); Trace.WriteLine(Trace.kTopology, message); RemoveDevice(e.Device); }
private void UpnpRemoved(object obj, Layer0.EventArgsDevice e) { Trace.WriteLine(Trace.kTopology, "Layer1 Upnp- " + e.Device); Upnp upnp; lock (iUpnpList) { iUpnpList.TryGetValue(e.Device.Udn, out upnp); if (upnp != null) { iUpnpList.Remove(e.Device.Udn); upnp.EventSubscriptionError -= EventSubscriptionErrorHandler; upnp.Kill(); } } }
private void ProductRemoved(object obj, Layer0.EventArgsDevice e) { Trace.WriteLine(Trace.kTopology, "Layer1 Product- " + e.Device); Product product; lock (iProductList) { iProductList.TryGetValue(e.Device.Udn, out product); if (product != null) { iProductList.Remove(e.Device.Udn); product.Kill(); product.EventSubscriptionError -= EventSubscriptionErrorHandler; } } }
private void UpnpAdded(object obj, Layer0.EventArgsDevice e) { Trace.WriteLine(Trace.kTopology, "Layer1 Upnp+ " + e.Device); Upnp upnp; lock (iUpnpList) { iUpnpList.TryGetValue(e.Device.Udn, out upnp); if (upnp == null && iRunning) { upnp = new Upnp(this, e.Device); upnp.EventSubscriptionError += EventSubscriptionErrorHandler; iUpnpList.Add(e.Device.Udn, upnp); upnp.Open(); } } }