private void OnSubscriptionsUpdated() { List <Subscription> SubscriptionList = new List <Subscription>(); Array.ForEach(SSDPs, SSDPComponent => SubscriptionList.Add(SSDPComponent.SearchSubscription)); Subscriptions = SubscriptionList.ToArray(); SubscriptionsUpdated?.Invoke(); }
private void buttonSave_Click(object sender, EventArgs e) { List <Subscription> resultPlaylists = listBoxPlaylists.Items.Cast <Subscription>().ToList(); SubscriptionsUpdated.Invoke(resultPlaylists); this.Close(); }
private void OnSubscriptionsUpdated() { List <Subscription> SubscriptionList = new List <Subscription>(); Array.ForEach(SocketClients, s => SubscriptionList.AddRange(s.WriteSubscriptions)); Array.ForEach(SocketEndpoints, s => SubscriptionList.AddRange(s.WriteSubscriptions)); Subscriptions = SubscriptionList.ToArray(); SubscriptionsUpdated?.Invoke(); }
private void ConstructSubscriptions() { var SubscriptionsList = new List <Subscription>(); SubscriptionsList.Add(Discovery.Properties.DiscoverySubscription); Array.ForEach(Devices, Device => SubscriptionsList.AddRange(Device.Subscriptions)); Subscriptions = SubscriptionsList.ToArray(); SubscriptionsUpdated?.Invoke(this, Subscriptions); }
private void ConstructSubscriptions() { var list = new List <Subscription>(); list.Add(ConnectButtonSubscription); list.Add(RestartButtonSubscription); list.AddRange(Outputs.SelectMany(o => o.Subscriptions)); m_Subscriptions = list.ToArray(); SubscriptionsUpdated?.Invoke(this, EventArgs.Empty); }
internal void RemoveSubcription(string theSubcriptionGuid) { Subscription Search = WriteSubscriptions.FirstOrDefault(s => s.Guid == theSubcriptionGuid); if (Search != null) { var list = WriteSubscriptions.ToList(); list.Remove(Search); WriteSubscriptions = list.ToArray(); SubscriptionsUpdated?.Invoke(); } }
public void UpdateProperties(SSDPProperties theProperties) { bool EventUpdatedFlag = false; bool SubscriptionUpdatedFlag = false; if (theProperties.DiscoveryEvent.Id != DiscoveryEvent.Id) { DiscoveryEvent.Id = theProperties.DiscoveryEvent.Id; EventUpdatedFlag = true; } if (theProperties.DiscoveryEvent.Description != DiscoveryEvent.Description) { DiscoveryEvent.Description = theProperties.DiscoveryEvent.Description; EventUpdatedFlag = true; } if (theProperties.DiscoveryTarget != DiscoveryTarget) { DiscoveryTarget = theProperties.DiscoveryTarget; } if (theProperties.SearchSubscription != null && theProperties.SearchSubscription.Id != SearchSubscription.Id) { SearchSubscription.Id = theProperties.SearchSubscription.Id; SubscriptionUpdatedFlag = true; } /// /// ... /// if (EventUpdatedFlag) { EventsUpdated?.Invoke(); } if (SubscriptionUpdatedFlag) { SubscriptionsUpdated?.Invoke(); } }
internal void UpdateProperties(SocketEndpointProperties theNewProperties) { bool SubscriptionsUpdatedFlag = false; bool EventsUpdatedFlag = false; bool ForceInitialise = false; if (theNewProperties.Guid == null || theNewProperties.Guid != Guid) { return; } if (theNewProperties.ReadEvent != null) { if (Event.Merge(ReadEvent, theNewProperties.ReadEvent)) { EventsUpdatedFlag = true; } } if (theNewProperties.IPAddress != null && theNewProperties.IPAddress != IPAddress) { IPAddress = theNewProperties.IPAddress; ForceInitialise = true; } if (theNewProperties.Port != -1 && theNewProperties.Port != Port) { Port = theNewProperties.Port; ForceInitialise = true; } if (theNewProperties.Backlog != -1 && theNewProperties.Backlog != Backlog) { Backlog = theNewProperties.Backlog; ForceInitialise = true; } if (theNewProperties.LoggingLevel != -1 && theNewProperties.LoggingLevel != LoggingLevel) { LoggingLevel = theNewProperties.LoggingLevel; } if (theNewProperties.NICIndex != -1 && theNewProperties.NICIndex != NICIndex) { NICIndex = theNewProperties.NICIndex; } int NICIndexSearch = LocalIPAddressList.GetIndex(IPAddress); if (NICIndexSearch != -1) { NICIndex = NICIndexSearch; } if (theNewProperties.WriteSubscriptions != null) { List <Subscription> NewSubscriptions = new List <Subscription>(); foreach (Subscription Subscription in theNewProperties.WriteSubscriptions) { Subscription Search = WriteSubscriptions.FirstOrDefault(ne => ne.Guid == Subscription.Guid); if (Search == null) { NewSubscriptions.Add(Subscription); } else { if (Subscription.Merge(Search, Subscription)) { SubscriptionsUpdatedFlag = true; } } } if (NewSubscriptions.Count() > 0) { SubscriptionsUpdatedFlag = true; } foreach (Subscription Subscription in NewSubscriptions) { Subscription.Guid = System.Guid.NewGuid().ToString(); Subscription.Event += m_Listener.OnSubscriptionEvent; } List <Subscription> List = WriteSubscriptions == null ? new List <Subscription>() : WriteSubscriptions.ToList(); List.AddRange(NewSubscriptions); WriteSubscriptions = List.ToArray(); } if (EventsUpdatedFlag) { EventsUpdated?.Invoke(); } if (SubscriptionsUpdatedFlag) { SubscriptionsUpdated?.Invoke(); } if (ForceInitialise) { InitialiseSetup(); } }
internal void UpdateProperties(SocketClientProperties theNewProperties) { bool SubscriptionsUpdatedFlag = false; bool EventsUpdatedFlag = false; bool ForceInitialise = false; if (theNewProperties.Guid == null || theNewProperties.Guid != Guid) { return; } if (theNewProperties.ReadEvent != null) { if (Event.Merge(ReadEvent, theNewProperties.ReadEvent)) { EventsUpdatedFlag = true; } } if (theNewProperties.HostName != null && theNewProperties.HostName != HostName) { HostName = theNewProperties.HostName; ForceInitialise = true; } if (theNewProperties.Port != -1 && theNewProperties.Port != Port) { Port = theNewProperties.Port; ForceInitialise = true; } if (theNewProperties.LoggingLevel != -1 && theNewProperties.LoggingLevel != LoggingLevel) { LoggingLevel = theNewProperties.LoggingLevel; } if (theNewProperties.WriteSubscriptions != null) { List <Subscription> NewSubscriptions = new List <Subscription>(); foreach (Subscription Subscription in theNewProperties.WriteSubscriptions) { Subscription Search = WriteSubscriptions.FirstOrDefault(ne => ne.Guid == Subscription.Guid); if (Search == null) { NewSubscriptions.Add(Subscription); } else { if (Subscription.Merge(Search, Subscription)) { SubscriptionsUpdatedFlag = true; } } } if (NewSubscriptions.Count() > 0) { SubscriptionsUpdatedFlag = true; } foreach (Subscription Subscription in NewSubscriptions) { Subscription.Guid = System.Guid.NewGuid().ToString(); Subscription.Event += OnSubscriptionEvent; } List <Subscription> List = WriteSubscriptions == null ? new List <Subscription>() : WriteSubscriptions.ToList(); List.AddRange(NewSubscriptions); WriteSubscriptions = List.ToArray(); } if (EventsUpdatedFlag) { EventsUpdated?.Invoke(); } if (SubscriptionsUpdatedFlag) { SubscriptionsUpdated?.Invoke(); } if (ForceInitialise) { InitialiseSetup(); } }