@@ -1,7 +1,7 @@ | |||||
<Project Sdk="Microsoft.NET.Sdk"> | <Project Sdk="Microsoft.NET.Sdk"> | ||||
<PropertyGroup> | <PropertyGroup> | ||||
<TargetFrameworks>netcoreapp2.2;net472;netcoreapp3.0;</TargetFrameworks> | |||||
<TargetFrameworks>net472;netcoreapp3.0;</TargetFrameworks> | |||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> | <AllowUnsafeBlocks>true</AllowUnsafeBlocks> | ||||
<PlatformTarget>AnyCPU</PlatformTarget> | <PlatformTarget>AnyCPU</PlatformTarget> | ||||
<OutputType>Exe</OutputType> | <OutputType>Exe</OutputType> | ||||
@@ -164,7 +164,6 @@ namespace JT808.Protocol.Benchmark | |||||
{ | { | ||||
public JT808SerializerConfig() | public JT808SerializerConfig() | ||||
{ | { | ||||
Add(Job.Default.WithGcServer(false).With(CsProjCoreToolchain.NetCoreApp22).With(Platform.AnyCpu)); | |||||
Add(Job.Default.WithGcServer(false).With(CsProjCoreToolchain.NetCoreApp30).With(Platform.AnyCpu)); | Add(Job.Default.WithGcServer(false).With(CsProjCoreToolchain.NetCoreApp30).With(Platform.AnyCpu)); | ||||
} | } | ||||
} | } | ||||
@@ -0,0 +1,27 @@ | |||||
using JT808.Protocol.Internal; | |||||
using JT808.Protocol.Test.MessageBody; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
using Xunit; | |||||
namespace JT808.Protocol.Test.Internal | |||||
{ | |||||
public class JT808FormatterFactoryTest | |||||
{ | |||||
[Fact] | |||||
public void Test1() | |||||
{ | |||||
JT808FormatterFactory jT808FormatterFactory = new JT808FormatterFactory(); | |||||
Assert.Contains(jT808FormatterFactory.FormatterDict, f => f.Key == typeof(JT808Package).GUID); | |||||
} | |||||
[Fact] | |||||
public void Test2() | |||||
{ | |||||
JT808FormatterFactory jT808FormatterFactory = new JT808FormatterFactory(); | |||||
jT808FormatterFactory.SetMap<JT808_0x9999>(); | |||||
Assert.Contains(jT808FormatterFactory.FormatterDict, f => f.Key == typeof(JT808_0x9999).GUID); | |||||
} | |||||
} | |||||
} |
@@ -1,5 +1,4 @@ | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Interfaces; | using JT808.Protocol.Interfaces; | ||||
using JT808.Protocol.Internal; | using JT808.Protocol.Internal; | ||||
using JT808.Protocol.MessageBody; | using JT808.Protocol.MessageBody; | ||||
@@ -27,18 +27,12 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<Compile Include="Extensions\JT808EnumExtensionsTest.cs" /> | <Compile Include="Extensions\JT808EnumExtensionsTest.cs" /> | ||||
<Compile Include="Extensions\JT808PackageExtensionsTest.cs" /> | <Compile Include="Extensions\JT808PackageExtensionsTest.cs" /> | ||||
<Compile Include="MessageBody\JT808Formatters\JT808_0x0200_0x06Formatter.cs" /> | |||||
<Compile Include="MessageBody\JT808Formatters\JT808_0x0701TestBodiesImplFormatter.cs" /> | |||||
<Compile Include="MessageBody\JT808Formatters\JT808_0x0900_0x83Formatter.cs" /> | |||||
<Compile Include="MessageBody\JT808Formatters\JT808_0x8103_0x0075_Formatter.cs" /> | |||||
<Compile Include="MessageBody\JT808Formatters\JT808_0X8900_Test_BodiesImplFormatter.cs" /> | |||||
<Compile Include="MessageBody\JT808LocationAttachExtensions\JT808LocationAttachImpl0x06.cs" /> | <Compile Include="MessageBody\JT808LocationAttachExtensions\JT808LocationAttachImpl0x06.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0001Test.cs" /> | <Compile Include="MessageBody\JT808_0x0001Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0002Test.cs" /> | <Compile Include="MessageBody\JT808_0x0002Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0003Test.cs" /> | <Compile Include="MessageBody\JT808_0x0003Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0100Test.cs" /> | <Compile Include="MessageBody\JT808_0x0100Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0102Test.cs" /> | <Compile Include="MessageBody\JT808_0x0102Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0104Test.cs" /> | |||||
<Compile Include="MessageBody\JT808_0x0107Test.cs" /> | <Compile Include="MessageBody\JT808_0x0107Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0108Test.cs" /> | <Compile Include="MessageBody\JT808_0x0108Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x0200Test.cs" /> | <Compile Include="MessageBody\JT808_0x0200Test.cs" /> | ||||
@@ -63,8 +57,6 @@ | |||||
<Compile Include="MessageBody\JT808_0x8001Test.cs" /> | <Compile Include="MessageBody\JT808_0x8001Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x8003Test.cs" /> | <Compile Include="MessageBody\JT808_0x8003Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x8100Test.cs" /> | <Compile Include="MessageBody\JT808_0x8100Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x8103CustomIdExtensions\JT808_0x8103_0x0075.cs" /> | |||||
<Compile Include="MessageBody\JT808_0x8103Test.cs" /> | |||||
<Compile Include="MessageBody\JT808_0x8104Test.cs" /> | <Compile Include="MessageBody\JT808_0x8104Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x8105Test.cs" /> | <Compile Include="MessageBody\JT808_0x8105Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x8106Test.cs" /> | <Compile Include="MessageBody\JT808_0x8106Test.cs" /> | ||||
@@ -95,6 +87,7 @@ | |||||
<Compile Include="MessageBody\JT808_0x8900Test.cs" /> | <Compile Include="MessageBody\JT808_0x8900Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0X8900_BodiesImpl\JT808_0X8900_Test_BodiesImpl.cs" /> | <Compile Include="MessageBody\JT808_0X8900_BodiesImpl\JT808_0X8900_Test_BodiesImpl.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x8A00Test.cs" /> | <Compile Include="MessageBody\JT808_0x8A00Test.cs" /> | ||||
<Compile Include="MessageBody\JT808_0x9999.cs" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -1,6 +1,6 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessageBody; | using JT808.Protocol.MessageBody; | ||||
using JT808.Protocol.Test.JT808Formatters.MessageBodyFormatters.JT808LocationAttach; | |||||
using JT808.Protocol.MessagePack; | |||||
namespace JT808.Protocol.Test.JT808LocationAttach | namespace JT808.Protocol.Test.JT808LocationAttach | ||||
{ | { | ||||
@@ -10,13 +10,31 @@ namespace JT808.Protocol.Test.JT808LocationAttach | |||||
/// UserName-BCD(10) | /// UserName-BCD(10) | ||||
/// Gerder-byte-1 | /// Gerder-byte-1 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0200_0x06Formatter))] | |||||
public class JT808LocationAttachImpl0x06: JT808_0x0200_CustomBodyBase | |||||
public class JT808LocationAttachImpl0x06: JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808LocationAttachImpl0x06> | |||||
{ | { | ||||
public override byte AttachInfoId { get; set; } = 0x06; | public override byte AttachInfoId { get; set; } = 0x06; | ||||
public override byte AttachInfoLength { get; set; } = 13; | public override byte AttachInfoLength { get; set; } = 13; | ||||
public int Age { get; set; } | public int Age { get; set; } | ||||
public byte Gender { get; set; } | public byte Gender { get; set; } | ||||
public string UserName { get; set; } | public string UserName { get; set; } | ||||
public JT808LocationAttachImpl0x06 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808LocationAttachImpl0x06 jT808LocationAttachImpl0x06 = new JT808LocationAttachImpl0x06(); | |||||
jT808LocationAttachImpl0x06.AttachInfoId = reader.ReadByte(); | |||||
jT808LocationAttachImpl0x06.AttachInfoLength = reader.ReadByte(); | |||||
jT808LocationAttachImpl0x06.Age = reader.ReadInt32(); | |||||
jT808LocationAttachImpl0x06.Gender = reader.ReadByte(); | |||||
jT808LocationAttachImpl0x06.UserName = reader.ReadRemainStringContent(); | |||||
return jT808LocationAttachImpl0x06; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808LocationAttachImpl0x06 value, IJT808Config config) | |||||
{ | |||||
writer.WriteByte(value.AttachInfoId); | |||||
writer.WriteByte(value.AttachInfoLength); | |||||
writer.WriteInt32(value.Age); | |||||
writer.WriteByte(value.Gender); | |||||
writer.WriteString(value.UserName); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,14 +1,26 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessageBody; | using JT808.Protocol.MessageBody; | ||||
using JT808.Protocol.Test.MessageBody.JT808Formatters; | |||||
using JT808.Protocol.MessagePack; | |||||
namespace JT808.Protocol.Test.MessageBody.JT808_0X8900_BodiesImpl | namespace JT808.Protocol.Test.MessageBody.JT808_0X8900_BodiesImpl | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0X8900_Test_BodiesImplFormatter))] | |||||
public class JT808_0X8900_Test_BodiesImpl: JT808_0x8900_BodyBase | |||||
public class JT808_0X8900_Test_BodiesImpl: JT808_0x8900_BodyBase, IJT808MessagePackFormatter<JT808_0X8900_Test_BodiesImpl> | |||||
{ | { | ||||
public uint Id { get; set; } | public uint Id { get; set; } | ||||
public byte Sex { get; set; } | public byte Sex { get; set; } | ||||
public JT808_0X8900_Test_BodiesImpl Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808_0X8900_Test_BodiesImpl jT808_0X8900_Test_BodiesImpl = new JT808_0X8900_Test_BodiesImpl(); | |||||
jT808_0X8900_Test_BodiesImpl.Id = reader.ReadUInt32(); | |||||
jT808_0X8900_Test_BodiesImpl.Sex = reader.ReadByte(); | |||||
return jT808_0X8900_Test_BodiesImpl; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808_0X8900_Test_BodiesImpl value, IJT808Config config) | |||||
{ | |||||
writer.WriteUInt32(value.Id); | |||||
writer.WriteByte(value.Sex); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,16 +1,33 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessageBody; | using JT808.Protocol.MessageBody; | ||||
using JT808.Protocol.Test.MessageBody.JT808Formatters; | |||||
using JT808.Protocol.MessagePack; | |||||
namespace JT808.Protocol.Test.MessageBody.JT808_0x0701BodiesImpl | namespace JT808.Protocol.Test.MessageBody.JT808_0x0701BodiesImpl | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0701TestBodiesImplFormatter))] | |||||
public class JT808_0x0701TestBodiesImpl: JT808_0x0701_CustomBodyBase | |||||
public class JT808_0x0701TestBodiesImpl: JT808_0x0701_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0701TestBodiesImpl> | |||||
{ | { | ||||
public uint Id { get; set; } | public uint Id { get; set; } | ||||
public ushort UserNameLength { get; set; } | public ushort UserNameLength { get; set; } | ||||
public string UserName { get; set; } | public string UserName { get; set; } | ||||
public JT808_0x0701TestBodiesImpl Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808_0x0701TestBodiesImpl jT808_0X0701TestBodiesImpl = new JT808_0x0701TestBodiesImpl(); | |||||
jT808_0X0701TestBodiesImpl.Id = reader.ReadUInt32(); | |||||
jT808_0X0701TestBodiesImpl.UserNameLength = reader.ReadUInt16(); | |||||
jT808_0X0701TestBodiesImpl.UserName = reader.ReadString(jT808_0X0701TestBodiesImpl.UserNameLength); | |||||
return jT808_0X0701TestBodiesImpl; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0701TestBodiesImpl value, IJT808Config config) | |||||
{ | |||||
writer.WriteUInt32(value.Id); | |||||
writer.Skip(2, out int position); | |||||
writer.WriteString(value.UserName); | |||||
int strLength = writer.GetCurrentPosition() - position - 2; | |||||
writer.WriteUInt16Return((ushort)strLength, position); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,15 +1,26 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessageBody; | using JT808.Protocol.MessageBody; | ||||
using JT808.Protocol.Test.MessageBody.JT808Formatters; | |||||
using JT808.Protocol.MessagePack; | |||||
namespace JT808.Protocol.Test.JT808_0x0900_BodiesImpl | namespace JT808.Protocol.Test.JT808_0x0900_BodiesImpl | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0900_0x83Formatter))] | |||||
public class JT808_0x0900_0x83 : JT808_0x0900_BodyBase | |||||
public class JT808_0x0900_0x83 : JT808_0x0900_BodyBase,IJT808MessagePackFormatter<JT808_0x0900_0x83> | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 透传内容 | /// 透传内容 | ||||
/// </summary> | /// </summary> | ||||
public string PassthroughContent { get; set; } | public string PassthroughContent { get; set; } | ||||
public JT808_0x0900_0x83 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808_0x0900_0x83 jT808PassthroughType0x83 = new JT808_0x0900_0x83(); | |||||
jT808PassthroughType0x83.PassthroughContent = reader.ReadRemainStringContent(); | |||||
return jT808PassthroughType0x83; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x0900_0x83 value, IJT808Config config) | |||||
{ | |||||
writer.WriteString(value.PassthroughContent); | |||||
} | |||||
} | } | ||||
} | } |
@@ -0,0 +1,24 @@ | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Text; | |||||
namespace JT808.Protocol.Test.MessageBody | |||||
{ | |||||
public class JT808_0x9999 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x9999> | |||||
{ | |||||
public byte Sex { get; set; } | |||||
public JT808_0x9999 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808_0x9999 jT808_0X9999 = new JT808_0x9999(); | |||||
jT808_0X9999.Sex = reader.ReadByte(); | |||||
return jT808_0X9999; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808_0x9999 value, IJT808Config config) | |||||
{ | |||||
writer.WriteByte(value.Sex); | |||||
} | |||||
} | |||||
} |
@@ -187,10 +187,10 @@ namespace JT808.Protocol.Test.MessagePack | |||||
{ | { | ||||
var bytes = "7e080123000138123456782032000a000205060708090a0bffc400b5100002010303020403050504040000017d0101020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffdd00040000ffda000c03010002110311003f006c6a2a755ce299a5c942e0f35281c5004aa72314a54e38a07b8841ef4840a0673de21b4ff498ee402038dade991fe7f4acc110f4a0cd8ef2f1405cd01d45f2e9360a062edc5745616a6dad511861cfccff0053499512e056cf1460e3348a0ed4b8e338fc2819cb5edbfd9ee648b18556f97fdd3d3f4aafb4d332ea433a6573e9550d3131d18c9c558031c0a4083a503039a60c42c2984e4f4a06260d370690098ef4751400c615132d021868a621431a33480ef235e05595403eb54cbb0b8e7069dc0e3a9a41b12a024f4a9d40f4a18c5651e951c88179268194ee614b989a2719461ffea35cfdcda4b6b2ed71c1e55874345c96ba91819a704c50217613db349b39031c9e945c66a69ba794713cebf30fb8be9ee6b540c1e948a48760e3a526d2dc77a0a144471d297cb623a71484646bb685234b81d01d8e7d018f43f9ff003ac16386c552225b8300c2a84c8c8c4ed247b502616cc0517e".ToHexBytes(); | var bytes = "7e080123000138123456782032000a000205060708090a0bffc400b5100002010303020403050504040000017d0101020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffdd00040000ffda000c03010002110311003f006c6a2a755ce299a5c942e0f35281c5004aa72314a54e38a07b8841ef4840a0673de21b4ff498ee402038dade991fe7f4acc110f4a0cd8ef2f1405cd01d45f2e9360a062edc5745616a6dad511861cfccff0053499512e056cf1460e3348a0ed4b8e338fc2819cb5edbfd9ee648b18556f97fdd3d3f4aafb4d332ea433a6573e9550d3131d18c9c558031c0a4083a503039a60c42c2984e4f4a06260d370690098ef4751400c615132d021868a621431a33480ef235e05595403eb54cbb0b8e7069dc0e3a9a41b12a024f4a9d40f4a18c5651e951c88179268194ee614b989a2719461ffea35cfdcda4b6b2ed71c1e55874345c96ba91819a704c50217613db349b39031c9e945c66a69ba794713cebf30fb8be9ee6b540c1e948a48760e3a526d2dc77a0a144471d297cb623a71484646bb685234b81d01d8e7d018f43f9ff003ac16386c552225b8300c2a84c8c8c4ed247b502616cc0517e".ToHexBytes(); | ||||
JT808MessagePackReader jT808MessagePackReader = new JT808MessagePackReader(bytes); | JT808MessagePackReader jT808MessagePackReader = new JT808MessagePackReader(bytes); | ||||
JT808PackageFormatter jT808PackageFormatter = new JT808PackageFormatter(); | |||||
JT808Package jT808Package = new JT808Package(); | |||||
IJT808Config jT808Config = new DefaultGlobalConfig(); | IJT808Config jT808Config = new DefaultGlobalConfig(); | ||||
jT808Config.SkipCRCCode = true; | jT808Config.SkipCRCCode = true; | ||||
var package=jT808PackageFormatter.Deserialize(ref jT808MessagePackReader, jT808Config); | |||||
var package= jT808Package.Deserialize(ref jT808MessagePackReader, jT808Config); | |||||
} | } | ||||
[Theory] | [Theory] | ||||
@@ -251,42 +251,14 @@ namespace JT808.Protocol.Test.Simples | |||||
/// <summary> | /// <summary> | ||||
/// 设备类型1-对应消息协议0x81 | /// 设备类型1-对应消息协议0x81 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0200_DT1_0x81Formatter))] | |||||
public class JT808_0x0200_DT1_0x81 : JT808_0x0200_CustomBodyBase | |||||
public class JT808_0x0200_DT1_0x81 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_DT1_0x81> | |||||
{ | { | ||||
public override byte AttachInfoId { get; set; } = 0x81; | public override byte AttachInfoId { get; set; } = 0x81; | ||||
public override byte AttachInfoLength { get; set; } = 13; | public override byte AttachInfoLength { get; set; } = 13; | ||||
public uint Age { get; set; } | public uint Age { get; set; } | ||||
public byte Gender { get; set; } | public byte Gender { get; set; } | ||||
public string UserName { get; set; } | public string UserName { get; set; } | ||||
} | |||||
/// <summary> | |||||
/// 设备类型1-对应消息协议0x82 | |||||
/// </summary> | |||||
[JT808Formatter(typeof(JT808_0x0200_DT1_0x82Formatter))] | |||||
public class JT808_0x0200_DT1_0x82 : JT808_0x0200_CustomBodyBase | |||||
{ | |||||
public override byte AttachInfoId { get; set; } = 0x82; | |||||
public override byte AttachInfoLength { get; set; } = 1; | |||||
public byte Gender1 { get; set; } | |||||
} | |||||
/// <summary> | |||||
/// 设备类型2-对应消息协议0x81 | |||||
/// </summary> | |||||
[JT808Formatter(typeof(JT808_0x0200_DT2_0x81Formatter))] | |||||
public class JT808_0x0200_DT2_0x81 : JT808_0x0200_CustomBodyBase | |||||
{ | |||||
public override byte AttachInfoId { get; set; } = 0x81; | |||||
public override byte AttachInfoLength { get; set; } = 7; | |||||
public uint Age { get; set; } | |||||
public byte Gender { get; set; } | |||||
public ushort MsgNum { get; set; } | |||||
} | |||||
/// <summary> | |||||
/// 设备类型1-对应消息协议序列化器 0x81 | |||||
/// </summary> | |||||
public class JT808_0x0200_DT1_0x81Formatter : IJT808MessagePackFormatter<JT808_0x0200_DT1_0x81> | |||||
{ | |||||
public JT808_0x0200_DT1_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0200_DT1_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0200_DT1_0x81 jT808_0X0200_DT1_0X81 = new JT808_0x0200_DT1_0x81(); | JT808_0x0200_DT1_0x81 jT808_0X0200_DT1_0X81 = new JT808_0x0200_DT1_0x81(); | ||||
@@ -307,10 +279,13 @@ namespace JT808.Protocol.Test.Simples | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 设备类型1-对应消息协议序列化器 0x82 | |||||
/// 设备类型1-对应消息协议0x82 | |||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_DT1_0x82Formatter : IJT808MessagePackFormatter<JT808_0x0200_DT1_0x82> | |||||
public class JT808_0x0200_DT1_0x82 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_DT1_0x82> | |||||
{ | { | ||||
public override byte AttachInfoId { get; set; } = 0x82; | |||||
public override byte AttachInfoLength { get; set; } = 1; | |||||
public byte Gender1 { get; set; } | |||||
public JT808_0x0200_DT1_0x82 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0200_DT1_0x82 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0200_DT1_0x82 jT808_0X0200_DT1_0X82 = new JT808_0x0200_DT1_0x82(); | JT808_0x0200_DT1_0x82 jT808_0X0200_DT1_0X82 = new JT808_0x0200_DT1_0x82(); | ||||
@@ -328,10 +303,15 @@ namespace JT808.Protocol.Test.Simples | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 设备类型2-对应消息协议序列化器 0x81 | |||||
/// 设备类型2-对应消息协议0x81 | |||||
/// </summary> | /// </summary> | ||||
public class JT808_0x0200_DT2_0x81Formatter : IJT808MessagePackFormatter<JT808_0x0200_DT2_0x81> | |||||
public class JT808_0x0200_DT2_0x81 : JT808_0x0200_CustomBodyBase, IJT808MessagePackFormatter<JT808_0x0200_DT2_0x81> | |||||
{ | { | ||||
public override byte AttachInfoId { get; set; } = 0x81; | |||||
public override byte AttachInfoLength { get; set; } = 7; | |||||
public uint Age { get; set; } | |||||
public byte Gender { get; set; } | |||||
public ushort MsgNum { get; set; } | |||||
public JT808_0x0200_DT2_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public JT808_0x0200_DT2_0x81 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
JT808_0x0200_DT2_0x81 jT808_0X0200_DT2_0X81 = new JT808_0x0200_DT2_0x81(); | JT808_0x0200_DT2_0x81 jT808_0X0200_DT2_0X81 = new JT808_0x0200_DT2_0x81(); | ||||
@@ -83,22 +83,11 @@ namespace JT808.Protocol.Test.Simples | |||||
} | } | ||||
} | } | ||||
[JT808Formatter(typeof(DT1Demo6_Formatter))] | |||||
public class DT1Demo6 : JT808Bodies | |||||
public class DT1Demo6 : JT808Bodies, IJT808MessagePackFormatter<DT1Demo6> | |||||
{ | { | ||||
public byte Sex1 { get; set; } | public byte Sex1 { get; set; } | ||||
public ushort Age1 { get; set; } | public ushort Age1 { get; set; } | ||||
} | |||||
[JT808Formatter(typeof(DT2Demo6_Formatter))] | |||||
public class DT2Demo6 : JT808Bodies | |||||
{ | |||||
public byte Sex2 { get; set; } | |||||
public ushort Age2 { get; set; } | |||||
} | |||||
public class DT1Demo6_Formatter : IJT808MessagePackFormatter<DT1Demo6> | |||||
{ | |||||
public DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public DT1Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
DT1Demo6 dT1Demo6 = new DT1Demo6(); | DT1Demo6 dT1Demo6 = new DT1Demo6(); | ||||
@@ -113,8 +102,12 @@ namespace JT808.Protocol.Test.Simples | |||||
writer.WriteUInt16(value.Age1); | writer.WriteUInt16(value.Age1); | ||||
} | } | ||||
} | } | ||||
public class DT2Demo6_Formatter : IJT808MessagePackFormatter<DT2Demo6> | |||||
public class DT2Demo6 : JT808Bodies, IJT808MessagePackFormatter<DT2Demo6> | |||||
{ | { | ||||
public byte Sex2 { get; set; } | |||||
public ushort Age2 { get; set; } | |||||
public DT2Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | public DT2Demo6 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | ||||
{ | { | ||||
DT2Demo6 dT2Demo6 = new DT2Demo6(); | DT2Demo6 dT2Demo6 = new DT2Demo6(); | ||||
@@ -64,25 +64,26 @@ namespace JT808.Protocol.Enums | |||||
[JT808BodiesType(typeof(JT808_0x0102))] | [JT808BodiesType(typeof(JT808_0x0102))] | ||||
[JT808MsgIdDescription("0x0102", "终端鉴权")] | [JT808MsgIdDescription("0x0102", "终端鉴权")] | ||||
终端鉴权 = 0x0102, | 终端鉴权 = 0x0102, | ||||
#warning 设置终端参数 查询终端参数 查询终端参数应答 | |||||
/// <summary> | /// <summary> | ||||
/// 设置终端参数 | /// 设置终端参数 | ||||
/// 0x8103 | /// 0x8103 | ||||
/// </summary> | /// </summary> | ||||
[JT808BodiesType(typeof(JT808_0x8103))] | |||||
//[JT808BodiesType(typeof(JT808_0x8103))] | |||||
[JT808MsgIdDescription("0x8103", "设置终端参数")] | [JT808MsgIdDescription("0x8103", "设置终端参数")] | ||||
设置终端参数 = 0x8103, | 设置终端参数 = 0x8103, | ||||
/// <summary> | /// <summary> | ||||
/// 查询终端参数 | /// 查询终端参数 | ||||
/// 0x8104 | /// 0x8104 | ||||
/// </summary> | /// </summary> | ||||
[JT808BodiesType(typeof(JT808_0x8104))] | |||||
//[JT808BodiesType(typeof(JT808_0x8104))] | |||||
[JT808MsgIdDescription("0x8104", "查询终端参数")] | [JT808MsgIdDescription("0x8104", "查询终端参数")] | ||||
查询终端参数 = 0x8104, | 查询终端参数 = 0x8104, | ||||
/// <summary> | /// <summary> | ||||
/// 查询终端参数应答 | /// 查询终端参数应答 | ||||
/// 0x0104 | /// 0x0104 | ||||
/// </summary> | /// </summary> | ||||
[JT808BodiesType(typeof(JT808_0x0104))] | |||||
//[JT808BodiesType(typeof(JT808_0x0104))] | |||||
[JT808MsgIdDescription("0x0104", "查询终端参数应答")] | [JT808MsgIdDescription("0x0104", "查询终端参数应答")] | ||||
查询终端参数应答 = 0x0104, | 查询终端参数应答 = 0x0104, | ||||
/// <summary> | /// <summary> | ||||
@@ -302,7 +303,6 @@ namespace JT808.Protocol.Enums | |||||
[JT808BodiesType(typeof(JT808_0x8607))] | [JT808BodiesType(typeof(JT808_0x8607))] | ||||
[JT808MsgIdDescription("0x8607", "删除路线")] | [JT808MsgIdDescription("0x8607", "删除路线")] | ||||
删除路线 = 0x8607, | 删除路线 = 0x8607, | ||||
///// <summary> | ///// <summary> | ||||
///// 行驶记录仪数据采集命令 | ///// 行驶记录仪数据采集命令 | ||||
///// 0x8700 | ///// 0x8700 | ||||
@@ -89,23 +89,23 @@ namespace JT808.Protocol.Extensions | |||||
{ | { | ||||
return Create<JT808.Protocol.MessageBody.JT808_0x0102>(msgId,terminalPhoneNo,bodies); | return Create<JT808.Protocol.MessageBody.JT808_0x0102>(msgId,terminalPhoneNo,bodies); | ||||
} | } | ||||
/// <summary> | |||||
/// 0x0104 - 查询终端参数应答 | |||||
/// auto-generated | |||||
/// </summary> | |||||
public static JT808Package Create_查询终端参数应答(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x0104 bodies) | |||||
{ | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x0104>(msgId,terminalPhoneNo,bodies); | |||||
} | |||||
///// <summary> | |||||
///// 0x0104 - 查询终端参数应答 | |||||
///// auto-generated | |||||
///// </summary> | |||||
// public static JT808Package Create_查询终端参数应答(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x0104 bodies) | |||||
//{ | |||||
// return Create<JT808.Protocol.MessageBody.JT808_0x0104>(msgId,terminalPhoneNo,bodies); | |||||
//} | |||||
/// <summary> | /// <summary> | ||||
/// 0x0104 - 查询终端参数应答 | /// 0x0104 - 查询终端参数应答 | ||||
/// auto-generated | /// auto-generated | ||||
/// </summary> | /// </summary> | ||||
public static JT808Package Create(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x0104 bodies) | |||||
{ | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x0104>(msgId,terminalPhoneNo,bodies); | |||||
} | |||||
// public static JT808Package Create(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x0104 bodies) | |||||
//{ | |||||
// return Create<JT808.Protocol.MessageBody.JT808_0x0104>(msgId,terminalPhoneNo,bodies); | |||||
//} | |||||
/// <summary> | /// <summary> | ||||
/// 0x0107 - 查询终端属性应答 | /// 0x0107 - 查询终端属性应答 | ||||
/// auto-generated | /// auto-generated | ||||
@@ -464,39 +464,22 @@ namespace JT808.Protocol.Extensions | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x8100>(msgId,terminalPhoneNo,bodies); | return Create<JT808.Protocol.MessageBody.JT808_0x8100>(msgId,terminalPhoneNo,bodies); | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 0x8103 - 设置终端参数 | |||||
/// auto-generated | |||||
/// </summary> | |||||
public static JT808Package Create_设置终端参数(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x8103 bodies) | |||||
{ | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x8103>(msgId,terminalPhoneNo,bodies); | |||||
} | |||||
/// <summary> | |||||
/// 0x8103 - 设置终端参数 | |||||
/// auto-generated | |||||
/// </summary> | |||||
public static JT808Package Create(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x8103 bodies) | |||||
{ | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x8103>(msgId,terminalPhoneNo,bodies); | |||||
} | |||||
/// <summary> | |||||
/// 0x8104 - 查询终端参数 | /// 0x8104 - 查询终端参数 | ||||
/// auto-generated | /// auto-generated | ||||
/// </summary> | /// </summary> | ||||
public static JT808Package Create_查询终端参数(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x8104 bodies) | |||||
{ | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x8104>(msgId,terminalPhoneNo,bodies); | |||||
} | |||||
// public static JT808Package Create_查询终端参数(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x8104 bodies) | |||||
//{ | |||||
// return Create<JT808.Protocol.MessageBody.JT808_0x8104>(msgId,terminalPhoneNo,bodies); | |||||
//} | |||||
/// <summary> | /// <summary> | ||||
/// 0x8104 - 查询终端参数 | /// 0x8104 - 查询终端参数 | ||||
/// auto-generated | /// auto-generated | ||||
/// </summary> | /// </summary> | ||||
public static JT808Package Create(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x8104 bodies) | |||||
{ | |||||
return Create<JT808.Protocol.MessageBody.JT808_0x8104>(msgId,terminalPhoneNo,bodies); | |||||
} | |||||
// public static JT808Package Create(this JT808MsgId msgId, string terminalPhoneNo,JT808.Protocol.MessageBody.JT808_0x8104 bodies) | |||||
//{ | |||||
// return Create<JT808.Protocol.MessageBody.JT808_0x8104>(msgId,terminalPhoneNo,bodies); | |||||
//} | |||||
/// <summary> | /// <summary> | ||||
/// 0x8105 - 终端控制 | /// 0x8105 - 终端控制 | ||||
/// auto-generated | /// auto-generated | ||||
@@ -20,8 +20,8 @@ namespace JT808.Protocol.Interfaces | |||||
FormatterFactory = new JT808FormatterFactory(); | FormatterFactory = new JT808FormatterFactory(); | ||||
JT808_0X0200_Custom_Factory = new JT808_0x0200_Custom_Factory(); | JT808_0X0200_Custom_Factory = new JT808_0x0200_Custom_Factory(); | ||||
JT808_0X0200_Factory = new JT808_0x0200_Factory(); | JT808_0X0200_Factory = new JT808_0x0200_Factory(); | ||||
JT808_0X8103_Custom_Factory = new JT808_0x8103_Custom_Factory(); | |||||
JT808_0X8103_Factory = new JT808_0x8103_Factory(); | |||||
//JT808_0X8103_Custom_Factory = new JT808_0x8103_Custom_Factory(); | |||||
//JT808_0X8103_Factory = new JT808_0x8103_Factory(); | |||||
TerminalPhoneNoLength = 12; | TerminalPhoneNoLength = 12; | ||||
Trim = true; | Trim = true; | ||||
} | } | ||||
@@ -46,8 +46,8 @@ namespace JT808.Protocol.Interfaces | |||||
foreach (var easb in externalAssemblies) | foreach (var easb in externalAssemblies) | ||||
{ | { | ||||
FormatterFactory.Register(easb); | FormatterFactory.Register(easb); | ||||
JT808_0X0200_Custom_Factory.Register(easb); | |||||
JT808_0X8103_Custom_Factory.Register(easb); | |||||
JT808_0X0200_Custom_Factory?.Register(easb); | |||||
JT808_0X8103_Custom_Factory?.Register(easb); | |||||
} | } | ||||
} | } | ||||
return this; | return this; | ||||
@@ -10,7 +10,7 @@ using System.Text; | |||||
namespace JT808.Protocol.Internal | namespace JT808.Protocol.Internal | ||||
{ | { | ||||
class JT808FormatterFactory : IJT808FormatterFactory | |||||
internal class JT808FormatterFactory : IJT808FormatterFactory | |||||
{ | { | ||||
public Dictionary<Guid, object> FormatterDict { get; } | public Dictionary<Guid, object> FormatterDict { get; } | ||||
@@ -27,35 +27,26 @@ namespace JT808.Protocol.Internal | |||||
var implTypes = type.GetInterfaces(); | var implTypes = type.GetInterfaces(); | ||||
if(implTypes!=null && implTypes .Length>1) | if(implTypes!=null && implTypes .Length>1) | ||||
{ | { | ||||
var firstType = implTypes.FirstOrDefault(); | |||||
var firstType = implTypes.FirstOrDefault(f=>f.Name== typeof(IJT808MessagePackFormatter<>).Name); | |||||
var genericImplType = firstType.GetGenericArguments().FirstOrDefault(); | var genericImplType = firstType.GetGenericArguments().FirstOrDefault(); | ||||
if (genericImplType == null) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.GetFormatterAttributeError, genericImplType.FullName); | |||||
} | |||||
var attr = genericImplType.GetCustomAttribute<JT808FormatterAttribute>(); | |||||
if (attr != null) | |||||
if (genericImplType != null) | |||||
{ | { | ||||
if (!FormatterDict.ContainsKey(genericImplType.GUID)) | if (!FormatterDict.ContainsKey(genericImplType.GUID)) | ||||
{ | { | ||||
FormatterDict.Add(genericImplType.GUID, Activator.CreateInstance(attr.FormatterType)); | |||||
FormatterDict.Add(genericImplType.GUID, Activator.CreateInstance(genericImplType)); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } | ||||
} | } | ||||
public IJT808FormatterFactory SetMap<TJT808Bodies>() where TJT808Bodies : JT808Bodies | |||||
public IJT808FormatterFactory SetMap<TJT808Bodies>() | |||||
where TJT808Bodies:JT808Bodies | |||||
{ | { | ||||
Type bodiesType = typeof(TJT808Bodies); | |||||
var attr = bodiesType.GetTypeInfo().GetCustomAttribute<JT808FormatterAttribute>(); | |||||
if (attr == null) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.GetFormatterAttributeError, bodiesType.FullName); | |||||
} | |||||
if (!FormatterDict.ContainsKey(bodiesType.GUID)) | |||||
Type type = typeof(TJT808Bodies); | |||||
if (!FormatterDict.ContainsKey(type.GUID)) | |||||
{ | { | ||||
FormatterDict.Add(bodiesType.GUID, Activator.CreateInstance(attr.FormatterType)); | |||||
FormatterDict.Add(type.GUID, Activator.CreateInstance(type)); | |||||
} | } | ||||
return this; | return this; | ||||
} | } | ||||
@@ -29,8 +29,11 @@ | |||||
<OutputPath /> | <OutputPath /> | ||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Compile Remove="Formatters\MessageBodyFormatters\**" /> | |||||
<Compile Remove="Metadata\JT808LocationAttachProperties\**" /> | <Compile Remove="Metadata\JT808LocationAttachProperties\**" /> | ||||
<EmbeddedResource Remove="Formatters\MessageBodyFormatters\**" /> | |||||
<EmbeddedResource Remove="Metadata\JT808LocationAttachProperties\**" /> | <EmbeddedResource Remove="Metadata\JT808LocationAttachProperties\**" /> | ||||
<None Remove="Formatters\MessageBodyFormatters\**" /> | |||||
<None Remove="Metadata\JT808LocationAttachProperties\**" /> | <None Remove="Metadata\JT808LocationAttachProperties\**" /> | ||||
<None Include="..\..\LICENSE"> | <None Include="..\..\LICENSE"> | ||||
<Pack>True</Pack> | <Pack>True</Pack> | ||||
@@ -39,11 +42,103 @@ | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<Compile Remove="Formatters\JT808HeaderFormatter.cs" /> | |||||
<Compile Remove="Formatters\JT808HeaderPackageFormatter.cs" /> | |||||
<Compile Remove="Formatters\JT808PackageFormatter.cs" /> | |||||
<Compile Remove="Formatters\JT808SplitPackageBodiesFormatter.cs" /> | |||||
<Compile Remove="IJT808BufferedEntity.cs" /> | <Compile Remove="IJT808BufferedEntity.cs" /> | ||||
<Compile Remove="IJT808Properties.cs" /> | <Compile Remove="IJT808Properties.cs" /> | ||||
<Compile Remove="Internal\JT808_0x8103_Custom_Factory.cs" /> | |||||
<Compile Remove="Internal\JT808_0x8103_Factory.cs" /> | |||||
<Compile Remove="JT808BufferedEntityBase.cs" /> | <Compile Remove="JT808BufferedEntityBase.cs" /> | ||||
<Compile Remove="JT808GlobalConfig.cs" /> | <Compile Remove="JT808GlobalConfig.cs" /> | ||||
<Compile Remove="JT808MessageBodyFactory.cs" /> | <Compile Remove="JT808MessageBodyFactory.cs" /> | ||||
<Compile Remove="MessageBody\JT808_0x0104.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0001.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0002.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0003.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0004.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0005.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0006.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0007.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0010.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0011.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0012.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0013.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0014.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0015.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0016.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0017.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0018.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0019.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x001A.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x001B.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x001C.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x001D.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0020.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0021.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0022.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0027.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0028.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0029.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x002C.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x002D.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x002E.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x002F.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0030.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0031.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0040.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0041.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0042.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0043.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0044.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0045.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0046.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0047.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0048.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0049.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0050.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0051.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0052.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0053.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0054.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0055.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0056.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0057.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0058.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0059.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x005A.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x005B.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x005C.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x005D.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x005E.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0064.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0065.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0070.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0071.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0072.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0073.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0074.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0080.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0081.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0082.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0083.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0084.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0090.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0091.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0092.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0093.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0094.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0095.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0100.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0101.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0102.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0103.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_0x0110.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_BodyBase.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8103_CustomBodyBase.cs" /> | |||||
<Compile Remove="MessageBody\JT808_0x8104.cs" /> | |||||
<Compile Remove="Metadata\JT808TerminalLoginRequestProperty.cs" /> | <Compile Remove="Metadata\JT808TerminalLoginRequestProperty.cs" /> | ||||
<Compile Remove="Metadata\JT808UploadLocationRequestProperty.cs" /> | <Compile Remove="Metadata\JT808UploadLocationRequestProperty.cs" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -1,13 +1,12 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | |||||
namespace JT808.Protocol | namespace JT808.Protocol | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 头部 | /// 头部 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808HeaderFormatter))] | |||||
public class JT808Header | |||||
public class JT808Header : IJT808MessagePackFormatter<JT808Header> | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 消息ID | /// 消息ID | ||||
@@ -35,5 +34,46 @@ namespace JT808.Protocol | |||||
/// 报序号 从1开始 | /// 报序号 从1开始 | ||||
/// </summary> | /// </summary> | ||||
public ushort PackageIndex { get; set; } | public ushort PackageIndex { get; set; } | ||||
public JT808Header Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808Header jT808Header = new JT808Header(); | |||||
// 1.消息ID | |||||
jT808Header.MsgId = reader.ReadUInt16(); | |||||
// 2.消息体属性 | |||||
jT808Header.MessageBodyProperty = new JT808HeaderMessageBodyProperty(reader.ReadUInt16()); | |||||
// 3.终端手机号 | |||||
jT808Header.TerminalPhoneNo = reader.ReadBCD(config.TerminalPhoneNoLength, config.Trim); | |||||
jT808Header.MsgNum = reader.ReadUInt16(); | |||||
// 4.判断有无分包 | |||||
if (jT808Header.MessageBodyProperty.IsPackage) | |||||
{ | |||||
//5.读取消息包总数 | |||||
jT808Header.PackgeCount = reader.ReadUInt16(); | |||||
//6.读取消息包序号 | |||||
jT808Header.PackageIndex = reader.ReadUInt16(); | |||||
} | |||||
return jT808Header; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808Header value, IJT808Config config) | |||||
{ | |||||
// 1.消息ID | |||||
writer.WriteUInt16(value.MsgId); | |||||
// 2.消息体属性 | |||||
writer.WriteUInt16(value.MessageBodyProperty.Wrap()); | |||||
// 3.终端手机号 | |||||
writer.WriteBCD(value.TerminalPhoneNo, config.TerminalPhoneNoLength); | |||||
// 4.消息流水号 | |||||
writer.WriteUInt16(value.MsgNum); | |||||
// 5.判断是否分包 | |||||
if (value.MessageBodyProperty.IsPackage) | |||||
{ | |||||
// 6.消息包总数 | |||||
writer.WriteUInt16(value.PackgeCount); | |||||
// 7.消息包序号 | |||||
writer.WriteUInt16(value.PackageIndex); | |||||
} | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,13 +1,16 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.MessagePack; | |||||
using System; | |||||
namespace JT808.Protocol | namespace JT808.Protocol | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// JT808头部数据包 | /// JT808头部数据包 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808HeaderPackageFormatter))] | |||||
public class JT808HeaderPackage | |||||
public class JT808HeaderPackage: IJT808MessagePackFormatter<JT808HeaderPackage> | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 起始符 | /// 起始符 | ||||
@@ -30,5 +33,58 @@ namespace JT808.Protocol | |||||
/// 终止符 | /// 终止符 | ||||
/// </summary> | /// </summary> | ||||
public byte End { get; set; } | public byte End { get; set; } | ||||
public JT808HeaderPackage Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
// 1. 验证校验和 | |||||
if (!config.SkipCRCCode) | |||||
{ | |||||
if (!reader.CheckXorCodeVali) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.CheckCodeNotEqual, $"{reader.RealCheckXorCode}!={reader.CalculateCheckXorCode}"); | |||||
} | |||||
} | |||||
JT808HeaderPackage jT808Package = new JT808HeaderPackage(); | |||||
// ---------------开始解包-------------- | |||||
// 2.读取起始位置 | |||||
jT808Package.Begin = reader.ReadStart(); | |||||
// 3.读取头部信息 | |||||
jT808Package.Header = new JT808Header(); | |||||
// 3.1.读取消息Id | |||||
jT808Package.Header.MsgId = reader.ReadUInt16(); | |||||
// 3.2.读取消息体属性 | |||||
ushort messageBodyPropertyValue = reader.ReadUInt16(); | |||||
// 3.2.1.解包消息体属性 | |||||
jT808Package.Header.MessageBodyProperty = new JT808HeaderMessageBodyProperty(messageBodyPropertyValue); | |||||
// 3.3.读取终端手机号 | |||||
jT808Package.Header.TerminalPhoneNo = reader.ReadBCD(config.TerminalPhoneNoLength, config.Trim); | |||||
// 3.4.读取消息流水号 | |||||
jT808Package.Header.MsgNum = reader.ReadUInt16(); | |||||
// 3.5.判断有无分包 | |||||
if (jT808Package.Header.MessageBodyProperty.IsPackage) | |||||
{ | |||||
//3.5.1.读取消息包总数 | |||||
jT808Package.Header.PackgeCount = reader.ReadUInt16(); | |||||
//3.5.2.读取消息包序号 | |||||
jT808Package.Header.PackageIndex = reader.ReadUInt16(); | |||||
} | |||||
// 4.处理数据体 | |||||
// 4.1.判断有无数据体 | |||||
if (jT808Package.Header.MessageBodyProperty.DataLength > 0) | |||||
{ | |||||
jT808Package.Bodies = reader.ReadContent().ToArray(); | |||||
} | |||||
// 5.读取校验码 | |||||
jT808Package.CheckCode = reader.ReadByte(); | |||||
// 6.读取终止位置 | |||||
jT808Package.End = reader.ReadEnd(); | |||||
// ---------------解包完成-------------- | |||||
return jT808Package; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808HeaderPackage value, IJT808Config config) | |||||
{ | |||||
throw new NotImplementedException("只适用反序列化"); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,13 +1,17 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.MessagePack; | |||||
using System; | |||||
namespace JT808.Protocol | namespace JT808.Protocol | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// JT808数据包 | /// JT808数据包 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808PackageFormatter))] | |||||
public class JT808Package | |||||
public class JT808Package:IJT808MessagePackFormatter<JT808Package> | |||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 起始符 | /// 起始符 | ||||
@@ -46,5 +50,147 @@ namespace JT808.Protocol | |||||
/// 数据体 | /// 数据体 | ||||
/// </summary> | /// </summary> | ||||
public JT808Bodies Bodies { get; set; } | public JT808Bodies Bodies { get; set; } | ||||
public JT808Package Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
// 1. 验证校验和 | |||||
if (!config.SkipCRCCode) | |||||
{ | |||||
if (!reader.CheckXorCodeVali) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.CheckCodeNotEqual, $"{reader.RealCheckXorCode}!={reader.CalculateCheckXorCode}"); | |||||
} | |||||
} | |||||
JT808Package jT808Package = new JT808Package(); | |||||
// ---------------开始解包-------------- | |||||
// 2.读取起始位置 | |||||
jT808Package.Begin = reader.ReadStart(); | |||||
// 3.读取头部信息 | |||||
jT808Package.Header = new JT808Header(); | |||||
// 3.1.读取消息Id | |||||
jT808Package.Header.MsgId = reader.ReadUInt16(); | |||||
// 3.2.读取消息体属性 | |||||
jT808Package.Header.MessageBodyProperty = new JT808HeaderMessageBodyProperty(reader.ReadUInt16()); | |||||
// 3.3.读取终端手机号 | |||||
jT808Package.Header.TerminalPhoneNo = reader.ReadBCD(config.TerminalPhoneNoLength, config.Trim); | |||||
// 3.4.读取消息流水号 | |||||
jT808Package.Header.MsgNum = reader.ReadUInt16(); | |||||
// 3.5.判断有无分包 | |||||
if (jT808Package.Header.MessageBodyProperty.IsPackage) | |||||
{ | |||||
//3.5.1.读取消息包总数 | |||||
jT808Package.Header.PackgeCount = reader.ReadUInt16(); | |||||
//3.5.2.读取消息包序号 | |||||
jT808Package.Header.PackageIndex = reader.ReadUInt16(); | |||||
} | |||||
// 4.处理数据体 | |||||
// 4.1.判断有无数据体 | |||||
if (jT808Package.Header.MessageBodyProperty.DataLength > 0) | |||||
{ | |||||
Type jT808BodiesImplType = config.MsgIdFactory.GetBodiesImplTypeByMsgId(jT808Package.Header.MsgId, jT808Package.Header.TerminalPhoneNo); | |||||
if (jT808BodiesImplType != null) | |||||
{ | |||||
if (jT808Package.Header.MessageBodyProperty.IsPackage) | |||||
{ | |||||
if (jT808Package.Header.PackageIndex > 1) | |||||
{ | |||||
try | |||||
{ | |||||
//4.2处理第二包之后的分包数据消息体 | |||||
#warning 2处理第二包之后的分包数据消息体 | |||||
JT808SplitPackageBodies jT808SplitPackageBodies = new JT808SplitPackageBodies(); | |||||
jT808Package.Bodies = jT808SplitPackageBodies.Deserialize(ref reader, config); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.BodiesParseError, ex); | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
try | |||||
{ | |||||
//4.2.处理消息体 | |||||
jT808Package.Bodies = JT808MessagePackFormatterResolverExtensions.JT808DynamicDeserialize( | |||||
config.GetMessagePackFormatterByType(jT808BodiesImplType), | |||||
ref reader, config); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.BodiesParseError, ex); | |||||
} | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
try | |||||
{ | |||||
//4.2.处理消息体 | |||||
jT808Package.Bodies = JT808MessagePackFormatterResolverExtensions.JT808DynamicDeserialize( | |||||
config.GetMessagePackFormatterByType(jT808BodiesImplType), | |||||
ref reader, config); | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
throw new JT808Exception(JT808ErrorCode.BodiesParseError, ex); | |||||
} | |||||
} | |||||
} | |||||
} | |||||
// 5.读取校验码 | |||||
jT808Package.CheckCode = reader.ReadByte(); | |||||
// 6.读取终止位置 | |||||
jT808Package.End = reader.ReadEnd(); | |||||
// ---------------解包完成-------------- | |||||
return jT808Package; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808Package value, IJT808Config config) | |||||
{ | |||||
// ---------------开始组包-------------- | |||||
// 1.起始符 | |||||
writer.WriteStart(); | |||||
// 2.写入头部 //部分有带数据体的长度,那么先跳过写入头部部分 | |||||
// 2.1.消息ID | |||||
writer.WriteUInt16(value.Header.MsgId); | |||||
// 2.2.消息体属性(包含消息体长度所以先跳过) | |||||
writer.Skip(2, out int msgBodiesPropertyPosition); | |||||
// 2.3.终端手机号 (写死大陆手机号码) | |||||
writer.WriteBCD(value.Header.TerminalPhoneNo, config.TerminalPhoneNoLength); | |||||
value.Header.MsgNum = value.Header.MsgNum > 0 ? value.Header.MsgNum : config.MsgSNDistributed.Increment(); | |||||
// 2.4.消息流水号 | |||||
writer.WriteUInt16(value.Header.MsgNum); | |||||
// 2.5.判断是否分包 | |||||
if (value.Header.MessageBodyProperty.IsPackage) | |||||
{ | |||||
// 2.5.1.消息包总数 | |||||
writer.WriteUInt16(value.Header.PackgeCount); | |||||
// 2.5.2.消息包序号 | |||||
writer.WriteUInt16(value.Header.PackageIndex); | |||||
} | |||||
int headerLength = writer.GetCurrentPosition(); | |||||
// 3.处理数据体部分 | |||||
if (value.Bodies != null) | |||||
{ | |||||
if (!value.Bodies.SkipSerialization) | |||||
{ | |||||
JT808MessagePackFormatterResolverExtensions.JT808DynamicSerialize( | |||||
config.GetMessagePackFormatterByType(value.Bodies.GetType()), | |||||
ref writer, value.Bodies, | |||||
config); | |||||
} | |||||
} | |||||
// 3.1.处理数据体长度 | |||||
value.Header.MessageBodyProperty = new JT808HeaderMessageBodyProperty((ushort)(writer.GetCurrentPosition() - headerLength)); | |||||
// 2.2.回写消息体属性 | |||||
writer.WriteUInt16Return(value.Header.MessageBodyProperty.Wrap(), msgBodiesPropertyPosition); | |||||
// 4.校验码 | |||||
writer.WriteXor(); | |||||
// 5.终止符 | |||||
writer.WriteEnd(); | |||||
// 6.编码 | |||||
writer.WriteEncode(); | |||||
// ---------------组包结束-------------- | |||||
} | |||||
} | } | ||||
} | } |
@@ -9,6 +9,10 @@ namespace JT808.Protocol | |||||
{ | { | ||||
public class JT808Serializer | public class JT808Serializer | ||||
{ | { | ||||
private readonly static JT808HeaderPackage jT808HeaderPackage = new JT808HeaderPackage(); | |||||
private readonly static JT808Package jT808Package = new JT808Package(); | |||||
public JT808Serializer(IJT808Config jT808Config) | public JT808Serializer(IJT808Config jT808Config) | ||||
{ | { | ||||
this.jT808Config = jT808Config; | this.jT808Config = jT808Config; | ||||
@@ -29,7 +33,7 @@ namespace JT808.Protocol | |||||
try | try | ||||
{ | { | ||||
JT808MessagePackWriter jT808MessagePackWriter = new JT808MessagePackWriter(buffer); | JT808MessagePackWriter jT808MessagePackWriter = new JT808MessagePackWriter(buffer); | ||||
JT808PackageFormatter.Instance.Serialize(ref jT808MessagePackWriter, jT808Package, jT808Config); | |||||
jT808Package.Serialize(ref jT808MessagePackWriter, jT808Package, jT808Config); | |||||
return jT808MessagePackWriter.FlushAndGetEncodingArray(); | return jT808MessagePackWriter.FlushAndGetEncodingArray(); | ||||
} | } | ||||
finally | finally | ||||
@@ -45,7 +49,7 @@ namespace JT808.Protocol | |||||
{ | { | ||||
JT808MessagePackReader jT808MessagePackReader = new JT808MessagePackReader(bytes); | JT808MessagePackReader jT808MessagePackReader = new JT808MessagePackReader(bytes); | ||||
jT808MessagePackReader.Decode(buffer); | jT808MessagePackReader.Decode(buffer); | ||||
return JT808PackageFormatter.Instance.Deserialize(ref jT808MessagePackReader, jT808Config); | |||||
return jT808Package.Deserialize(ref jT808MessagePackReader, jT808Config); | |||||
} | } | ||||
finally | finally | ||||
{ | { | ||||
@@ -104,7 +108,7 @@ namespace JT808.Protocol | |||||
{ | { | ||||
JT808MessagePackReader jT808MessagePackReader = new JT808MessagePackReader(bytes); | JT808MessagePackReader jT808MessagePackReader = new JT808MessagePackReader(bytes); | ||||
jT808MessagePackReader.Decode(buffer); | jT808MessagePackReader.Decode(buffer); | ||||
return JT808HeaderPackageFormatter.Instance.Deserialize(ref jT808MessagePackReader,jT808Config); | |||||
return jT808HeaderPackage.Deserialize(ref jT808MessagePackReader,jT808Config); | |||||
} | } | ||||
finally | finally | ||||
{ | { | ||||
@@ -1,14 +1,28 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.MessagePack; | |||||
namespace JT808.Protocol | namespace JT808.Protocol | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
/// 统一分包数据体 | /// 统一分包数据体 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808SplitPackageBodiesFormatter))] | |||||
public class JT808SplitPackageBodies : JT808Bodies | |||||
public class JT808SplitPackageBodies : JT808Bodies, IJT808MessagePackFormatter<JT808SplitPackageBodies> | |||||
{ | { | ||||
public byte[] Data { get; set; } | public byte[] Data { get; set; } | ||||
public JT808SplitPackageBodies Deserialize(ref JT808MessagePackReader reader, IJT808Config config) | |||||
{ | |||||
JT808SplitPackageBodies jT808SplitPackageBodies = new JT808SplitPackageBodies | |||||
{ | |||||
Data = reader.ReadContent().ToArray() | |||||
}; | |||||
return jT808SplitPackageBodies; | |||||
} | |||||
public void Serialize(ref JT808MessagePackWriter writer, JT808SplitPackageBodies value, IJT808Config config) | |||||
{ | |||||
writer.WriteArray(value.Data); | |||||
} | |||||
} | } | ||||
} | } |
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Enums; | using JT808.Protocol.Enums; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 终端通用应答 | /// 终端通用应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0001_Formatter))] | |||||
public class JT808_0x0001 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0001> | public class JT808_0x0001 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0001> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 终端注册 | /// 终端注册 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0100_Formatter))] | |||||
public class JT808_0x0100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0100> | public class JT808_0x0100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0100> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 终端鉴权 | /// 终端鉴权 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0102_Formatter))] | |||||
public class JT808_0x0102 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0102> | public class JT808_0x0102 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0102> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 查询终端参数应答 | /// 查询终端参数应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0104_Formatter))] | |||||
public class JT808_0x0104 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0104> | public class JT808_0x0104 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0104> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 查询终端属性应答 | /// 查询终端属性应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0107_Formatter))] | |||||
public class JT808_0x0107 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0107> | public class JT808_0x0107 : JT808Bodies,IJT808MessagePackFormatter<JT808_0x0107> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 终端升级结果通知 | /// 终端升级结果通知 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0108_Formatter))] | |||||
public class JT808_0x0108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0108> | public class JT808_0x0108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0108> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,9 +1,7 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Exceptions; | using JT808.Protocol.Exceptions; | ||||
using JT808.Protocol.Extensions; | using JT808.Protocol.Extensions; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -13,7 +11,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 位置信息汇报 | /// 位置信息汇报 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0200_Formatter))] | |||||
public class JT808_0x0200 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0200> | public class JT808_0x0200 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0200> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,13 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Runtime.Serialization; | using System.Runtime.Serialization; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x01_Formatter))] | |||||
public class JT808_0x0200_0x01 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x01> | public class JT808_0x0200_0x01 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x01> | ||||
{ | { | ||||
public override byte AttachInfoId { get; set; } = 0x01; | public override byte AttachInfoId { get; set; } = 0x01; | ||||
@@ -1,12 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Runtime.Serialization; | using System.Runtime.Serialization; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x02_Formatter))] | |||||
public class JT808_0x0200_0x02 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x02> | public class JT808_0x0200_0x02 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x02> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,13 +1,10 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Runtime.Serialization; | using System.Runtime.Serialization; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x03_Formatter))] | |||||
public class JT808_0x0200_0x03 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x03> | public class JT808_0x0200_0x03 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x03> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,11 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x04_Formatter))] | |||||
public class JT808_0x0200_0x04 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x04> | public class JT808_0x0200_0x04 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x04> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,12 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x11_Formatter))] | |||||
public class JT808_0x0200_0x11 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x11> | public class JT808_0x0200_0x11 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x11> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,12 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x12_Formatter))] | |||||
public class JT808_0x0200_0x12 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x12> | public class JT808_0x0200_0x12 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x12> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,13 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x13_Formatter))] | |||||
public class JT808_0x0200_0x13 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x13> | public class JT808_0x0200_0x13 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x13> | ||||
{ | { | ||||
public override byte AttachInfoId { get; set; } = 0x13; | public override byte AttachInfoId { get; set; } = 0x13; | ||||
@@ -1,11 +1,8 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x25_Formatter))] | |||||
public class JT808_0x0200_0x25 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x25> | public class JT808_0x0200_0x25 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x25> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,11 +1,8 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x2A_Formatter))] | |||||
public class JT808_0x0200_0x2A : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x2A> | public class JT808_0x0200_0x2A : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x2A> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,11 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x2B_Formatter))] | |||||
public class JT808_0x0200_0x2B : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x2B> | public class JT808_0x0200_0x2B : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x2B> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,11 +1,9 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x30_Formatter))] | |||||
public class JT808_0x0200_0x30 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x30> | public class JT808_0x0200_0x30 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x30> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,11 +1,8 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
[JT808Formatter(typeof(JT808_0x0200_0x31_Formatter))] | |||||
public class JT808_0x0200_0x31 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x31> | public class JT808_0x0200_0x31 : JT808_0x0200_BodyBase, IJT808MessagePackFormatter<JT808_0x0200_0x31> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,5 +1,4 @@ | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using System; | |||||
using System; | |||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 位置信息查询应答 | /// 位置信息查询应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0201_Formatter))] | |||||
public class JT808_0x0201 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0201> | public class JT808_0x0201 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0201> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 事件报告 | /// 事件报告 | ||||
/// 0x0301 | /// 0x0301 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0301_Formatter))] | |||||
public class JT808_0x0301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0301> | public class JT808_0x0301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0301> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 提问应答 | /// 提问应答 | ||||
/// 0x0302 | /// 0x0302 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0302_Formatter))] | |||||
public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302> | public class JT808_0x0302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0302> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 信息点播/取消 | /// 信息点播/取消 | ||||
/// 0x0303 | /// 0x0303 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0303_Formatter))] | |||||
public class JT808_0x0303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0303> | public class JT808_0x0303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0303> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 车辆控制应答 | /// 车辆控制应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0500_Formatter))] | |||||
public class JT808_0x0500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0500> | public class JT808_0x0500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0500> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 电子运单上报 | /// 电子运单上报 | ||||
/// 0x0701 | /// 0x0701 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0701_Formatter))] | |||||
public class JT808_0x0701 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0701> | public class JT808_0x0701 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0701> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using System; | |||||
using System; | |||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
{ | { | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 驾驶员身份信息采集上报 | /// 驾驶员身份信息采集上报 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0702_Formatter))] | |||||
public class JT808_0x0702 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0702> | public class JT808_0x0702 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0702> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 定位数据批量上传 | /// 定位数据批量上传 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0704_Formatter))] | |||||
public class JT808_0x0704 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0704> | public class JT808_0x0704 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0704> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System; | using System; | ||||
@@ -13,7 +11,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// CAN 总线数据上传 | /// CAN 总线数据上传 | ||||
/// 0x0705 | /// 0x0705 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0705_Formatter))] | |||||
public class JT808_0x0705 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0705> | public class JT808_0x0705 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0705> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 多媒体事件信息上传 | /// 多媒体事件信息上传 | ||||
/// 0x0800 | /// 0x0800 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0800_Formatter))] | |||||
public class JT808_0x0800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0800> | public class JT808_0x0800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0800> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 多媒体数据上传 | /// 多媒体数据上传 | ||||
/// 0x0801 | /// 0x0801 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0801_Formatter))] | |||||
public class JT808_0x0801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0801> | public class JT808_0x0801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0801> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 存储多媒体数据检索应答 | /// 存储多媒体数据检索应答 | ||||
/// 0x0802 | /// 0x0802 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0802_Formatter))] | |||||
public class JT808_0x0802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0802> | public class JT808_0x0802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0802> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 摄像头立即拍摄命令应答 | /// 摄像头立即拍摄命令应答 | ||||
/// 0x0805 | /// 0x0805 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0805_Formatter))] | |||||
public class JT808_0x0805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0805> | public class JT808_0x0805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0805> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,6 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Extensions; | using JT808.Protocol.Extensions; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 数据上行透传 | /// 数据上行透传 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0900_Formatter))] | |||||
public class JT808_0x0900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0900> | public class JT808_0x0900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0900> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 数据压缩上报 | /// 数据压缩上报 | ||||
/// 0x0901 | /// 0x0901 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0901_Formatter))] | |||||
public class JT808_0x0901 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0901> | public class JT808_0x0901 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0901> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 终端 RSA 公钥 | /// 终端 RSA 公钥 | ||||
/// 0x0A00 | /// 0x0A00 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x0A00_Formatter))] | |||||
public class JT808_0x0A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0A00> | public class JT808_0x0A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x0A00> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,6 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Enums; | using JT808.Protocol.Enums; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 平台通用应答 | /// 平台通用应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8001_Formatter))] | |||||
public class JT808_0x8001 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8001> | public class JT808_0x8001 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8001> | ||||
{ | { | ||||
public ushort MsgNum { get; set; } | public ushort MsgNum { get; set; } | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 补传分包请求 | /// 补传分包请求 | ||||
/// 0x8003 | /// 0x8003 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8003_Formatter))] | |||||
public class JT808_0x8003 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8003> | public class JT808_0x8003 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8003> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 终端注册应答 | /// 终端注册应答 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8100_Formatter))] | |||||
public class JT808_0x8100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8100> | public class JT808_0x8100 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8100> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 终端控制 | /// 终端控制 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8105_Formatter))] | |||||
public class JT808_0x8105 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8105> | public class JT808_0x8105 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8105> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 查询指定终端参数 | /// 查询指定终端参数 | ||||
/// 0x8106 | /// 0x8106 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8106_Formatter))] | |||||
public class JT808_0x8106 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8106> | public class JT808_0x8106 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8106> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 下发终端升级包 | /// 下发终端升级包 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8108_Formatter))] | |||||
public class JT808_0x8108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8108> | public class JT808_0x8108 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8108> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 临时位置跟踪控制 | /// 临时位置跟踪控制 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8202_Formatter))] | |||||
public class JT808_0x8202 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8202> | public class JT808_0x8202 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8202> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 人工确认报警消息 | /// 人工确认报警消息 | ||||
/// 0x8203 | /// 0x8203 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8203_Formatter))] | |||||
public class JT808_0x8203 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8203> | public class JT808_0x8203 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8203> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | using JT808.Protocol.Attributes; | ||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 文本信息下发 | /// 文本信息下发 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8300_Formatter))] | |||||
public class JT808_0x8300 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8300> | public class JT808_0x8300 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8300> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 事件设置 | /// 事件设置 | ||||
/// 0x8301 | /// 0x8301 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8301_Formatter))] | |||||
public class JT808_0x8301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8301> | public class JT808_0x8301 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8301> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 提问下发 | /// 提问下发 | ||||
/// 0x8302 | /// 0x8302 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8302_Formatter))] | |||||
public class JT808_0x8302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8302> | public class JT808_0x8302 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8302> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 信息点播菜单设置 | /// 信息点播菜单设置 | ||||
/// 0x8303 | /// 0x8303 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8303_Formatter))] | |||||
public class JT808_0x8303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8303> | public class JT808_0x8303 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8303> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 信息服务 | /// 信息服务 | ||||
/// 0x8304 | /// 0x8304 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8304_Formatter))] | |||||
public class JT808_0x8304 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8304> | public class JT808_0x8304 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8304> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 电话回拨 | /// 电话回拨 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8400_Formatter))] | |||||
public class JT808_0x8400 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8400> | public class JT808_0x8400 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8400> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -11,7 +9,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 设置电话本 | /// 设置电话本 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8401_Formatter))] | |||||
public class JT808_0x8401 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8401> | public class JT808_0x8401 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8401> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 车辆控制 | /// 车辆控制 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8500_Formatter))] | |||||
public class JT808_0x8500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8500> | public class JT808_0x8500 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8500> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System; | using System; | ||||
@@ -13,7 +11,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 0x8600 | /// 0x8600 | ||||
/// 注:本条消息协议支持周期时间范围,如要限制每天的8:30-18:00,起始/结束时间设为:00-00-00-08-30-00/00-00-00-18-00-00,其他以此类推 | /// 注:本条消息协议支持周期时间范围,如要限制每天的8:30-18:00,起始/结束时间设为:00-00-00-08-30-00/00-00-00-18-00-00,其他以此类推 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8600_Formatter))] | |||||
public class JT808_0x8600 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8600> | public class JT808_0x8600 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8600> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 删除圆形区域 | /// 删除圆形区域 | ||||
/// 0x8601 | /// 0x8601 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8601_Formatter))] | |||||
public class JT808_0x8601 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8601> | public class JT808_0x8601 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8601> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System; | using System; | ||||
@@ -12,7 +10,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 设置矩形区域 | /// 设置矩形区域 | ||||
/// 0x8602 | /// 0x8602 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8602_Formatter))] | |||||
public class JT808_0x8602 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8602> | public class JT808_0x8602 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8602> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 删除矩形区域 | /// 删除矩形区域 | ||||
/// 0x8603 | /// 0x8603 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8603_Formatter))] | |||||
public class JT808_0x8603 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8603> | public class JT808_0x8603 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8603> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System; | using System; | ||||
@@ -12,7 +10,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 设置多边形区域 | /// 设置多边形区域 | ||||
/// 0x8604 | /// 0x8604 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8604_Formatter))] | |||||
public class JT808_0x8604 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8604> | public class JT808_0x8604 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8604> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 删除多边形区域 | /// 删除多边形区域 | ||||
/// 0x8605 | /// 0x8605 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8605_Formatter))] | |||||
public class JT808_0x8605 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8605> | public class JT808_0x8605 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8605> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using JT808.Protocol.Metadata; | using JT808.Protocol.Metadata; | ||||
using System; | using System; | ||||
@@ -12,7 +10,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 设置路线 | /// 设置路线 | ||||
/// 0x8606 | /// 0x8606 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8606_Formatter))] | |||||
public class JT808_0x8606 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8606> | public class JT808_0x8606 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8606> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 删除路线 | /// 删除路线 | ||||
/// 0x8607 | /// 0x8607 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8607_Formatter))] | |||||
public class JT808_0x8607 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8607> | public class JT808_0x8607 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8607> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 多媒体数据上传应答 | /// 多媒体数据上传应答 | ||||
/// 0x8800 | /// 0x8800 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8800_Formatter))] | |||||
public class JT808_0x8800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8800> | public class JT808_0x8800 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8800> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 摄像头立即拍摄命令 | /// 摄像头立即拍摄命令 | ||||
/// 0x8801 | /// 0x8801 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8801_Formatter))] | |||||
public class JT808_0x8801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8801> | public class JT808_0x8801 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8801> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 存储多媒体数据检索 | /// 存储多媒体数据检索 | ||||
/// 0x8802 | /// 0x8802 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8802_Formatter))] | |||||
public class JT808_0x8802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8802> | public class JT808_0x8802 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8802> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
using System; | using System; | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 存储多媒体数据上传命令 | /// 存储多媒体数据上传命令 | ||||
/// 0x8803 | /// 0x8803 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8803_Formatter))] | |||||
public class JT808_0x8803 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8803> | public class JT808_0x8803 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8803> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Enums; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 录音开始命令 | /// 录音开始命令 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8804_Formatter))] | |||||
public class JT808_0x8804 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8804> | public class JT808_0x8804 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8804> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,6 +1,4 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.Formatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -8,7 +6,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 单条存储多媒体数据检索上传命令 | /// 单条存储多媒体数据检索上传命令 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8805_Formatter))] | |||||
public class JT808_0x8805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8805> | public class JT808_0x8805 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8805> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Extensions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -9,7 +7,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// <summary> | /// <summary> | ||||
/// 数据下行透传 | /// 数据下行透传 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8900_Formatter))] | |||||
public class JT808_0x8900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8900> | public class JT808_0x8900 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8900> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||
@@ -1,7 +1,5 @@ | |||||
using JT808.Protocol.Attributes; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Exceptions; | |||||
using JT808.Protocol.Formatters; | using JT808.Protocol.Formatters; | ||||
using JT808.Protocol.Formatters.MessageBodyFormatters; | |||||
using JT808.Protocol.MessagePack; | using JT808.Protocol.MessagePack; | ||||
namespace JT808.Protocol.MessageBody | namespace JT808.Protocol.MessageBody | ||||
@@ -10,7 +8,6 @@ namespace JT808.Protocol.MessageBody | |||||
/// 平台RSA公钥 | /// 平台RSA公钥 | ||||
/// 0x8A00 | /// 0x8A00 | ||||
/// </summary> | /// </summary> | ||||
[JT808Formatter(typeof(JT808_0x8A00_Formatter))] | |||||
public class JT808_0x8A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8A00> | public class JT808_0x8A00 : JT808Bodies, IJT808MessagePackFormatter<JT808_0x8A00> | ||||
{ | { | ||||
/// <summary> | /// <summary> | ||||