TLSharp/TeleSharp.TL/TL/TLBotInlineMediaResult.cs

75 lines
2.4 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
{
2017-04-13 08:38:01 +02:00
[TLObject(400266251)]
2016-09-24 15:38:26 +02:00
public class TLBotInlineMediaResult : TLAbsBotInlineResult
{
2017-04-13 08:38:01 +02:00
public override int Constructor => 400266251;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
public int flags { get; set; }
public string id { get; set; }
public string type { get; set; }
public TLAbsPhoto photo { get; set; }
public TLAbsDocument document { get; set; }
public string title { get; set; }
public string description { get; set; }
public TLAbsBotInlineMessage send_message { get; set; }
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
public void ComputeFlags()
{
flags = 0;
flags = photo != null ? flags | 1 : flags & ~1;
flags = document != null ? flags | 2 : flags & ~2;
flags = title != null ? flags | 4 : flags & ~4;
flags = description != null ? flags | 8 : flags & ~8;
}
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
id = StringUtil.Deserialize(br);
type = StringUtil.Deserialize(br);
if ((flags & 1) != 0)
photo = (TLAbsPhoto) ObjectUtils.DeserializeObject(br);
else
photo = null;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
if ((flags & 2) != 0)
document = (TLAbsDocument) ObjectUtils.DeserializeObject(br);
else
document = null;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
if ((flags & 4) != 0)
title = StringUtil.Deserialize(br);
else
title = null;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
if ((flags & 8) != 0)
description = StringUtil.Deserialize(br);
else
description = null;
2016-09-24 15:38:26 +02:00
2017-04-13 08:38:01 +02:00
send_message = (TLAbsBotInlineMessage) 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-09-24 15:38:26 +02:00
ComputeFlags();
2017-04-13 08:38:01 +02:00
bw.Write(flags);
StringUtil.Serialize(id, bw);
StringUtil.Serialize(type, bw);
if ((flags & 1) != 0)
ObjectUtils.SerializeObject(photo, bw);
if ((flags & 2) != 0)
ObjectUtils.SerializeObject(document, bw);
if ((flags & 4) != 0)
StringUtil.Serialize(title, bw);
if ((flags & 8) != 0)
StringUtil.Serialize(description, bw);
ObjectUtils.SerializeObject(send_message, bw);
2016-09-24 15:38:26 +02:00
}
}
2017-04-13 08:38:01 +02:00
}