/* * Copyright 2013-2025 Michael Zillgith, MZ Automation GmbH * * This file is part of MZ Automation IEC 61850 SDK * * All rights reserved. */ using IEC61850.SCL.DataModel; using System; using System.Xml; namespace IEC61850.SCL { public class SclSettingControl { public XmlNode xmlNode; private XmlDocument xmlDocument; public IEDModelNode Parent; public SclSettingControl(SclDocument SclxmlDocument, XmlNode xmlNode) { this.xmlNode = xmlNode; xmlDocument = SclxmlDocument.XmlDocument; XmlAttribute nameAttr = xmlNode.Attributes["numOfSGs"]; if (nameAttr == null) SclxmlDocument.AddIssue(xmlNode, "ERROR", "Model integrity", "SettingControl has no numOfSGs attribute", this, "numOfSGs"); } public SclSettingControl(XmlDocument xmlDoc, string numOfSGs) { xmlDocument = xmlDoc; xmlNode = xmlDoc.CreateElement("SettingControl", SclDocument.SCL_XMLNS); XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "numOfSGs", numOfSGs); XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "actSG", "1"); } public string Desc { get { return XmlHelper.GetAttributeValue(xmlNode, "desc"); } set { XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "desc", value); } } public int NumOfSGs { get { string valStr = XmlHelper.GetAttributeValue(xmlNode, "numOfSGs"); if (valStr != null) { int retVal = -1; Int32.TryParse(valStr, out retVal); return (retVal); } else return (-1); } set { XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "numOfSGs", value.ToString()); } } public int ActSG { get { string valStr = XmlHelper.GetAttributeValue(xmlNode, "actSG"); if (valStr != null) { int retVal = -1; Int32.TryParse(valStr, out retVal); return (retVal); } else return (-1); } set { XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "actSG", value.ToString()); } } public int ResvTms { get { string valStr = XmlHelper.GetAttributeValue(xmlNode, "resvTms"); if (valStr != null) { int retVal = -1; Int32.TryParse(valStr, out retVal); return (retVal); } else return (-1); } set { XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "resvTms", value.ToString()); } } } }