public Initialize ( NodeId referenceTypeId, NodeId nodeId, QualifiedName browseName, uint numericId, NodeId typeDefinitionId ) : NodeId | ||
referenceTypeId | NodeId | |
nodeId | NodeId | |
browseName | QualifiedName | |
numericId | uint | |
typeDefinitionId | NodeId | |
return | NodeId |
public virtual NodeId Initialize(
NodeId referenceTypeId,
NodeId nodeId,
QualifiedName browseName,
uint numericId,
NodeId typeDefinitionId)
{
lock (DataLock)
{
// do any pre-initialize processing.
OnBeforeInitialize();
// initialize the base.
base.Initialize(nodeId, browseName, numericId);
// save the reference type to the parent.
m_referenceTypeId = referenceTypeId;
// select a suitable type definition.
if (NodeClass == NodeClass.Object)
{
if (NodeId.IsNull(typeDefinitionId))
{
typeDefinitionId = ObjectTypes.BaseObjectType;
}
}
else if (NodeClass == NodeClass.Variable)
{
if (NodeId.IsNull(typeDefinitionId))
{
typeDefinitionId = VariableTypes.BaseDataVariableType;
}
}
m_typeDefinitionId = typeDefinitionId;
// methods don't have a type definition.
if (!NodeId.IsNull(typeDefinitionId))
{
References.RemoveAll(ReferenceTypeIds.HasTypeDefinition, false);
References.Add(ReferenceTypeIds.HasTypeDefinition, false, m_typeDefinitionId);
}
// initialize the children.
InitializeChildren();
// do any post-initialize processing.
OnAfterInitialize();
return NodeId;
}
}
BaseInstanceSource::Initialize ( |
/// <summary> /// Replaces a shared child in the address space. /// </summary> protected virtual BaseInstanceSource ReplaceSharedChild( BaseInstanceSource child, NodeId nodeId, NodeId referenceTypeId, QualifiedName browseName, uint numericId, NodeId typeDefinitionId, object configuration) { CheckNodeManagerState(); // remove links to shared node. NodeManager.UnreferenceSharedNode(this, referenceTypeId, false, browseName); // initialize replacement. child.Initialize(nodeId, referenceTypeId, browseName, numericId, typeDefinitionId); // add replacement to the address space. child.Create(this.NodeId, child.ReferenceTypeId, null, null, child.NumericId, configuration); // return replacement. return child; }