@@ -1,4 +1,5 @@ | |||
using JT809.Protocol.Enums; | |||
using JT809.Protocol.Attributes; | |||
using JT809.Protocol.Enums; | |||
using JT809.Protocol.Extensions; | |||
using System; | |||
using System.Collections.Generic; | |||
@@ -42,6 +43,12 @@ namespace JT809.Protocol.Test.JT809Extensions | |||
public void Test5() | |||
{ | |||
var jT808_Status5 = JT809EnumExtensions.GetEnumTypes<JT808_Status>(8388609, 32,false); | |||
} | |||
[Fact] | |||
public void Test6() | |||
{ | |||
JT809BodiesTypeAttribute jT809BodiesTypeAttribute = JT809BusinessType.接收车辆定位信息数量通知消息.GetAttribute<JT809BodiesTypeAttribute>(); | |||
JT809BodiesTypeAttribute jT809BodiesTypeAttribute1 = JT809BusinessType.发送车辆定位信息数据量通知消息_2019.GetAttribute<JT809BodiesTypeAttribute>(); | |||
} | |||
} | |||
} |
@@ -155,12 +155,12 @@ namespace JT809.Protocol.Enums | |||
///发送车辆定位信息数据量通知消息_2019 | |||
///DOWN_TOTAL_RECV_BACK_MSG | |||
///</summary> | |||
[Description("接收车辆定位信息数量通知消息")] | |||
[Description("发送车辆定位信息数据量通知消息_2019")] | |||
[JT809BodiesType(typeof(JT809_2019_0x9101))] | |||
[JT809BusinessTypeDescription("DOWN_TOTAL_RECV_BACK_MSG", "发送车辆定位信息数据量通知消息")] | |||
发送车辆定位信息数据量通知消息_2019 = 0x9101, | |||
[JT809BusinessTypeDescription("DOWN_TOTAL_RECV_BACK_MSG", "发送车辆定位信息数据量通知消息_2019")] | |||
发送车辆定位信息数据量通知消息_2019 = 0x9101, | |||
///<summary> | |||
///发送车辆定位信息数据量通知消息_2019 | |||
///平台链路连接情况与车辆定位消息传输情况上报请求消息_2019 | |||
///DOWN_TOTAL_RECV_BACK_MSG | |||
///</summary> | |||
[Description("平台链路连接情况与车辆定位消息传输情况上报请求消息")] | |||
@@ -168,18 +168,18 @@ namespace JT809.Protocol.Enums | |||
[JT809BusinessTypeDescription("DOWN_MANAGE_MSG_REQ", "平台链路连接情况与车辆定位消息传输情况上报请求消息")] | |||
平台链路连接情况与车辆定位消息传输情况上报请求消息_2019 = 0x9102, | |||
///<summary> | |||
///发送车辆定位信息数据量通知消息_2019 | |||
///平台链路连接情况与车辆定位消息传输情况上报应答消息_2019 | |||
///UP_MANAGE_MSG_RSP | |||
///</summary> | |||
[Description("平台链路连接情况与车辆定位消息传输情况上报应答消息")] | |||
[JT809BodiesType(typeof(JT809_0x1102))] | |||
[JT809BusinessTypeDescription("UP_MANAGE_MSG_RSP", "平台链路连接情况与车辆定位消息传输情况上报应答消息")] | |||
[JT809BusinessTypeDescription("UP_MANAGE_MSG_RSP", "平台链路连接情况与车辆定位消息传输情况上报应答消息_2019")] | |||
平台链路连接情况与车辆定位消息传输情况上报应答消息_2019 = 0x1102, | |||
///<summary> | |||
///上传平台间消息序列号通知消息 | |||
///UP_MANAGE_MSG_SN_INFORM | |||
///</summary> | |||
[Description("上传平台间消息序列号通知消息")] | |||
[Description("上传平台间消息序列号通知消息_2019")] | |||
[JT809BodiesType(typeof(JT809_0x1102))] | |||
[JT809BusinessTypeDescription("UP_MANAGE_MSG_SN_INFORM", "上传平台间消息序列号通知消息")] | |||
上传平台间消息序列号通知消息_2019 = 0x1103, | |||
@@ -187,9 +187,9 @@ namespace JT809.Protocol.Enums | |||
///下发平台间消息序列号通知消息 | |||
///UP_MANAGE_MSG_SN_INFORM | |||
///</summary> | |||
[Description("下发平台间消息序列号通知消息")] | |||
[Description("下发平台间消息序列号通知消息_2019")] | |||
[JT809BodiesType(typeof(JT809_0x1102))] | |||
[JT809BusinessTypeDescription("DOWN_MANAGE_MSG_SN_INFORM", "下发平台间消息序列号通知消息")] | |||
[JT809BusinessTypeDescription("DOWN_MANAGE_MSG_SN_INFORM", "下发平台间消息序列号通知消息_2019")] | |||
下发平台间消息序列号通知消息_2019 = 0x9103, | |||
#endregion | |||
#region 车辆动态信息交换 | |||
@@ -1,11 +1,12 @@ | |||
| |||
using JT809.Protocol.Enums; | |||
namespace JT809.Protocol.Extensions | |||
{ | |||
public static partial class JT809PackageExtensions | |||
{ | |||
/// <summary> | |||
/// <summary> | |||
/// UP_CONNECT_REQ - 主链路登录请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -31,7 +32,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1001>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_CONNECT_RSP - 主链路登录应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -57,7 +58,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1002>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_DISCONNECT_REQ - 主链路注销请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -83,7 +84,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1003>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_DISCONNECT_RSP - 主链路注销应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -109,7 +110,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1004>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_LINKTEST_REQ - 主链路连接保持请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -135,7 +136,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1005>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_LINKTEST_RSP - 主链路连接保持应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -161,7 +162,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1006>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_DISCONNECT_INFORM - 主链路断开通知消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -187,7 +188,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1007>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_CLOSELINK_INFORM - 下级平台主动关闭主从链路通知消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -213,7 +214,50 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1008>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// UP_MANAGE_MSG_RSP - 平台链路连接情况与车辆定位消息传输情况上报应答消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_平台链路连接情况与车辆定位消息传输情况上报应答消息_2019(this JT809BusinessType jT809BusinessType,JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// UP_MANAGE_MSG_RSP - 平台链路连接情况与车辆定位消息传输情况上报应答消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create(this JT809BusinessType jT809BusinessType, JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// UP_MANAGE_MSG_RSP - 平台链路连接情况与车辆定位消息传输情况上报应答消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_平台链路连接情况与车辆定位消息传输情况上报应答消息_2019(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// UP_MANAGE_MSG_SN_INFORM - 上传平台间消息序列号通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_上传平台间消息序列号通知消息_2019(this JT809BusinessType jT809BusinessType,JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// UP_MANAGE_MSG_SN_INFORM - 上传平台间消息序列号通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_上传平台间消息序列号通知消息_2019(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// UP_EXG_MSG - 主链路车辆动态信息交换业务 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -239,7 +283,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1200>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_PLATFORM_MSG - 主链路平台间信息交互消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -265,7 +309,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1300>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_WARN_MSG - 主链路报警信息交互消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -291,7 +335,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1400>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_CTRL_MSG - 主链路车辆监管消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -317,7 +361,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1500>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// UP_BASE_MSG - 主链路静态信息交换消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -343,7 +387,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1600>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_CONNECT_REQ - 从链路连接请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -369,7 +413,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9001>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_CONNECT_RSP - 从链路连接应答信息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -395,7 +439,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9002>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_DISCONNECT_REQ - 从链路注销请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -421,7 +465,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9003>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_DISCONNECT_RSP - 从链路注销应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -447,7 +491,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9004>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_LINKTEST_REQ - 从链路连接保持请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -473,7 +517,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9005>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_LINKTEST_RSP - 从链路连接保持应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -499,7 +543,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9006>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_DISCONNECT_INFORM - 从链路断开通知消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -525,7 +569,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9007>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_CLOSELINK_INFORM - 上级平台主动关闭链路通知消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -551,6 +595,34 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9008>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_TOTAL_RECV_BACK_MSG - 发送车辆定位信息数据量通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_发送车辆定位信息数据量通知消息_2019(this JT809BusinessType jT809BusinessType,JT809.Protocol.MessageBody.JT809_2019_0x9101 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_2019_0x9101>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_TOTAL_RECV_BACK_MSG - 发送车辆定位信息数据量通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create(this JT809BusinessType jT809BusinessType, JT809.Protocol.MessageBody.JT809_2019_0x9101 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_2019_0x9101>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_TOTAL_RECV_BACK_MSG - 发送车辆定位信息数据量通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_发送车辆定位信息数据量通知消息_2019(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, JT809.Protocol.MessageBody.JT809_2019_0x9101 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_2019_0x9101>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_TOTAL_RECV_BACK_MSG - 接收车辆定位信息数量通知消息 | |||
/// auto-generated | |||
@@ -577,7 +649,41 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9101>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_MANAGE_MSG_REQ - 平台链路连接情况与车辆定位消息传输情况上报请求消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_平台链路连接情况与车辆定位消息传输情况上报请求消息_2019(this JT809BusinessType jT809BusinessType,JT809.Protocol.MessageBody.JT809_0x9102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9102>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_MANAGE_MSG_REQ - 平台链路连接情况与车辆定位消息传输情况上报请求消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_平台链路连接情况与车辆定位消息传输情况上报请求消息_2019(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, JT809.Protocol.MessageBody.JT809_0x9102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9102>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_MANAGE_MSG_SN_INFORM - 下发平台间消息序列号通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_下发平台间消息序列号通知消息_2019(this JT809BusinessType jT809BusinessType,JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_MANAGE_MSG_SN_INFORM - 下发平台间消息序列号通知消息_2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_下发平台间消息序列号通知消息_2019(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, JT809.Protocol.MessageBody.JT809_0x1102 bodies) | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x1102>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// DOWN_EXG_MSG - 从链路车辆动态信息交换业务 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -603,7 +709,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9200>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_PLATFORM_MSG - 从链路平台间信息交互业务 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -629,7 +735,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9300>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_WARN_MSG - 从链路报警信息交互消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -655,7 +761,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9400>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_CTRL_MSG - 从链路车辆监管消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -681,7 +787,7 @@ namespace JT809.Protocol.Extensions | |||
{ | |||
return Create<JT809.Protocol.MessageBody.JT809_0x9500>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
/// <summary> | |||
/// <summary> | |||
/// DOWN_BASE_MSG - 从链路静态信息交换消息 | |||
/// auto-generated | |||
/// </summary> | |||
@@ -16,6 +16,7 @@ | |||
<# | |||
var types=Enum.GetNames(typeof(JT809BusinessType)); | |||
#> | |||
using JT809.Protocol.Enums; | |||
namespace JT809.Protocol.Extensions | |||
@@ -28,19 +29,18 @@ namespace JT809.Protocol.Extensions | |||
JT809BusinessType jT809BusinessType = item.ToEnum<JT809BusinessType>(); | |||
JT809BodiesTypeAttribute jT809BodiesTypeAttribute = jT809BusinessType.GetAttribute<JT809BodiesTypeAttribute>(); | |||
JT809BusinessTypeDescriptionAttribute jT809MsgIdDescriptionAttribute = jT809BusinessType.GetAttribute<JT809BusinessTypeDescriptionAttribute>(); | |||
#> | |||
/// <summary> | |||
/// <#= jT809MsgIdDescriptionAttribute.Code #> - <#= jT809MsgIdDescriptionAttribute.Name #> | |||
/// <#= jT809MsgIdDescriptionAttribute.Code #> - <#= item #> | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_<#= jT809MsgIdDescriptionAttribute.Name #>(this JT809BusinessType jT809BusinessType,<#= jT809BodiesTypeAttribute.JT809BodiesType.FullName #> bodies) | |||
public static JT809Package Create_<#= item #>(this JT809BusinessType jT809BusinessType,<#= jT809BodiesTypeAttribute.JT809BodiesType.FullName #> bodies) | |||
{ | |||
return Create<<#= jT809BodiesTypeAttribute.JT809BodiesType.FullName#>>(jT809BusinessType,bodies); | |||
} | |||
/// <summary> | |||
/// <#= jT809MsgIdDescriptionAttribute.Code #> - <#= jT809MsgIdDescriptionAttribute.Name #> | |||
/// <#= jT809MsgIdDescriptionAttribute.Code #> - <#= item #> | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create(this JT809BusinessType jT809BusinessType, <#= jT809BodiesTypeAttribute.JT809BodiesType.FullName #> bodies) | |||
@@ -49,10 +49,10 @@ namespace JT809.Protocol.Extensions | |||
} | |||
/// <summary> | |||
/// <#= jT809MsgIdDescriptionAttribute.Code #> - <#= jT809MsgIdDescriptionAttribute.Name #> | |||
/// <#= jT809MsgIdDescriptionAttribute.Code #> - <#= item #> | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809Package Create_<#= jT809MsgIdDescriptionAttribute.Name #>(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, <#= jT809BodiesTypeAttribute.JT809BodiesType.FullName #> bodies) | |||
public static JT809Package Create_<#= item #>(this JT809BusinessType jT809BusinessType,JT809Header jT809Header, <#= jT809BodiesTypeAttribute.JT809BodiesType.FullName #> bodies) | |||
{ | |||
return Create<<#= jT809BodiesTypeAttribute.JT809BodiesType.FullName#>>(jT809BusinessType,jT809Header,bodies); | |||
} | |||
@@ -119,6 +119,15 @@ namespace JT809.Protocol.Extensions | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1200_0x120D>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 4608 | |||
/// UP_EXG_MSG_DRVLINE_INFO - 主动上报车辆行驶路线信息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1200_0x120E Create_主动上报车辆行驶路线信息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1200_0x120E subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1200_0x120E>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 4864 | |||
/// UP_PLATFORM_MSG_POST_QUERY_ACK - 平台查岗应答消息 | |||
/// auto-generated | |||
@@ -137,6 +146,15 @@ namespace JT809.Protocol.Extensions | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1300_0x1302>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 4864 | |||
/// UP_PLATFORM_MSG_RETRAN_REQ - 上传平台间消息补传请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1300_0x1303 Create_上传平台间消息补传请求消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1300_0x1303 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1300_0x1303>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 5120 | |||
/// UP_WARN_MSG_URGE_TODO_ACK - 报警督办应答消息 | |||
/// auto-generated | |||
@@ -156,14 +174,41 @@ namespace JT809.Protocol.Extensions | |||
} | |||
/// <summary> | |||
/// 5120 | |||
/// UP_WARN_MSG_ADPT_TODO_INFO - 主动上报报警处理结果信息 | |||
/// UP_WARN_MSG_ADPT_TODO_INFO_2013_UP_WARN_MSG_INFORM_TIPS_2019 - 主动上报报警处理结果信息2013_上报报警预警信息2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1400_0x1403 Create_主动上报报警处理结果信息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1400_0x1403 subBodies) | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1400_0x1403 Create_主动上报报警处理结果信息2013_上报报警预警信息2019(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1400_0x1403 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1400_0x1403>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 5120 | |||
/// UP_WARN_MSG_URGE_TODO_ACK_INFO - 上报报警督办应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1400_0x1411 Create_上报报警督办应答消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1400_0x1411 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1400_0x1411>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 5120 | |||
/// UP_WARN_MSG_URGE_TODO_ACK_INFO - 主动上报报警处理结果消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1400_0x1412 Create_主动上报报警处理结果消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1400_0x1412 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1400_0x1412>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 5120 | |||
/// UP_WARN_MSG_URGE_TODO_REQ_INFO - 上报报警督办请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1400_0x1413 Create_上报报警督办请求消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1400_0x1413 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1400_0x1413>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 5376 | |||
/// UP_CTRL_MSG_MONITOR_VEHICLE_ACK - 车辆单向监听应答 | |||
/// auto-generated | |||
@@ -218,6 +263,24 @@ namespace JT809.Protocol.Extensions | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1600_0x1601>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 5632 | |||
/// UP_BASE_MSG_DRVLINE_ADDED_REQ - 补报车辆行驶路线信息应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x1600_0x1602 Create_补报车辆行驶路线信息应答消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x1600_0x1602 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x1600_0x1602>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37376 | |||
/// DOWN_EXG_MSG_REGISTER_ACK - 车辆注册信息应答消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x9200_0x9201 Create_车辆注册信息应答消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x9200_0x9201 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9200_0x9201>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37376 | |||
/// DOWN_EXG_MSG_CAR_LOCATION - 交换车辆定位信息消息 | |||
/// auto-generated | |||
@@ -308,6 +371,24 @@ namespace JT809.Protocol.Extensions | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9200_0x920B>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37376 | |||
/// DOWN_BASE_MSG_DRVLINE_REQ - 上报车辆车辆行驶路线请求 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x9200_0x920C Create_上报车辆车辆行驶路线请求(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x9200_0x920C subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9200_0x920C>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37376 | |||
/// DOWN_BASE_MSG_DRVLINE_ACK - 车辆行驶线路请求应答 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x9200_0x920D Create_车辆行驶线路请求应答(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x9200_0x920D subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9200_0x920D>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37632 | |||
/// DOWN_PLATFORM_MSG_POST_QUERY_REQ - 平台查岗请求 | |||
/// auto-generated | |||
@@ -326,6 +407,15 @@ namespace JT809.Protocol.Extensions | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9300_0x9302>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37632 | |||
/// DOWN_PLATFORM_MSG_RETRAN_REQ - 下发平台间消息补传请求消息 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x9300_0x9303 Create_下发平台间消息补传请求消息(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x9300_0x9303 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9300_0x9303>(jT809SubBusinessType,subBodies); | |||
} | |||
/// <summary> | |||
/// 37888 | |||
/// DOWN_WARN_MSG_URGE_TODO_REQ - 报警督办请求消息 | |||
/// auto-generated | |||
@@ -336,10 +426,10 @@ namespace JT809.Protocol.Extensions | |||
} | |||
/// <summary> | |||
/// 37888 | |||
/// DOWN_WARN_MSG_INFORM_TIPS - 报警预警 | |||
/// DOWN_WARN_MSG_INFORM_TIPS - 报警预警2013_下发报警预警消息2019 | |||
/// auto-generated | |||
/// </summary> | |||
public static JT809.Protocol.SubMessageBody.JT809_0x9400_0x9402 Create_报警预警(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x9400_0x9402 subBodies) | |||
public static JT809.Protocol.SubMessageBody.JT809_0x9400_0x9402 Create_报警预警2013_下发报警预警消息2019(this JT809SubBusinessType jT809SubBusinessType,JT809.Protocol.SubMessageBody.JT809_0x9400_0x9402 subBodies) | |||
{ | |||
return Create<JT809.Protocol.SubMessageBody.JT809_0x9400_0x9402>(jT809SubBusinessType,subBodies); | |||
} | |||
@@ -96,19 +96,6 @@ | |||
<Compile Include="Enums\JT809_VehiclePositionEncrypt.cs" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Include="Extensions\JT809PackageExtensionsTemplate.cs"> | |||
<DesignTime>True</DesignTime> | |||
<AutoGen>True</AutoGen> | |||
<DependentUpon>JT809PackageExtensionsTemplate.tt</DependentUpon> | |||
</None> | |||
<None Include="Extensions\JT809SubPackageExtensionsTemplate.cs"> | |||
<DesignTime>True</DesignTime> | |||
<AutoGen>True</AutoGen> | |||
<DependentUpon>JT809SubPackageExtensionsTemplate.tt</DependentUpon> | |||
</None> | |||
</ItemGroup> | |||
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' "> | |||
<PackageReference Include="Microsoft.CSharp" Version="4.6.0" /> | |||
<PackageReference Include="System.Buffers" Version="4.5.1" /> | |||
@@ -123,17 +110,9 @@ | |||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="3.1.3" /> | |||
<PackageReference Include="System.Text.Json" Version="4.7.1" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
<None Update="Extensions\JT809PackageExtensionsTemplate.tt"> | |||
<Generator>TextTemplatingFileGenerator</Generator> | |||
<LastGenOutput>JT809PackageExtensionsTemplate.cs</LastGenOutput> | |||
</None> | |||
<None Update="Extensions\JT809SubPackageExtensionsTemplate.tt"> | |||
<Generator>TextTemplatingFileGenerator</Generator> | |||
<LastGenOutput>JT809SubPackageExtensionsTemplate.cs</LastGenOutput> | |||
</None> | |||
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" /> | |||
</ItemGroup> | |||
<ItemGroup> | |||
@@ -150,7 +129,14 @@ | |||
</ItemGroup> | |||
<ItemGroup> | |||
<Service Include="{508349b6-6b84-4df5-91f0-309beebad82d}" /> | |||
<None Update="Extensions\JT809PackageExtensionsTemplate.tt"> | |||
<Generator>TextTemplatingFileGenerator</Generator> | |||
<LastGenOutput>JT809PackageExtensionsTemplate.cs</LastGenOutput> | |||
</None> | |||
<None Update="Extensions\JT809SubPackageExtensionsTemplate.tt"> | |||
<Generator>TextTemplatingFileGenerator</Generator> | |||
<LastGenOutput>JT809SubPackageExtensionsTemplate.cs</LastGenOutput> | |||
</None> | |||
</ItemGroup> | |||
</Project> |
@@ -11,7 +11,7 @@ namespace JT809.Protocol | |||
/// 当数据体为空的时候,使用null作为空包感觉不适合,所以就算使用空包也需要new一下来表达意思。 | |||
/// </summary> | |||
public virtual bool SkipSerialization { get; set; } = false; | |||
public virtual JT809Version Version => JT809Version.JTT2011; | |||
public virtual JT809Version Version { get;} = JT809Version.JTT2011; | |||
public abstract ushort MsgId { get; } | |||
public abstract JT809_LinkType LinkType { get; } | |||
public abstract string Description { get; } | |||
@@ -5,10 +5,11 @@ using JT809.Protocol.Formatters; | |||
using JT809.Protocol.Interfaces; | |||
using JT809.Protocol.MessagePack; | |||
using System; | |||
using System.Text.Json; | |||
namespace JT809.Protocol | |||
{ | |||
public class JT809Package:IJT809MessagePackFormatter<JT809Package>, IJT809_2019_Version | |||
public class JT809Package:IJT809MessagePackFormatter<JT809Package>, IJT809Analyze, IJT809_2019_Version | |||
{ | |||
public const byte BEGINFLAG = 0X5B; | |||
@@ -174,5 +175,11 @@ namespace JT809.Protocol | |||
writer.WriteEncode(); | |||
// -----------组包完成---------- | |||
} | |||
public void Analyze(ref JT809MessagePackReader reader, Utf8JsonWriter writer, IJT809Config config) | |||
{ | |||
#warning Analyze NotImplementedException | |||
throw new NotImplementedException(); | |||
} | |||
} | |||
} |
@@ -1,4 +1,5 @@ | |||
using JT809.Protocol.Extensions; | |||
using JT809.Protocol.Enums; | |||
using JT809.Protocol.Extensions; | |||
using JT809.Protocol.Formatters; | |||
using JT809.Protocol.Interfaces; | |||
using JT809.Protocol.Internal; | |||
@@ -6,7 +7,9 @@ using JT809.Protocol.MessagePack; | |||
using System; | |||
using System.Buffers; | |||
using System.Collections.Generic; | |||
using System.IO; | |||
using System.Text; | |||
using System.Text.Json; | |||
namespace JT809.Protocol | |||
{ | |||
@@ -103,5 +106,100 @@ namespace JT809.Protocol | |||
JT809ArrayPool.Return(buffer); | |||
} | |||
} | |||
public string Analyze(ReadOnlySpan<byte> bytes,JsonWriterOptions options = default, int minBufferSize = 8096) | |||
{ | |||
byte[] buffer = JT809ArrayPool.Rent(minBufferSize); | |||
try | |||
{ | |||
JT809MessagePackReader jT809MessagePackReader = new JT809MessagePackReader(bytes); | |||
jT809MessagePackReader.Decode(buffer); | |||
using (MemoryStream memoryStream = new MemoryStream()) | |||
using (Utf8JsonWriter utf8JsonWriter = new Utf8JsonWriter(memoryStream, options)) | |||
{ | |||
jT809Package.Analyze(ref jT809MessagePackReader, utf8JsonWriter, jT809Config); | |||
utf8JsonWriter.Flush(); | |||
string value = Encoding.UTF8.GetString(memoryStream.ToArray()); | |||
return value; | |||
} | |||
} | |||
finally | |||
{ | |||
JT809ArrayPool.Return(buffer); | |||
} | |||
} | |||
public string Analyze<T>(ReadOnlySpan<byte> bytes,JsonWriterOptions options = default, int minBufferSize = 8096) | |||
{ | |||
byte[] buffer = JT809ArrayPool.Rent(minBufferSize); | |||
try | |||
{ | |||
JT809MessagePackReader jT809MessagePackReader = new JT809MessagePackReader(bytes); | |||
if (CheckPackageType(typeof(T))) | |||
jT809MessagePackReader.Decode(buffer); | |||
var analyze = jT809Config.GetAnalyze<T>(); | |||
using (MemoryStream memoryStream = new MemoryStream()) | |||
using (Utf8JsonWriter utf8JsonWriter = new Utf8JsonWriter(memoryStream, options)) | |||
{ | |||
if (!CheckPackageType(typeof(T))) utf8JsonWriter.WriteStartObject(); | |||
analyze.Analyze(ref jT809MessagePackReader, utf8JsonWriter, jT809Config); | |||
if (!CheckPackageType(typeof(T))) utf8JsonWriter.WriteEndObject(); | |||
utf8JsonWriter.Flush(); | |||
string value = Encoding.UTF8.GetString(memoryStream.ToArray()); | |||
return value; | |||
} | |||
} | |||
finally | |||
{ | |||
JT809ArrayPool.Return(buffer); | |||
} | |||
} | |||
public byte[] AnalyzeJsonBuffer(ReadOnlySpan<byte> bytes, JsonWriterOptions options = default, int minBufferSize = 8096) | |||
{ | |||
byte[] buffer = JT809ArrayPool.Rent(minBufferSize); | |||
try | |||
{ | |||
JT809MessagePackReader jT809MessagePackReader = new JT809MessagePackReader(bytes); | |||
jT809MessagePackReader.Decode(buffer); | |||
using (MemoryStream memoryStream = new MemoryStream()) | |||
using (Utf8JsonWriter utf8JsonWriter = new Utf8JsonWriter(memoryStream, options)) | |||
{ | |||
jT809Package.Analyze(ref jT809MessagePackReader, utf8JsonWriter, jT809Config); | |||
utf8JsonWriter.Flush(); | |||
return memoryStream.ToArray(); | |||
} | |||
} | |||
finally | |||
{ | |||
JT809ArrayPool.Return(buffer); | |||
} | |||
} | |||
public byte[] AnalyzeJsonBuffer<T>(ReadOnlySpan<byte> bytes, JsonWriterOptions options = default, int minBufferSize = 8096) | |||
{ | |||
byte[] buffer = JT809ArrayPool.Rent(minBufferSize); | |||
try | |||
{ | |||
JT809MessagePackReader jT809MessagePackReader = new JT809MessagePackReader(bytes); | |||
if (CheckPackageType(typeof(T))) | |||
jT809MessagePackReader.Decode(buffer); | |||
var analyze = jT809Config.GetAnalyze<T>(); | |||
using (MemoryStream memoryStream = new MemoryStream()) | |||
using (Utf8JsonWriter utf8JsonWriter = new Utf8JsonWriter(memoryStream, options)) | |||
{ | |||
if (!CheckPackageType(typeof(T))) utf8JsonWriter.WriteStartObject(); | |||
analyze.Analyze(ref jT809MessagePackReader, utf8JsonWriter, jT809Config); | |||
if (!CheckPackageType(typeof(T))) utf8JsonWriter.WriteEndObject(); | |||
utf8JsonWriter.Flush(); | |||
return memoryStream.ToArray(); | |||
} | |||
} | |||
finally | |||
{ | |||
JT809ArrayPool.Return(buffer); | |||
} | |||
} | |||
} | |||
} |
@@ -19,7 +19,7 @@ namespace JT809.Protocol.MessageBody | |||
public class JT809_2019_0x9101 : JT809Bodies, IJT809MessagePackFormatter<JT809_2019_0x9101> | |||
{ | |||
public override ushort MsgId => JT809BusinessType.发送车辆定位信息数据量通知消息_2019.ToUInt16Value(); | |||
public override string Description => "发送车辆定位信息数据量通知消息"; | |||
public override string Description => "发送车辆定位信息数据量通知消息_2019"; | |||
public override JT809_LinkType LinkType => JT809_LinkType.main; | |||
public override JT809Version Version => JT809Version.JTT2019; | |||