''' This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL ''' import glob, re, binascii, os, sys sys.dont_write_bytecode = True scriptPath = os.path.dirname(os.path.realpath(__file__)) sys.path.append(scriptPath + '/../../../lib_tl/tl') from generate_tl import generate generate({ 'namespaces': { 'creator': 'MTP::internal', }, 'prefixes': { 'type': 'MTP', 'data': 'MTPD', 'id': 'mtpc', 'construct': 'MTP_', }, 'types': { 'prime': 'mtpPrime', 'typeId': 'mtpTypeId', 'buffer': 'mtpBuffer', }, 'sections': [ 'serialization', 'read-write', ], # define some checked flag conversions # the key flag type should be a subset of the value flag type # with exact the same names, then the key flag can be implicitly # casted to the value flag type 'flagInheritance': { 'messageService': 'message', 'updateShortMessage': 'message', 'updateShortChatMessage': 'message', 'updateShortSentMessage': 'message', 'replyKeyboardHide': 'replyKeyboardMarkup', 'replyKeyboardForceReply': 'replyKeyboardMarkup', 'inputPeerNotifySettings': 'peerNotifySettings', 'peerNotifySettings': 'inputPeerNotifySettings', 'channelForbidden': 'channel', 'dialogFolder': 'dialog', }, 'typeIdExceptions': [ 'channel#c88974ac', 'ipPortSecret#37982646', 'accessPointRule#4679b65f', 'help.configSimple#5a592a6c', ], 'renamedTypes': { 'passwordKdfAlgoSHA256SHA256PBKDF2HMACSHA512iter100000SHA256ModPow': 'passwordKdfAlgoModPow', }, 'skip': [ 'int ? = Int;', 'long ? = Long;', 'double ? = Double;', 'string ? = String;', 'vector {t:Type} # [ t ] = Vector t;', 'int128 4*[ int ] = Int128;', 'int256 8*[ int ] = Int256;', 'vector#1cb5c415 {t:Type} # [ t ] = Vector t;', ], 'builtin': [ 'int', 'long', 'double', 'string', 'bytes', 'int128', 'int256', ], 'builtinTemplates': [ 'vector', 'flags', ], 'synonyms': { 'bytes': 'string', }, 'builtinInclude': 'mtproto/core_types.h', })