private bool VerifyIsForward(Node node, BrowseDescription description, ReferenceDescription reference)
{
// check if field was not requested.
if ((description.ResultMask & (uint)BrowseResultMask.IsForward) == 0)
{
if (reference.IsForward)
{
Log("Returned unexpected IsForward=True when Browsing Node '{0}'. NodeId = {1}", node, node.NodeId);
return false;
}
return true;
}
if (reference.IsForward)
{
if (description.BrowseDirection == BrowseDirection.Inverse)
{
Log("Returned unexpected IsForward=False when Browsing Node '{0}'. NodeId = {1}", node, node.NodeId);
return false;
}
}
else
{
if (description.BrowseDirection == BrowseDirection.Forward)
{
Log("Returned unexpected IsForward=True when Browsing Node '{0}'. NodeId = {1}", node, node.NodeId);
return false;
}
}
return true;
}