357 lines
7.7 KiB
VB.net
357 lines
7.7 KiB
VB.net
Imports System.Xml.Serialization
|
||
|
||
<Serializable>
|
||
<XmlRoot(ElementName:="DeviceModeInfo")>
|
||
Public Class DeviceModel
|
||
''' <summary>
|
||
''' 客户名称
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
<XmlIgnore> '忽略,字段不参与序列号和反序列化
|
||
Public Property VerdorName 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)
|
||
|
||
Public 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
|
||
|
||
Public 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)
|
||
|
||
Public 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
|
||
|
||
Public 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
|
||
|