TLSharp/TeleSharp.TL/TL/TLInputMediaUploadedDocument.cs

84 lines
2.1 KiB
C#
Raw Normal View History

2016-09-24 15:38:26 +02:00
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using TeleSharp.TL;
namespace TeleSharp.TL
{
2016-10-13 19:33:16 +02:00
[TLObject(-797904407)]
2016-09-24 15:38:26 +02:00
public class TLInputMediaUploadedDocument : TLAbsInputMedia
{
public override int Constructor
{
get
{
2016-10-13 19:33:16 +02:00
return -797904407;
2016-09-24 15:38:26 +02:00
}
}
2016-10-13 19:33:16 +02:00
public int flags {get;set;}
public TLAbsInputFile file {get;set;}
2016-09-24 15:38:26 +02:00
public string mime_type {get;set;}
public TLVector<TLAbsDocumentAttribute> attributes {get;set;}
2017-04-13 13:14:29 +02:00
private string caption;
2017-04-13 13:11:11 +02:00
public string Caption
{
get
{
return caption;
}
set
{
2017-04-18 10:14:19 +02:00
if (value.Length > 200)
{
throw new System.ArgumentException("too long caption plase make it less than 200 char");
}
else
{
caption = value;
}
2017-04-13 13:11:11 +02:00
}
}
2016-10-13 19:33:16 +02:00
public TLVector<TLAbsInputDocument> stickers {get;set;}
2016-09-24 15:38:26 +02:00
public void ComputeFlags()
{
2016-10-13 19:33:16 +02:00
flags = 0;
flags = stickers != 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();
file = (TLAbsInputFile)ObjectUtils.DeserializeObject(br);
2016-09-24 15:38:26 +02:00
mime_type = StringUtil.Deserialize(br);
attributes = (TLVector<TLAbsDocumentAttribute>)ObjectUtils.DeserializeVector<TLAbsDocumentAttribute>(br);
2017-04-13 12:52:03 +02:00
Caption = StringUtil.Deserialize(br);
2016-10-13 19:33:16 +02:00
if ((flags & 1) != 0)
stickers = (TLVector<TLAbsInputDocument>)ObjectUtils.DeserializeVector<TLAbsInputDocument>(br);
else
stickers = null;
2016-09-24 15:38:26 +02:00
}
public override void SerializeBody(BinaryWriter bw)
{
bw.Write(Constructor);
2016-10-13 19:33:16 +02:00
ComputeFlags();
bw.Write(flags);
ObjectUtils.SerializeObject(file,bw);
2016-09-24 15:38:26 +02:00
StringUtil.Serialize(mime_type,bw);
ObjectUtils.SerializeObject(attributes,bw);
2017-04-13 12:52:03 +02:00
StringUtil.Serialize(Caption,bw);
2016-10-13 19:33:16 +02:00
if ((flags & 1) != 0)
ObjectUtils.SerializeObject(stickers,bw);
2016-09-24 15:38:26 +02:00
}
}
}