/// <summary> /// Finds the child with the specified browse name. /// </summary> protected override BaseInstanceState FindChild( ISystemContext context, QualifiedName browseName, bool createOrReplace, BaseInstanceState replacement) { if (QualifiedName.IsNull(browseName)) { return null; } BaseInstanceState instance = null; switch (browseName.Name) { case Opc.Ua.Di.BrowseNames.Lock: { if (createOrReplace) { if (Lock == null) { if (replacement == null) { Lock = new LockingServicesState(this); } else { Lock = (LockingServicesState)replacement; } } } instance = Lock; break; } } if (instance != null) { return instance; } return base.FindChild(context, browseName, createOrReplace, replacement); }
/// <summary> /// Finds the child with the specified browse name. /// </summary> protected override BaseInstanceState FindChild( ISystemContext context, QualifiedName browseName, bool createOrReplace, BaseInstanceState replacement) { if (QualifiedName.IsNull(browseName)) { return null; } BaseInstanceState instance = null; switch (browseName.Name) { case Opc.Ua.Di.BrowseNames.ParameterSet: { if (createOrReplace) { if (ParameterSet == null) { if (replacement == null) { ParameterSet = new BaseObjectState(this); } else { ParameterSet = (BaseObjectState)replacement; } } } instance = ParameterSet; break; } case Opc.Ua.Di.BrowseNames.MethodSet: { if (createOrReplace) { if (MethodSet == null) { if (replacement == null) { MethodSet = new BaseObjectState(this); } else { MethodSet = (BaseObjectState)replacement; } } } instance = MethodSet; break; } case Opc.Ua.Di.BrowseNames.Identification: { if (createOrReplace) { if (Identification == null) { if (replacement == null) { Identification = new FunctionalGroupState(this); } else { Identification = (FunctionalGroupState)replacement; } } } instance = Identification; break; } case Opc.Ua.Di.BrowseNames.Lock: { if (createOrReplace) { if (Lock == null) { if (replacement == null) { Lock = new LockingServicesState(this); } else { Lock = (LockingServicesState)replacement; } } } instance = Lock; break; } } if (instance != null) { return instance; } return base.FindChild(context, browseName, createOrReplace, replacement); }