protected virtual NodeId Initialize(
NodeId nodeId,
QualifiedName browseName,
NodeId baseTypeId)
{
lock (DataLock)
{
// do any pre-initialize processing.
OnBeforeInitialize();
// initialize the base.
base.Initialize(nodeId, browseName, 0);
// select a suitable default base type.
if (NodeId.IsNull(baseTypeId))
{
switch (NodeClass)
{
case NodeClass.ObjectType: { baseTypeId = ObjectTypes.BaseObjectType; break; }
case NodeClass.VariableType: { baseTypeId = VariableTypes.BaseDataVariableType; break; }
case NodeClass.DataType: { baseTypeId = DataTypes.BaseDataType; break; }
case NodeClass.ReferenceType: { baseTypeId = ReferenceTypes.References; break; }
}
}
m_baseTypeId = baseTypeId;
// initialize the children.
InitializeChildren();
// do any post-initialize processing.
OnAfterInitialize();
return NodeId;
}
}
#endregion