private void ValidateFilter(NodeClass nodeClass, MonitoringFilter filter)
{
if (filter == null)
{
return;
}
switch (nodeClass)
{
case NodeClass.Variable:
case NodeClass.VariableType:
{
if (!typeof(DataChangeFilter).IsInstanceOfType(filter))
{
m_nodeClass = NodeClass.Variable;
}
break;
}
case NodeClass.Object:
case NodeClass.View:
{
if (!typeof(EventFilter).IsInstanceOfType(filter))
{
m_nodeClass = NodeClass.Object;
}
break;
}
default:
{
throw ServiceResultException.Create(StatusCodes.BadFilterNotAllowed, "Filters may not be specified for nodes of class '{0}'.", nodeClass);
}
}
}