private void MediaServerRemoved(object sender, Library.EventArgsMediaServer e) { bool removed = false; ModelMediaServer ms; lock (iLock) { if (iMediaServers.TryGetValue(e.MediaServer, out ms)) { ms.EventContainerUpdated -= EventContainerUpdatedHandler; ms.EventSystemUpdateIDStateChanged -= EventContainerUpdatedHandler; ms.EventContentDirectoryInitialised -= EventModelMediaServerInitial; ms.Close(); iMediaServers.Remove(e.MediaServer); iMetadata.ChildCount = iMediaServers.Count; iMediaServerRootContainers.Remove(ms.Metadata.Id); removed = true; } } if (removed && EventContentRemoved != null) { EventContentRemoved(this, new EventArgsContentRemoved(ms.Metadata.Id)); } }
private void MediaServerAdded(object sender, Library.EventArgsMediaServer e) { ModelMediaServer mediaServer = null; try { mediaServer = new ModelMediaServer(e.MediaServer, iEventProvider); mediaServer.EventContainerUpdated += EventContainerUpdatedHandler; mediaServer.EventSystemUpdateIDStateChanged += EventContainerUpdatedHandler; mediaServer.Open(); } catch (Exception) { // failed to create the media server - a dodgy media server shouldn't crash the application UserLog.WriteLine(string.Format("{0}: Failed to create media server ({1}, {2})", DateTime.Now, e.MediaServer.Name, e.MediaServer.Device.Model)); } if (mediaServer != null) { lock (iLock) { iMediaServers.Remove(e.MediaServer); iMediaServers.Add(e.MediaServer, mediaServer); iMetadata.ChildCount = iMediaServers.Count; } if (EventContentAdded != null) { EventContentAdded(this, EventArgs.Empty); } } }
private void MediaServerRemoved(object sender, Library.EventArgsMediaServer e) { iMutex.WaitOne(); ModelMediaServer ms; if (iMediaServers.TryGetValue(e.MediaServer, out ms)) { iMediaServers.Remove(e.MediaServer); iSortedMediaServers.Remove(e.MediaServer.Name); Assert.Check(iMediaServers.Keys.Count == iSortedMediaServers.Count); iMutex.ReleaseMutex(); if (EventContentRemoved != null) { EventContentRemoved(this, new EventArgsContentRemoved(ms.Metadata.Id)); } } else { iMutex.ReleaseMutex(); } }
private void MediaServerAdded(object sender, Library.EventArgsMediaServer e) { try { ModelMediaServer mediaServer = new ModelMediaServer(e.MediaServer, iSupport.EventUpnpProvider); iMutex.WaitOne(); if (iSortedMediaServers.ContainsKey(e.MediaServer.Name)) { MediaServer matched = null; foreach (MediaServer m in iMediaServers.Keys) { if (m.Name.Equals(e.MediaServer.Name)) { matched = m; break; } } if (matched != null) { iMediaServers.Remove(matched); } iSortedMediaServers.Remove(e.MediaServer.Name); } iMediaServers.Add(e.MediaServer, mediaServer); iSortedMediaServers.Add(e.MediaServer.Name, mediaServer); Assert.Check(iMediaServers.Keys.Count == iSortedMediaServers.Count); iMutex.ReleaseMutex(); if (EventContentAdded != null) { EventContentAdded(this, EventArgs.Empty); } } catch (ServiceException) { } }
private void LibraryRemoved(object sender, Library.EventArgsMediaServer e) { iLibraryModel.RemoveMediaServer(e.MediaServer); }
private void LibraryAdded(object sender, Library.EventArgsMediaServer e) { iLibraryModel.AddMediaServer(e.MediaServer); }
public void LibraryRemoved(object sender, Library.EventArgsMediaServer e) { RemoveListViewLibraries(e.MediaServer); }
public void LibraryAdded(object sender, Library.EventArgsMediaServer e) { AddListViewLibraries(e.MediaServer); }