using JT809.Protocol.Enums;
using JT809.Protocol.Extensions;
using JT809.Protocol.Formatters;
using JT809.Protocol.MessagePack;
namespace JT809.Protocol.MessageBody
{
///
/// 主链路登录请求消息
/// 链路类型:主链路
/// 消息方向:下级平台往上级平台
/// 业务数据类型标识: UP-CONNECT-REQ
/// 描述:下级平台向上级平台发送用户名和密码等登录信息
///
public class JT809_0x1001: JT809Bodies,IJT809MessagePackFormatter
{
///
/// 用户名
///
public uint UserId { get; set; }
///
/// 密码
/// 8位
///
public string Password { get; set; }
///
/// 下级平台提供对应的从链路服务端 IP 地址
/// 32位
///
public string DownLinkIP { get; set; }
///
/// 下级平台提供对应的从链路服务器端口号
///
public ushort DownLinkPort { get; set; }
public override ushort MsgId => JT809BusinessType.主链路登录请求消息.ToUInt16Value();
public override string Description => "主链路登录请求消息";
public override JT809_LinkType LinkType => JT809_LinkType.main;
public JT809_0x1001 Deserialize(ref JT809MessagePackReader reader, IJT809Config config)
{
JT809_0x1001 jT809_0X1001 = new JT809_0x1001();
jT809_0X1001.UserId = reader.ReadUInt32();
jT809_0X1001.Password = reader.ReadString(8);
jT809_0X1001.DownLinkIP = reader.ReadString(32);
jT809_0X1001.DownLinkPort = reader.ReadUInt16();
return jT809_0X1001;
}
public void Serialize(ref JT809MessagePackWriter writer, JT809_0x1001 value, IJT809Config config)
{
writer.WriteUInt32(value.UserId);
writer.WriteStringPadRight(value.Password, 8);
writer.WriteStringPadRight(value.DownLinkIP, 32);
writer.WriteUInt16(value.DownLinkPort);
}
}
}