TLSharp/TeleSharp.TL/TL/Updates/TLChannelDifference.cs

58 lines
1.9 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.Updates
{
2017-04-13 08:38:01 +02:00
[TLObject(543450958)]
2016-09-24 15:38:26 +02:00
public class TLChannelDifference : TLAbsChannelDifference
{
2017-04-13 08:38:01 +02:00
public override int Constructor => 543450958;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
public int flags { get; set; }
public bool final { get; set; }
public int pts { get; set; }
public int? timeout { get; set; }
public TLVector<TLAbsMessage> new_messages { get; set; }
public TLVector<TLAbsUpdate> other_updates { get; set; }
public TLVector<TLAbsChat> chats { get; set; }
public TLVector<TLAbsUser> users { get; set; }
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
public void ComputeFlags()
{
flags = 0;
flags = final ? flags | 1 : flags & ~1;
flags = timeout != null ? flags | 2 : flags & ~2;
}
2016-09-24 15:38:26 +02:00
public override void DeserializeBody(BinaryReader br)
{
flags = br.ReadInt32();
2017-04-13 08:38:01 +02:00
final = (flags & 1) != 0;
pts = br.ReadInt32();
if ((flags & 2) != 0)
timeout = br.ReadInt32();
else
timeout = null;
new_messages = ObjectUtils.DeserializeVector<TLAbsMessage>(br);
other_updates = ObjectUtils.DeserializeVector<TLAbsUpdate>(br);
chats = ObjectUtils.DeserializeVector<TLAbsChat>(br);
users = ObjectUtils.DeserializeVector<TLAbsUser>(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-09-24 15:38:26 +02:00
ComputeFlags();
2017-04-13 08:38:01 +02:00
bw.Write(flags);
bw.Write(pts);
if ((flags & 2) != 0)
bw.Write(timeout.Value);
ObjectUtils.SerializeObject(new_messages, bw);
ObjectUtils.SerializeObject(other_updates, bw);
ObjectUtils.SerializeObject(chats, bw);
ObjectUtils.SerializeObject(users, bw);
2016-09-24 15:38:26 +02:00
}
}
2017-04-13 08:38:01 +02:00
}