Files
Desktop_BLVStudio/BLV_Studio/ModelGrid/DeviceModelInfo.vb
2025-12-11 10:06:44 +08:00

361 lines
7.7 KiB
VB.net
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Imports System.Xml.Serialization
<Serializable>
<XmlRoot(ElementName:="DeviceModeInfo")>
Public Class DeviceModel
''' <summary>
''' 客户名称
''' </summary>
''' <returns></returns>
<XmlIgnore> '忽略,字段不参与序列号和反序列化
Public Property VerdorName As String
''' <summary>
''' 设备文件名
''' </summary>
Public filename As String
''' <summary>
''' 酒店名称
''' </summary>
''' <returns></returns>
<XmlIgnore>
Public Property HotelName As String
''' <summary>
''' 酒店房型
''' </summary>
''' <returns></returns>
<XmlIgnore>
Public Property HotelRoomType As String
''' <summary>
''' 模型名称
''' </summary>
<XmlAttribute>
Public Name As String
''' <summary>
''' 模型说明
''' </summary>
<XmlElement("Description")>
Public Desc As DeviceDescription
''' <summary>
''' 模型配置信息
''' </summary>
<XmlArray("Common_Configuration"), XmlArrayItem("ConfigurationGroup", GetType(DeviceModelConfigGroup))>
Public Config As List(Of DeviceModelConfigGroup)
''' <summary>
''' 模型子节点
''' </summary>
<XmlArray("DeviceObjectNodes"), XmlArrayItem("DeviceClass", GetType(DeviceChildNodeClass))>
Public Nodes As List(Of DeviceChildNodeClass)
Sub New()
Desc = New DeviceDescription
Config = New List(Of DeviceModelConfigGroup)
Nodes = New List(Of DeviceChildNodeClass)
End Sub
End Class
<XmlRoot(ElementName:="Description")>
Public Class DeviceDescription
''' <summary>
''' 设备名称
''' </summary>
''' <returns></returns>
<XmlElement("DEV_NAME")>
Public Property Name As String
''' <summary>
''' 设备商标
''' </summary>
''' <returns></returns>
<XmlElement("DEV_BRAND")>
Public Property Brand As String
''' <summary>
''' 设备模型
''' </summary>
''' <returns></returns>
<XmlElement("DEV_MN")>
Public Property Model As String
''' <summary>
''' 协议
''' </summary>
''' <returns></returns>
<XmlElement("PROTOCOL")>
Public Property Protocol As String
''' <summary>
''' 协议数据
''' </summary>
''' <returns></returns>
<XmlElement("PROTOCOL_DATA")>
Public Property ProtocolData As String
''' <summary>
''' 协议版本
''' </summary>
''' <returns></returns>
<XmlElement("PROTOCOL_VER")>
Public Property ProtocolVer As String
''' <summary>
''' 设备接口
''' </summary>
''' <returns></returns>
<XmlElement("DEV_INTERFACE")>
Public Property DevInterface As String
''' <summary>
''' 设备类型数据
''' </summary>
''' <returns></returns>
<XmlElement("DEV_TYPE_DATA")>
Public Property DevTypeData As String
''' <summary>
''' 设备数据模型版本
''' </summary>
''' <returns></returns>
<XmlElement("DEV_DATA_MODEL_VER")>
Public Property DevDataModelVer As String
''' <summary>
''' 设备说明
''' </summary>
''' <returns></returns>
<XmlElement("DEV_DESCRIPTION")>
Public Property DevDescription As String
''' <summary>
''' 设备说明
''' </summary>
''' <returns></returns>
<XmlElement("IconKey")>
Public Property IconKey As String
''' <summary>
''' 引用基类的名称
''' </summary>
''' <returns></returns>
<XmlElement("DEV_BASIC_CLASS_FILENAME")>
Public Property DevBasicClassFilename As String
''' <summary>
''' 引用条件的名称
''' </summary>
''' <returns></returns>
<XmlElement("DEV_CONDICTION_FILENAME")>
Public Property DevCondictionFilename As String
Sub New()
End Sub
End Class
Public Class DeviceChildNodeClass
<XmlAttribute>
Public Property Name As String
<XmlAttribute>
Public Property [Interface] As String
<XmlAttribute>
Public Property DEV_TYPE_DATA As String
<XmlAttribute>
Public Property PROTOCOL_VER As String
<XmlElement("Node")>
Public Nodes As List(Of DeviceChildNode)
Sub New()
Nodes = New List(Of DeviceChildNode)
End Sub
End Class
Public Class DeviceChildNode
<XmlAttribute>
Public Property Name As String
<XmlAttribute>
Public Property DefaultAliasName As String
<XmlAttribute>
Public Property [Interface] As String
<XmlAttribute>
Public Property LoopAddr As String
<XmlAttribute>
Public Property DefaultClass As String
<XmlAttribute>
Public Property Description As String
''' <summary>
''' 设备对象类型可选对象类型集合
''' </summary>
''' <returns></returns>
<XmlElement("BaseClassSelect")>
Public Property BaseClasses As BaseClasses
Sub New()
End Sub
End Class
Public Class BaseClasses
<XmlElement("BaseClass")>
Public Classes As List(Of BaseClass)
<XmlIgnore> '忽略字段不参与序列号和反序列化Classes的元素个数
Public ClassesLstCnt As Integer
Sub New()
Classes = New List(Of BaseClass)
ClassesLstCnt = 0
End Sub
Public Function GetAllClassName() As String()
Dim s As New List(Of String)
For Each base As BaseClass In Classes
s.Add(base.Name)
Next
ClassesLstCnt = s.Count
Return s.ToArray
End Function
End Class
Public Class BaseClass
<XmlAttribute>
Public Property Name As String
<XmlAttribute>
Public Property [Interface] As String
<XmlText>
Public Property Value As String
End Class
Public Class DeviceModelConfigGroup
<XmlAttribute>
Public Property Name As String
<XmlAttribute>
Public Property CFG_Type As String
<XmlAttribute>
Public Property CFG_Value As String
<XmlElement("Configuration")>
Public Attributes As List(Of DeviceChildNodeAttribute)
Sub New()
Attributes = New List(Of DeviceChildNodeAttribute)
End Sub
End Class
Public Class DeviceChildNodeAttribute
<XmlAttribute("Name")>
Public Property Name As String
<XmlAttribute("DataType")>
Public Property DataType As String
<XmlAttribute("DataRange")>
Public Property DataRange As String
<XmlAttribute("DataRangeValue")>
Public Property DataRangeValue As String
<XmlAttribute("DataDefault")>
Public Property DataDefault As String
<XmlAttribute("Desc")>
Public Property Desc As String
<XmlText>
Public Property Value As String
Sub New()
DataRangeValue = ""
End Sub
End Class
Public Class DeviceChildNodeEvent
<XmlAttribute("Name")>
Public Property Name As String
<XmlAttribute("DataValue")>
Public Property DataValue As String
<XmlAttribute("Desc")>
Public Property Desc As String
<XmlText>
Public Property Value As String
End Class
Public Class DeviceChildNodeMethod
<XmlAttribute("Name")>
Public Property Name As String
<XmlAttribute("Desc")>
Public Property Desc As String
<XmlArray("Params"), XmlArrayItem("Param", GetType(DeviceChildNodeMethodParam))>
Public Params As List(Of DeviceChildNodeMethodParam)
Sub New()
Params = New List(Of DeviceChildNodeMethodParam)
End Sub
End Class
Public Class DeviceChildNodeMethodParam
<XmlAttribute("Name")>
Public Property Name As String
<XmlAttribute("DataType")>
Public Property DataType As String
<XmlAttribute("DataRange")>
Public Property DataRange As String
<XmlAttribute("DataRangeValue")>
Public Property DataRangeValue As String
<XmlAttribute("DataDefault")>
Public Property DataDefault As String
<XmlAttribute("Desc")>
Public Property Desc As String
<XmlText>
Public Property Value As String
Sub New()
DataRangeValue = ""
End Sub
End Class