using System.Text; using Mina.Core.Buffer; using FSO.Common.Serialization; namespace FSO.Server.Protocol.Aries.Packets { public class RequestClientSessionResponse : IAriesPacket { public string User { get; set; } public string AriesVersion { get; set; } public string Email { get; set; } public string Authserv { get; set; } public ushort Product { get; set; } public byte Unknown { get; set; } = 39; public string ServiceIdent { get; set; } public ushort Unknown2 { get; set; } = 4; //1 if re-establishing public string Password { get; set; } public void Deserialize(IoBuffer input, ISerializationContext context) { this.User = input.GetString(112, Encoding.ASCII); this.AriesVersion = input.GetString(80, Encoding.ASCII); this.Email = input.GetString(40, Encoding.ASCII); this.Authserv = input.GetString(84, Encoding.ASCII); this.Product = input.GetUInt16(); this.Unknown = input.Get(); this.ServiceIdent = input.GetString(3, Encoding.ASCII); this.Unknown2 = input.GetUInt16(); this.Password = input.GetString(32, Encoding.ASCII); } public AriesPacketType GetPacketType() { return AriesPacketType.RequestClientSessionResponse; } public void Serialize(IoBuffer output, ISerializationContext context) { output.PutString(this.User, 112, Encoding.ASCII); output.PutString(this.AriesVersion, 80, Encoding.ASCII); output.PutString(this.Email, 40, Encoding.ASCII); output.PutString(this.Authserv, 84, Encoding.ASCII); output.PutUInt16(this.Product); output.Put(this.Unknown); output.PutString(this.ServiceIdent, 3, Encoding.ASCII); output.PutUInt16(this.Unknown2); output.PutString(this.Password, 32, Encoding.ASCII); } } }