TLSharp/TeleSharp.TL/TL/TLInputMediaUploadedDocument.cs
2017-04-18 11:14:19 +03:00

84 lines
2.1 KiB
C#

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
{
[TLObject(-797904407)]
public class TLInputMediaUploadedDocument : TLAbsInputMedia
{
public override int Constructor
{
get
{
return -797904407;
}
}
public int flags {get;set;}
public TLAbsInputFile file {get;set;}
public string mime_type {get;set;}
public TLVector<TLAbsDocumentAttribute> attributes {get;set;}
private string caption;
public string Caption
{
get
{
return caption;
}
set
{
if (value.Length > 200)
{
throw new System.ArgumentException("too long caption plase make it less than 200 char");
}
else
{
caption = value;
}
}
}
public TLVector<TLAbsInputDocument> stickers {get;set;}
public void ComputeFlags()
{
flags = 0;
flags = stickers != null ? (flags | 1) : (flags & ~1);
}
public override void DeserializeBody(BinaryReader br)
{
flags = br.ReadInt32();
file = (TLAbsInputFile)ObjectUtils.DeserializeObject(br);
mime_type = StringUtil.Deserialize(br);
attributes = (TLVector<TLAbsDocumentAttribute>)ObjectUtils.DeserializeVector<TLAbsDocumentAttribute>(br);
Caption = StringUtil.Deserialize(br);
if ((flags & 1) != 0)
stickers = (TLVector<TLAbsInputDocument>)ObjectUtils.DeserializeVector<TLAbsInputDocument>(br);
else
stickers = null;
}
public override void SerializeBody(BinaryWriter bw)
{
bw.Write(Constructor);
ComputeFlags();
bw.Write(flags);
ObjectUtils.SerializeObject(file,bw);
StringUtil.Serialize(mime_type,bw);
ObjectUtils.SerializeObject(attributes,bw);
StringUtil.Serialize(Caption,bw);
if ((flags & 1) != 0)
ObjectUtils.SerializeObject(stickers,bw);
}
}
}