Opc.Ua.Com.Client.HdaSubscribeRequestManager.DeleteItems C# (CSharp) Method

DeleteItems() public method

Deletes subscription requests for monitored items.
public DeleteItems ( ServerSystemContext context, IList monitoredItems ) : void
context Opc.Ua.Server.ServerSystemContext The context.
monitoredItems IList The monitored items.
return void
        public void DeleteItems(ServerSystemContext context, IList<IMonitoredItem> monitoredItems)
        {
            lock (m_lock)
            {
                if (monitoredItems != null)
                {
                    Dictionary<string,HdaSubscribeAttributeRequest> requests = new Dictionary<string, HdaSubscribeAttributeRequest>();

                    for (int ii = 0; ii < monitoredItems.Count; ii++)
                    {
                        MonitoredItem monitoredItem = monitoredItems[ii] as MonitoredItem;

                        if (monitoredItem == null)
                        {
                            continue;
                        }

                        NodeHandle handle = monitoredItem.ManagerHandle as NodeHandle;

                        if (handle == null)
                        {
                            continue;
                        }

                        if (!HasExternalSource(handle.Node, monitoredItem.AttributeId))
                        {
                            continue;
                        }

                        HdaSubscribeAttributeRequest request = Remove(handle.Node, monitoredItem);

                        if (request != null)
                        {
                            requests[request.ItemId] = request;
                        }
                    }

                    ApplyChanges(requests, false);
                }
            }
        }
        #endregion