public virtual void ModifyMonitoring(OperationContext context, ISampledDataChangeMonitoredItem monitoredItem)
{
lock (m_lock)
{
// find existing sampling group.
SamplingGroup samplingGroup = null;
if (m_sampledItems.TryGetValue(monitoredItem, out samplingGroup))
{
if (samplingGroup != null)
{
if (samplingGroup.ModifyMonitoring(context, monitoredItem))
{
return;
}
}
m_sampledItems.Remove(monitoredItem);
}
// assign to a new sampling group.
StartMonitoring(context, monitoredItem);
return;
}
}