Opc.Ua.Client.Session.RemoveSubscriptions C# (CSharp) Method

RemoveSubscriptions() public method

Removes a list of subscriptions from the sessiont.
public RemoveSubscriptions ( IEnumerable subscriptions ) : bool
subscriptions IEnumerable The list of subscriptions to remove.
return bool
        public bool RemoveSubscriptions(IEnumerable<Subscription> subscriptions)
        {
            if (subscriptions == null) throw new ArgumentNullException("subscriptions");
            
            bool removed = false;
            List<Subscription> subscriptionsToDelete = new List<Subscription>();

            lock (SyncRoot)
            {
                foreach (Subscription subscription in subscriptions)
                {
                    if (m_subscriptions.Remove(subscription))
                    {
                        if (subscription.Created)
                        {
                            subscriptionsToDelete.Add(subscription);
                        }
                        
                        removed = true;
                    }
                }
            }

            foreach (Subscription subscription in subscriptionsToDelete)
            {
                subscription.Delete(true);
            }

            if (removed)
            {
                if (m_SubscriptionsChanged != null)
                {
                    m_SubscriptionsChanged(this, null);
                }
            }
                    
            return true;
        }