private static void UpdateAttributes(ILocalNode node, NodeAttributes attributes)
{
// DisplayName
if (attributes != null && (attributes.SpecifiedAttributes & (uint)NodeAttributesMask.DisplayName) != 0)
{
node.DisplayName = attributes.DisplayName;
if (node.DisplayName == null)
{
node.DisplayName = new LocalizedText(node.BrowseName.Name);
}
}
else
{
node.DisplayName = new LocalizedText(node.BrowseName.Name);
}
// Description
if (attributes != null && (attributes.SpecifiedAttributes & (uint)NodeAttributesMask.Description) != 0)
{
node.Description = attributes.Description;
}
// WriteMask
if (attributes != null && (attributes.SpecifiedAttributes & (uint)NodeAttributesMask.WriteMask) != 0)
{
node.WriteMask = (AttributeWriteMask)attributes.WriteMask;
}
else
{
node.WriteMask = AttributeWriteMask.None;
}
// WriteMask
if (attributes != null && (attributes.SpecifiedAttributes & (uint)NodeAttributesMask.UserWriteMask) != 0)
{
node.UserWriteMask = (AttributeWriteMask)attributes.UserWriteMask;
}
else
{
node.UserWriteMask = AttributeWriteMask.None;
}
}