You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
4.0 KiB
C#
153 lines
4.0 KiB
C#
/*
|
|
* Copyright 2013-2025 Michael Zillgith, MZ Automation GmbH
|
|
*
|
|
* This file is part of MZ Automation IEC 61850 SDK
|
|
*
|
|
* All rights reserved.
|
|
*/
|
|
|
|
using System;
|
|
using System.Xml;
|
|
|
|
namespace IEC61850.SCL
|
|
{
|
|
public class SclGSEControl
|
|
{
|
|
public XmlNode xmlNode;
|
|
private XmlDocument xmlDocument;
|
|
|
|
public SclGSEControl(SclDocument SclxmlDocument, XmlNode xmlNode)
|
|
{
|
|
this.xmlNode = xmlNode;
|
|
xmlDocument = SclxmlDocument.XmlDocument;
|
|
|
|
XmlAttribute nameAttr = xmlNode.Attributes["name"];
|
|
|
|
if (nameAttr == null)
|
|
SclxmlDocument.AddIssue(xmlNode, "ERROR", "Model integrity", "GSEControl has no name attribute", this, "MissingName");
|
|
}
|
|
|
|
public SclGSEControl(XmlDocument xmlDoc, string name)
|
|
{
|
|
xmlDocument = xmlDoc;
|
|
xmlNode = xmlDoc.CreateElement("GSEControl", SclDocument.SCL_XMLNS);
|
|
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "name", name);
|
|
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "appID", name);
|
|
}
|
|
|
|
public SclGSEControl(XmlDocument xmlDocument)
|
|
{
|
|
this.xmlDocument = xmlDocument;
|
|
xmlNode = xmlDocument.CreateElement("scl:GSEControl");
|
|
}
|
|
|
|
public string Name
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.GetAttributeValue(xmlNode, "name");
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "name", value);
|
|
}
|
|
}
|
|
|
|
public string Desc
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.GetAttributeValue(xmlNode, "desc");
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "desc", value);
|
|
}
|
|
}
|
|
|
|
public string DatSet
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.GetAttributeValue(xmlNode, "datSet");
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "datSet", value);
|
|
}
|
|
}
|
|
|
|
public string AppID
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.GetAttributeValue(xmlNode, "appID");
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "appID", value);
|
|
}
|
|
}
|
|
|
|
public int ConfRev
|
|
{
|
|
get
|
|
{
|
|
string valStr = XmlHelper.GetAttributeValue(xmlNode, "confRev");
|
|
|
|
if (valStr != null)
|
|
{
|
|
int retVal = -1;
|
|
Int32.TryParse(valStr, out retVal);
|
|
|
|
return (retVal);
|
|
}
|
|
else
|
|
return (-1);
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "confRev", value.ToString());
|
|
}
|
|
}
|
|
|
|
public bool FixedOffs
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.ParseBooleanAttribute(xmlNode, "fixedOffs", false);
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetBooleanAttributeCreateIfNotExists(xmlDocument, xmlNode, "fixedOffs", value);
|
|
}
|
|
}
|
|
|
|
public string Type
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.GetAttributeValue(xmlNode, "type");
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "type", value);
|
|
}
|
|
}
|
|
|
|
public string SecurityEnabled
|
|
{
|
|
get
|
|
{
|
|
return XmlHelper.GetAttributeValue(xmlNode, "securityEnabled");
|
|
}
|
|
set
|
|
{
|
|
XmlHelper.SetAttributeCreateIfNotExists(xmlDocument, xmlNode, "securityEnabled", value);
|
|
}
|
|
}
|
|
}
|
|
}
|