public void ModifyItems(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 = Modify(handle.Node, monitoredItem);
if (request != null)
{
requests[request.ItemId] = request;
}
}
ApplyChanges(requests, true);
}
}
}