TLSharp/TeleSharp.TL/TL/Auth/TLAuthorization.cs

42 lines
1.1 KiB
C#
Raw Normal View History

2016-09-24 15:38:26 +02:00
using System.IO;
2017-04-13 08:38:01 +02:00
2016-09-24 15:38:26 +02:00
namespace TeleSharp.TL.Auth
{
2017-04-13 08:38:01 +02:00
[TLObject(-855308010)]
2016-09-24 15:38:26 +02:00
public class TLAuthorization : TLObject
{
2017-04-13 08:38:01 +02:00
public override int Constructor => -855308010;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
public int flags { get; set; }
public int? tmp_sessions { get; set; }
public TLAbsUser user { get; set; }
2016-09-24 15:38:26 +02:00
2016-10-13 19:33:16 +02:00
2017-04-13 08:38:01 +02:00
public void ComputeFlags()
{
flags = 0;
flags = tmp_sessions != null ? flags | 1 : flags & ~1;
}
2016-09-24 15:38:26 +02:00
public override void DeserializeBody(BinaryReader br)
{
2016-10-13 19:33:16 +02:00
flags = br.ReadInt32();
2017-04-13 08:38:01 +02:00
if ((flags & 1) != 0)
tmp_sessions = br.ReadInt32();
else
tmp_sessions = null;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
user = (TLAbsUser) ObjectUtils.DeserializeObject(br);
2016-09-24 15:38:26 +02:00
}
public override void SerializeBody(BinaryWriter bw)
{
2017-04-13 08:38:01 +02:00
bw.Write(Constructor);
2016-10-13 19:33:16 +02:00
ComputeFlags();
2017-04-13 08:38:01 +02:00
bw.Write(flags);
if ((flags & 1) != 0)
bw.Write(tmp_sessions.Value);
ObjectUtils.SerializeObject(user, bw);
2016-09-24 15:38:26 +02:00
}
}
2017-04-13 08:38:01 +02:00
}