public void ConditionRefresh(
ISystemContext context,
IEventMonitoredItem monitoredItem)
{
if (m_eventSubscriptions != null)
{
for (int ii = 0; ii < m_eventSubscriptions.Count; ii++)
{
// only process items monitoring this node.
if (!Object.ReferenceEquals(monitoredItem, m_eventSubscriptions[ii]))
{
continue;
}
// get the set of condition events for the node and its children.
List<IFilterTarget> events = new List<IFilterTarget>();
m_node.ConditionRefresh(context, events, true);
// report the events to the monitored item.
for (int jj = 0; jj < events.Count; jj++)
{
monitoredItem.QueueEvent(events[jj]);
}
}
}
}
#endregion