//internal API internal override NodeDesign Export(List <string> path, Action <InstanceDesign, List <string> > createInstanceType) { PropertyDesign _ret = new PropertyDesign(); base.Update(_ret, path, createInstanceType); return(_ret); }
private static void GetEUTYPE(VariableDesign var, SortedDictionary <int, Opc.Da.ItemProperty> prprts) { if (!prprts.ContainsKey(Opc.Da.Property.EUTYPE.Code)) { return; } Opc.Da.ItemProperty eut = prprts[Opc.Da.Property.EUTYPE.Code]; if (eut.Value == null) { return; } switch ((Opc.Da.euType)eut.Value) { case Opc.Da.euType.analog: { var.TypeDefinition = GetAnalogItemType(); Opc.Da.ItemProperty higheu = null; Opc.Da.ItemProperty loweu = null; if (prprts.ContainsKey(Opc.Da.Property.HIGHEU.Code)) { higheu = prprts[Opc.Da.Property.HIGHEU.Code]; } if (prprts.ContainsKey(Opc.Da.Property.LOWEU.Code)) { loweu = prprts[Opc.Da.Property.LOWEU.Code]; } if (higheu != null && loweu != null) { PropertyDesign prop = new PropertyDesign() { SymbolicName = CreateXmlQualifiedName(BrowseNames.EURange), DataType = CreateXmlQualifiedName(BrowseNames.Range), DefaultValue = CAS.UA.Common.Types.Range.CreateRange(higheu, loweu).XmlElement, ValueRank = ValueRank.Scalar, AccessLevel = AccessLevel.Read }; var.Children = new ListOfChildren() { Items = new InstanceDesign[] { prop } }; } break; } case Opc.Da.euType.enumerated: var.TypeDefinition = GetMultiStateDiscreteType(); break; case Opc.Da.euType.noEnum: var.TypeDefinition = GetTwoStateDiscreteType(); break; default: break; } }
private static void Compare(PropertyDesign expected, PropertyDesign actual) { Assert.IsNotNull(expected); Assert.IsNotNull(actual); Compare((VariableDesign)expected, (VariableDesign)actual); }