Imports System.Xml.Serialization Public Class DeviceModel ''' ''' 客户名称 ''' ''' '忽略,字段不参与序列号和反序列化 Public Property VerdorName As String ''' ''' 酒店名称 ''' ''' Public Property HotelName As String ''' ''' 酒店房型 ''' ''' Public Property HotelRoomType As String ''' ''' 模型名称 ''' Public Name As String ''' ''' 模型说明 ''' Public Desc As DeviceDescription ''' ''' 模型配置信息 ''' Public Config As List(Of DeviceModelConfigGroup) ''' ''' 模型子节点 ''' 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 Public Class DeviceDescription ''' ''' 设备名称 ''' ''' Public Property Name As String ''' ''' 设备商标 ''' ''' Public Property Brand As String ''' ''' 设备模型 ''' ''' Public Property Model As String ''' ''' 协议 ''' ''' Public Property Protocol As String ''' ''' 协议数据 ''' ''' Public Property ProtocolData As String ''' ''' 协议版本 ''' ''' Public Property ProtocolVer As String ''' ''' 设备接口 ''' ''' Public Property DevInterface As String ''' ''' 设备类型数据 ''' ''' Public Property DevTypeData As String ''' ''' 设备数据模型版本 ''' ''' Public Property DevDataModelVer As String ''' ''' 设备说明 ''' ''' Public Property DevDescription As String ''' ''' 设备说明 ''' ''' Public Property IconKey As String ''' ''' 引用基类的名称 ''' ''' Public Property DevBasicClassFilename As String ''' ''' 引用条件的名称 ''' ''' Public Property DevCondictionFilename As String Public Sub New() End Sub End Class Public Class DeviceChildNodeClass Public Property Name As String Public Property [Interface] As String Public Property DEV_TYPE_DATA As String Public Property PROTOCOL_VER As String Public Nodes As List(Of DeviceChildNode) Public Sub New() Nodes = New List(Of DeviceChildNode) End Sub End Class Public Class DeviceChildNode Public Property Name As String Public Property DefaultAliasName As String Public Property [Interface] As String Public Property LoopAddr As String Public Property DefaultClass As String Public Property Description As String ''' ''' 设备对象类型可选对象类型集合 ''' ''' Public Property BaseClasses As BaseClasses Public Sub New() End Sub End Class Public Class BaseClasses Public Classes As List(Of BaseClass) '忽略,字段不参与序列号和反序列化‘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 Public Property Name As String Public Property [Interface] As String Public Property Value As String End Class Public Class DeviceModelConfigGroup Public Property Name As String Public Property CFG_Type As String Public Property CFG_Value As String Public Attributes As List(Of DeviceChildNodeAttribute) Sub New() Attributes = New List(Of DeviceChildNodeAttribute) End Sub End Class Public Class DeviceChildNodeAttribute Public Property Name As String Public Property DataType As String Public Property DataRange As String Public Property DataRangeValue As String Public Property DataDefault As String Public Property Desc As String Public Property Value As String Sub New() DataRangeValue = "" End Sub End Class Public Class DeviceChildNodeEvent Public Property Name As String Public Property DataValue As String Public Property Desc As String Public Property Value As String End Class Public Class DeviceChildNodeMethod Public Property Name As String Public Property Desc As String Public Params As List(Of DeviceChildNodeMethodParam) Sub New() Params = New List(Of DeviceChildNodeMethodParam) End Sub End Class Public Class DeviceChildNodeMethodParam Public Property Name As String Public Property DataType As String Public Property DataRange As String Public Property DataRangeValue As String Public Property DataDefault As String Public Property Desc As String Public Property Value As String Sub New() DataRangeValue = "" End Sub End Class